/* legal.css — Master Copy の法務系ページ（プライバシー/利用規約）共通スタイル
   トーンは contact.html / shared.css に合わせたニュートラルグレー系ダーク。
   多言語追加時は、各言語ページからこの1ファイルを読むだけで統一できる。 */

:root {
    /* contact.html / shared.css と同値（ニュートラルグレー + アンバーアクセント） */
    --bg-primary:   hsl(0, 0%, 4%);    /* 背景 ≈ #0a0a0a (LP正本) */
    --bg-secondary: hsl(0, 0%, 7%);    /* 面 ≈ #111111 */
    --bg-tertiary:  hsl(0, 0%, 9%);    /* カード ≈ #161616 */
    --text-primary: hsl(0, 0%, 91%);   /* 本文 ≈ #e8e8e8 */
    --text-secondary: hsl(0, 0%, 65%);
    --text-tertiary:  hsl(0, 0%, 45%);
    --text-muted:     hsl(0, 0%, 38%);
    --border:       hsl(0, 0%, 24%);
    --border-light: hsl(0, 0%, 28%);
    --accent:       hsl(42, 100%, 50%);   /* アンバー #FFB300（LP正本に統一） */
    --accent-hover: hsl(42, 100%, 55%);
    --accent-subtle: hsl(42, 100%, 25%);
    --font-sans: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 'Helvetica Neue', 'Hiragino Sans', Arial, sans-serif;
    --font-display: 'Space Grotesk', 'Noto Sans JP', sans-serif;   /* 見出し（LP正本） */
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-sans);
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.8;
    padding: 40px 20px;
    -webkit-font-smoothing: antialiased;
}

.container { max-width: 720px; margin: 0 auto; }

h1 {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
}

.subtitle {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin-bottom: 40px;
}

.section { margin-bottom: 32px; }

h2 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

p { font-size: 0.9375rem; margin-bottom: 12px; }

.highlight {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-light);
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
}
.highlight p { margin-bottom: 0; }

.good { color: var(--accent); }

ul { list-style: none; padding-left: 0; }
li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 8px;
    font-size: 0.9375rem;
}
li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--accent);
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-hover); text-decoration: underline; }

.nav-links {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    font-size: 0.875rem;
    align-items: center;
}
.nav-links .spacer { flex: 1; }
.lang-toggle {
    color: var(--text-secondary);
    border: 1px solid var(--border);
    padding: 4px 12px;
    border-radius: 999px;
}
.lang-toggle:hover {
    color: var(--accent);
    border-color: var(--accent);
    text-decoration: none;
}

code {
    background: var(--bg-tertiary);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.875rem;
    font-family: 'SF Mono', 'Monaco', 'Fira Code', monospace;
}

.footer {
    margin-top: 60px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
    text-align: center;
    color: var(--text-tertiary);
    font-size: 0.8125rem;
}
.footer a { color: var(--text-secondary); }
.footer a:hover { color: var(--accent); }

/* === ブランド見出しフォント（LP正本） === */
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em}
/* === 統一サイトヘッダー/フッター（LP正本準拠） === */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;margin:0 0 1.5rem;background:hsla(0,0%,4%,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsla(0,0%,100%,.06)}
.site-logo{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;color:#fff;font-size:1.05rem;text-decoration:none}
.site-logo:hover{color:var(--accent);text-decoration:none}
.site-footer{margin-top:4rem;padding:2rem 1.25rem 0;border-top:1px solid hsla(0,0%,100%,.06);text-align:center;color:var(--text-tertiary);font-size:.8125rem}
.site-footer .links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem}
.site-footer a{color:var(--text-secondary);text-decoration:none}
.site-footer a:hover{color:var(--accent)}
