:root{
  --bg:#F6F7FB;
  --card:#FFFFFF;
  --ink:#0B1B3A;
  --ink-soft:#5B6B8C;
  --border:#DFE4F0;
  --accent:#2F80FF;
  --accent-soft:#E6F0FF;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0F1730;
    --card:#17234A;
    --ink:#EEF2FF;
    --ink-soft:#A9B6D6;
    --border:#2A3A6A;
    --accent:#6AA6FF;
    --accent-soft:#1F3366;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1730;
  --card:#17234A;
  --ink:#EEF2FF;
  --ink-soft:#A9B6D6;
  --border:#2A3A6A;
  --accent:#6AA6FF;
  --accent-soft:#1F3366;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Noto Sans JP', system-ui, -apple-system, "Hiragino Sans", sans-serif;
  line-height:1.8;
  padding:48px 16px 80px;
  display:flex;
  justify-content:center;
}
.doc{width:100%;max-width:680px;min-width:0;display:flex;flex-direction:column;gap:28px;}
header{display:flex;flex-direction:column;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--border);}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;}
h1{margin:0;font-family:'Zen Maru Gothic', sans-serif;font-size:26px;font-weight:700;text-wrap:balance;word-break:keep-all;}
.meta{font-size:12.5px;color:var(--ink-soft);}
.summary{background:var(--accent-soft);border-radius:16px;padding:18px 20px;font-size:13.5px;line-height:1.85;}
.summary strong{color:var(--accent);}
.summary ul{margin-top:6px;}
section{display:flex;flex-direction:column;gap:10px;}
h2{margin:0;font-family:'Zen Maru Gothic', sans-serif;font-size:16.5px;font-weight:700;display:flex;align-items:baseline;gap:8px;}
h2 .num{color:var(--accent);font-size:13px;}
h3{margin:4px 0 0;font-family:'Zen Maru Gothic', sans-serif;font-size:14px;font-weight:700;}
p,li{margin:0;font-size:14px;}
ul{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;}
td{overflow-wrap:anywhere;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top;}
tr:last-child th,tr:last-child td{border-bottom:none;}
th{color:var(--ink-soft);font-weight:500;width:30%;}
a{color:var(--accent);overflow-wrap:anywhere;}
footer{padding-top:20px;border-top:1px solid var(--border);font-size:12.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px;}
@media (max-width:480px){
  body{padding-top:32px;}
  th{width:36%;}
  th,td{padding:8px 6px;}
  /* 「LENSY プライバシーポリシー」等、見出しが横幅の狭い画面で
     「プライ」と「バシー」の間のような、カタカナ語の途中で折り返され
     読みにくくなるのを防ぐ。text-wrap:balanceは日本語の単語の区切りを
     認識しないため、小さい画面では1行に収まりやすいサイズまで縮める。 */
  h1{font-size:21px;}
}
