:root{--ink:#13293d;--ink-soft:#4e6070;--paper:#f6f1e7;--paper-deep:#e9e1d2;--card:#fffdf8;--signal:#e95d32;--signal-dark:#b93e1d;--mint:#bfe2d4;--rule:#13293d33;--shadow:0 18px 50px #13293d1f;--sans:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--serif:"Shippori Mincho", "Yu Mincho", serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;line-height:1.75}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--paper);min-width:320px;margin:0}body:before{content:"";pointer-events:none;opacity:.32;z-index:20;mix-blend-mode:multiply;background-image:linear-gradient(#13293d09 1px,#0000 1px);background-size:100% 28px;position:fixed;inset:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%}.container{width:min(1180px,100% - 40px);margin-inline:auto}.narrow{width:min(780px,100% - 40px);margin-inline:auto}.eyebrow{color:var(--signal-dark);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.75rem;font-weight:800;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:28px;height:2px}.display{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,6.5vw,6.4rem);font-weight:700;line-height:1.06}.page-title{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.15}.lead{max-width:45rem;color:var(--ink-soft);font-size:clamp(1rem,2vw,1.2rem)}.section{border-top:1px solid var(--rule);padding:clamp(4rem,9vw,8rem) 0}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:2.5rem;display:grid}.section-heading h2{font-family:var(--serif);margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1.2}.section-index{color:var(--signal);font:700 4rem/1 var(--serif);opacity:.45}.site-header{z-index:30;border-bottom:1px solid var(--rule);backdrop-filter:blur(12px);background:#f6f1e7eb;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:78px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:.7rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:28px;height:28px;color:var(--paper);font:700 .68rem/1 var(--serif);border-radius:50%;place-items:center;display:grid}.nav{align-items:center;gap:clamp(.8rem,2.5vw,2rem);font-size:.86rem;font-weight:700;display:flex}.nav a{text-decoration:none}.nav a:hover{color:var(--signal)}.nav-cta{background:var(--ink);border-radius:999px;padding:.6rem 1rem;color:var(--paper)!important}.hero{padding:clamp(4.5rem,10vw,9rem) 0 5rem;position:relative;overflow:hidden}.hero:after{content:"実質費用";color:#0000;-webkit-text-stroke:1px #13293d1f;font:700 clamp(5rem, 16vw, 15rem)/1 var(--serif);white-space:nowrap;pointer-events:none;position:absolute;bottom:-2rem;right:-2vw}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:end;gap:clamp(3rem,8vw,8rem);display:grid;position:relative}.hero-note{border-left:3px solid var(--signal);padding-left:1.4rem}.hero-note strong{font-family:var(--serif);margin-bottom:.5rem;font-size:1.45rem;display:block}.hero-note p{color:var(--ink-soft);margin:0;font-size:.92rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.2rem;display:flex}.button{border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:.65rem;padding:.7rem 1.25rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{box-shadow:5px 5px 0 var(--signal);transform:translateY(-2px)}.button.secondary{color:var(--ink);background:0 0}.button.small{min-height:40px;padding:.45rem .9rem;font-size:.83rem}.draft-banner{background:var(--signal);color:#fff;text-align:center;padding:.7rem 0;font-size:.78rem;font-weight:700}.draft-banner a{margin-left:.6rem}.status-strip{border:1px solid var(--rule);background:var(--card);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);display:grid}.status-item{border-right:1px solid var(--rule);padding:1.35rem 1.5rem}.status-item:last-child{border-right:0}.status-item span{color:var(--ink-soft);letter-spacing:.08em;font-size:.72rem;font-weight:700;display:block}.status-item strong{font:700 1.35rem/1.35 var(--serif);margin-top:.25rem;display:block}.calculator-shell{background:var(--ink);color:var(--paper);box-shadow:12px 12px 0 var(--signal);position:relative}.calculator-head{border-bottom:1px solid #fff3;justify-content:space-between;align-items:flex-start;gap:2rem;padding:2.2rem;display:flex}.calculator-head h2{font:700 clamp(1.8rem, 4vw, 3rem)/1.2 var(--serif);margin:0}.calculator-head p{color:#cdd7dd;margin:.6rem 0 0}.calculator-step{color:var(--signal);font:700 3rem/1 var(--serif)}.calculator-form{padding:2.2rem}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;display:grid}.field{gap:.55rem;display:grid}.field label,.field legend{color:#dbe3e7;letter-spacing:.04em;font-size:.78rem;font-weight:800}.field small{color:#94a7b4;font-size:.73rem;line-height:1.45}.field input,.field select{color:#fff;background:#ffffff14;border:1px solid #ffffff59;border-radius:0;outline:none;width:100%;height:50px;padding:0 .85rem}.field input:focus,.field select:focus{border-color:var(--signal);box-shadow:0 0 0 2px #e95d3240}.field select option{color:var(--ink)}.field-wide{grid-column:span 2}.radio-row,.check-row{flex-wrap:wrap;gap:.55rem;display:flex}.choice{position:relative}.choice input{opacity:0;pointer-events:none;position:absolute}.choice span{color:#dce4e8;cursor:pointer;border:1px solid #ffffff4d;align-items:center;min-height:42px;padding:.45rem .8rem;display:inline-flex}.choice input:checked+span{border-color:var(--signal);background:var(--signal);color:#fff}.calculator-submit{background:var(--signal);border-color:var(--signal);width:100%;margin-top:2rem}.calculator-submit:hover{box-shadow:5px 5px 0 var(--paper-deep)}.results{padding:0 2.2rem 2.2rem}.results-summary{border-top:1px solid #fff3;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.6rem 0 1rem;display:flex}.results-summary h3{font:700 1.55rem/1.2 var(--serif);margin:0}.results-summary span{color:#aebdc6;font-size:.78rem}.result-list{gap:.7rem;display:grid}.result-card{background:var(--card);color:var(--ink);border-left:5px solid var(--product-accent,var(--signal));grid-template-columns:minmax(150px,1fr) repeat(3,minmax(110px,.65fr)) auto;align-items:center;gap:1rem;padding:1.25rem;display:grid}.result-card.is-ineligible{opacity:.64;grid-template-columns:minmax(150px,1fr) 2fr auto}.result-product strong{font:700 1.2rem/1.3 var(--serif);display:block}.result-product span,.metric span{color:var(--ink-soft);font-size:.7rem;display:block}.metric strong{font-size:1.02rem}.result-rank{color:var(--signal);font:700 1.8rem/1 var(--serif)}.result-note{color:#aebdc6;margin:.6rem 0 0;font-size:.72rem}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.product-card{border:1px solid var(--rule);background:var(--card);min-height:300px;padding:1.7rem;text-decoration:none;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.product-card:after{content:attr(data-index);color:var(--product-accent);opacity:.12;font:700 8rem/1 var(--serif);position:absolute;bottom:-25px;right:-10px}.product-card:hover{box-shadow:8px 8px 0 var(--product-accent);transform:translateY(-5px)}.product-card h3{font:700 1.65rem/1.2 var(--serif);margin:2.5rem 0 .5rem}.product-card p{color:var(--ink-soft);margin:0;font-size:.9rem}.product-card .card-label{color:var(--product-accent);font-size:.75rem;font-weight:800}.product-card .card-meta{font-size:.72rem;font-weight:700;position:absolute;bottom:1.5rem;left:1.7rem}.data-table-wrap{border:1px solid var(--rule);background:var(--card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:780px}.data-table th,.data-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:1rem}.data-table th{background:var(--ink);color:var(--paper);letter-spacing:.04em;font-size:.73rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fff8e9}.verified{color:#28715d;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:inline-flex}.verified:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #28715d29}.verified.draft{color:var(--signal-dark)}.page-hero{padding:clamp(4rem,8vw,7rem) 0 3.5rem}.page-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:end;gap:4rem;display:grid}.fact-box{border:1px solid var(--rule);background:var(--card);padding:1.5rem}.fact-box dl{gap:1rem;margin:0;display:grid}.fact-box div{border-bottom:1px solid var(--rule);justify-content:space-between;gap:1rem;padding-bottom:.7rem;display:flex}.fact-box div:last-child{border-bottom:0;padding-bottom:0}.fact-box dt{color:var(--ink-soft);font-size:.78rem}.fact-box dd{text-align:right;margin:0;font-size:.83rem;font-weight:700}.plan-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.plan-card{border:1px solid var(--rule);background:var(--card);padding:1.5rem}.plan-card h3{font:700 1.4rem/1.2 var(--serif);margin:0 0 1rem}.plan-price{font:700 1.55rem/1.2 var(--serif)}.plan-card ul,.prose ul{padding-left:1.2rem}.plan-card li{color:var(--ink-soft);margin:.35rem 0;font-size:.83rem}.prose h2{font:700 2rem/1.3 var(--serif);margin:3.5rem 0 1rem}.prose h3{font:700 1.35rem/1.3 var(--serif);margin:2.3rem 0 .7rem}.prose p,.prose li{color:var(--ink-soft)}.prose code{background:var(--paper-deep);color:var(--ink);padding:.12rem .32rem}.source-card{border-left:4px solid var(--mint);background:var(--card);margin-top:2rem;padding:1.4rem}.timeline{border-left:1px solid var(--ink);margin-left:.5rem;padding-left:2rem}.timeline-empty{border:1px dashed var(--rule);background:#ffffff59;padding:2rem}.newsletter-box{background:var(--mint);border:1px solid var(--ink);grid-template-columns:1fr minmax(280px,.75fr);gap:3rem;padding:clamp(2rem,5vw,4rem);display:grid}.newsletter-box h2{font:700 clamp(2rem, 4vw, 3.7rem)/1.2 var(--serif);margin:0}.subscribe-form{align-content:center;gap:.8rem;display:grid}.subscribe-form input{border:1px solid var(--ink);background:var(--card);height:50px;padding:0 .9rem}.form-message{min-height:1.4em;margin:0;font-size:.8rem;font-weight:700}.site-footer{z-index:21;background:var(--ink);color:#dae2e6;padding:3rem 0;position:relative}.footer-grid{grid-template-columns:1.2fr 1fr;gap:3rem;display:grid}.footer-nav{flex-wrap:wrap;justify-content:flex-end;gap:1rem 1.5rem;font-size:.8rem;display:flex}.footer-note{color:#93a7b3;max-width:36rem;margin:.8rem 0 0;font-size:.73rem}.copyright{color:#93a7b3;border-top:1px solid #ffffff26;margin-top:2rem;padding-top:1.5rem;font-size:.72rem}.consent-banner{z-index:50;border:1px solid var(--ink);background:var(--card);width:min(520px,100% - 2rem);box-shadow:8px 8px 0 var(--signal);padding:1rem;position:fixed;bottom:1rem;right:1rem}.consent-banner p{color:var(--ink-soft);margin:0 0 .8rem;font-size:.78rem}.consent-banner div{justify-content:flex-end;gap:.6rem;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{animation:.6s both rise}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}@media (width<=900px){.hero-grid,.page-hero-grid,.newsletter-box{grid-template-columns:1fr}.product-grid,.plan-grid,.field-grid{grid-template-columns:repeat(2,1fr)}.result-card{grid-template-columns:1fr 1fr}.result-card .button{grid-column:span 2}.result-card.is-ineligible{grid-template-columns:1fr}.result-card.is-ineligible .button{grid-column:auto}}@media (width<=680px){.container,.narrow{width:min(100% - 24px,1180px)}.header-inner{min-height:64px}.nav a:not(.nav-cta){display:none}.brand{font-size:.88rem}.status-strip{grid-template-columns:1fr}.status-item{border-right:0;border-bottom:1px solid var(--rule)}.status-item:last-child{border-bottom:0}.product-grid,.plan-grid,.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.calculator-shell{box-shadow:6px 6px 0 var(--signal)}.calculator-head,.calculator-form,.results{padding-left:1rem;padding-right:1rem}.result-card,.result-card.is-ineligible{grid-template-columns:1fr}.result-card .button{grid-column:auto}.section-heading{grid-template-columns:1fr}.section-index{display:none}.footer-grid{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
