@charset "UTF-8";
/* よくある質問（開閉は main.js の [data-accordion]） */

.p-faq-section + .p-faq-section { margin-top: 100px; }

.p-faq-h2.c-h2 {
	margin-bottom: 24px;
	padding-bottom: 23px;
	font-size: 34px;
	line-height: 1.2;
}

.p-faq-item {
	border-radius: 10px;
	background: var(--gray-bg);
	color: var(--navy);
}
.p-faq-item + .p-faq-item { margin-top: 25px; }

/* ---------- 質問 ---------- */
.p-faq-q__btn {
	display: flex;
	align-items: center;
	gap: 22px;
	width: 100%;
	min-height: 103px;
	padding: 25px;
	border: 0;
	border-radius: 10px;
	background: none;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
}
.p-faq-q__btn:focus-visible { outline: 3px solid var(--accent); outline-offset: 0; }
.p-faq-q__text {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 28px;
	text-align: justify;
}
.p-faq-q__arrow {
	display: grid;
	place-items: center;
	flex: none;
	width: 52px;
	height: 48px;
	transition: transform .35s var(--ease-out);
}
.p-faq-q__arrow svg { width: 52px; height: 52px; transform: rotate(90deg); }
.is-open .p-faq-q__arrow { transform: rotate(180deg); }

/* Q / A の丸 */
.p-faq-num {
	display: grid;
	place-items: center;
	flex: none;
	width: 53px;
	height: 53px;
	border-radius: 50%;
	background: var(--navy);
	font-family: var(--ff-num);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #fff;
}
.p-faq-num--a { background: var(--accent); }

/* ---------- 回答 ---------- */
.p-faq-a__inner { padding: 10px 25px 25px; }
.p-faq-a__lead {
	display: flex;
	align-items: flex-start;
	gap: 22px;
}
.p-faq-a__lead-text {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 28px;
	text-align: justify;
}
.p-faq-a__body.c-text { margin-top: 35px; }

@media (max-width: 959px) {
	.p-faq-section + .p-faq-section { margin-top: 60px; }

	.p-faq-h2.c-h2 {
		margin-bottom: 25px;
		padding-bottom: 8px;
		font-size: 24px;
		line-height: 1.2;
	}

	.p-faq-item + .p-faq-item { margin-top: 20px; }

	.p-faq-q__btn {
		align-items: flex-start;
		min-height: 80px;
		padding: 18px;
	}
	.p-faq-q__text { font-size: 16px; line-height: 22px; }
	.p-faq-q__arrow { width: 39px; height: 36px; }
	.p-faq-q__arrow svg { width: 39px; height: 39px; }

	.p-faq-num { width: 36px; height: 36px; font-size: 14px; }

	.p-faq-a__inner { padding: 7px 18px 18px; }
	.p-faq-a__lead-text { font-size: 16px; line-height: 22px; }
	.p-faq-a__body.c-text { margin-top: 25px; font-size: 16px; line-height: 28px; }
	.p-faq-a__body.c-text > * + * { margin-top: 28px; }
}

/* 本文パネル下の余白（Figma PC 76px／SP 25px） */
.page-faq .l-lower__content { padding-bottom: 76px; }
@media (max-width: 959px) { .page-faq .l-lower__content { padding-bottom: 25px; } }
