:root{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#192f47;background:#f2f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:1160px;margin:auto;padding:26px 28px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d8e1ea}.brand{font-weight:800}.tag{font-size:.875rem;background:#e0ebf6;padding:5px 12px;border-radius:5px;color:#255586}main{max-width:1160px;margin:auto;padding:32px 28px}.eyebrow{font-size:.875rem;letter-spacing:.13em;font-weight:700;color:#326398}.intro{margin-bottom:32px}h1{font-size:2.45rem;line-height:1.45;letter-spacing:.02em;margin:10px 0}p{line-height:1.85}.intro>p:last-child{color:#50647a}.workspace{display:grid;grid-template-columns:390px minmax(0,1fr);gap:26px;align-items:start}.panel{background:#fff;border:1px solid #dde5ed;padding:26px;border-radius:14px}h2{font-size:1.13rem;line-height:1.7;margin:0 0 16px}.number{color:#3974b6;font-size:.9rem;margin-right:12px}.muted,small,.privacy{font-size:.875rem;color:#596b7d;line-height:1.7}.muted{margin:0 0 20px}label{display:block;font-weight:700;font-size:.9375rem;margin-top:22px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.input{display:flex;align-items:center;border:1px solid #aebdcc;border-radius:7px;margin-top:9px;background:#fbfdff;padding-right:12px;gap:5px}.input:focus-within{outline:3px solid #a4cbf5;border-color:#2865a9}.input span{font-size:.875rem;font-weight:400;white-space:nowrap}input{width:100%;min-width:0;font:inherit;font-size:1.25rem;font-weight:600;border:0;background:none;color:#192f47;padding:12px;outline:0}small{display:block;font-weight:400;margin-top:8px}button{background:#225c9a;color:white;border:0;width:100%;border-radius:8px;font:inherit;font-weight:700;padding:16px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}button:hover{background:#174777}button:focus-visible,summary:focus-visible{outline:3px solid #e2a833;outline-offset:3px}#error{color:#a72b36;font-size:.875rem}.privacy{margin-bottom:0}.results{display:grid;gap:22px}.result-main{background:#173b65;color:#fff;border-radius:14px;padding:30px}.result-kicker{margin:0 0 14px;color:#c3d9ee;font-size:.875rem}.result-main h2{margin:0;font-weight:500}.amount{margin:10px 0;line-height:1.4;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.amount strong{font-size:3.65rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.amount span{font-size:1.1rem}.difference{background:#ffffff12;border-left:3px solid #a4d6ff;padding:10px 14px;margin:18px 0;font-size:.9375rem}.breakdown{display:grid;grid-template-columns:1fr 1fr;gap:16px}.breakdown div{font-size:.875rem;color:#c7d9ec}.breakdown span{display:block;font-size:1.2rem;color:white;margin-top:5px}.legend{font-size:.875rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#52667c}.key{width:16px;height:3px;display:inline-block}.blue{background:#3278bd}.gray{background:#8796a6}svg{display:block;width:100%;height:auto}svg text{font-family:inherit;font-size:14px;fill:#5b7085}.zero{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e0e6ed;padding-top:16px;font-size:.9375rem}.zero strong{white-space:nowrap}.hints p{font-size:.9375rem}.hints ul{padding-left:22px;color:#4d6176;line-height:1.9;font-size:.9375rem}.hints li+li{margin-top:8px}.consult{border-radius:14px;background:#e2edf8;padding:28px;border-top:4px solid #326ba6}.consult h2{font-size:1.4rem}.consult .eyebrow{letter-spacing:.03em}.consult p{font-size:.9375rem}.reply{background:#fff;padding:16px 20px;border-radius:8px}.reply strong{font-size:1.2rem;color:#225c9a}.notes{margin-top:32px;background:#fff;border:1px solid #dde5ed;border-radius:10px;padding:20px 24px;font-size:.875rem;color:#52667c}summary{cursor:pointer;font-size:.9375rem;font-weight:700;color:#233f5c;line-height:1.7}footer{margin:30px 0 12px;display:flex;justify-content:space-between;gap:15px;color:#627487;font-size:.875rem}.mobile{display:none}@media(max-width:800px){.workspace{grid-template-columns:1fr}.intro h1{font-size:2rem}main{padding:25px 18px}header{padding:20px 18px}.panel,.result-main,.consult{padding:23px}.intro{margin-bottom:25px}footer{flex-direction:column}.mobile{display:block}}@media(max-width:370px){.amount strong{font-size:2.8rem}.tag{font-size:.75rem}.brand{font-size:.875rem}.pair{gap:10px}.panel{padding:18px}}
