:root{--bg:#f6f7f9;--surface:#fff;--ink:#12202f;--ink-2:#44505f;--ink-3:#6b7685;--line:#dde2e9;--accent:#0b5cad;--accent-ink:#fff;--accent-soft:#e8f1fb;--good:#0a7a55;--warn:#a15c00;--warn-soft:#fff4e0;--radius:10px;--max:1040px}@media (prefers-color-scheme:dark){:root{--bg:#0e141b;--surface:#161e28;--ink:#e8edf3;--ink-2:#b6c0cc;--ink-3:#8a95a3;--line:#2a3542;--accent:#6cb2f5;--accent-ink:#08121d;--accent-soft:#15283b;--good:#58c9a0;--warn:#f0b765;--warn-soft:#2e2413}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Noto Sans JP,Segoe UI,sans-serif;font-size:16px;line-height:1.75}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.35}p{margin:0 0 .9em}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.narrow{max-width:720px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.brand{color:var(--ink);letter-spacing:.02em;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.nav a{color:var(--ink-2);text-decoration:none}.nav a:hover{color:var(--accent)}.nav a.btn,.nav a.btn:hover{color:var(--accent-ink)}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;display:inline-block}.btn.ghost{color:var(--accent);background:0 0}.btn.small{padding:6px 12px;font-size:13px}.btn.danger{border-color:var(--line);color:var(--ink-2);background:0 0}.btn[disabled]{opacity:.5;cursor:not-allowed}.hero{padding:56px 0 40px}.hero h1{letter-spacing:.01em;font-size:clamp(28px,5vw,42px)}.hero .lead{color:var(--ink-2);max-width:680px;margin:16px 0 24px;font-size:17px}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.note{color:var(--ink-3);font-size:13px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:28px 0 0;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat b{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.2;display:block}.stat span{color:var(--ink-3);font-size:13px}section{padding:36px 0}section>.wrap>h2{margin-bottom:8px;font-size:24px}.section-lead{color:var(--ink-2);max-width:720px;margin-bottom:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h3{margin-bottom:6px;font-size:17px}.card p:last-child{margin-bottom:0}.muted{color:var(--ink-3)}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px 18px}.notice .meta{color:var(--ink-3);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.notice h3{margin:4px 0 10px;font-size:17px}.notice h3 a{color:var(--ink);text-decoration:none}.notice h3 a:hover{color:var(--accent)}.facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0;display:grid}.fact{background:var(--accent-soft);border-radius:8px;padding:8px 12px}.fact dt{color:var(--ink-3);font-size:12px}.fact dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.fact .remain{color:var(--ink-2);font-size:13px;font-weight:400}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:1px 10px;font-size:12px}.quote{border-left:3px solid var(--line);color:var(--ink-2);margin:4px 0 0;padding:2px 0 2px 10px;font-size:13px}.pricing{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.price{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.price small{color:var(--ink-3);font-size:14px;font-weight:400}ul.plain{margin:10px 0 0;padding-left:20px}ul.plain li{margin:4px 0}.callout{background:var(--warn-soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:14px 16px}.callout.info{background:var(--accent-soft)}form.stack{gap:12px;display:grid}label{margin-bottom:4px;font-size:14px;font-weight:700;display:block}.hint{color:var(--ink-3);font-size:12px;font-weight:400}input[type=text],input[type=email],select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:16px}select[multiple]{min-height:150px}.checks{flex-wrap:wrap;gap:6px 14px;display:flex}.checks label{align-items:center;gap:6px;margin:0;font-weight:400;display:inline-flex}.row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.row>*{flex:200px}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}th{color:var(--ink-3);white-space:nowrap;font-size:12px;font-weight:700}tr:last-child td{border-bottom:0}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.site-footer{border-top:1px solid var(--line);color:var(--ink-3);margin-top:40px;padding:24px 0 40px;font-size:13px}.site-footer a{color:var(--ink-3)}.site-footer .links{flex-wrap:wrap;gap:16px;margin-bottom:10px;display:flex}.prose h2{margin:28px 0 8px;font-size:19px}.prose h1{margin:32px 0 8px;font-size:26px}dl.kv{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(120px,200px) 1fr;gap:0;display:grid;overflow:hidden}dl.kv dt,dl.kv dd{border-bottom:1px solid var(--line);margin:0;padding:10px 14px}dl.kv dt{background:var(--bg);font-size:14px;font-weight:700}dl.kv dt:last-of-type,dl.kv dd:last-of-type{border-bottom:0}@media (max-width:560px){dl.kv{grid-template-columns:1fr}dl.kv dt{border-bottom:0;padding-bottom:2px}.hero{padding:36px 0 28px}}
