.faq-group{max-width:840px;margin:0 auto 36px}
.faq-group:last-child{margin-bottom:0}
.faq-section-title{margin:0 0 14px;color:var(--deep);font:600 22px/1.55 var(--serif)}
.faq-list{display:grid;gap:10px}
details.faq-item{padding:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
details.faq-item[open]{border-color:var(--tint-2)}
.faq-item summary{display:grid;grid-template-columns:29px minmax(0,1fr) 24px;gap:10px;align-items:center;min-height:68px;padding:16px 18px;color:var(--deep);font-size:15.5px;font-weight:700;line-height:1.6;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:"Q";display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--deep);color:#fff;font-size:12px}
.faq-item summary::after{content:"＋";color:var(--accent);font-size:20px;font-weight:400;text-align:center}
.faq-item[open] summary::after{content:"−"}
.faq-answer{display:grid;grid-template-columns:29px minmax(0,1fr);gap:10px;margin:0 18px;padding:0 0 18px;border-top:1px solid var(--line)}
.faq-answer>span{display:grid;place-items:center;width:29px;height:29px;margin-top:14px;border-radius:50%;background:var(--tint);color:var(--accent-ink);font-size:12px;font-weight:800}
.faq-answer p{margin:12px 0 0;padding:0;color:var(--muted);font-size:14px;line-height:1.8}
@media(max-width:640px){
  .faq-group{margin-bottom:30px}
  .faq-section-title{font-size:20px}
  .faq-item summary{grid-template-columns:27px minmax(0,1fr) 20px;gap:9px;min-height:64px;padding:14px 13px;font-size:14px}
  .faq-item summary::before,.faq-answer>span{width:27px;height:27px}
  .faq-answer{grid-template-columns:27px minmax(0,1fr);gap:9px;margin:0 13px;padding-bottom:15px}
  .faq-answer p{font-size:13.5px;line-height:1.75}
}
