
:root{--navy:#122e4a;--navy2:#0c2238;--green:#16765e;--green2:#0e5e4a;--mint:#eef8f4;--mint2:#dff2eb;--amber:#eba634;--amber2:#fff5df;--red:#b84444;--ink:#17202a;--muted:#56616d;--line:#ccd7dd;--paper:#fff;--bg:#f5f8f9;--radius:4px;--shadow:0 12px 28px rgba(13,43,63,.10);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.78}img{max-width:100%;height:auto}a{color:var(--green2);text-decoration-thickness:1px;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:999}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:300px;max-height:58px;object-fit:contain;object-position:left center}.site-nav{display:flex;align-items:center;gap:20px;font-weight:700;font-size:.94rem}.site-nav a{color:var(--navy);text-decoration:none}.site-nav a:hover,.site-nav a:focus{color:var(--green)}.nav-cta{background:var(--navy);color:#fff!important;padding:9px 14px;border-radius:var(--radius)}.menu-button{display:none;background:none;border:1px solid var(--line);padding:8px 10px;border-radius:var(--radius)}
.hero{background:linear-gradient(120deg,#eef8f4 0%,#f7fbfc 52%,#fff5df 100%);border-bottom:1px solid var(--line);padding:62px 0 48px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}.eyebrow{display:inline-block;margin:0 0 10px;color:var(--green);font-weight:800;letter-spacing:.08em;font-size:.78rem;text-transform:uppercase}.hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.28;margin:0 0 16px;color:var(--navy2);letter-spacing:-.025em}.hero-lead{font-size:1.08rem;max-width:710px;margin:0 0 24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius);font-weight:800;text-decoration:none}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green2)}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--navy)}.hero-proof{margin-top:24px;display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem}.hero-proof span{display:flex;align-items:center;gap:7px}.hero-proof span:before{content:"✓";font-weight:900;color:var(--green)}.hero-panel{background:#fff;border:1px solid #b8cbc5;box-shadow:var(--shadow);padding:26px}.hero-panel h2{font-size:1.18rem;margin:0 0 14px;color:var(--navy)}.rate-line{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:10px;margin:13px 0}.rate-badge{font-weight:900;color:var(--navy)}.rate-track{height:10px;background:#e5ecef;overflow:hidden}.rate-fill{height:100%;background:var(--green)}.rate-line:nth-child(2) .rate-fill{width:67%}.rate-line:nth-child(3) .rate-fill{width:50%}.rate-line:nth-child(4) .rate-fill{width:13%;background:var(--amber)}
.section{padding:68px 0}.section-soft{background:var(--bg)}.section-mint{background:var(--mint)}.section-amber{background:var(--amber2)}.section-heading{max-width:800px;margin-bottom:30px}.section-heading h2{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.35;color:var(--navy);margin:0 0 12px}.section-heading p{margin:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:var(--radius)}.card h3{color:var(--navy);margin:0 0 10px;font-size:1.1rem}.card p{margin:0}.number-card b{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--navy);color:#fff;margin-bottom:12px}.card-link{display:inline-block;margin-top:14px;font-weight:800}.notice{border-left:5px solid var(--green);background:#fff;padding:18px 20px}.notice-warning{border-color:var(--amber);background:#fffaf0}.notice-danger{border-color:var(--red);background:#fff6f6}.notice strong{display:block;color:var(--navy);margin-bottom:4px}.check-list{padding:0;list-style:none;margin:0}.check-list li{position:relative;padding-left:28px;margin:10px 0}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.formula{padding:22px;border:1px solid #d4bd83;background:#fff;font-size:1.12rem;font-weight:800;color:var(--navy);text-align:center}.table-wrap{overflow:auto;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:14px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--navy);color:#fff}tbody tr:nth-child(even){background:#f7fafb}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{font-weight:800;color:var(--navy);padding:18px 38px 18px 0;cursor:pointer;position:relative}.faq-list summary:after{content:"＋";position:absolute;right:5px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0;padding:0 30px 20px 0}.breadcrumbs{font-size:.86rem;padding:14px 0;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.page-hero{padding:46px 0 38px;background:var(--mint);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.35;margin:0 0 12px;color:var(--navy)}.page-hero p{max-width:780px;margin:0}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px}.article h2{margin-top:42px;color:var(--navy);line-height:1.4}.article h3{margin-top:28px;color:var(--navy)}.article p,.article li{max-width:820px}.toc{position:sticky;top:94px;border-left:3px solid var(--green);padding-left:18px}.toc h2{font-size:1rem;margin:0 0 10px}.toc a{display:block;padding:6px 0;text-decoration:none}.source-list li{margin:10px 0;overflow-wrap:anywhere}.update-box{border:1px solid var(--line);background:#fff;padding:16px;margin-top:24px}.cta-band{background:var(--navy);color:#fff;padding:34px 0}.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.cta-band h2{margin:0 0 4px}.cta-band p{margin:0}.cta-band .btn-primary{background:var(--amber);color:var(--navy)}
.site-footer{background:var(--navy2);color:#dce7ed;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}.footer-brand img{width:280px;filter:brightness(0) invert(1);opacity:.94}.footer-grid h2{font-size:.95rem;color:#fff;margin:0 0 12px}.footer-grid a{display:block;color:#dce7ed;text-decoration:none;margin:7px 0;font-size:.9rem}.footer-grid p{font-size:.9rem}.footer-update{color:#f5c76f}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.84rem}.ad-slot{min-height:90px;border:1px dashed #b8c3ca;background:#fafcfc;display:grid;place-items:center;color:#7b8791;font-size:.8rem;margin:20px auto}.ad-slot[data-empty="true"]{display:none}
@media(max-width:980px){.hero-grid,.content-layout{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.toc{position:static}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 16px;flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.menu-button{display:block}.brand img{width:250px}}
@media(max-width:680px){.container{width:min(100% - 22px,var(--max))}.hero{padding:38px 0 32px}.section{padding:48px 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hero-actions .btn{width:100%}.header-inner{min-height:64px}.site-nav{top:64px}.brand img{width:210px}.footer-grid{grid-template-columns:1fr}.footer-bottom,.cta-band-inner{flex-direction:column;align-items:flex-start}.hero-panel{padding:20px}}
