@charset "utf-8";


body {
	-webkit-text-size-adjust: 100%;
}

#contents{
	width: auto;
	padding: 0;
}

.l-main{
	padding: 0;
	width: auto;
	overflow: hidden;
	background-color: #F9FFEF;
}

.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);
			}
				.thoughts__link {
					display: flex;
					width: 100%;
					height: 100%;
					color: #202020;
					font-family: "Zen Old Mincho";
					font-size: 16px;
					font-weight: 400;
					line-height: 1.6;
					letter-spacing: 0.04em;
					position: relative;
					border: 1px solid #959595;
					align-items: center;
					justify-content: center;
				}
				.thoughts__link::before {
					content: "";
					position: absolute;
					background: url(../images/section-arrow.svg) no-repeat center / cover;
					width: 13px;
					height: 13px;
					top: 0;
					bottom: 0;
					margin: auto;
					right: 18px;
					transition: all .4s;
				}
				.thoughts__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;
				}
				.thoughts__link:hover {
					color: #FFFEFA;
					opacity: 1;
				}
				.thoughts__link:hover::before {
					background: url(../images/thoughts__arrow-on.svg) no-repeat center / cover;
				}
				.thoughts__link:hover::after {
					transform: scale(1, 1);
				}
				.js-fadein {
					transform: translate3d(0, 30px, 0);
					transition: 1s;
					opacity: 0;
				}
				.js-fadein.animated {
					transform: translate3d(0, 0, 0);
					opacity: 1;
				}

.section__wrapper--thoughts {
	background: url(../images/thoughts-bg.webp) no-repeat center / cover;
}
		.ttl__box--thoughts {
			justify-content: center;
		}
		.thoughts__top-text {
			color: #202020;
			text-align: center;
			font-family: "Zen Old Mincho";
			font-size: 20px;
			font-weight: 400;
			line-height: 2;
			letter-spacing: 0.04em;
			position: relative;
			width: fit-content;
			margin: 0 auto 50px;
		}
		.thoughts__top-text::before,
		.thoughts__top-text::after {
			content: "";
			position: absolute;
			background: url(../images/thoughts-line.svg) no-repeat center / cover;
			width: 40px;
			height: 2px;
			top: 23px;
		}
		.thoughts__top-text::before {
			left: -41px;
		}
		.thoughts__top-text::after {
			right: -42px;
		}
		.thoughts__box {
			display: flex;
			flex-direction: column;
			gap: 30px;
			position: relative;
			margin-bottom: 50px;
		}
			.thoughts__block {
				background: #FFF;
				width: 1062px;
				min-height: 276px;
				display: flex;
				flex-direction: column;
				gap: 20px;
				padding: 40px;
			}
			.thoughts__block:nth-child(even) {
				width: 1093px;
				min-height: 308px;
				margin-left: 48px;
			}
				.thoughts__title {
					color: #B49E39;
					font-family: "Zen Old Mincho";
					font-size: 40px;
					font-weight: 400;
					line-height: 1.4;
					letter-spacing: 0.04em;
				}
				.thoughts__text {
					color: #202020;
					font-family: "Zen Old Mincho";
					font-size: 16px;
					font-weight: 400;
					line-height: 2;
					letter-spacing: 0.04em;
				}
			[class*="thoughts__img--"] {
				position: absolute;
			}
			.thoughts__img--left-top {
				width: 280px;
				height: 230px;
				top: -210px;
				left: -150px;
			}
			.thoughts__img--left-middle {
				width: 300px;
				height: 370px;
				top: 100px;
				left: -389px;
			}
			.thoughts__img--left-bottom {
				width: 310px;
				height: 280px;
				top: 564px;
				left: -240px;
			}
			.thoughts__img--right-top {
				width: 450px;
				height: 260px;
				top: -130px;
				right: -230px;
			}
			.thoughts__img--right-middle {
				width: 320px;
				height: 260px;
				top: 210px;
				right: -390px;
			}
			.thoughts__img--right-bottom {
				width: 310px;
				height: 260px;
				top: 584px;
				right: -90px;
			}
		.thoughts__btn {
			width: 282px;
			height: 60px;
			margin: 0 auto;
		}

.section__wrapper--faq {
	background: #FFFEFA;
}		
		.ttl__box--faq {
			justify-content: center;
		}
		.faq__list {
			display: flex;
			flex-direction: column;
			gap: 30px;
		}
			.faq__item {
				display: flex;
				flex-direction: column;
				gap: 10px;
				padding-bottom: 29px;
				border-bottom: 1px solid #E9E9E9;
			}
			.faq__item:last-child {
				padding: 0;
				border: none;
			}
				[class*="faq__box--"] {
					display: flex;
					gap: 10px;
				}
				.faq__box--q {
					position: relative;
					align-items: center;
					padding-right: 40px;
					cursor: pointer;
				}
				.faq__box--q::before {
					content: "";
					position: absolute;
					top: 50%;
					right: 10px;
					width: 21px;
					height: 1px;
					background: #000;
					transform: translateY(-50%);
					border-radius: 999px;
				}
				.faq__box--q::after {
					content: "";
					position: absolute;
					top: 50%;
					right: 19.5px;
					width: 1px;
					height: 21px;
					background: #000;
					transform: translateY(-50%);
					transition: transform 0.3s, opacity 0.3s;
					border-radius: 999px;
				}
				.faq__item.is-open .faq__box--q::after {
					opacity: 0;
					transform: translateY(-50%) rotate(90deg);
				}
					.faq__english {
						display: flex;
						width: 31px;
						height: 31px;
						flex-shrink: 0;
						font-family: "Zen Old Mincho";
						font-size: 14px;
						font-weight: 400;
						line-height: 1;
						letter-spacing: 0.04em;
						border-radius: 9999px;
						justify-content: center;
						padding-top: 7px;
					}
						.faq__box--q .faq__english {
							color: #000;
							border: 1px solid #000;
						}
						.faq__box--a .faq__english {
							color: #FFF;
							background: #000;
						}
						.faq__text {
							color: #202020;
							font-family: "Zen Old Mincho";
							font-size: 18px;
							font-weight: 400;
							line-height: 1.628;
							letter-spacing: 0.04em;
						}
						.faq__box--a .faq__text {
							color: #202020;
							font-size: 16px;
							letter-spacing: 0.04em;
						}
