/* 利用規約・プライバシーポリシー共通スタイル */
.legal-hero{padding:64px 0 8px}
.legal-hero h1{font-size:clamp(30px,7vw,44px);line-height:1.5;letter-spacing:-.03em;margin:14px 0 10px}
.legal-hero .doc-meta{color:var(--text-sub);font-size:14px;margin:0}
.legal-body{padding:40px 0 96px}
.legal-body .wrap{max-width:820px}
.legal-lead{font-size:16px;line-height:2;margin:0 0 40px}
.legal-body h2{font-size:22px;line-height:1.6;letter-spacing:-.02em;margin:56px 0 16px;padding-top:24px;border-top:1px solid var(--border)}
.legal-body h3{font-size:17px;margin:28px 0 8px}
.legal-body p{margin:0 0 1em}
.legal-body ul,.legal-body ol{margin:0 0 1.2em;padding-left:1.4em}
.legal-body li{margin:6px 0}
.legal-note{background:var(--primary-weak);border:1px solid #b8d8d4;border-radius:16px;padding:18px 20px;font-size:15px;margin:20px 0}
.legal-table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:15px}
.legal-table th,.legal-table td{border:1px solid var(--border);padding:12px 14px;text-align:left;vertical-align:top;line-height:1.7}
.legal-table th{background:var(--surface-alt);font-weight:700;white-space:nowrap}
.legal-table td{background:var(--surface)}
.table-scroll{overflow-x:auto}
.legal-footer-block{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-sub);font-size:15px}
.legal-footer-block p{margin:4px 0}
.back-link{display:inline-block;margin-top:32px;color:var(--primary);font-weight:700;text-underline-offset:5px}
@media(max-width:600px){.legal-table{font-size:13px}.legal-table th,.legal-table td{padding:9px 10px}}
