:root{--bg:#F5F8FB;--ink:#2b2f36;--sub:#646b76;--line:#E0E0E0;--navy:#003B83;--orange:#FF7800;--yellow:#FFD21F;--white:#fff;--ok:#1a8f5a;--ng:#d6342c;--soft:#EAF1FA}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans',sans-serif;line-height:1.7;font-size:15px}
a{color:var(--navy)}
.num,.en{font-family:Inter,'Noto Sans JP',sans-serif;font-variant-numeric:tabular-nums}
.top{background:var(--navy);color:#fff}
.top .in{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.top a{color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.top .brand{font-weight:900;letter-spacing:.02em}
.top .brand b{color:var(--yellow)}
.wrap{max-width:1080px;margin:0 auto;padding:20px 16px 48px}
.hero{padding:8px 0 16px}
.hero .kicker{font-family:Inter,sans-serif;font-weight:800;color:var(--orange);font-size:12px;letter-spacing:.14em}
.hero h1{margin:4px 0 6px;font-size:clamp(22px,4.4vw,34px);line-height:1.3;color:var(--navy);font-weight:900}
.hero p{margin:0;color:var(--sub)}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px}
.grid2{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:820px){.grid2{grid-template-columns:minmax(0,1fr)}}
.field{margin:0 0 14px}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:13px;margin-bottom:4px}
.field label output{font-family:Inter,'Noto Sans JP',sans-serif;color:var(--navy);font-size:17px;font-weight:800}
.field input[type=range]{width:100%;accent-color:var(--orange)}
.field input[type=text],.field select{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}
.btn{display:inline-block;font:inherit;font-weight:900;font-size:16px;padding:12px 22px;border-radius:10px;border:0;background:var(--orange);color:#fff;cursor:pointer;text-decoration:none}
.btn.sub{background:#fff;color:var(--navy);border:1px solid var(--navy);font-size:14px;padding:8px 14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:var(--soft);border-radius:10px;padding:10px 12px}
.kpi .l{font-size:12px;color:var(--sub);font-weight:700}
.kpi .v{font-family:Inter,'Noto Sans JP',sans-serif;font-size:22px;font-weight:800;color:var(--navy);line-height:1.3}
.kpi .v.ng{color:var(--ng)}.kpi .v.ok{color:var(--ok)}
.verdict{border-radius:14px;padding:16px 18px;color:#fff;background:var(--navy);margin-bottom:12px}
.verdict.ng{background:var(--ng)}.verdict.warn{background:var(--orange)}.verdict.ok{background:var(--ok)}
.verdict .big{font-family:Inter,sans-serif;font-size:clamp(28px,6vw,44px);font-weight:900;line-height:1.1}
.verdict p{margin:4px 0 0}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th,table.t td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
table.t th{background:var(--soft);color:var(--navy);font-weight:700}
table.t td:first-child,table.t th:first-child{text-align:left}
table.t tr.hl td{background:#FFF4E8}
.tscroll{overflow-x:auto}
h2{font-size:18px;color:var(--navy);margin:22px 0 10px;font-weight:900}
.note{font-size:12px;color:var(--sub)}
.foot{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--sub)}
.cta{margin-top:20px;background:var(--navy);color:#fff;border-radius:14px;padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.cta p{margin:0;font-weight:700}
canvas{max-width:100%}
