:root{
  --bg:#F1F8F7;
  --card:#FDFFFE;
  --ink:#1F3A38;
  --ink-soft:#6F8B87;
  --border:#D7EBE6;
  --accent:#3E8F82;
  --accent-soft:#DCF0EA;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#10201F;
    --card:#16302E;
    --ink:#E3F3F0;
    --ink-soft:#8FADA8;
    --border:#2A4744;
    --accent:#7ECDBD;
    --accent-soft:#1F423E;
  }
}
:root[data-theme="dark"]{
  --bg:#10201F;
  --card:#16302E;
  --ink:#E3F3F0;
  --ink-soft:#8FADA8;
  --border:#2A4744;
  --accent:#7ECDBD;
  --accent-soft:#1F423E;
}
*{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-size:25px;font-weight:800;letter-spacing:.02em;text-wrap:balance;}
.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-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-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;}
}
