:root{--navy:#071a3d;--teal:#079b98;--mint:#eaf8f6;--amber:#ef9b20;--line:#dce5e8}*{box-sizing:border-box}body{color:var(--navy);background:#f5f8f9;margin:0;font-family:Arial,Noto Sans JP,sans-serif}.shell{background:#fff;width:min(100%,520px);min-height:100dvh;margin:auto;padding:24px;position:relative;box-shadow:0 0 40px #dfe7e8}.shell header{justify-content:space-between;align-items:center;height:48px;display:flex}.logo{font-size:19px}.hero{padding-top:48px}.hero h1{letter-spacing:-.04em;margin:0;font-size:38px;line-height:1.35}.hero h1 span{color:var(--teal)}.hero>p{color:#526174;margin:24px 0;font-size:15px;line-height:1.8}.mini-chart{background:linear-gradient(#f6fdfc,#fff);border-radius:28px;height:150px;margin:25px 0;position:relative}.mini-chart svg{width:calc(100% - 50px);height:100px;position:absolute;inset:25px;overflow:visible}.mini-chart path{fill:none;stroke:var(--teal);stroke-width:5px;stroke-linecap:round}.hero ul{gap:14px;padding:0;list-style:none;display:grid}.hero li:before{content:"✓";color:var(--teal);margin-right:10px;font-weight:700}.primary{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;padding:17px;font-size:17px;font-weight:700}.sticky{margin-top:34px;position:sticky;bottom:20px;box-shadow:0 8px 24px #079b9840}.back,.text-button{color:var(--teal);background:0 0;border:0;font-size:15px;font-weight:700}.progress{gap:10px;margin:20px 0 70px;display:flex}.progress i{background:#e3e8ea;border-radius:5px;flex:1;height:5px}.progress i.on{background:var(--teal)}.quiz section{text-align:center}.quiz h2{font-size:28px;line-height:1.5}.hint{color:#607080;min-height:54px;line-height:1.65}.big-input{background:var(--mint);border:2px solid #b7dcd8;border-radius:18px;justify-content:center;align-items:center;margin-top:42px;display:flex}.big-input input{width:70%;color:var(--teal);text-align:center;background:0 0;border:0;outline:0;padding:24px 0;font:700 64px/1 Arial}.big-input span{font-size:28px;font-weight:700}.rates{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.rates button,.rates label{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;font-size:20px;font-weight:700}.rates .selected{border:2px solid var(--teal);background:var(--mint);color:var(--teal)}.rates label{grid-column:1/3;font-size:14px}.rates input{text-align:center;border:0;border-bottom:1px solid #999;width:70px;font-size:20px}.result-hero{text-align:center;background:var(--mint);margin:12px -24px 20px;padding:30px}.result-hero p{font-weight:700}.result-hero h1{color:var(--teal);margin:8px 0;font-size:64px}.result-hero small{color:#5d6c76}.chart,.milestones,.next{margin-top:30px}.chart>div{justify-content:space-between;align-items:center;display:flex}.chart h2,.milestones h2,.next h2{font-size:20px}.chart span{color:#6c7983;font-size:12px}.chart svg{background:linear-gradient(#fff,#f0fbfa);width:100%;height:190px}.chart path.grid{stroke:#d9e2e5;stroke-width:.5px}.chart path.line{stroke:var(--teal);stroke-width:2px;fill:none;vector-effect:non-scaling-stroke}.axis{justify-content:space-between;display:flex}.milestones{border:1px solid var(--line);border-radius:16px;overflow:hidden}.milestones h2{padding:0 16px}.milestones div{border-top:1px solid var(--line);justify-content:space-between;padding:16px;display:flex}.milestones .featured{background:var(--mint);color:var(--teal)}.share{border:1px solid var(--teal);width:100%;color:var(--teal);background:#fff;border-radius:14px;margin-top:18px;padding:16px;font-weight:700}.next{padding-top:35px}.next>p{color:#64717c}.action-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-grid button{text-align:left;border:1px solid var(--line);min-height:120px;color:var(--navy);background:#fff;border-radius:14px;padding:16px}.action-grid strong,.action-grid span{display:block}.action-grid span{color:#677583;margin-top:10px;font-size:12px;line-height:1.5}.notice{background:var(--mint);border-radius:12px;margin-top:12px;padding:16px}.notice p{margin-bottom:0;font-size:13px}.premium{background:#fff7e7;border-radius:18px;margin-top:24px;padding:20px}.premium>span{color:#9b6507;font-size:12px}.premium h3{line-height:1.55}.premium .primary{margin-top:8px}footer{color:#65717a;padding:32px 0;font-size:11px;line-height:1.7}@media (min-width:800px){body{padding:40px}.shell{border-radius:24px;min-height:calc(100vh - 80px)}.landing{padding-left:52px;padding-right:52px}.hero{padding-top:28px}.sticky{position:static}}
