
:root{--paper:#fff;--bg:#F3F5F8;--ink:#16213A;--ink-soft:#4A5568;--ink-mute:#7B8794;--ai:#1E4DD8;--ai-deep:#163CA8;--ai-wash:#E8EEFF;--shu:#C8302B;--mist:#D9E0EA;--mist-soft:#EDF1F6;--radius:14px;--shadow:0 1px 2px rgba(22,33,58,.06),0 12px 32px -8px rgba(22,33,58,.18);--fd:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--fb:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--w:1040px;--g:clamp(16px,4vw,40px);--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:16px;line-height:1.8;font-feature-settings:"palt";letter-spacing:.02em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0;padding:0}
h1,h2,h3{font-family:var(--fd);font-weight:800;line-height:1.3;margin:0}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--ai);outline-offset:3px;border-radius:4px}
.container{width:min(var(--w),100% - var(--g)*2);margin-inline:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(243,245,248,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,224,234,.7)}
.header .container{display:flex;align-items:center;justify-content:space-between;min-height:62px;gap:16px}
.wordmark{font-family:var(--fd);font-weight:800;font-size:18px;display:flex;align-items:baseline;gap:8px}.wordmark small{font-family:var(--fb);font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--ink-mute)}
.hnav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.hnav a{font-size:13px;font-weight:500;color:var(--ink-soft);padding:6px 10px;border-radius:999px}.hnav a:hover,.hnav a[aria-current]{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--mist)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:14.5px;transition:.25s var(--ease);white-space:nowrap}
.btn-primary{background:var(--ai);color:#fff;box-shadow:0 10px 24px -8px rgba(30,77,216,.6)}.btn-primary:hover{background:var(--ai-deep);transform:translateY(-2px)}
.btn-ghost{box-shadow:inset 0 0 0 1.5px var(--mist);background:var(--paper)}.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.crumb{font-size:12.5px;color:var(--ink-mute);display:flex;gap:8px;padding-top:22px}.crumb a:hover{color:var(--ink)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--ai);letter-spacing:.08em;margin-bottom:14px}.kicker::before{content:"";width:24px;height:2px;background:var(--shu)}
.top{padding:clamp(28px,4vw,48px) 0 clamp(20px,3vw,32px)}
.top h1{font-size:clamp(24px,3.6vw,40px);text-wrap:balance;line-height:1.3}
.top p{margin-top:14px;color:var(--ink-soft);max-width:40em;font-size:15px;line-height:1.9}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--paper);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.c-in{padding:28px 28px 30px;border-right:1px solid var(--mist);display:grid;gap:18px;align-content:start}
.c-out{padding:28px 30px 30px;background:var(--ink);color:#fff;display:flex;flex-direction:column}
.f label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;letter-spacing:.04em}
.f .in{display:flex;align-items:center;gap:8px;border:1.5px solid var(--mist);border-radius:12px;background:#fff;padding:0 14px;transition:.2s}
.f .in:focus-within{border-color:var(--ai);box-shadow:0 0 0 4px var(--ai-wash)}
.f input,.f select{flex:1;min-width:0;font:inherit;font-size:18px;font-weight:700;padding:12px 0;border:0;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums;outline:0;font-family:var(--fb)}
.f input[type=date]{font-size:16px}
.f .u{font-size:13px;color:var(--ink-mute);flex:none;font-weight:500}
.f small{display:block;margin-top:6px;font-size:12px;color:var(--ink-mute);line-height:1.6}
.seg{display:inline-flex;background:var(--mist-soft);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--ink-soft);transition:.2s}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.big{font-family:var(--fd);font-size:clamp(40px,5vw,60px);font-weight:800;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:6px}
.big small{font-size:.42em;font-weight:700;margin-right:4px;opacity:.9}
.bl{font-size:12.5px;letter-spacing:.1em;color:rgba(255,255,255,.65);font-weight:500}
.brk{margin-top:22px;border-top:1px solid rgba(255,255,255,.14);padding-top:6px;flex:1}
.brk .r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.brk .r .k{color:rgba(255,255,255,.75)}.brk .r .v{font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--fd);font-size:16px}
.brk .r.m .v{color:#FF9A94}.brk .r.t .v{color:#9FB5FF}
.c-out .note{margin-top:14px;font-size:12px;color:rgba(255,255,255,.6);line-height:1.7}
.c-out .cta{margin-top:18px;display:grid;gap:8px}
.c-out .cta .btn-primary{width:100%}
.c-out .cta .btn-w{width:100%;background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.c-out .cta .btn-w:hover{background:rgba(255,255,255,.18)}
.sec{padding:clamp(40px,5vw,64px) 0 0}
.sec h2{font-size:clamp(21px,2.6vw,28px);margin-bottom:14px;display:flex;align-items:center;gap:12px}.sec h2::before{content:"";width:6px;height:26px;background:var(--shu);border-radius:3px}
.prose{color:var(--ink-soft);font-size:15px;line-height:2;max-width:46em}.prose p{margin-bottom:14px}.prose strong{color:var(--ink)}
.prose table{border-collapse:collapse;width:100%;max-width:560px;margin:8px 0 18px;font-size:14px;background:var(--paper);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--mist)}
.prose th,.prose td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--mist-soft)}.prose th{background:var(--mist-soft);font-weight:700;color:var(--ink);font-size:13px}.prose td:last-child,.prose th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.faq details{border-bottom:1px solid var(--mist)}.faq details:first-of-type{border-top:1px solid var(--mist)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;padding:18px 4px;font-weight:700;font-size:15.5px}.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font-family:var(--fd);color:var(--shu)}
.faq .a{padding:0 8px 20px 30px;color:var(--ink-soft);font-size:14.5px;line-height:2}
.others{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.oc{background:var(--paper);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:0 0 0 1px var(--mist);transition:.3s var(--ease);display:flex;flex-direction:column;gap:6px}
.oc:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(30,77,216,.35),var(--shadow)}
.oc b{font-size:16px;font-family:var(--fd);font-weight:800}.oc span{font-size:13px;color:var(--ink-soft);line-height:1.7}
.oc .go{margin-top:auto;padding-top:6px;font-size:12.5px;font-weight:700;color:var(--ai)}
.bridge{margin-top:clamp(48px,6vw,72px);background:var(--paper);border-radius:20px;padding:clamp(28px,4vw,44px);display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.bridge h2{font-size:clamp(22px,2.8vw,32px)}.bridge p{margin-top:12px;color:var(--ink-soft);font-size:15px;line-height:1.9}
.bridge .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.footer{background:var(--ink);color:rgba(255,255,255,.75);padding:36px 0 26px;font-size:13px;margin-top:clamp(48px,6vw,72px)}
.footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.footer .links{display:flex;gap:16px;flex-wrap:wrap}.footer a:hover{color:#fff}
.footer .dis{width:100%;font-size:11.5px;color:rgba(255,255,255,.45);line-height:1.7}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-grid .oc{padding:24px 22px 20px}.home-grid .oc b{font-size:19px}
@media (max-width:860px){.calc{grid-template-columns:1fr}.c-in{border-right:0;border-bottom:1px solid var(--mist)}.others,.home-grid{grid-template-columns:1fr 1fr}.bridge{grid-template-columns:1fr}.bridge .acts{justify-content:flex-start}.hnav{display:none}}
@media (max-width:560px){.others,.home-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}.c-in,.c-out{padding:22px var(--g)}}
