/* ============================================================
   SOROE 法務ページ共通スタイル(terms / privacy / security)
   3ページでほぼ同一だったインラインCSSを集約(Codexレビュー中19)。
   design-system.cssのトークンを前提に、ページ固有の差分はここに含めない。
   ============================================================ */
body{font-size:15px; line-height:1.85;}
a{color:var(--primary);}

/* color-mix()/backdrop-filter未対応ブラウザ向けに、先に不透明な背景色を指定してからcolor-mix()で上書きする
   (Codexレビュー中21)。-webkit-backdrop-filterはSafari旧バージョン向け。 */
.header{position:sticky; top:0; z-index:10; background:var(--card); background:color-mix(in srgb, var(--card) 92%, transparent); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.header-inner{max-width:900px; margin:0 auto; padding:0 20px; height:64px; display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:9px; color:var(--ink); text-decoration:none; font-weight:800; font-size:15px; letter-spacing:.1em;}
.back-link{font-size:13px; color:var(--muted); text-decoration:none; min-height:44px; display:inline-flex; align-items:center;}
.back-link:hover{color:var(--primary);}
.wrap{max-width:820px; margin:0 auto; padding:56px 20px 100px;}
.doc-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-lift); padding:48px 52px;}
h1{font-size:26px; margin:0 0 6px;}
.meta{color:var(--faint-text); font-size:12.5px; margin-bottom:30px;}
h2{font-size:16px; margin:34px 0 10px; padding-top:14px; border-top:1px solid var(--line2); color:var(--ink);}
h2:first-of-type{border-top:none; padding-top:0; margin-top:10px;}
p{color:var(--muted); font-size:13.8px; margin:0 0 12px;}
ul,ol{color:var(--muted); font-size:13.8px; padding-left:22px; margin:0 0 12px;}
li{margin-bottom:6px;}
strong{color:var(--ink);}
table{width:100%; border-collapse:collapse; margin:14px 0; font-size:13.3px;}
th,td{text-align:left; padding:9px 10px; border-bottom:1px solid var(--line2); color:var(--muted);}
th{color:var(--ink); width:160px;}
.draft-note{background:var(--warn-bg); color:var(--warn-text); border-radius:var(--radius-sm); padding:14px 18px; font-size:12.8px; margin-bottom:30px; line-height:1.7;}
.highlight-box{background:var(--primary-bg); color:var(--primary-d); border-radius:var(--radius-sm); padding:16px 18px; font-size:13.3px; margin:14px 0; line-height:1.8;}
.highlight-box strong{color:var(--primary-d);}
.footer{max-width:900px; margin:0 auto; padding:0 20px 60px; display:flex; gap:18px; flex-wrap:wrap; font-size:12.5px; color:var(--faint-text);}
.footer a{color:var(--faint-text); min-height:44px; display:inline-flex; align-items:center;}
