:root{--navy:#1e3a8a;--navy-d:#172554;--bg:#f8fafc;--card:#fff;--line:#c3ccd9;--text:#0f172a;--sub:#475569;--tint:#eff6ff;--warn:#fef3c7;--warn-t:#78350f;--max:720px;--ctl:#64748b;--r:4px;--focus:#b45309;--font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP",Meiryo,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.8 var(--font)}
a{color:var(--navy)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.site-header{background:var(--navy)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:52px}
.site-header a{color:#fff;text-decoration:none;font-weight:500}
.site-header nav a{font-size:14px;margin-left:14px;font-weight:400}
main{padding:20px 0 32px}
h1{font-size:24px;font-weight:700;line-height:1.35;margin:.2em 0 .6em}h2{font-size:18px;margin:2em 0 .6em;padding:14px 0 0;border-top:1px solid var(--line)}
.lead{color:var(--sub);margin:0 0 16px}
.crumb{font-size:13px;color:var(--sub)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:16px 0}
label{display:block;font-size:14px;font-weight:500;margin:12px 0 4px}
input,select{width:100%;font:inherit;min-height:44px;padding:6px 10px;border:1px solid var(--ctl);border-radius:var(--r);background:#fff}
button,.btn{display:inline-block;min-height:44px;margin-top:16px;padding:8px 22px;background:var(--navy);color:#fff;border:0;border-radius:var(--r);font:inherit;font-weight:500;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:var(--navy-d)}
.result{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--r);padding:14px 16px;margin:16px 0}
.result .big{font-size:30px;line-height:1.3;font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--navy-d)}
.result .unit{font-size:14px;color:var(--sub);margin-left:4px}
.result .note{font-size:13px;color:var(--sub);margin:4px 0 0}
table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}th{font-weight:600}th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}td.n,th.n{text-align:right}
.ad-slot{min-height:280px;margin:24px 0;display:flex;align-items:flex-start;justify-content:center;border:1px dashed var(--line);border-radius:6px;color:#94a3b8;font-size:11px;padding:4px;contain:layout;overflow:hidden}
.ad-slot.ad-slim{min-height:100px}
.source-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;font-size:13px;color:var(--sub);margin:16px 0}
.source-box strong{color:var(--text)}.source-box ul{margin:6px 0 0;padding-left:1.2em}
.disclaimer{background:var(--warn);color:var(--warn-t);border-radius:var(--r);padding:12px 16px;font-size:13px;margin:16px 0}
.tool-list{list-style:none;padding:0;margin:0}.tool-list a{display:block;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;text-decoration:none;color:var(--text)}.tool-list a:hover{border-color:var(--navy)}.tool-list small{display:block;color:var(--sub)}
.site-footer{background:#e2e8f0;padding:20px 0;font-size:13px;color:var(--sub)}.site-footer a{margin-right:14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
