/* 規約・ポリシー・特商法 */
.legal { max-width: 820px; }
.legal h1 { font-size: 28px; margin-bottom: 6px; }
.legal h2 { font-size: 18px; margin: 32px 0 10px; }
.legal p, .legal li { font-size: 15px; line-height: 1.9; }
.legal ol { padding-left: 1.4em; }
.legal-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 14px; }
.legal-table th, .legal-table td { border-bottom: 1px solid var(--public-line); padding: 12px 10px; text-align: left; vertical-align: top; }
.legal-table th { width: 30%; color: var(--public-text-sub); font-weight: 700; background: var(--public-surface-soft); }
@media (max-width: 767px) { .legal-table th { width: 38%; } }

/* よくある質問 */
.faq-search { margin: 18px 0 10px; }
.faq-toc { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; margin-bottom: 8px; }
.faq-toc a { color: var(--public-primary); text-decoration: none; }
.faq-cat { font-size: 18px; margin: 32px 0 4px; padding-left: 10px; border-left: 3px solid var(--public-primary); }
.faq-group .faq summary { font-size: 15px; }
.faq-group .faq p { font-size: 14px; line-height: 1.9; }
.faq-contact { margin-top: 40px; }
