/* 学び舎シリーズ 共通 利用規約・プライバシーポリシー スタイル（自己完結・app.css 非依存） */

:root {
    --c-base: #ffffff;
    --c-paper: #F6F3EC;
    --c-ink: #1A1A1A;
    --c-ink-soft: #4A4A4A;
    --c-accent: #3F4A63;
    --c-gray: #6B7280;
    --c-border: #E3E6EA;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
    color: var(--c-ink);
    background: #fff;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
}

.legal-appbar { background: var(--c-accent); color: #fff; padding: 14px 16px; }
.legal-appbar-inner { max-width: 720px; margin: 0 auto; font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.legal-appbar-inner span { font-weight: 400; font-size: 12px; opacity: .82; margin-left: 6px; }

.legal-main { max-width: 720px; margin: 0 auto; padding: 20px 16px 56px; font-size: 14px; color: var(--c-ink); }

.legal-head { margin-bottom: 20px; }
.legal-back { color: var(--c-accent); font-size: 13px; text-decoration: none; }
.legal-back:hover { text-decoration: underline; }

.legal-main h1 { font-size: 20px; margin: 8px 0 4px; }
.legal-meta { margin: 0 0 8px; color: var(--c-gray); font-size: 12px; }
.legal-main h2 { font-size: 15px; margin: 22px 0 6px; padding-bottom: 4px; border-bottom: 1px solid var(--c-border); color: var(--c-accent); }
.legal-main p { margin: 8px 0; }
.legal-main ol, .legal-main ul { padding-left: 22px; margin: 8px 0; }
.legal-main li { margin-bottom: 4px; }
.legal-main a { color: var(--c-accent); text-decoration: underline; }
.legal-main strong { font-weight: 700; }
.legal-main hr { margin: 28px 0; border: none; border-top: 1px solid var(--c-border); }

.legal-table-wrap { overflow-x: auto; margin: 12px 0; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.legal-table th, .legal-table td { border: 1px solid var(--c-border); padding: 8px 10px; text-align: left; vertical-align: top; }
.legal-table th { background: var(--c-paper); font-weight: 500; white-space: nowrap; }

.legal-note { font-size: 12px; color: var(--c-gray); background: var(--c-paper); border-radius: 8px; padding: 10px 12px; }
