:root { --bg:#FBF8F2; --ink:#33414D; --deep:#2C4257; --muted:#7A8B99; --line:#E4DCCC;
  --cream:#F0E9DC; --marker:#F3E9D2; --amber:#8A6D3B; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); line-height:1.9; font-size:15px;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",-apple-system,sans-serif; }
header { display:flex; justify-content:space-between; align-items:center;
  padding:14px 20px; border-bottom:1px solid var(--line); background:var(--bg);
  position:sticky; top:0; z-index:5; }
header a { color:var(--deep); text-decoration:none; font-size:13px; }
.brand { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:19px;
  letter-spacing:.08em; margin-right:6px; }
.chip { font-size:11px; color:var(--amber); border:1px solid var(--amber);
  border-radius:999px; padding:2px 10px; }
main { max-width:640px; margin:0 auto; padding:28px 20px 48px; }
h1 { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:22px;
  color:var(--deep); font-weight:600; line-height:1.6; margin:4px 0 8px; }
.lead { font-size:13px; color:var(--muted); margin:0 0 22px; }
h3 { font-size:14px; color:var(--deep); margin:26px 0 4px; }
.tag { font-size:11px; color:var(--amber); border:1px solid var(--amber);
  border-radius:999px; padding:1px 9px; margin-left:8px; font-weight:normal;
  white-space:nowrap; vertical-align:1px; }
.labelnote { font-size:12.5px; color:var(--muted); margin:0 0 6px; }
.quote { background:var(--bg); border:1px solid var(--line); border-radius:4px 16px 16px 16px;
  padding:14px 18px; margin:10px 0; font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:15px; line-height:2.05; }
.quote strong { background:var(--marker); font-weight:600; padding:0 2px; color:var(--deep); }
.flow { background:var(--cream); border-radius:12px; padding:12px 16px; font-size:13px;
  color:#5C6B77; margin:8px 0 4px; }
.flow span { display:block; font-size:11px; letter-spacing:.12em; color:var(--amber);
  margin-bottom:2px; }
ol, ul { padding-left:22px; } li { margin:8px 0; }
strong { color:var(--deep); }
details.sec { background:#fff; border:1px solid var(--line); border-radius:14px;
  margin:10px 0; }
details.sec summary { display:flex; align-items:center; gap:14px; padding:15px 18px;
  cursor:pointer; list-style:none; }
details.sec summary::-webkit-details-marker { display:none; }
details.sec[open] summary { border-bottom:1px solid var(--line); }
.num { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:17px;
  color:var(--amber); min-width:22px; text-align:center; }
.t { font-size:14.5px; font-weight:600; display:block; }
.s { font-size:11.5px; color:var(--muted); display:block; }
.chev { margin-left:auto; color:var(--muted); font-size:12px; transition:transform .2s; }
details.sec[open] .chev { transform:rotate(180deg); }
.secbody { padding:2px 18px 24px; }
footer { text-align:center; font-size:11px; color:var(--muted); padding:0 20px 40px; }
