@charset "utf-8";


body {
	-webkit-text-size-adjust: 100%;
}

#contents{
	width: auto;
	padding: 0;
}

.l-main{
	padding: 0;
	width: auto;
	overflow: hidden;
	background-color: #FFFEFA;
}

.main__img{
	height: 650px;
}

.main__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

[class*="section__wrapper--"] {
	padding-block: 120px;
}
	[class*="section__inner--"] {
		width: 1140px;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
		[class*="ttl__box--"] {
			display: flex;
			gap: 14px;
			margin-bottom: 50px;
			align-items: flex-end;
		}
			[class*="section__ttl--"] {
				color: #000;
				font-family: "Aref Ruqaa";
				font-size: 60px;
				font-weight: 400;
				line-height: 1;
				letter-spacing: 0.12em;
			}
			[class*="section__sub-ttl--"] {
				color: #000;
				font-family: "Zen Old Mincho";
				font-size: 16px;
				font-weight: 400;
				line-height: 1;
				letter-spacing: 0.12em;
			}
			.js-fade-in-text span {
				display: inline-block;
				font-family: "Aref Ruqaa";
				opacity: 0;
				transition: .3s;
			}
			[class*="section__sub-ttl--"].js-fade-in-text span {
				font-family: "Zen Old Mincho";
			}
			.js-fade-in-text span.active {
				opacity: 1;
				transform: translateX(0);
			}
				.js-fadein {
					transform: translate3d(0, 30px, 0);
					transition: 1s;
					opacity: 0;
				}
				.js-fadein.animated {
					transform: translate3d(0, 0, 0);
					opacity: 1;
				}
				.section__image {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}

.section__wrapper--about {
	background: url(../images/about-bg.webp) no-repeat center / cover;
}
		.about__text {
			color: #202020;
			font-family: "Zen Old Mincho";
			font-size: 16px;
			font-weight: 400;
			line-height: 2;
			letter-spacing: 0.04em;
		}

.section__wrapper--staff {
	background: #FFFEFA;
}
	.ttl__box--staff {
		justify-content: center;
	}
	.staff__box {
		display: flex;
		flex-direction: column;
		gap: 50px;
		align-items: center;
		margin-inline: calc(50% - 50vw);
	}
		.staff__title {
			color: #202020;
			font-family: "Zen Old Mincho";
			font-size: 40px;
			font-weight: 400;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}
			.staff__box .staff__swiper {
				width: 100%;
			}
			.staff__box .staff__swiper.no-swiper .staff__list {
				display: flex;
				gap: 40px;
				justify-content: center;
			}
			.staff__box .staff__swiper.no-swiper .swiper-pagination {
				display: none;
			}
			.staff__box .swiper-pagination {
				position: static;
				display: flex;
				gap: 10px;
				justify-content: center;
				--swiper-pagination-bullet-horizontal-gap: 0;
				margin-top: 49px;
			}
			.staff__box .swiper-pagination-bullet {
				width: 30px;
				height: 1px;
				border-radius: 0;
				background: #959595;
				opacity: 1;
			}
			.staff__box .swiper-pagination-bullet-active {
				background: #E4C53C;
			}
				.staff__list {
					position: relative;
				}
					.staff__item {
						width: 460px;
						min-height: 395px;
					}
						.staff__link {
							display: flex;
							flex-direction: column;
							gap: 11px;
							align-items: center;
						}
							.staff__image {
								width: 460px;
								height: 345px;
								overflow: hidden;
								background: #D9D9D9;
							}
								.staff__image img {
									width: 100%;
									height: 100%;
									object-fit: cover;
									transition: transform .4s;
								}
								.staff__link:hover .staff__image img {
									transform: scale(1.1);
								}
							.staff__name {
								color: #202020;
								text-align: center;
								font-family: "Zen Old Mincho";
								font-size: 20px;
								font-weight: 400;
								line-height: 2;
								letter-spacing: 0.04em;
								width: 100%;
								min-height: 40px;
								overflow: hidden;
								text-overflow: ellipsis;
								white-space: nowrap;
							}

.section__wrapper--service {
	background: url(../images/service__bg.webp) no-repeat center / cover;
}
		.ttl__box--service {
			justify-content: center;
		}
		.service__list {
			display: flex;
			flex-direction: column;
		}
			.service__item {
				display: flex;
				gap: 40px;
				align-items: center;
			}
			.service__item:nth-child(even) {
				flex-direction: row-reverse;
				justify-content: space-between;
			}
				.service__image {
					width: 570px;
					min-height: 430px;
					flex-shrink: 0;
				}
				.service__text-box {
					display: flex;
					flex-direction: column;
					gap: 20px;
				}
					.service__title-box {
						display: flex;
						flex-direction: column;
						gap: 20px;
					}
						.service__title {
							color: #B49E39;
							font-family: "Zen Old Mincho";
							font-size: 40px;
							font-weight: 400;
							line-height: 1.4;
							letter-spacing: 0.04em;
						}
						.service__title-sub {
							color: #000;
							text-align: right;
							font-family: "Zen Old Mincho";
							font-size: 16px;
							letter-spacing: 0.12em;
							margin-left: 9px;
						}
						.service__text {
							color: #202020;
							font-family: "Zen Old Mincho";
							font-size: 16px;
							font-weight: 400;
							line-height: 2;
							letter-spacing: 0.04em;
						}
					.service__button {
						width: 292px;
						min-height: 60px;
					}
						.service__link {
							width: 100%;
							min-height: 60px;
							color: #202020;
							font-family: "Zen Old Mincho";
							font-size: 16px;
							font-weight: 400;
							line-height: 1.6;
							letter-spacing: 0.04em;
							border: 1px solid #959595;
							position: relative;
							display: flex;
							align-items: center;
							justify-content: center;
						}
						.service__link::before {
							content: "";
							position: absolute;
							background: url(../images/service__arrow.svg) no-repeat center / contain;
							width: 13px;
							height: 3px;
							top: 0;
							bottom: 0;
							margin: auto;
							right: 19px;
							transition: all .4s;
						}
						.service__link::after {
							background: #202020;
							position: absolute;
							top: 0;
							left: 0;
							content: '';
							width: 100%;
							height: 100%;
							transform: scale(0, 1);
							transform-origin: left top;
							transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
							z-index: -1;
						}
						.service__link:hover {
							color: #FFFEFA;
							opacity: 1;
						}
						.service__link:hover::before {
							background: url(/images/top/contents__arrow-on.svg) no-repeat center / cover;
						}
						.service__link:hover::after {
							transform: scale(1, 1);
						}

.section__wrapper--contact {
	background: url(../images/contact__bg.webp) no-repeat center / cover;
}
	.ttl__box--contact {
		justify-content: center;
	}
		.section__ttl--contact,
		.section__sub-ttl--contact {
			color: #FFF;
		}
	.contact__box {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
		.contact__top-text {
			color: #FFF;
			text-align: center;
			font-family: "Zen Old Mincho";
			font-size: 16px;
			font-weight: 400;
			line-height: 2;
			letter-spacing: 0.04em;
		}
		.contact__button-box {
			display: flex;
			gap: 20px;
			justify-content: center;
		}
			.contact__tel {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 20px;
				background: #FFF;
				padding: 34px 33px 20px;
				width: 423px;
				min-height: 180px;
			}
				.contact__tel-text {
					color: #202020;
					font-family: "Aref Ruqaa";
					font-size: 48px;
					font-weight: 400;
					line-height: 1;
					letter-spacing: 0.04em;
					position: relative;
					display: flex;
					align-items: flex-end;
					gap: 18px;
				}
				.contact__tel-text::before {
					content: "";
					display: block;
					background: url(../images/contact__tel-icon.svg) no-repeat center / contain;
					width: 32px;
					height: 32px;
					flex-shrink: 0;
				}
			.contact__time-box {
				display: flex;
				flex-direction: column;
			}
				.contact__time-text {
					color: #202020;
					font-family: "Zen Old Mincho";
					font-size: 14px;
					font-weight: 400;
					line-height: 1.6;
					letter-spacing: 0.04em;
				}
			.contact__link-box {
				display: flex;
				flex-direction: column;
				gap: 20px;
			}
				.contact__button {
					width: 352px;
					min-height: 80px;
				}
				.contact__link {
					width: 100%;
					min-height: 80px;
					background: #000;
					display: flex;
					align-items: center;
					justify-content: center;
					position: relative;
					z-index: 1;
				}
				.contact__link::before {
					content: "";
					position: absolute;
					background: url(../images/contact__arrow.svg) no-repeat center / contain;
					width: 13px;
					height: 3px;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 19px;
					transition: all .4s;
				}
				.contact__link::after {
					background: #FFFEFA;
					position: absolute;
					top: 0;
					left: 0;
					content: '';
					width: 100%;
					height: 100%;
					transform: scale(0, 1);
					transform-origin: left top;
					transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
					z-index: -1;
				}
				.contact__link:hover {
					opacity: 1;
				}
				.contact__link:hover::before {
					background: url(../images/service__arrow.svg) no-repeat center / contain;
				}
				.contact__link:hover::after {
					transform: scale(1, 1);
				}
				.contact__link:hover .contact__link-text {
					color: #202020;
				}
					.contact__link-text {
						color: #FFF;
						font-family: "Zen Old Mincho";
						font-size: 20px;
						font-weight: 400;
						line-height: 2;
						letter-spacing: 0.04em;
						transition: color .2s;
					}
