.app{max-width:1200px;margin:0 auto;padding:18px 18px 60px;font-size:13px;overflow-x:hidden}.header{display:flex;align-items:flex-end;padding:8px 94px 10px 0;position:relative;z-index:2}.logo{display:flex;align-items:center;gap:12px;line-height:1.2;min-width:max-content}.logo-icon{width:34px;height:34px;background:var(--main);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px #3823422e}.logo-icon svg{width:19px;height:19px}.logo-main{font-size:27px;font-weight:750;color:var(--main);letter-spacing:.035em}.logo-underline{width:72px;height:2px;background:var(--main);margin-top:7px;border-radius:2px}.layout{display:flex;gap:12px;max-width:1200px;margin:0 auto;align-items:flex-start;overflow:hidden}.frame{background:var(--paper);border:1px solid #C9B8D4;border-radius:8px;padding:18px 20px 22px;flex:1;min-width:0;box-shadow:0 1px 2px #30243812}.inner{max-width:940px;margin:0 auto}.notice{border:1px solid var(--line);background:#fcfafd;color:#625d68;font-size:11px;padding:7px 12px;text-align:center;margin:0 auto 16px;border-radius:4px}.footnote{font-size:10.5px;color:#766f7d;text-align:center;line-height:1.7;margin-top:18px}.side{display:flex;flex-direction:column;gap:12px;width:82px;flex-shrink:0}.side-group{display:flex;flex-direction:column;gap:7px}.side-group-title{font-size:10px;font-weight:700;color:#8a8190;letter-spacing:.12em;text-align:center;padding:0 2px}.side-btn{background:#fff;border:1px solid #C7B5D2;color:var(--main-dark);font-size:10.5px;font-weight:700;padding:6px 4px;cursor:pointer;line-height:1.45;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;word-break:keep-all;border-radius:6px;box-shadow:0 1px 1px #3024380a;transition:background .15s ease,border-color .15s ease,transform .15s ease}.side-btn:hover{background:var(--tint-1);border-color:var(--main);transform:translateY(-1px)}.side-btn:focus-visible{outline:2px solid var(--main-dark);outline-offset:2px}.side-btn-muted{color:#6f6874;border-color:#d6cdd9}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.io-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 14px 12px;min-width:0}.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.sec-head .rule{height:3px;flex:1;background:var(--main);border-radius:2px}.sec-head .t{font-size:14px;font-weight:800;color:var(--main-dark);letter-spacing:.06em}.row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.chip{color:#fff;font-size:13px;font-weight:650;padding:9px 10px;min-width:168px;text-align:center;border-radius:4px}.chip.main{background:var(--main)}.chip.ink{background:var(--ink)}.chip.use1{background:var(--use-1)}.chip.soft{background:var(--accent-soft)}.chip.use2{background:var(--use-2)}.chip.outline{background:#fff;color:var(--text);border:1.5px solid var(--main);font-weight:700}.tri{color:var(--main);font-size:12px}.row input,.row select{border:1.5px solid var(--main);border-radius:6px;padding:7px 10px;font-size:19px;font-weight:700;color:#241d2b;text-align:right;width:145px;height:38px;background:#fff}.row select{text-align:center;width:96px;height:40px;line-height:1.2;padding:5px 28px 5px 10px}.row input:hover,.row select:hover{border-color:var(--main-dark)}.row input:focus,.row select:focus{outline:2px solid var(--tint-3);outline-offset:1px}.unit{font-size:12.5px;color:var(--main-dark);font-weight:650;min-width:30px}.calc-box{background:var(--tint-2);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:19px;font-weight:800;text-align:right;width:145px;height:38px;color:var(--text)}.hint{font-size:11.5px;color:#6d6776;margin-left:4px;line-height:1.5}.qbtn{border:1.5px solid var(--main);background:#fff;color:var(--main);border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1;cursor:pointer;padding:0;margin-left:6px}.qbtn:hover{background:var(--tint-1)}.field-alert{color:var(--alert);font-size:12.5px;font-weight:650;margin:-5px 0 9px 176px}.cta{display:block;width:100%;margin-top:16px;background:var(--main);color:#fff;border:1px solid var(--main);border-radius:6px;min-height:44px;padding:11px 14px;font-size:14px;font-weight:750;cursor:pointer;letter-spacing:.045em;box-shadow:0 1px 1px #30243814}.cta:hover:enabled{background:var(--main-dark);border-color:var(--main-dark)}.cta:focus-visible{outline:2px solid var(--main-dark);outline-offset:2px}.cta:disabled{background:#ece8ee;border-color:#e3dde6;color:#aaa3ae;cursor:default;box-shadow:none}.band{display:flex;align-items:center;gap:14px;margin:28px 0 15px}.band .rule{height:3px;flex:1;background:var(--main);border-radius:2px}.band .t{font-size:15px;font-weight:800;color:var(--main)}.chart-card{position:relative;border:1px solid #C9B8D4;border-radius:8px;padding:16px 20px 20px;margin-top:20px;background:#fff;box-shadow:0 1px 2px #3024380a}.chart-card.tinted{background:var(--tint-1)}.chart-head{display:flex;align-items:center;gap:12px}.chart-head .rule{height:3px;flex:1;background:var(--main);border-radius:2px}.chart-head .t{font-size:19px;font-weight:800;color:var(--main);white-space:nowrap;letter-spacing:.025em}.chart-unit{width:max-content;margin:8px 0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:#706778;font-size:10.5px;line-height:1;padding:4px 8px}.chart-inner{border:1px solid var(--line);border-radius:6px;margin-top:10px;padding:8px 18px 18px;background:#fff}.nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0}.pill{min-width:108px;min-height:34px;border:1.5px solid var(--main);background:#fff;color:var(--main);border-radius:999px;padding:5px 16px;font-size:13px;font-weight:750;cursor:pointer}.pill:hover:enabled{background:var(--tint-1)}.pill:focus-visible{outline:2px solid var(--main-dark);outline-offset:2px}.pill:disabled{border-color:#d6d0d9;background:#f7f5f8;color:#b4aebc;cursor:default}.nav-progress{min-width:72px;min-height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--tint-1);color:#6d6373;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}.nav-current{color:var(--main);font-size:17px;font-weight:800}.nav-separator{padding:0 3px;color:#a69baa}.stage{display:flex;align-items:flex-end;gap:0;min-height:370px;padding:18px 12px 0;margin:0 auto;justify-content:flex-start;position:relative;background:#fcfafd;border:1px solid #E7DEEB;border-radius:8px;overflow:visible}.stage-axis{position:absolute;left:12px;right:12px;bottom:78px;height:2px;background:#cbbbd4;pointer-events:none}.col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:145px}.col .above{min-height:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-bottom:4px}.zan{font-size:14px;font-weight:700;color:var(--main);line-height:1.2;text-align:center}.zan .num{font-size:22px}.zan.neg{color:var(--alert)}.seg{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:19px;font-weight:700;line-height:1.3;text-align:center;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px #ffffff1f}.seg.hoken{background:var(--main)}.seg.taishoku{background:var(--ink)}.seg.tax{background:var(--gray)}.seg.soft{background:var(--accent-soft)}.seg small{font-size:13px;font-weight:600}.axis-label{margin-top:7px;height:20px;font-size:14px;font-weight:750;color:var(--main-dark);text-align:center;line-height:1.4;overflow:visible}.below{text-align:center;height:52px}.below .num{font-size:22px;font-weight:800;color:var(--main);line-height:1.1;font-variant-numeric:tabular-nums}.below .sub{font-size:13px;color:#6d6776;margin-top:0;line-height:1.1}.below .sub.neg{color:var(--alert)}.use-stack{width:100%}.use-box{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:15.5px;font-weight:650;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.3)}.use-box:last-child{border-bottom:none}.use-box.u1{background:var(--use-1)}.use-box.u2{background:var(--use-2)}.use-box.u3{background:var(--accent-soft)}.bubble{position:relative;border:2px solid var(--main);color:var(--main);background:#fff;border-radius:999px;padding:7px 16px;font-size:14.5px;font-weight:700;margin-bottom:12px;white-space:nowrap}.bubble:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--main);border-bottom:0}.bubble.alert{background:var(--alert);border-color:var(--alert);color:#fff}.bubble.alert:after{border-top-color:var(--alert)}.alert-circle{width:28px;height:28px;border-radius:50%;background:var(--alert);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto 4px}.alert-circle:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--alert);border-bottom:0}.fusoku-seg,.fusoku-box{width:100%;background:var(--alert);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;line-height:1.3}.fusoku-seg{font-size:16px}.fusoku-box{font-size:15.5px}.tax-chip{width:100%;background:var(--gray);color:#fff;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;padding:3px 8px}.neg-num{color:var(--alert);font-weight:700}.float-block{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent-soft);color:#fff;font-size:19px;font-weight:700;width:145px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a243094;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.modal{background:#fff;border:1px solid #BDAAC9;border-radius:10px;max-width:680px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 18px 46px #1f172547}.modal-wide{max-width:780px}.modal-compact{max-width:470px}.modal-list{max-width:680px}.modal-head{background:var(--main);color:#fff;display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:12px 58px 12px 20px;font-size:16px;font-weight:750;letter-spacing:.03em;position:sticky;top:0;z-index:2}.modal-close{position:absolute;right:12px;top:7px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.45);border-radius:6px;color:#fff;font-size:21px;line-height:1;cursor:pointer}.modal-close:hover{background:#ffffff2e}.modal-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.modal-body{padding:22px 24px 26px;overflow-x:hidden}.modal-intro{background:var(--tint-1);border-left:4px solid var(--main);color:#4f4856;font-size:12.5px;line-height:1.7;padding:10px 12px;margin-bottom:10px}.modal-unit{text-align:right;font-size:11px;color:var(--main);margin-bottom:10px}.formula-list{display:flex;flex-direction:column;gap:10px}.f-row{display:flex;align-items:stretch;gap:8px;margin:0;flex-wrap:nowrap;border:1px solid var(--line);border-radius:8px;background:#fcfafd;padding:10px}.f-row.total-row{background:var(--tint-1);border-color:#c8b4d3}.f-cell{border:1px solid var(--line);border-radius:6px;min-width:118px;flex:1;text-align:center;overflow:hidden;background:#fff}.f-cell.wide{flex:1.45}.f-cell.result{border:1.5px solid var(--main)}.f-cell .lab{background:var(--tint-2);font-size:11.5px;font-weight:700;padding:6px 8px;color:var(--text);min-height:31px;display:flex;align-items:center;justify-content:center}.f-cell.result .lab{background:var(--main);color:#fff}.f-cell .val{font-size:17px;font-weight:750;padding:9px 8px}.f-op{align-self:center;font-size:18px;font-weight:750;color:var(--main);min-width:14px;text-align:center}.modal-note{font-size:12px;color:#55505c;line-height:1.9;margin-top:8px}.modal-caution{margin-top:14px;border:1px solid var(--line);background:#f8f6f9;color:#625b68;font-size:11.5px;line-height:1.7;padding:10px 12px;border-radius:6px}.notes-list{display:flex;flex-direction:column;gap:10px}.notes-item{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fff}.notes-item.caution-item{background:#f8f6f9}.notes-no{width:36px;height:36px;border:1.5px solid var(--main);color:var(--main);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.notes-item h3{margin:0 0 5px;color:var(--main-dark);font-size:13.5px}.notes-item p{margin:0;color:#55505c;font-size:12px;line-height:1.75}.tax-diagram{display:flex;align-items:flex-end;justify-content:center;gap:42px;padding:42px 12px 8px;max-width:680px;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#fcfafd}.tax-bar{width:126px;text-align:center;flex-shrink:0}.tax-bar .bar-fill{background:var(--main);color:#fff;font-size:13px;font-weight:700;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3;border:1px solid var(--main)}.tax-bar .bar-outline{background:#fff;border:1.5px solid var(--main);color:var(--text);font-size:12px;font-weight:700;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.tax-bar .bar-label{font-size:12px;font-weight:700;color:var(--main-dark);margin-top:7px;line-height:1.3;text-align:center;min-height:34px}.tax-bar .bar-fill .num{font-size:18px}.tax-bar .bar-outline .num{font-size:16px}.tax-right-group{display:flex;align-items:center;gap:12px;flex-shrink:0;align-self:flex-end;margin-bottom:32px}.tax-right-group .rate{font-size:13px;font-weight:700;color:var(--main);white-space:nowrap;text-align:center;line-height:1.4}.tax-result{width:116px;text-align:center;flex-shrink:0}.tax-result .bar-fill{background:var(--gray);border-color:var(--gray);height:76px}.tax-note{position:absolute;left:calc(100% + 30px);top:-30px;font-size:12px;font-weight:700;color:var(--main-dark);line-height:1.6;white-space:nowrap}.tax-note .divider{border-top:1.5px solid var(--main-dark);margin:1px 0}.tax-note .note-num{font-size:16px;font-weight:700}.tax-summary{margin-top:14px;border:1.5px solid var(--main);border-radius:8px;background:var(--tint-1);display:flex;align-items:center;justify-content:space-between;padding:11px 16px;color:var(--main-dark);font-size:13px;font-weight:700}.tax-summary strong{color:var(--main);font-size:24px}.tax-summary small{font-size:12px;margin-left:4px}.tax-sec{border:1px solid var(--line);border-radius:8px;background:#fff;padding:2px 16px 14px;margin-top:22px}.tax-sec .band{margin:16px 0 15px}.tax-sec .row{margin-bottom:10px;flex-wrap:wrap}.tax-sec .chip{min-width:210px}.tax-block{position:relative;margin:4px 0 12px;background:#fcfafd;border:1px solid var(--line);border-radius:8px;padding:12px 14px 4px 18px}.tax-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--main-dark);border-radius:8px 0 0 8px}.tax-gap{width:48px;flex-shrink:0}.tax-block-hint{margin:-4px 0 10px calc(50% + 12px);color:#6d6776;font-size:11.5px;line-height:1.5;white-space:nowrap}.link{align-self:flex-end;flex-shrink:0;margin-bottom:78px;overflow:visible;opacity:.95}.save-body{padding-top:24px}.save-label{display:block;font-size:13px;font-weight:750;color:var(--main-dark);margin-bottom:7px}.save-input{border:1.5px solid var(--main);border-radius:6px;padding:11px 12px;font-size:15px;width:100%;margin:0}.save-input:focus{outline:2px solid var(--tint-3);outline-offset:1px}.save-help{margin:7px 0 18px;color:#716a78;font-size:11.5px;line-height:1.6}.save-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}.save-actions button{min-width:112px;min-height:38px;padding:9px 18px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer}.save-actions .primary{background:var(--main);color:#fff;border:1px solid var(--main)}.save-actions .primary:hover{background:var(--main-dark)}.save-actions .secondary{background:#fff;color:var(--main);border:1px solid var(--main)}.save-actions .secondary:hover{background:var(--tint-1)}.save-success{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#665f6d;text-align:center}.save-success strong{color:var(--main);font-size:17px}.save-check{width:42px;height:42px;border-radius:50%;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin-bottom:4px}.saves-intro{color:#6d6674;font-size:12px;margin-bottom:12px}.saves-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.saves-item{display:flex;align-items:center;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:#fff}.saves-item:hover{background:#fcfafd;border-color:#c7b5d2}.saves-meta{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.saves-name{font-size:14px;font-weight:750;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saves-date{font-size:11.5px;color:#777080;white-space:nowrap}.saves-actions{display:flex;gap:7px;flex-shrink:0}.list-action{min-width:74px;min-height:34px;border-radius:6px;padding:7px 11px;font-size:12px;font-weight:700;cursor:pointer}.list-action.load{background:var(--main);color:#fff;border:1px solid var(--main)}.list-action.load:hover{background:var(--main-dark)}.list-action.delete{background:#fff;color:#6f6874;border:1px solid #CFC7D3}.list-action.delete:hover{background:#f4f1f5}.saves-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#777080;text-align:center}.saves-empty strong{color:#4f4856;font-size:14px}.saves-empty-mark{width:40px;height:40px;border:1.5px solid #C7B5D2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--main);font-size:18px}@media (max-width: 1000px){.app{min-width:1000px}}:root{--main: #5C3A6E;--main-dark: #452A54;--tint-1: #F5EFF8;--tint-2: #EDE3F3;--tint-3: #CDB6DA;--accent-soft: #8A6BA0;--line: #D9C9E4;--alert: #8C1D2F;--alert-dark: #6E1324;--ink: #3C3546;--gray: #5F5E5A;--use-1: #4C465A;--use-2: #6A6478;--paper: #FFFFFF;--text: #2A2430}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f6f2ea;color:var(--text);font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,Noto Sans CJK JP,sans-serif}#root{min-height:100vh}button,input,select{font-family:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
