:root { --fg:#111; --muted:#5c5c5c; --line:#e6e6e6; --faint:#9a9a9c; --soft:#f6f6f6; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:"Noto Sans JP","Inter",system-ui,sans-serif; color:var(--fg); background:#fff; }
.page { max-width:720px; margin:0 auto; padding:56px 28px 80px; }
.kicker { font-family:Inter,monospace; font-weight:800; letter-spacing:.16em; font-size:.66rem; text-transform:uppercase; color:var(--faint); }
h1 { font-weight:900; font-size:1.85rem; margin:12px 0 10px; line-height:1.3; }
.dek { color:var(--muted); font-size:.98rem; line-height:1.9; margin-bottom:28px; }
h2 { font-size:1rem; font-weight:900; margin:28px 0 10px; }
p, li { color:var(--muted); font-size:.92rem; line-height:1.85; }
ul, ol { padding-left:1.2em; }
.meta { display:flex; gap:18px; flex-wrap:wrap; font-size:.78rem; color:var(--faint); border-top:1px solid var(--line); padding-top:16px; margin-top:40px; }
table { width:100%; border-collapse:collapse; margin:12px 0 8px; font-size:.88rem; }
th, td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--faint); font-weight:800; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.box { background:var(--soft); border-radius:12px; padding:16px 18px; margin:12px 0; }
.check { list-style:none; padding-left:0; }
.check li { padding:8px 0 8px 28px; position:relative; border-bottom:1px solid var(--line); }
.check li::before { content:""; position:absolute; left:0; top:12px; width:14px; height:14px; border:1.5px solid #111; border-radius:3px; }
