body {
	font-family: "line-400";
}

body.is-scroll {
	overflow: hidden;
}

.u-desktop {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: initial;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

/*  使えるフォントとして、"めもわーる"を追加  */

@font-face { /*   適用させるフォント名 → 間違っていると反映されないので注意  */
	font-family: "line-400"; /*   .otf, .ttfの拡張子がついているファイルがフォントファイルである。   */ /*   フォントファイルが何処場所にあるのか : パスを書いてあげる   */
	src: url(../font/LINESeedJP_OTF_Rg.otf);
}

@font-face { /*   適用させるフォント名 → 間違っていると反映されないので注意  */
	font-family: "line-700"; /*   .otf, .ttfの拡張子がついているファイルがフォントファイルである。   */ /*   フォントファイルが何処場所にあるのか : パスを書いてあげる   */
	src: url(../font/LINESeedJP_OTF_Bd.otf);
}

p { /*  @font-face{}は、あくまで使用できるフォントを追加するのみ。
  　　　　　そのフォントを使いたい要素で定義することで、利用することができる　　*/
}

.layout-about {
	padding-bottom: 3.75rem;
	padding-top: 5rem;
}

.layout-archive-works {
	margin-top: 3.75rem;
}

.layout-contact {
	padding-top: 5rem;
}

.layout-footer {
	margin-top: 5rem;
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.layout-fv {
	margin-top: 6.875rem;
}

.layout-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}

.layout-lower-contact {
	margin-top: 9.375rem;
}

.layout-lower {
	margin-top: 6.875rem;
}

.layout-page-detail {
	margin-top: 3.75rem;
}

.layout-page-top {
	bottom: 1.25rem;
	position: fixed;
	right: 1.25rem;
}

.layout-price {
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.layout-service {
	padding-bottom: 5rem;
	padding-top: 7.1875rem;
}

.layout-works {
	margin-top: 10rem;
	padding-bottom: 2.625rem;
}

.about {
	background: #fff;
}

.about__wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.0625rem;
	width: min(100%, 37.5rem);
}

.about__lead {
	color: #282c37;
	color: var(--, #282c37);
	font-family: "line-700";
	font-size: 1.5rem;
	padding-bottom: 0.625rem;
	position: relative;
	text-align: center;
}

.about__lead::after {
	background: #2b90d9;
	border-radius: 2px;
	bottom: 0px;
	content: "";
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 4.6875rem;
}

.about__face {
	aspect-ratio: 1;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	overflow: hidden;
	width: min(100%, 18rem);
}

.about__face img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.about__skills {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 1.5rem;
}

.about__skill {
	aspect-ratio: 1/1;
	cursor: pointer;
	height: min(100%, 6.875rem);
	overflow: hidden;
	width: min(100%, 6.875rem);
}

.about__skill img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	transition: transform 1s;
	width: 100%;
}

.about__skill:hover img { /* hoverアニメーション */
	transform: rotateY(360deg);
}

.about__message {
	margin-top: 3.75rem;
}

.about__text--end {
	margin-top: 1rem;
}

.about__strength {
	margin-top: 1rem;
}

.about__strength dt {
	color: #2b90d9;
	font-size: 1.125rem;
	margin-top: 0.5rem;
}

.about__strength dt + dd + dt {
	margin-top: 1rem;
}

.archive-works__inner {
	max-width: 31.25rem;
}

.archive-works__wrap {
	margin-top: 2.5rem;
}

.archive-works__list {
	grid-gap: 5.9375rem;
	display: grid;
	gap: 5.9375rem;
	grid-template-columns: repeat(1, 20.4375rem);
	justify-content: center;
	margin-top: 4rem;
}

.archive-works__pagenavi {
	margin-top: 4rem;
}

.archive-works__button {
	text-align: center;
}

.archive-works__button a {
	background: #fff;
	border: 1px solid #2b90d9;
	border-radius: 999px 0px;
	color: #2b90d9;
	display: inline-block;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	padding: 0.5625rem;
	text-align: center;
	text-transform: uppercase;
	width: min(100%, 18.125rem);
}

.breadcrumb {
	color: #2b90d9;
	font-size: 1.5rem;
}

.common-button {
	width: min(100%, 12.9375rem);
}

.common-button a {
	align-items: center;
	background: #2b90d9;
	color: white;
	display: flex;
	font-size: 1.5rem;
	justify-content: space-around;
	max-width: 12.9375rem;
	padding: 0.5rem 1.4375rem;
	position: relative;
	text-transform: uppercase;
	transition: 0.3s ease-in-out;
}

.common-button a::before {
	border: 2px solid #2b90d9;
	content: "";
	height: calc(100% - 4px);
	left: -5px;
	position: absolute;
	top: -5px;
	transition: 0.2s;
	width: calc(100% - 4px);
	z-index: 1;
}

.common-button a::after {
	background: url(./../images/common/icon_button.png) no-repeat center center/contain;
	content: "";
	height: 1.25rem;
	width: 1.25rem;
}

.common-button a:hover::before {
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
}

.common-button a:hover {
	-webkit-text-decoration: none;
	background-color: #282c37;
	text-decoration: none;
}

.contact__inner {
	margin: auto;
	max-width: 37.5rem;
	padding: 0 0.625rem;
	width: 100%;
}

.contact__wrap {
	margin-top: 2.125rem;
}

.contact__form-wrap + .contact__form-wrap {
	margin-top: 1.875rem;
}

.contact__form-label {
	font-size: 1rem;
	line-height: 1;
}

.contact__form-label span {
	background: #2b90d9;
	color: #fff;
	display: inline-block;
	margin-right: 1rem;
	padding: 0.5rem;
}

.contact__form-input input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: none;
	border: 0.0625rem solid #9baec8;
	border-radius: 0;
	color: #282c37;
	font-size: 1rem;
	line-height: 1;
	padding: 0.625rem;
	width: 100%;
}

.contact__form-input input:focus {
	outline: none;
}

.contact__form-input input::-moz-placeholder {
	color: rgba(155, 174, 200, 0.5);
}

.contact__form-input input::placeholder {
	color: rgba(155, 174, 200, 0.5);
}

.contact__form-radio {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.625rem;
	margin-top: 0.625rem;
}

.contact__form-radio input {
	display: none;
}

.contact__form-radio input + span {
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
	padding: 0 0 0 1.5625rem;
	position: relative;
}

.contact__form-radio input + span::before {
	background: #fff;
	border: 1px solid #9baec8;
	border-radius: 50%;
	content: "";
	display: block;
	height: 1.125rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
}

.contact__form-radio input + span::after {
	background: #2b90d9;
	border: 1px solid transparent;
	border-radius: 50%;
	content: "";
	height: 0.625rem;
	left: 0.25rem;
	opacity: 0;
	padding: 0.125rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s;
	width: 0.625rem;
}

.contact__form-radio input:checked + span::after {
	opacity: 1;
}

.contact__form-textarea textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: none;
	border: 0.0625rem solid #9baec8;
	border-radius: 0;
	font-size: 1rem;
	height: 14.375rem;
	padding: 0.625rem;
	resize: none;
	width: 100%;
}

.contact__form-textarea textarea:focus {
	box-shadow: none;
	outline: none;
}

.contact__form-textarea textarea::-moz-placeholder {
	color: rgba(155, 174, 200, 0.5);
}

.contact__form-textarea textarea::placeholder {
	color: rgba(155, 174, 200, 0.5);
}

.contact__form-privacy {
	margin-top: 1.875rem;
}

.contact__form-privacy input {
	display: none;
}

.contact__form-privacy input + span {
	color: #282c37;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding: 0 0 0 2.5rem;
	position: relative;
}

.contact__form-privacy input + span::before {
	background: #fff;
	border: 1px solid #9baec8;
	content: "";
	display: block;
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 0.125rem;
	width: 1.25rem;
}

.contact__form-privacy input + span::after {
	border-bottom: 0.1875rem solid #9baec8;
	border-left: 0.1875rem solid #9baec8;
	content: "";
	display: block;
	height: 0.5rem;
	left: 0.125rem;
	margin-top: -0.125rem;
	opacity: 0;
	position: absolute;
	top: 0.5625rem;
	transform: rotate(-45deg);
	transition: 0.3s;
	width: 0.9375rem;
}

.contact__form-privacy input + span a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.contact__form-privacy input:checked + span::after {
	opacity: 1;
}

.contact__form-submit {
	margin-top: 2.5rem;
	text-align: center;
}

.contact__form-submit input {
	-webkit-text-decoration: none;
	background-color: #2b90d9;
	background-image: none;
	border: none;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.9375rem 3.125rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: 0.3s;
}

/* モーダルのスタイル */

.contact__form-modal {
	background-color: rgba(0, 0, 0, 0.4); /* 透明度を加えた背景 */
	display: none; /* モーダルを非表示にする */
	height: 100%; /* フル高さ */
	left: 0;
	overflow: auto; /* スクロールが必要な場合 */
	position: fixed; /* 固定位置 */
	top: 0;
	width: 100%; /* フル幅 */
	z-index: 1; /* 前面に表示 */
}

.contact__form-modal-content {
	background-color: #fefefe;
	border: 1px solid #888;
	bottom: 10%;
	display: flex;
	flex-direction: column;
	left: 50%;
	margin-left: auto;
	margin-right: auto; /* 中央に配置 */
	padding: 20px;
	position: absolute;
	transform: translateX(-50%);
	width: 95%; /* 幅を80%に設定 */
}

.contact__form-modal-header {
	align-items: center;
	border-bottom: 1px solid #888;
	display: flex;
	font-size: 1.125rem;
	justify-content: space-between;
	padding-bottom: 10px;
}

.contact__form-modal-body {
	padding-top: 10px;
}

.contact__form-modal-close {
	font-size: 40px;
	margin-left: auto;
}

.contact__form-modal-close:hover,
.contact__form-modal-close:focus {
	-webkit-text-decoration: none;
	cursor: pointer;
	text-decoration: none;
}

button {
	-webkit-text-decoration: underline;
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
}

.contact__form-modal-body {
	margin-top: 1rem;
}

.contact__form-modal-body ul {
	margin-top: 0.5rem;
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
	margin-top: 10px;
}

.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
	display: block;
}

.wpcf7-spinner {
	display: none !important;
}

.wpcf7-not-valid-tip {
	display: none !important;
}

.wpcf7-form.invalid .wpcf7-response-output {
	display: none !important;
}

.wpcf7-form.sent .wpcf7-response-output {
	display: none !important;
}

.wpcf7-submit:disabled {
	opacity: 0.5;
}

.description-field__title {
	font-family: "line-700";
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	padding-left: 2.25rem;
	position: relative;
	text-transform: uppercase;
}

.description-field__title::before {
	background: url(./../images/common/deco_page-detail.png) no-repeat center center/contain;
	content: "";
	height: 2rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
}

.description-field__title span {
	color: #9baec8;
	font-family: "line-700";
	font-size: 1rem;
	padding-left: 0.75rem;
}

.description-field__date {
	line-height: 1.8;
}

.description-field__date p {
	width: inherit;
}

.description-field__date h3,
h4 {
	margin-top: 1rem;
}

.description-field__date ul {
	list-style: disc;
}

.description-field__date + .description-field__title {
	margin-top: 2rem;
}

.drawer {
	background: #fff;
	bottom: 0;
	height: 100vh;
	left: 0;
	opacity: 0;
	overflow-y: scroll;
	padding: 4.0625rem 0;
	position: fixed;
	right: 0;
	scrollbar-width: none;
	top: 0;
	visibility: hidden;
	width: 100%;
	z-index: 800;
}

.drawer__nav {
	margin-left: auto;
	margin-right: auto;
	max-width: 18.75rem;
}

.drawer__list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.drawer.is-open {
	right: 0;
}

.drawer::-webkit-scrollbar {
	display: none;
}

.drawer__item a {
	display: block;
	padding: 0.9375rem 0;
}

.fixed-background {
	position: relative;
}

.fixed-background::before {
	background: url(./../images/common/deco_fixed-background-sp.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -100;
}

.footer {
	background: #282c37;
}

.footer__inner {
	margin: auto;
	max-width: 39.375rem;
	padding: 0 0.9375rem;
	width: 100%;
}

.footer__logo {
	margin: auto;
	margin-top: 1.25rem;
	max-width: 19.5rem;
	width: 100%;
}

.footer__logo a {
	display: block;
	padding: 0.625rem 0;
}

.footer__logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.footer__logo-img {
	aspect-ratio: 312/64;
	overflow: hidden;
	width: min(100%, 19.5rem);
}

.footer__logo-img source {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.footer__logo-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.footer__nav-item a {
	color: #fff;
	display: block;
	font-size: 1.25rem;
	line-height: 1;
	padding: 0.9375rem 0;
	position: relative;
	text-align: center;
	text-transform: uppercase;
}

.footer__nav-x {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 2rem;
}

.footer__copyright {
	color: #fff;
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-top: 1rem;
	text-align: center;
}

.fv__inner {
	max-width: 25rem;
}

.fv__lead {
	margin-left: auto;
	margin-right: auto;
	width: min(100%, 15rem);
}

.fv__lead-img {
	height: 100%;
	width: 100%;
}

.fv__contents {
	display: flex;
	flex-direction: column;
	margin-top: 1.5rem;
}

.fv__text-wrap {
	display: contents;
}

.fv__title {
	font-family: "line-700";
	font-size: 2rem;
	font-style: normal;
	font-weight: 700;
	line-height: 162.5%;
}

.fv__title--upper span {
	text-stroke: 2px #2b90d9;
	-webkit-text-stroke: 2px #2b90d9;
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 130%; /* 130% */
	padding: 0 0.375rem;
}

.fv__title--lower span {
	color: #2b90d9;
	font-size: 2.5rem;
	line-height: 130%; /* 130% */
}

.fv__buttons {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
	order: 1;
	width: min(100%, 12.9375rem);
}

.fv_button {
	display: block;
}

.fv_button + .fv_button {
	display: block;
	margin-top: 2.1875rem;
}

.fv__slide {
	aspect-ratio: 279/224;
	background: url(./../images/common/icon_mock-up.png) no-repeat center center/contain;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.1875rem;
	width: min(100%, 18.75rem);
}

.fv__slide img {
	-o-object-fit: cover;
	-o-object-position: top;
	height: 100%;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.fv__slide-item {
	aspect-ratio: 250/153;
	overflow: hidden;
	padding: 13px 11px;
	width: 224px;
}

.fv__slide-item.splide__slide img {
	-o-object-fit: cover;
	height: 153px;
	object-fit: cover;
	width: 100%;
}

.header {
	background: #282c37;
	height: 1.875rem;
}

.header__bg {
	height: inherit;
	position: relative;
	width: 100%;
}

.header__inner {
	display: flex;
	height: 1.875rem;
	justify-content: space-between;
	padding: 0 0.9375rem;
	position: relative;
}

.header__inner::after {
	background: url(./../images/common/deco_humberger.png) no-repeat center center/cover;
	bottom: -3.125rem;
	content: "";
	height: 5.625rem;
	position: absolute;
	right: 0;
	width: 4.5rem;
	z-index: 10;
}

.header__logo {
	height: inherit;
	max-width: 4.5625rem;
	width: 100%;
}

.header__logo a {
	align-items: center;
	display: flex;
	height: inherit;
}

.header__logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__icon {
	cursor: pointer;
	height: 2.75rem;
	left: -15px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	top: 15px;
	width: 2.875rem;
	z-index: 1000;
}

.header__icon img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__icon:hover img { /* hoverアニメーション */
}

.header__icon::after {
	background: url(./../images/common/logo_area.png) no-repeat center center/contain;
	bottom: -2.8125rem;
	content: "";
	height: 4.0625rem;
	left: 45%;
	position: absolute;
	transform: translate(-50%, -50%);
	width: 8.9375rem;
	z-index: -1;
}

.header__hamburger {
	-webkit-text-decoration: none;
	border: none;
	cursor: pointer;
	height: inherit;
	margin: 0;
	margin-top: 0.9375rem;
	outline: none;
	padding: 0;
	position: relative;
	text-decoration: none;
	transition: 0.3s;
	z-index: 999;
}

.header__hamburger.is-open {
	background-color: transparent;
}

.header__hamburger span {
	background-color: #fff;
	border-radius: 10px;
	display: block;
	height: 3px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 2.5rem;
}

.header__hamburger span:nth-of-type(1) {
	top: -0.5rem;
}

.header__hamburger span:nth-of-type(2) {
	background-color: #2b90d9;
	top: 0;
}

.header__hamburger span:nth-of-type(3) {
	top: 0.5rem;
}

.header__hamburger.is-open span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
	z-index: 2;
}

.header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(3) {
	background-color: #2b90d9;
	top: -0.3125rem;
	transform: translateX(-50%) rotate(-45deg);
}

.inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.loader {
	background-color: #282c37;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.loader__inner {
	height: inherit;
	width: inherit;
}

.loader__wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 5%;
	height: inherit;
	justify-content: center;
	width: inherit;
}

.loader__icon {
	width: 50%;
}

.loader__portfolio {
	width: 80%;
}

.lower-background {
	background: url(./../images/common/deco_fixed-background-sp.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.lower-contact__inner {
	margin: auto;
	max-width: 37.5rem;
	padding: 0 0.625rem;
	width: 100%;
}

.lower-contact__wrap {
	margin-top: 3rem;
}

.lower-contact__button {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
}

.page-detail__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-top: 1rem;
}

.page-detail__category a {
	background: #282c37;
	border: 1px solid #282c37;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	padding: 0.25rem 0.75rem;
}

.page-detail__wrap {
	margin-top: 2.5rem;
}

.page-detail__title {
	font-family: "line-700";
	font-size: 1.5rem;
}

.page-detail__img {
	aspect-ratio: 343/179;
	margin-top: 1rem;
	overflow: hidden;
}

.page-detail__img img {
	-o-object-fit: cover;
	-o-object-position: top;
	height: 100%;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.page-detail__description-field {
	margin-top: 2rem;
	overflow: hidden;
}

.page-detail__buttons {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.9375rem;
	margin-top: 3rem;
}

.page-detail__button {
	background: #fff;
	border: 1px solid #2b90d9;
	border-radius: 999px 0px;
	color: #2b90d9;
	display: inline-block;
	font-size: 1.25rem;
	letter-spacing: 0.2em;
	padding: 0.5625rem;
	text-align: center;
	text-transform: uppercase;
	width: min(100%, 18.125rem);
}

.page-top {
	align-items: center;
	background-color: #fff;
	border: 1px solid #2b90d9;
	border-radius: 50%;
	color: #2b90d9;
	cursor: pointer;
	display: flex;
	font-size: 0.9375rem;
	height: 4.1875rem;
	justify-content: center;
	line-height: 1;
	padding-top: 0.9375rem;
	text-transform: uppercase;
	transition: 0.3s;
	width: 4.1875rem;
}

.page-top::before {
	border-right: 0.125rem solid #2b90d9;
	border-top: 0.125rem solid #2b90d9;
	content: "";
	height: 0.8125rem;
	left: 50%;
	position: absolute;
	top: 1.25rem;
	transform: translateX(-50%) rotate(-45deg);
	width: 0.8125rem;
}

.price-table__content {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	font-size: 1rem;
	width: 100%;
}

.price-table__heading {
	padding-left: 1.5rem;
	position: relative;
}

.price-table__heading::after {
	background: url(./../images/common/deco_price.jpg) no-repeat center center/cover;
	content: "";
	height: 1.5rem;
	height: 1.5rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 1.5rem;
}

.price-table__price {
	margin-left: 10%;
	margin-top: 0.8125rem;
	text-align: right;
}

.price-table .price-table__heading + .price-table__price + .price-table__heading {
	margin-top: 1rem;
}

.price-table__text {
	margin-top: 1.5rem;
}

.price {
	background: #E2E8F7;
}

.price__tab {
	margin-top: 2.5rem;
}

.section-title {
	display: inline-flex;
	flex-direction: column-reverse;
	padding-left: 5.3125rem;
	padding-top: 3.125rem;
	position: relative;
}

.section-title::after {
	background: url(./../images/common/icon_heading.svg) no-repeat center center/contain;
	content: "";
	height: 6.625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 5.3125rem;
}

.section-title__ja {
	color: #9baec8;
	font-family: "line-700";
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.25em;
	line-height: normal;
}

.section-title__en {
	font-family: "line-700";
	font-size: 2rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 125%;
	text-transform: uppercase;
}

.section-title__en::first-letter {
	color: #2b90d9;
}

.section-title__en--about span {
	color: #2b90d9;
	padding-left: 0.5em;
}

.service-list__item {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: relative;
}

.service-list__item + .service-list__item {
	margin-top: 1.875rem;
}

.service-list__item-img {
	aspect-ratio: 342/200;
	overflow: hidden;
}

.service-list__item-img img {
	-o-object-fit: cover;
	border: 1px solid #9baec8;
	object-fit: cover;
	width: 100%;
}

.service-list__item {
	flex-basis: 250px;
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	width: 100vw;
}

.service-list__item-content-bg {
	background: linear-gradient(90deg, #ffffff 0%, #ffffff 2%, #e2e8f7 2%, #c3d1f5 100%);
	flex-basis: 250px;
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	width: 100vw;
	z-index: 10;
}

.service-list__item-title span {
	color: #2b90d9;
	font-family: "line-700";
	font-size: 3rem;
	font-style: italic;
	margin-right: 1.25rem;
}

.service-list__item-title {
	color: #2b90d9;
	font-family: "line-700";
	font-size: 1.5rem;
	text-align: center;
}

.service-list__item-text {
	margin-top: 1rem;
}

.service {
	background: linear-gradient(to bottom, transparent 14%, #fff 20%, #fff 100%);
	overflow: hidden;
}

.service__inner {
	margin: auto;
	max-width: 37.5rem;
	padding: 0 1.25rem;
	width: 100%;
}

.service__list {
	margin-top: 2.5rem;
}

.splide__slide img {
	height: auto;
	width: 100%;
}

.tab__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.375rem;
	justify-content: center;
}

.tab__menu-item {
	cursor: pointer;
	font-family: "line-700";
	font-size: 1.25rem;
	min-width: 6.25rem;
	padding: 0.625rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.tab__menu-item.is-active {
	border-bottom: 2px solid #2b90d9;
	position: relative;
}

.tab__menu-item.is-active:after {
	background: url(./../images/common/icon_tab-active.svg) no-repeat center center/contain;
	bottom: -0.8125rem;
	content: "";
	height: 0.875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.9375rem;
}

.tab__content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	width: min(100%, 37.5rem);
}

.tab__content-item {
	background: #e2e8f7;
	background: var(--, #e2e8f7);
	border-radius: 30px;
	box-shadow: -20px -20px 20px 0px #f0f5fc, 20px 20px 20px 0px #9baec8;
	box-shadow: -20px -20px 20px 0px #f0f5fc, 20px 20px 20px 0px var(--, #9baec8);
	display: none;
	padding: 1.5625rem;
}

.tab__content-item.is-active {
	animation: fade 0.3s;
	display: block;
}

.works-card {
	display: flex;
	flex-direction: column;
}

.works-card__link {
	position: relative;
}

.works-card__img {
	aspect-ratio: 327/353;
	overflow: hidden;
	position: relative;
}

.works-card__img img {
	-o-object-fit: cover;
	-o-object-position: top;
	height: 100%;
	object-fit: cover;
	object-position: top;
	width: 100%;
}

.works-card__buttons {
	background: #9baec8;
	background: var(--, #9baec8);
	bottom: 0;
	color: #fff;
	content: "";
	display: flex;
	justify-content: space-around;
	left: 0;
	padding: 0.9375rem 0.75rem;
	position: absolute;
	width: 100%;
	z-index: 10;
}

.works-card__buttons a {
	background: #9baec8;
	background: var(--, #9baec8);
	color: #fff;
	font-size: 1rem;
	padding: 0.625rem 1.25rem;
	transition: 0.3s;
}

.works-card__buttons a:hover {
	opacity: 0.7;
}

.works-card__title {
	font-size: 1.25rem;
	margin-top: 1rem;
}

.works-card__subtitle {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.works-card__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-top: 1rem;
}

.works-card__category a {
	background: #282c37;
	border: 1px solid #282c37;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	padding: 0.25rem 0.75rem;
}

.works-tab__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.5rem;
	justify-content: center;
}

.works-tab__menu-item {
	cursor: pointer;
	font-size: 1.5rem;
	padding: 0.1875rem 0.625rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.works-tab__menu-item.is-active {
	border-bottom: 2px solid #2b90d9;
	position: relative;
}

.works-tab__menu-item.is-active:after {
	background: url(./../images/common/icon_tab-active.svg) no-repeat center center/contain;
	bottom: -0.8125rem;
	content: "";
	height: 0.875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.9375rem;
}

.works-tab__content {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	width: min(100%, 37.5rem);
}

.works-tab__content-item {
	background: #e2e8f7;
	background: var(--, #e2e8f7);
	border-radius: 30px;
	box-shadow: -20px -20px 20px 0px #f0f5fc, 20px 20px 20px 0px #9baec8;
	box-shadow: -20px -20px 20px 0px #f0f5fc, 20px 20px 20px 0px var(--, #9baec8);
	display: none;
	padding: 1.5625rem;
}

.works-tab__content-item.is-active {
	animation: fade 0.3s;
	display: block;
}

.works {
	overflow: hidden;
}

.works__wrap {
	background: linear-gradient(90deg, #e2e8f7 0%, #c3d1f5 100%);
	display: flex;
	flex-direction: column-reverse;
	margin-left: calc(50% - 50vw);
	margin-top: 2.1875rem;
	padding: 1.5rem 0;
	padding-left: calc(50vw - 50%);
	width: 100vw;
}

.works__text-area {
	margin-top: 2.8125rem;
}

.works__button {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	width: min(100%, 12.9375rem);
}

.works__slider-container {
	margin-left: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	width: 100vw;
}

/* プログレスバーのスタイル */

.works__carousel-progress {
	background-color: #fff;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	width: min(100%, 12.5rem);
}

.works__carousel-progress-bar {
	background: linear-gradient(90deg, #e2e8f7 0%, #2b90d9 100%);
	border-radius: 5px;
	height: 10px;
	transition: width 1000ms ease;
	width: 0;
}

.wp-pagenavi {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
}

.wp-pagenavi .pages {
	display: none;
}

.wp-pagenavi--single {
	gap: 1.5rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
	align-items: center;
	background-color: #fff;
	border: 1px solid #2b90d9;
	color: #2b90d9;
	display: inline-flex;
	font-size: 1rem;
	height: 3.125rem;
	justify-content: center;
	transition: 0.3s ease;
	width: 3.125rem;
}

.wp-pagenavi a.u-desktop {
	display: none;
}

.wp-pagenavi a:hover {
	background-color: #2b90d9;
	color: #fff;
	opacity: 1;
}

.wp-pagenavi span.current {
	background-color: #2b90d9;
	color: #fff;
}

.nextpostslink,
.previouspostslink {
	position: relative;
}

a.nextpostslink,
a.previouspostslink {
	color: #2b90d9;
	font-size: 1.25rem;
	padding: 0.5625rem 0.6875rem;
	text-transform: uppercase;
	width: min(100%, 7.5rem);
}

a.nextpostslink {
	padding-right: 1.75rem;
}

a.previouspostslink {
	padding-left: 1.75rem;
}

.nextpostslink {
	border-radius: 0 999px 990px 0;
}

.previouspostslink {
	border-radius: 999px 0px 0px 999px;
}

.nextpostslink:hover::before,
.previouspostslink:hover::before {
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
}

.nextpostslink::before {
	right: 1.25rem;
	transform: rotate(45deg);
}

.previouspostslink::before {
	left: 1.25rem;
	transform: rotate(-135deg);
}

.wp-pagenavi .first {
	display: none;
}

.wp-pagenavi .last {
	display: none;
}

@media screen and (min-width: 768px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

html {
	font-size: 1.6vw;
}

.layout-about {
	padding-top: 6.5rem;
}

.layout-archive-works {
	margin-top: 10.625rem;
}

.layout-footer {
	padding-bottom: 3rem;
}

.layout-fv {
	margin-top: 17.1875rem;
}

.layout-lower-contact {
	margin-top: 13.875rem;
}

.layout-lower {
	margin-top: 17.1875rem;
}

.layout-page-detail {
	margin-top: 10.625rem;
}

.layout-page-top {
	bottom: 4.375rem;
	right: 3.5rem;
}

.layout-price {
	padding-bottom: 10rem;
	padding-top: 6.5rem;
}

.layout-service {
	padding-bottom: 6.5rem;
}

.layout-works {
	padding-bottom: 6.5rem;
}

.about__wrap {
	margin-top: 4.5625rem;
	width: min(100%, 43.75rem);
}

.about__face {
	margin-top: 2.5rem;
}

.about__skills {
	grid-template-columns: repeat(5, 1fr);
	margin-top: 2.5rem;
}

.about__message {
	margin-top: 5.625rem;
}

.about__text--end {
	margin-top: 1.5rem;
}

.about__strength {
	margin-top: 1.5rem;
}

.about__strength dt {
	font-size: 1.125rem;
}

.about__strength dt + dd + dt {
	margin-top: 1rem;
}

.archive-works__wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.4375rem;
	max-width: 50rem;
}

.archive-works__list {
	grid-template-columns: repeat(2, 1fr);
}

.archive-works__pagenavi {
	margin-top: 8.75rem;
}

.archive-works__button a {
	margin-top: 5rem;
	transition: 0.3s;
}

.archive-works__button:hover a {
	background: #2b90d9;
	border: 1px solid #fff;
	color: #fff;
}

.contact__inner {
	max-width: 75rem;
	padding: 0 1.5625rem;
}

.contact__wrap {
	margin-top: 5rem;
}

.contact__form {
	margin: auto;
	max-width: 37.5rem;
	width: 100%;
}

.contact__form-submit input {
	padding: 1.5625rem 6.25rem;
}

.contact__form-submit:hover input {
	-webkit-text-decoration: none;
	background-color: #282c37;
	text-decoration: none;
}

.contact__form-modal-content {
	width: 60%; /* 幅を80%に設定 */
}

.description-field__title {
	font-size: 1.5rem;
}

.description-field__title span {
	padding-left: 1.5rem;
}

.drawer {
	padding: 14.25rem 0;
}

.drawer__nav {
	max-width: 62.5rem;
}

.drawer__list {
	grid-template-columns: repeat(2, 1fr);
}

.drawer__item a {
	padding: 1.25rem;
	transition: 0.3s;
}

.drawer__item:hover a {
	color: #2b90d9;
}

.fixed-background::before {
	background: url(./../images/common/deco_fixed-background.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.footer__inner {
	max-width: 78.125rem;
	padding: 0 1.5625rem;
}

.footer__wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.footer__logo {
	margin: 0;
	margin: initial;
	max-width: 29.875rem;
}

.footer__logo a {
	padding: 0.9375rem 0;
}

.footer__logo-img {
	aspect-ratio: 478/136;
	width: min(100%, 29.875rem);
}

.footer__nav-items {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.footer__nav-item a {
	padding: 1.25rem;
	transition: 0.3s;
}

.footer__nav-item:hover a {
	color: #2b90d9;
}

.footer__copyright {
	margin-top: 1.25rem;
}

.fv__inner.inner {
	max-width: 87.5rem;
}

.fv__lead {
	width: min(100%, 35.125rem);
}

.fv__contents {
	flex-direction: row;
	justify-content: space-between;
	margin-top: 5.1875rem;
}

.fv__text-wrap {
	display: inline;
	display: initial;
	width: min(100%, 47.8125rem);
}

.fv__title {
	font-size: clamp(2rem, 1.333rem + 1.39vw, 3rem);
	text-align: center;
	width: auto;
	width: initial;
}

.fv__title--upper span {
	font-size: 4rem;
}

.fv__title--lower {
	margin-top: 1.5625rem;
}

.fv__title--lower span {
	font-size: 4rem;
}

.fv__buttons {
	display: flex;
	gap: 3rem;
	justify-content: center;
	margin-top: 4.375rem;
	order: initial;
	width: auto;
	width: initial;
}

.fv_button + .fv_button {
	margin-top: 0;
	margin-top: initial;
}

.fv__slide {
	aspect-ratio: 555/444;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	width: min(100%, 33.75rem);
}

.fv__slide-item {
	aspect-ratio: 501/275;
	padding: 1.125rem 1rem 0rem;
	width: min(100%, 34.6875rem);
}

.fv__slide-item.splide__slide img {
	height: auto;
}

.header {
	height: 5rem;
}

.header__inner {
	height: 5rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.header__inner::after {
	bottom: -4.0625rem;
	height: 4.1875rem;
	width: 11.25rem;
}

.header__logo {
	max-width: 10.8125rem;
}

.header__icon {
	height: 7.3125rem;
	left: -36px;
	top: 20px;
	width: 7.625rem;
}

.header__icon::after {
	bottom: -80%;
	height: 8.5rem;
	width: 18.75rem;
}

.header__hamburger {
	height: 5.125rem;
	margin-top: 2.8125rem;
	width: 6.25rem;
}

.header__hamburger--text {
	color: #fff;
	font-size: 1.5rem;
	margin-top: 1.5625rem;
	text-align: center;
}

.header__hamburger span {
	width: 6.25rem;
}

.header__hamburger span:nth-of-type(1) {
	top: -1.125rem;
}

.header__hamburger span:nth-of-type(3) {
	top: 1.125rem;
}

.inner {
	max-width: 1050px;
	padding-left: 25px;
	padding-right: 25px;
}

.loader__wrap {
	gap: 10%;
}

.lower-background {
	background: url(./../images/common/deco_fixed-background.jpg);
}

.lower-contact__wrap {
	margin-top: 5rem;
}

.page-detail__category a:hover {
	background: #fff;
	border: 1px solid #282c37;
	color: #282c37;
}

.page-detail__wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.4375rem;
	width: min(100%, 50rem);
}

.page-detail__img {
	margin-top: 2rem;
}

.page-detail__description-field {
	margin-top: 3rem;
}

.page-detail__buttons {
	margin-top: 5rem;
}

.page-detail__button {
	transition: 0.3s;
}

.page-detail__button:hover {
	background: #2b90d9;
	border: 1px solid #fff;
	color: #fff;
}

.page-top {
	font-size: 1.125rem;
	height: 6.25rem;
	padding-top: 1.875rem;
	width: 6.25rem;
}

.page-top::before {
	height: 1.875rem;
	height: 0.9375rem;
	top: 1.875rem;
	width: 1.875rem;
	width: 0.9375rem;
}

.page-top:hover {
	background-color: #2b90d9;
	border: 1px solid #fff;
	color: #fff;
}

.page-top:hover::before {
	border-right: 0.125rem solid #fff;
	border-top: 0.125rem solid #fff;
}

.price-table__content {
	width: min(100%, 37.5rem);
}

.price-table__heading {
	width: 70%;
}

.price-table .price-table__heading + .price-table__price + .price-table__heading {
	margin-top: 1.5rem;
}

.price__tab {
	margin-top: 4.375rem;
}

.section-title {
	padding-left: 7.5rem;
}

.section-title::after {
	height: 8.8125rem;
	width: 7.375rem;
}

.section-title__en {
	font-size: 3rem;
	line-height: 160.417%;
}

.service-list__item {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 1.5rem;
	justify-content: space-between;
}

.service-list__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

.service-list__item + .service-list__item {
	margin-top: 2.5rem;
}

.service-list__item-img {
	aspect-ratio: 450/265;
	margin: 0;
	margin: initial;
	max-width: 28.125rem;
	width: 100%;
	z-index: 10;
}

.service-list__item {
	flex-basis: initial;
	padding-bottom: 4.0625rem;
	padding-top: 4.0625rem;
	position: relative;
}

.service-list__item::before {
	background: linear-gradient(90deg, #e2e8f7 0%, #c3d1f5 100%);
	content: "";
	height: 100%;
	left: calc(50% - min(48vw, 150px));
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.service-list__item--inversion::before {
	background: linear-gradient(90deg, #c3d1f5 0%, #e2e8f7 100%);
	left: 0;
	right: auto;
	width: calc(50% - min(48vw, -150px));
}

.service-list__item-content-bg {
	background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
	background: initial;
	flex-basis: initial;
	padding-bottom: 4.0625rem;
	padding-top: 4.0625rem;
}

.service-list__item-content {
	max-width: 37.5rem;
	width: 100%;
}

.service-list__item:nth-of-type(even) .service-list__item-content {
	margin-left: auto;
}

.service-list__item-title {
	font-size: 1.5625rem;
}

.service__inner {
	max-width: 75rem;
	padding: 0 1.5625rem;
}

.service__list {
	margin-top: 6.25rem;
}

.tab__menu-item {
	padding: 0.625rem 1.5rem;
}

.tab__content {
	width: min(100%, 62.5rem);
}

.tab__content-item {
	margin-top: 2.625rem;
	width: min(100%, 62.5rem);
}

.works-card__img::after {
	background: rgba(155, 174, 200, 0.8);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.works-card__img:hover::after {
	opacity: 1;
}

.works-card__buttons {
	align-items: center;
	background: rgba(155, 174, 200, 0.8);
	flex-direction: column;
	gap: 2rem;
	height: 100%;
	justify-content: center;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 3;
}

.works-card__buttons:hover {
	opacity: 1;
}

.works-card__buttons a {
	background: #fff;
	color: #282c37;
	color: var(--, #282c37);
	display: inline-block;
	font-size: 1.5rem;
	text-align: center;
	width: min(100%, 12.5rem);
}

.works-card__category a:hover {
	background: #fff;
	border: 1px solid #282c37;
	color: #282c37;
}

.works-tab__menu {
	gap: 1.5rem 0.5rem;
}

.works-tab__menu-item {
	padding: 0.3125rem 1.5rem;
}

.works-tab__content {
	width: min(100%, 62.5rem);
}

.works-tab__content-item {
	margin-top: 2.625rem;
	width: min(100%, 62.5rem);
}

.works__wrap {
	align-items: center;
	flex-direction: row;
	gap: 5.625rem;
	margin-top: 5rem;
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.works__text-area {
	margin-top: 0;
	margin-top: initial;
	width: min(100%, 33.125rem);
}

.works__text + .works__text {
	margin-top: 1rem;
}

.works__button {
	margin-top: 5rem;
}

.works__img-area {
	width: min(100%, 60rem);
}

.works__carousel-progress {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	margin-top: 6.25rem;
	width: min(100%, 25rem);
}

.wp-pagenavi a.u-desktop {
	display: inline-flex;
}

}

@media (min-width: 1000px) {

html {
	font-size: 16px;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}


/*# sourceMappingURL=style.css.map */
