:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#14283b;background:#f0f4f8;font-size:16px;line-height:1.7}*{box-sizing:border-box}body{margin:0}header{max-width:1120px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dee8}.brand{font-size:22px;font-weight:850;letter-spacing:.07em;text-decoration:none;color:#14283b}.brand span{color:#087b77}.edition,.hint,.privacy{font-size:.875rem;color:#52677a}.edition{padding:4px 12px;border:1px solid #c3d2de;border-radius:30px}main{max-width:1120px;margin:auto;padding:28px}.intro{margin-bottom:28px}.eyebrow{color:#087b77;font-size:.875rem;font-weight:700;margin:0}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.4;letter-spacing:-.025em;margin:8px 0}.intro>p:last-child{margin:8px 0;color:#52677a}.mobile{display:none}.workspace{display:grid;grid-template-columns:1fr 1.08fr;gap:24px;align-items:start}.input-panel,.result-panel{background:#fff;border:1px solid #d3dee8;border-radius:20px;padding:26px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-head h2{font-size:1.15rem;margin:0}.section-head>span{font-size:.875rem;color:#52677a}.hint{margin:8px 0 16px}.field{margin:16px 0}.field label{display:block;font-size:.9375rem;font-weight:650;margin-bottom:6px}.input-wrap{display:flex;align-items:center;border:1px solid #a9bac8;border-radius:9px;background:#fbfdff;padding-right:14px}.input-wrap:focus-within{outline:3px solid #b5e9e5;border-color:#087b77}input{width:100%;min-width:0;border:0;background:transparent;padding:12px 14px;font-size:1.125rem;color:#14283b;outline:0;font-variant-numeric:tabular-nums}.input-wrap span{font-size:.875rem;color:#52677a;flex-shrink:0}.cost-fields{padding:1px 16px;background:#f0f4f8;border-radius:12px}.field .hint{margin:5px 0 0}.actions{display:flex;gap:12px;margin-top:24px}button{font:inherit;font-weight:650;font-size:.9375rem;padding:10px 16px;min-height:46px;border-radius:8px;border:1px solid #087b77;background:#087b77;color:#fff;cursor:pointer}.quiet{background:#fff;color:#52677a;border-color:#bccbd7}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #08a49b;outline-offset:4px}.privacy{margin:14px 0 0}.profit-card{background:#14283b;color:#fff;border-radius:14px;padding:24px;margin-top:20px}.profit-card>p{margin:0;color:#ccdbe8;font-size:.9375rem}.profit-card>strong{display:block;font-size:clamp(2rem,4vw,3rem);line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.profit-card>p:last-child{margin-top:10px}.metrics{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin:20px 0}.metrics>div{padding:14px 12px;background:#f0f4f8;border-radius:10px}.metrics span{display:block;font-size:.875rem;color:#52677a}.metrics strong{display:block;font-size:1.35rem;overflow-wrap:anywhere}.breakdown{display:flex;justify-content:space-between;gap:12px;padding:0 2px 20px}.price-card{border-left:4px solid #087b77;padding:16px 18px;background:#edf8f7;border-radius:0 10px 10px 0}.price-card p{margin:0;font-size:.9375rem}.price-card>strong{display:block;font-size:2rem;line-height:1.7;overflow-wrap:anywhere}.price-card p:last-child{color:#315d60;margin-top:6px}details{border-top:1px solid #d3dee8;margin-top:22px;padding-top:16px;font-size:.875rem;color:#52677a}summary{cursor:pointer;font-size:.9375rem;font-weight:650;color:#14283b}details p{line-height:1.9}#error{background:#fff1ed;color:#a32e17;padding:12px;border-radius:8px}.negative{color:#ffc3ae!important}footer{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:.875rem;color:#52677a} @media(max-width:720px){header{padding:18px 20px;flex-wrap:wrap;gap:8px}.brand{font-size:19px}.edition{font-size:.75rem}main{padding:24px 16px}.workspace{grid-template-columns:1fr;gap:18px}.input-panel,.result-panel{padding:20px}.mobile{display:block}.intro{margin-bottom:22px}footer{flex-direction:column;gap:4px}.metrics strong{font-size:1.2rem}}@media(prefers-reduced-motion:no-preference){button:hover{filter:brightness(.92)}}

select{width:100%;padding:12px;font:inherit;color:#14283b;background:#fbfdff;border:1px solid #a9bac8;border-radius:9px;min-height:48px}select:focus-visible{outline:3px solid #b5e9e5}h3{font-size:1rem;margin:16px 0 0}.gross-row{padding-top:18px;margin-bottom:0}.breakdown{flex-wrap:wrap}.section-head>span{flex-shrink:0}

.profit-guide{margin-top:24px;border:1px solid #a9d8d4;border-radius:12px;overflow:hidden;background:#fff}.profit-guide h3{margin:0;padding:14px 18px;background:#087b77;color:#fff;font-size:1rem}.guide-item{padding:14px 18px;border-bottom:1px solid #dbe8e7}.profit-guide p{margin:6px 0 0;font-size:.875rem;line-height:1.85}.guide-highlight{padding:16px 18px;background:#edf8f7}.guide-note{padding:0 18px 16px;color:#52677a}.guide-item b,.guide-highlight b{font-size:.9375rem}

.feedback-panel{margin-top:24px;padding:24px;border:1px solid #d3dee8;border-radius:16px;background:#fff}.feedback-panel h2{font-size:1.2rem;margin:0}.feedback-panel label{display:block;font-size:.9375rem;font-weight:650}.feedback-panel textarea{width:100%;resize:vertical;min-height:120px;font:inherit;padding:12px;border:1px solid #a9bac8;border-radius:8px}.feedback-panel textarea:focus-visible{outline:3px solid #b5e9e5}.feedback-panel button:disabled{opacity:.65;cursor:wait}

.stars{border:0;padding:0;margin:18px 0}.stars legend{font-weight:650;font-size:.9375rem}.star-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.star-options label{display:flex;align-items:center;gap:6px;padding:10px;border:1px solid #b7c7d3;border-radius:8px;cursor:pointer;min-height:44px}.star-options label:has(input:checked){background:#edf8f7;border-color:#087b77}.star-options span{color:#866200;font-size:1rem}.star-options small{font-size:.875rem}.star-options input{width:18px;height:18px;margin:0;padding:0}

.intro{position:relative;padding-right:200px;min-height:135px}.wait-sticker{position:absolute;right:0;top:0;width:190px;height:auto;transform:rotate(-8deg)}@media(max-width:720px){.intro{padding-right:0;padding-top:65px}.wait-sticker{width:120px;right:8px;top:-8px}}
