@charset "utf-8";

/* main
----------------------------------------------------------------------------- */
.l-main__faq {
	padding-block-start: var(--header-height-pc);
	background-color: var(--cc-back);

	@media (width <= 767px) {
		padding-block-start: var(--header-height-sp);
	}
}

/* faq
----------------------------------------------------------------------------- */
.page-faq {
	display: flex;
	align-items: center;
	flex-direction: column;

	@media (width > 767px) {
		padding-block: 13.6rem 16rem;
	}
	@media (width <= 767px) {
		padding-block: 6rem 8rem;
	}
}

.page-faq-content {
	width: 100%;
}

/* リード文
----------------------------------------------------------------------------- */
.page-faq-lead {
	@media (width > 767px) {
		margin-top: 8rem;
	}
	@media (width <= 767px) {
		margin-top: 6rem;
	}
}

.page-faq-lead-text {
	&:not(:first-of-type) {
		@media (width <= 767px) {
			margin-top: 1.4rem;
		}
	}
}

/* タブコンテンツ
----------------------------------------------------------------------------- */
.page-faq-tab {
	@media (width > 767px) {
		margin-top: 8rem;
	}
	@media (width <= 767px) {
		margin-top: 6rem;
	}
}

.page-faq-tab-content {
	@media (width > 767px) {
		max-width: 90rem;
		margin-inline: auto;
		padding-top: 8rem;
	}
	@media (width <= 767px) {
		padding-inline: 3rem;
		padding-top: 4.8rem;
	}
}

.page-faq-question-group {
	&:not(:first-of-type) {
		@media (width > 767px) {
			margin-top: 8.8rem;
		}
		@media (width <= 767px) {
			margin-top: 4.8rem;
		}
	}
}

.page-faq-question-group-title {
	font-weight: 500;
}

.page-faq-questions {
	list-style: none;
	border-top: 1px solid var(--cc-line-A);

	@media (width > 767px) {
		margin-top: 3.2rem;
	}
	@media (width <= 767px) {
		margin-top: 2rem;
	}
}

.page-faq-question-item {
	border-bottom: 1px solid var(--cc-line-A);
	overflow: hidden;
	padding-bottom: 0.8rem;
}

.page-faq-question {
	cursor: pointer;
	position: relative;

	@media (width > 767px) {
		padding: 3.2rem 9.2rem 2.4rem 4rem;
	}
	@media (width <= 767px) {
		padding: 2rem 3.6rem 1.2rem 0.8rem;
	}

	&::before,
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 1rem;
		transform: translateY(-50%);
		transition: rotate 0.4s;
		background-color: var(--cc-icon-A);
		height: 1px;

		@media (width > 767px) {
			right: 4.4rem;
			width: 1.2rem;
		}
		@media (width <= 767px) {
			right: 0.7rem;
			width: 1rem;
		}
	}

	&::after {
		rotate: 90deg;
	}

	.page-faq-question-item.is-open & {
		&::after {
			rotate: 0deg;
		}
	}
}

.page-faq-question-text {
	letter-spacing: 0.15em;

	@media (width > 767px) {
		font-size: 1.6rem;
		line-height: 2.4;
	}
	@media (width <= 767px) {
		font-size: 1.2rem;
		line-height: 2;
	}

	&::before {
		content: "Q.";
		color: var(--cc-pinkgold);
	}
}

.page-faq-answer {
	display: none;

	.page-faq-question-item.is-open & {
		display: block;
	}
}

.page-faq-answer-text {
	line-height: 2.4;

	@media (width > 767px) {
		font-size: 1.4rem;
		padding: 0 9.2rem 3.2rem 4rem;
	}
	@media (width <= 767px) {
		font-size: 1rem;
		padding: 0 3.6rem 1.2rem 0.8rem;
	}

	&::before {
		content: "A.";
		color: var(--cc-icon-A);
	}
}

.page-faq-question-text,
.page-faq-answer-text {
	display: grid;
	align-items: first baseline;
	grid-template-columns: auto 1fr;

	@media (width <= 767px) {
		text-align: justify;
	}

	&::before {
		font-family: var(--ff-loniki);
		font-weight: var(--text-fw-en);
		line-height: 1;
		letter-spacing: 0.16em;

		@media (width > 767px) {
			font-size: 2.2rem;
			width: 4.4rem;
		}
		@media (width <= 767px) {
			font-size: 1.5rem;
			width: 2.5rem;
		}
	}
}
