:root{--main: #0E6C72;--main-dark: #0A5257;--tint-1: #EAF4F5;--tint-2: #DBEDEE;--tint-3: #A9D2D4;--line: #BFDCDE;--alert: #8C1D2F;--alert-dark: #6E1324;--ins-pay: #2E7BA6;--ins-get: #C3DCEA;--tax-box: #DCDCDC;--tax-ink: #3A3A3A;--stock: #4C8A55;--ink: #2E3A3B}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#edf5f5;color:var(--ink);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}#root{min-height:100vh}.page{max-width:1200px;margin:0 auto;padding:16px 16px 60px}.header{display:flex;align-items:flex-end;justify-content:space-between;padding:8px 4px 12px}.logo{display:flex;align-items:center;gap:10px;line-height:1.25}.logo-icon{width:28px;height:28px;background:var(--main);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-text .logo-large{font-size:26px;font-weight:700;color:var(--main);letter-spacing:.02em}.logo-underline{width:60px;height:2px;background:var(--main);margin-top:4px;border-radius:1px}.tabs{display:flex;gap:2px;align-items:flex-end;margin-bottom:-12px;margin-right:66px}.tab{border:none;cursor:pointer;font-size:15px;font-weight:800;padding:9px 22px 8px;color:var(--main);background:#fff;border:1.5px solid var(--main);border-bottom:none;border-radius:4px 4px 0 0;transform:skew(-18deg);white-space:nowrap}.tab span{display:inline-block;transform:skew(18deg)}.tab.active{background:var(--main);color:#fff}.frame{flex:1;min-width:0;background:#fff;border:2px solid var(--main);border-radius:2px;padding:14px 16px 10px;min-height:560px}.disclaimer{width:fit-content;max-width:100%;margin:0 auto 16px;border:1px solid var(--main);color:var(--main-dark);font-size:13px;padding:6px 14px;background:#fff}.footnote{margin-top:26px;font-size:13px;color:#555;line-height:1.7}.layout{display:flex;gap:10px;align-items:flex-start}.side{display:flex;flex-direction:column;gap:10px;width:56px;flex-shrink:0}.side-btn{background:#fff;border:1.5px solid var(--main);color:var(--main);font-size:10.5px;font-weight:700;padding:4px 2px;cursor:pointer;line-height:1.4;height:56px;display:flex;align-items:center;justify-content:center;text-align:center}.side-btn:hover{background:var(--tint-1)}.inputs{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px 34px}.input-row{display:flex;align-items:center;gap:8px}.input-label{flex:none;width:150px;background:var(--tint-1);padding:10px 12px;font-size:15px;font-weight:700}.input-tri{flex:none;color:#8a8a8a;font-size:13px}.input-body{display:flex;align-items:center;gap:6px;flex:1}.input-body input,.input-body select{width:100%;max-width:130px;border:1px solid var(--main);padding:8px 10px;font-size:20px;font-weight:700;text-align:right;color:var(--ink);background:#fff;font-family:inherit}.input-body select{text-align:left;font-size:17px}.input-unit{font-size:14px;font-weight:700;color:var(--main-dark)}.cta{display:block;max-width:860px;margin:16px auto 0;width:100%;border:none;background:var(--main);color:#fff;font-size:17px;font-weight:800;padding:12px;cursor:pointer;letter-spacing:.05em}.cta:hover{background:var(--main-dark)}.cta:disabled{background:#e3e3e3;color:#aaa;cursor:default}.input-alert{max-width:860px;margin:8px auto 0;color:var(--alert);font-size:13px;font-weight:700}.open-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:900px;margin:18px auto 0;border:none;color:#fff;font-size:17px;font-weight:800;padding:12px;cursor:pointer;letter-spacing:.04em}.open-btn.person{background:var(--main)}.open-btn.person:hover{background:var(--main-dark)}.open-btn.corp{background:var(--stock)}.open-btn.corp:hover{background:#3e7346}.open-btn.opened{background:#ececec;color:#b5b5b5}.open-btn.opened:hover{background:#ececec}.chart-outer{max-width:980px;margin:20px auto 0;border:1px solid var(--main);padding:10px}.chart-outer.bg-plain{background:#f4f4f3}.chart-outer.bg-person{background:var(--tint-1)}.chart-outer.bg-corp{background:#eef5ec}.chart-inner{position:relative;border:1px solid var(--main);padding:14px 14px 20px}.chart-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px}.chart-title{font-size:22px;font-weight:800;color:var(--main-dark);display:flex;align-items:center;gap:8px}.chart-title:before,.chart-title:after{content:"";display:inline-block;width:46px;height:3px;background:var(--main)}.chart-unit{position:absolute;top:14px;right:16px;font-size:12px;color:var(--main-dark);font-weight:700}.chart-nav{display:flex;justify-content:center;gap:14px;margin:6px 0 10px}.nav-btn{border:1px solid var(--main);background:#fff;color:var(--main-dark);font-size:15px;font-weight:800;padding:6px 20px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:5px}.nav-btn:disabled{opacity:.35;cursor:default}.nav-btn .tri{color:var(--main);font-size:14px}.nav-btn.next{background:#fff}.chart-alert{text-align:left;max-width:640px;margin:0 auto 6px;color:var(--alert);font-size:13px;font-weight:700;line-height:1.6}.rate-box{position:absolute;top:108px;left:24px;width:110px}.rate-box .rate-head{background:var(--main);color:#fff;font-size:13px;font-weight:800;text-align:center;padding:3px 0;width:100%}.rate-box .rate-body{position:relative;width:100%}.rate-box input{width:100%;border:1px solid var(--main);font-size:20px;font-weight:700;text-align:right;padding:5px 30px 5px 8px;font-family:inherit}.rate-box .ro{width:100%;border:1px solid var(--main);background:#fbfbfb;font-size:20px;font-weight:700;text-align:right;padding:5px 30px 5px 8px}.rate-unit{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:700;color:var(--main-dark);pointer-events:none}.stage{position:relative;margin:8px auto 0;display:flex;align-items:flex-end;justify-content:center;gap:2px}.stage.pad-top{padding-top:78px}.slot{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;visibility:hidden}.slot.show{visibility:visible}.bar-amount{font-size:20px;font-weight:800;color:var(--main-dark);line-height:1.1;margin-bottom:3px;white-space:nowrap}.bar-col{position:relative;display:flex;align-items:flex-end;gap:0}.col-tax-label{position:absolute;top:2px;left:0;right:0;text-align:center;font-size:12px;font-weight:800;color:var(--tax-ink);line-height:1.3;pointer-events:none}.bar-stack{display:flex;flex-direction:column;justify-content:flex-end}.seg{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:14px;font-weight:800;line-height:1.25;overflow:hidden}.seg.main{background:var(--main);color:#fff}.seg.soft{background:var(--tint-3);color:var(--main-dark)}.seg.pay{background:var(--ins-pay);color:#fff;border:1px solid #205E80}.seg.get{background:var(--ins-get);color:var(--tax-ink);border:2px solid var(--ins-pay)}.seg.tax{background:#ececec;color:#222;border:2px solid #444}.seg.tax-plain{background:var(--tax-box);color:var(--tax-ink)}.seg.tax.dashed{border:2px dashed var(--main);background:#ededed}.seg.stock{background:var(--stock);color:#fff}.seg.stock.dashed{border:2px dashed var(--stock)}.seg .seg-num{font-size:15px;font-weight:800}.seg-inline{font-size:16px;font-weight:800;white-space:nowrap}.seg.thin{font-size:12px}.axis-label{margin-top:6px;font-size:16px;font-weight:800;color:var(--main-dark);text-align:center;line-height:1.3;white-space:nowrap}.bar-dotline{position:absolute;left:0;right:0;border-top:2px dotted #fff;pointer-events:none}.wave{position:absolute;left:0;bottom:4px;width:100%;height:8px;pointer-events:none}.no-action{width:84px;border:3px dashed var(--main-dark);display:flex;align-items:center;justify-content:center;color:var(--main-dark);font-size:16px;font-weight:800;writing-mode:vertical-rl;letter-spacing:.35em;background:#fff}.arrow-slot{flex:none;display:flex;align-items:center;justify-content:center;visibility:hidden;align-self:stretch}.arrow-slot.show{visibility:visible;z-index:3}.arrow{display:block;margin-bottom:20px}.trap-slot{flex:none;visibility:hidden;position:relative}.trap-slot.show{visibility:visible}.trap-label{position:absolute;left:50%;transform:translate(-50%);font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}.shield-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px}.guide{position:absolute;border-top:2px dotted var(--main);pointer-events:none}.lane{position:relative}.lane-tag{display:inline-block;background:var(--main);color:#fff;font-size:15px;font-weight:800;border-radius:999px;padding:5px 20px;margin:6px 0 4px}.chart-note{font-size:12px;color:#555;text-align:center;margin-top:6px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e282973;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:#fff;border:2px solid var(--main);max-width:860px;width:100%;max-height:88vh;overflow:auto;padding:20px 24px;position:relative}.modal h2{margin:0 0 14px;font-size:20px;color:var(--main-dark);text-align:center}.modal-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;font-weight:800;color:var(--main-dark);cursor:pointer}.modal .body{font-size:14px;line-height:1.9}.modal ul{padding-left:20px;margin:8px 0}.modal li{margin-bottom:6px}.slide-img{width:100%;display:block;border:1px solid var(--line)}.slide-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}.slide-count{font-size:14px;font-weight:700;color:var(--main-dark)}.save-input{width:100%;border:1px solid var(--main);padding:10px;font-size:16px;font-family:inherit;margin-bottom:12px}.save-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 2px}.save-name{font-weight:800;font-size:15px}.save-date{font-size:12px;color:#777}.save-actions{display:flex;gap:8px}.btn-small{border:1px solid var(--main);background:#fff;color:var(--main-dark);font-size:13px;font-weight:700;padding:5px 12px;cursor:pointer}.btn-small:hover{background:var(--tint-1)}.btn-small.danger{border-color:var(--alert);color:var(--alert)}.btn-primary{border:none;background:var(--main);color:#fff;font-size:15px;font-weight:800;padding:9px 26px;cursor:pointer}.btn-primary:hover{background:var(--main-dark)}.modal-actions{display:flex;justify-content:center;gap:12px;margin-top:8px}.empty-note{text-align:center;color:#777;font-size:14px;padding:18px 0}
