:root{color-scheme:light;--ink:#132534;--muted:#5a6b77;--navy:#071b2d;--navy-2:#0b2b45;--teal:#087a70;--teal-light:#dff5ef;--line:#d8e1e7;--surface:#f5f8fa;--white:#fff;--warning:#fff6dd;--danger:#a52b2b;--shadow:0 12px 32px #071b2d14;font-synthesis:none;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;line-height:1.75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);line-break:strict;overflow-wrap:break-word;margin:0}a{color:var(--teal);text-underline-offset:.2em}a:hover{color:#045c54}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto}.shell{width:min(1120px,100% - 32px);margin-inline:auto}.skip-link{z-index:100;background:#fff;padding:.6rem 1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:20;backdrop-filter:blur(10px);background:#071b2df5;border-bottom:1px solid #ffffff24;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:64px;display:flex}.brand{color:#fff;white-space:nowrap;align-items:center;gap:.55rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#56d4b4;font-size:1.35rem}.site-header nav{gap:1.1rem;display:flex;overflow-x:auto}.site-header nav a{color:#dce8ee;white-space:nowrap;font-size:.9rem;text-decoration:none}.hero{color:#fff;background:radial-gradient(circle at 85% 10%, #116d66 0, transparent 32%), linear-gradient(145deg, var(--navy), var(--navy-2));padding:clamp(3.5rem,8vw,7rem) 0}.hero-grid{align-items:center;gap:clamp(1.8rem,4vw,2.4rem);display:grid}.hero h1{letter-spacing:-.035em;margin:.5rem 0 1rem;font-size:clamp(2.1rem,9.5vw,4.6rem);line-height:1.06}.hero-title-line{white-space:nowrap;width:max-content;max-width:100%;display:block}.hero .lead{color:#d8e6ec;text-wrap:pretty;max-width:38rem}.hero-lead-line,.card-copy-line,.card-title-line{display:block}.hero-panel{width:100%;max-width:40rem}.hero-panel p{text-wrap:pretty}.eyebrow{color:#1ea98f;letter-spacing:.16em;margin:0;font-size:.78rem;font-weight:800}.hero .eyebrow{color:#68dfc2}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;min-height:46px;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{color:#fff;background:#055f58}.button.secondary{color:inherit;background:0 0;border-color:#8aa4b5}.section{padding:clamp(3rem,7vw,5.5rem) 0}.section.alt{background:var(--surface)}.section-head{max-width:48rem;margin-bottom:2rem}.section h2,.page-head h1{text-wrap:balance;margin:.35rem 0 .75rem;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.25}.grid{gap:1rem;display:grid}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:.65rem;flex-direction:column;padding:1.3rem;display:flex}.card h2,.card h3{text-wrap:balance;margin:.35rem 0;line-height:1.35}.card p{color:var(--muted);text-wrap:pretty}.card .button{align-self:flex-start;margin-top:auto}.number{background:var(--teal-light);width:2rem;height:2rem;color:var(--teal);border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.page-head{background:var(--surface);border-bottom:1px solid var(--line);padding:3.5rem 0 2rem}.page-head .lead{max-width:48rem}.breadcrumb{color:var(--muted);padding-top:1.4rem;font-size:.85rem}.tool-layout{gap:1.5rem;padding:2rem 0 4rem;display:grid}.panel{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:.65rem;padding:clamp(1rem,3vw,1.6rem)}.panel h2{text-wrap:balance;margin-top:0}.form-grid{gap:1rem;display:grid}label{gap:.35rem;font-weight:700;display:grid}label small,.hint{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #aebdc7;border-radius:.35rem;padding:.65rem .75rem}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #76d8c4}.result-box{border-left:4px solid var(--teal);background:var(--teal-light);min-height:160px;padding:1rem}.result-box h3{margin-top:0}.metric-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.metric{background:#fff;border:1px solid #c7e3dc;padding:.8rem}.metric span{color:var(--muted);font-size:.8rem;display:block}.metric strong{font-size:1.15rem}.notice{background:var(--warning);border-left:4px solid #d69a00;margin:1.2rem 0;padding:1rem}.danger{color:var(--danger)}.source-list{padding-left:1.2rem}.source-list li{margin-block:.5rem}.source-meta{color:var(--muted);font-size:.82rem}.table-wrap{border:1px solid var(--line);border-radius:.5rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem}th{background:#edf3f6;font-size:.88rem}.tag{background:var(--teal-light);color:#075f58;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:800;display:inline-block}.article-shell{max-width:860px}.article{padding:1.6rem 0 5rem}.article h1{letter-spacing:-.02em;margin:.4rem 0 1rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.2}.article h2{margin-top:2.8rem;line-height:1.35}.article h3{margin-top:2rem}.article p,.article li{max-width:74ch}.article .lead{color:var(--muted);font-size:1.1rem}.updated{color:var(--muted);font-size:.85rem}footer{background:var(--navy);color:#d3e1e8;padding:2.8rem 0 1.3rem}.footer-grid{gap:2rem;display:grid}footer nav{gap:.45rem;display:grid}footer a{color:#8fe6cf}.fine-print{color:#9db1be;border-top:1px solid #30485b;margin-top:2rem;padding-top:1rem;font-size:.78rem}@media (width>=720px){.form-grid.two{grid-template-columns:repeat(2,1fr)}.tool-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:start}.result-panel{position:sticky;top:84px}.footer-grid{grid-template-columns:1fr 1fr}}@media (width>=960px){.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.75fr)}.hero-panel{max-width:none}}@media (width<=719px){.header-inner{flex-direction:column;align-items:flex-start;padding:.7rem 0}.site-header nav{width:100%;padding-bottom:.25rem}.metric-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
