
.fq-head .section-lede { margin: 20px auto 0; }
.fq-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.fq-card { padding: 30px 28px 8px; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.fq-num { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; color: var(--sage-deep); }
.fq-card h3 { margin: 6px 0 18px; font-size: 1.4rem; }
.fq-card .faq-list { border-top: 1px solid var(--line-strong); }
.fq-card .faq-list details:last-child { border-bottom: 0; }
.fq-card .faq-list summary { padding: 18px 34px 18px 0; font-size: 1.02rem; }
.fq-card .faq-list details p { padding: 0 0 20px; font-size: 0.92rem; }
.fq-card .faq-list summary::before, .fq-card .faq-list summary::after { right: 2px; width: 12px; }
@media (max-width: 900px) {
  .fq-cards { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
}
@media (max-width: 560px) {
  .fq-card { padding: 24px 20px 4px; }
}
