/* ============================================================
   faq.css — カテゴリ別アコーディオン（30項目・AIO最適化）
   ============================================================ */
.faq-tree{
  display:grid;gap:14px;
  max-width:820px;margin:0 auto;
}
.faq-cat{
  background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;
  transition:box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.faq-cat:hover{box-shadow:0 10px 34px rgba(110,102,90,.08)}
.faq-cat.is-open{border-color:rgba(160,126,85,.35);box-shadow:0 12px 40px rgba(110,102,90,.10)}

.faq-cat-head{
  width:100%;display:flex;align-items:center;gap:14px;
  padding:20px 22px;background:none;border:none;cursor:pointer;text-align:left;
  font-family:var(--serif-jp);font-weight:600;color:var(--ink);
}
.faq-cat-title{
  flex:1;font-size:clamp(15px,2vw,17px);letter-spacing:.06em;
}
.faq-cat-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:26px;height:22px;padding:0 8px;border-radius:11px;
  background:var(--bg-2);color:var(--clay-deep);
  font-family:var(--serif-en);font-size:12px;font-weight:500;letter-spacing:.04em;
}
.faq-cat-ico{
  position:relative;width:14px;height:14px;flex-shrink:0;
}
.faq-cat-ico::before,.faq-cat-ico::after{
  content:'';position:absolute;background:var(--clay);transition:transform .3s var(--ease);
}
.faq-cat-ico::before{top:6px;left:0;width:14px;height:1.6px}
.faq-cat-ico::after{top:0;left:6px;width:1.6px;height:14px}
.faq-cat.is-open .faq-cat-ico::after{transform:scaleY(0)}

.faq-cat-body{
  max-height:0;overflow:hidden;
  transition:max-height .45s var(--ease);
}
.faq-cat.is-open .faq-cat-body{max-height:6000px}
.faq-cat-body .qa-item{border-top:1px solid var(--line)}
.faq-cat-body .qa-item:first-child{border-top:1px solid var(--line)}
.faq-cat-body .qa-q{padding:16px 22px 16px 26px;font-size:14.5px;color:var(--ink);font-weight:500}
.faq-cat-body .qa-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-cat-body .qa-item.open .qa-a{max-height:2400px}
.faq-cat-body .qa-a p{padding:0 22px 20px 26px;font-size:13.8px;line-height:2;color:var(--ink-soft)}

/* モバイル */
@media (max-width:600px){
  .faq-cat-head{padding:16px 18px;gap:10px}
  .faq-cat-title{font-size:14.5px;letter-spacing:.04em}
  .faq-cat-body .qa-q{padding:14px 18px;font-size:13.8px}
  .faq-cat-body .qa-a p{padding:0 18px 16px;font-size:13.2px;line-height:1.95}
}
