/* ════════════════════════════════════
   FAQ アーカイブ固有スタイル
════════════════════════════════════ */
.faq-cat { margin-bottom: 3rem; }
.faq-cat-title { font-size: 1.05rem; font-weight: 800; color: var(--teal); margin-bottom: 1.25rem; padding-bottom: .6rem; border-bottom: 2px solid var(--teal); display: flex; align-items: center; gap: .5rem; }
.faq-list { display: flex; flex-direction: column; gap: .5rem; }
.faq-item { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--r); overflow: hidden; }
.faq-q { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.5rem; cursor: pointer; user-select: none; }
.faq-q-badge { flex-shrink: 0; width: 28px; height: 28px; background: rgba(88,195,232,.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 900; color: var(--teal); }
.faq-q-text { flex: 1; font-size: .95rem; font-weight: 600; color: var(--text); }
.faq-icon { flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; transition: transform .3s; }
.faq-icon svg { width: 16px; height: 16px; stroke: var(--teal); }
.faq-a { display: none; padding: 0 1.5rem 1.25rem 1.5rem; }
.faq-a-inner { background: var(--gray-50); border-radius: var(--r); padding: 1.1rem 1.25rem; font-size: .9rem; color: var(--text-muted); line-height: 1.9; }

.page-hero-simple { background: var(--navy); padding: 5rem 0 3rem; }
.page-hero-simple h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 900; color: var(--text); margin-bottom: .75rem; }
.page-hero-simple p { color: var(--text-muted); font-size: 1rem; }

.breadcrumb-mb { margin-bottom: 1.5rem; }
.container-narrow { max-width: 860px; margin-left: auto; margin-right: auto; }
