:root{--fg:#1d2330;--muted:#5b6475;--bg:#f7f8fb;--card:#fff;--line:#e3e6ee;--accent:#2f6df6;--accent2:#0fa37f;--warn:#b42318;--warnbg:#fff1f0;--pr:#8a5a00;--prbg:#fff7e6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;color:var(--fg);background:var(--bg);line-height:1.8;font-size:16px}
a{color:var(--accent);text-underline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding:0 16px}
header.site{background:#fff;border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.15rem;color:var(--fg);text-decoration:none;letter-spacing:.02em}
.logo span{color:var(--accent)}
nav.top a{margin-left:14px;font-size:.92rem;color:var(--muted);text-decoration:none}
nav.top a:hover{color:var(--accent)}
main{padding:20px 0 40px}
h1{font-size:1.55rem;line-height:1.45;margin:.3em 0 .6em}
h2{font-size:1.2rem;margin:2em 0 .6em;padding-left:10px;border-left:4px solid var(--accent)}
h3{font-size:1.05rem;margin:1.5em 0 .4em}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:14px 0}
.hero{background:linear-gradient(135deg,#eef3ff,#effbf6);border:1px solid var(--line);border-radius:16px;padding:22px 20px;margin-top:6px}
.hero p{margin:.3em 0;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi .l{font-size:.82rem;color:var(--muted)}
.kpi .v{font-size:1.45rem;font-weight:800}
.kpi .s{font-size:.78rem;color:var(--muted)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:560px}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th:first-child,td:first-child{text-align:left}
thead th{background:#f1f4fa;font-weight:700;position:sticky;top:0}
tbody tr:hover{background:#fafbff}
.na{color:#9aa3b2}
.note{font-size:.85rem;color:var(--muted)}
.updated{font-size:.85rem;color:var(--muted)}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:999px;background:#eef3ff;color:var(--accent);margin-right:6px}
.pr{background:var(--prbg);color:var(--pr);border:1px solid #f3d9a4;border-radius:8px;padding:6px 12px;font-size:.85rem;margin:8px 0 14px}
.pr b{margin-right:6px}
.err{background:var(--warnbg);color:var(--warn);border:1px solid #f6c5c0;border-radius:10px;padding:10px 14px;margin:12px 0;font-size:.92rem}
.adslot{border:1px dashed #c7cdd9;border-radius:10px;padding:12px;text-align:center;color:#8a93a3;font-size:.85rem;margin:16px 0;background:#fcfcfe}
.assume{background:#f6f8ff;border-left:4px solid #9db6ff;padding:8px 12px;border-radius:6px;font-size:.92rem;margin:10px 0}
.list a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;margin:8px 0;text-decoration:none;color:var(--fg)}
.list a:hover{border-color:var(--accent)}
.list a small{display:block;color:var(--muted)}
.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.calc label{font-size:.85rem;color:var(--muted);display:block}
.calc input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.result{font-size:1.1rem;font-weight:700;margin-top:10px}
ol.src{font-size:.85rem;color:var(--muted);padding-left:1.3em;word-break:break-all}
footer.site{border-top:1px solid var(--line);background:#fff;padding:18px 0;font-size:.85rem;color:var(--muted)}
footer.site a{color:var(--muted);margin-right:14px}
@media (max-width:600px){h1{font-size:1.3rem}nav.top a{margin-left:0;margin-right:12px}body{font-size:15.5px}}
