/* =========================================================
   TOP FAQ （よくあるご質問）
   anfang-lp の FAQ アコーディオンに準拠（medical-design と共通）
   ========================================================= */
.top-faq{
	--faq-navy:#2a3140;
	--faq-gold:#d1af54;
	--faq-ink-soft:#4a5262;
	background:#d9d9d9;padding:80px 0 100px;
}
.top-faq *,.top-faq *::before,.top-faq *::after{box-sizing:border-box;}
.top-faq__inner{max-width:1068px;margin:0 auto;padding:0 24px;}
.top-faq__head,.top-faq__head *{text-align:center;}
.top-faq__head{margin-bottom:48px;}
.top-faq__en{display:block;font-size:40px;letter-spacing:.08em;color:var(--faq-navy);line-height:1.2;}
.top-faq__jp{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--faq-navy);}

.top-faq__group + .top-faq__group{margin-top:48px;}
.top-faq__cat{
	font-family:'Noto Sans JP',sans-serif;font-size:17px;font-weight:700;color:var(--faq-navy);
	letter-spacing:.06em;line-height:1.5;padding-left:14px;border-left:3px solid var(--faq-gold);
}
.top-faq__list{margin-top:20px;display:flex;flex-direction:column;gap:16px;}
.top-faq__item{background:#fff;border:1px solid #d9dbe0;border-radius:10px;overflow:hidden;}
.top-faq__q{
	width:100%;text-align:left;background:none;border:0;cursor:pointer;
	display:flex;align-items:center;gap:18px;padding:20px 24px;
	font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:700;color:var(--faq-navy);line-height:1.5;
}
.top-faq__toggle{position:relative;flex-shrink:0;width:26px;height:26px;border:2px solid var(--faq-gold);border-radius:5px;}
.top-faq__toggle::before,.top-faq__toggle::after{content:"";position:absolute;background:var(--faq-gold);border-radius:1px;}
.top-faq__toggle::before{left:50%;top:5px;width:2px;height:12px;transform:translateX(-50%);}
.top-faq__toggle::after{top:50%;left:5px;height:2px;width:12px;transform:translateY(-50%);}
.top-faq__item.is-open .top-faq__toggle::before{display:none;}
.top-faq__item.is-open .top-faq__a p{padding-bottom:22px;}
.top-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.top-faq__item.is-open .top-faq__a{grid-template-rows:1fr;}
.top-faq__a p{min-height:0;overflow:hidden;}
.top-faq__a p{margin:0;padding:0 24px 0 68px;font-size:14.5px;color:var(--faq-ink-soft);line-height:1.9;}

@media screen and (max-width:767px){
	.top-faq{padding:14vw 0 16vw;}
	.top-faq__inner{padding:0 16px;}
	.top-faq__head{margin-bottom:9vw;}
	.top-faq__en{font-size:9vw;}
	.top-faq__jp{font-size:14px;}
	.top-faq__group + .top-faq__group{margin-top:10vw;}
	.top-faq__cat{font-size:15px;}
	.top-faq__list{margin-top:14px;gap:12px;}
	.top-faq__q{gap:14px;padding:16px 16px;font-size:14.5px;}
	.top-faq__toggle{width:22px;height:22px;}
	.top-faq__toggle::before{top:4px;height:10px;}
	.top-faq__toggle::after{left:4px;width:10px;}
	.top-faq__item.is-open .top-faq__a p{padding-bottom:18px;}
	.top-faq__a p{padding:0 16px 0 52px;font-size:13.5px;line-height:1.85;}
}
