/* Homeの共有トークンを使用。既存Terms/Privacyの旧インラインCSSより後に読む。 */
body.policy-page { margin:0; padding:0; background:var(--ht-color-paper); color:var(--ht-color-ink); font-family:var(--ht-font-body); line-height:var(--ht-leading-body); }
.policy-page .container { box-sizing:border-box; max-width:var(--ht-width-reading); margin:auto; padding:32px 24px 72px; }
.policy-page h1,.policy-page h2,.policy-page h3 { color:var(--ht-color-ink); font-family:var(--ht-font-display); font-weight:400; line-height:1.35; letter-spacing:-.035em; }
.policy-page h1 { font-size:clamp(30px,5vw,44px); margin:30px 0 16px; }
.policy-page h2 { font-size:25px; margin:36px 0 12px; border:0; padding:0; }
.policy-page h3 { font-size:20px; }
.policy-page p,.policy-page li,.policy-page td,.policy-page th { font-size:16px; color:var(--ht-color-ink); }
.policy-page .meta,.policy-page .note { color:var(--ht-color-muted); font-size:14px; }
.policy-page a { color:var(--ht-color-ink); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-page a:hover { color:var(--ht-color-focus); }
.policy-page a:focus-visible { outline:2px solid var(--ht-color-focus); outline-offset:4px; }
.policy-page nav { display:flex; gap:8px 20px; flex-wrap:wrap; align-items:center; }
.policy-page nav a { display:inline-flex; align-items:center; min-height:44px; }
.policy-page .brand { font-family:var(--ht-font-display); font-size:26px; text-decoration:none; margin-right:auto; }
.policy-page .notice { background:var(--ht-color-blue); border-radius:var(--ht-radius-card); padding:18px 22px; }
.policy-page table { width:100%; border-collapse:collapse; margin:24px 0; }
.policy-page td,.policy-page th { padding:14px 10px; text-align:left; border-bottom:1px solid var(--ht-color-line); }
.policy-page th { font-size:14px; font-weight:600; }
.policy-page ul,.policy-page ol { padding-left:24px; }
.policy-page .footer,.policy-page hr { border:0; border-top:1px solid var(--ht-color-line); margin-top:36px; padding-top:20px; }
.policy-page strong { color:var(--ht-color-ink); }
html[data-policy-lang="ja"] [data-policy-content="en"],html[data-policy-lang="en"] [data-policy-content="ja"] { display:none; }
@media(max-width:420px) { .policy-page .container { padding:20px 20px 56px; } .policy-page td,.policy-page th { padding:12px 6px; } }
