:root{--ink:#1d232b;--ink-soft:#4b5563;--line:#e2e0db;--line-strong:#c8c4bb;--paper:#fff;--bg:#f5f3ef;--bg-2:#efece6;--accent:#b45309;--accent-dark:#8a3f06;--navy:#1f3a5f;--navy-soft:#2d4d77;--ok:#15803d;--warn:#b91c1c;--radius:12px;--shadow:0 1px 2px #1d232b0f, 0 8px 24px #1d232b14;--shadow-sm:0 1px 2px #1d232b14;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;padding:0;line-height:1.6}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--line);background:#f5f3efe6;position:sticky;top:0}.topbar-inner{align-items:center;gap:12px;max-width:1180px;margin:0 auto;padding:10px 16px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;width:34px;height:34px;box-shadow:var(--shadow-sm);border-radius:9px;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.brand-name{letter-spacing:.02em;white-space:nowrap;font-size:17px;font-weight:800}.brand-tag{color:var(--ink-soft);white-space:nowrap;font-size:12px}.topbar-spacer{flex:1}@media (width<=560px){.brand-tag{display:none}.topbar-inner{gap:8px;padding:10px 12px}.brand-name{font-size:16px}.btn{padding:8px 12px}.btn-sm{padding:7px 10px}}.btn{border:1px solid var(--line-strong);color:var(--ink);white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .14s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-dark)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.btn-primary:hover{filter:brightness(1.05);color:#fff}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{padding:5px 10px;font-size:13px}.btn[disabled]{opacity:.5;cursor:not-allowed}.hero{background:radial-gradient(1200px 320px at 80% -40%, #b453091a, transparent 60%), linear-gradient(180deg, #fbfaf7, var(--bg));border-bottom:1px solid var(--line)}.hero-inner{max-width:1180px;margin:0 auto;padding:28px 16px 22px}.hero h1{letter-spacing:.01em;text-wrap:balance;margin:0 0 8px;font-size:clamp(22px,5vw,32px);line-height:1.3}.hero h1 .em{color:var(--accent-dark)}.hero p{color:var(--ink-soft);text-wrap:pretty;max-width:60ch;margin:0;font-size:15px}.hero-badges{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.badge{color:var(--navy);border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.badge.free{color:var(--ok);background:#f1fbf3;border-color:#bfe3c8}.main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:22px;width:100%;max-width:1180px;margin:0 auto;padding:18px 16px 64px;display:grid}.col-edit{min-width:0}.col-preview{min-width:0;position:sticky;top:70px}@media (width<=980px){.main{grid-template-columns:1fr}.col-preview{position:static}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.card-head{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbfaf7);align-items:center;gap:8px;padding:12px 16px;display:flex}.card-head h2{letter-spacing:.02em;margin:0;font-size:15px;font-weight:800}.card-head .hint{color:var(--ink-soft);font-size:12px;font-weight:500}.card-body{padding:14px 16px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (width<=560px){.grid2,.grid3{grid-template-columns:1fr}}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field.col-span{grid-column:1/-1}.field label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.field .sub{color:#9aa1ab;font-weight:400}.input,.select,.textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px;font-size:14.5px;transition:all .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b4530924}.textarea{resize:vertical;min-height:78px;line-height:1.55}.input.num{text-align:right;font-variant-numeric:tabular-nums}.switch{color:var(--ink);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.switch input{width:18px;height:18px;accent-color:var(--accent)}.items{flex-direction:column;gap:10px;display:flex}.item-row{border:1px solid var(--line);background:#fcfbf9;border-radius:10px;padding:10px}.item-top{grid-template-columns:1fr auto;align-items:start;gap:8px;display:grid}.item-grid{grid-template-columns:1.4fr .8fr .9fr 1.1fr 1.1fr;gap:8px;margin-top:8px;display:grid}@media (width<=560px){.item-grid{grid-template-columns:1fr 1fr}}.item-amt{font-variant-numeric:tabular-nums;color:var(--navy);justify-content:flex-end;align-items:center;padding-right:2px;font-weight:700;display:flex}.tiny-label{color:#9aa1ab;margin-bottom:3px;font-size:11px;display:block}.del-btn{border:1px solid var(--line-strong);color:var(--warn);background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:16px;line-height:1;display:grid}.del-btn:hover{background:#fff5f5;border-color:#f0c2c2}.presets{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.chip{color:var(--navy);border:1px dashed var(--line-strong);background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.chip:hover{border-color:var(--accent);color:var(--accent-dark);border-style:solid}.totbox{flex-direction:column;gap:6px;display:flex}.totline{justify-content:space-between;font-size:14px;display:flex}.totline .v{font-variant-numeric:tabular-nums;font-weight:600}.totline.grand{border-top:2px solid var(--navy);margin-top:4px;padding-top:8px;font-size:17px}.totline.grand .v{color:var(--accent-dark);font-weight:800}.totline.minus .v{color:var(--warn)}.sheet-wrap{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;overflow:auto}.sheet{aspect-ratio:210/297;color:#16202b;background:#fff;flex-direction:column;width:100%;max-width:794px;margin:0 auto;padding:38px 40px;font-size:12.5px;line-height:1.5;display:flex;box-shadow:0 6px 28px #0000001f}@media (width<=560px){.sheet{aspect-ratio:auto;padding:18px 14px;font-size:11.5px}.sheet-wrap{padding:10px}.sheet .s-meta{white-space:normal;word-break:break-word}.sheet .s-head{flex-direction:column;gap:12px}.sheet .s-head .s-issuer[style]{text-align:left!important}.sheet .s-issuer .logo-row{justify-content:flex-start}.sheet .s-meta{text-align:left}.sheet .s-amount-band .val{font-size:20px}}.s-title{text-align:center;letter-spacing:.5em;text-indent:.5em;color:var(--navy);margin:0 0 18px;font-size:26px;font-weight:800}.s-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.s-client{flex:1;min-width:0}.s-client .cname{word-break:break-word;text-wrap:balance;border-bottom:2px solid #16202b;min-width:60%;padding-bottom:4px;font-size:18px;font-weight:700;display:inline-block}.s-client .clabel{color:#5b6470;margin-top:8px;font-size:11px}.s-meta{text-align:right;color:#2a323c;white-space:nowrap;font-size:11.5px}.s-meta div{margin-bottom:2px}.s-meta .reg{color:var(--accent-dark);font-weight:600}.s-issuer{margin-top:4px}.s-issuer .iname{font-size:13.5px;font-weight:700}.s-issuer .logo-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.s-issuer img.logo{object-fit:contain;max-width:150px;max-height:34px}.s-stamp{display:inline-block;position:relative}.s-stamp img{object-fit:contain;opacity:.92;max-width:46px;max-height:46px}.s-amount-band{background:linear-gradient(#fbf6ef,#f6ede0);border:1px solid #e7d8c2;border-radius:8px;justify-content:space-between;align-items:baseline;margin:16px 0 6px;padding:10px 16px;display:flex}.s-amount-band .lbl{color:var(--navy);font-size:13px;font-weight:700}.s-amount-band .val{color:var(--accent-dark);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.s-amount-band .tax-note{color:#6b7280;font-size:10.5px}.s-project{border:1px solid var(--line);background:#fbfaf8;border-radius:6px;grid-template-columns:auto 1fr auto 1fr;gap:4px 12px;margin:8px 0 14px;padding:8px 12px;font-size:11.5px;display:grid}.s-project dt{color:#6b7280;white-space:nowrap;font-weight:600}.s-project dd{word-break:break-word;min-width:0;margin:0}@media (width<=560px){.s-project{grid-template-columns:max-content 1fr;gap:4px 10px}}table.s-table{border-collapse:collapse;width:100%;margin-top:2px}.s-table thead th{background:var(--navy);color:#fff;text-align:center;border:1px solid var(--navy);padding:7px 8px;font-size:11px;font-weight:600}.s-table tbody td{vertical-align:top;border:1px solid #d6d3cc;padding:6px 8px;font-size:11.5px}.s-table td.r{text-align:right;font-variant-numeric:tabular-nums}.s-table td.c{text-align:center}.s-table td.name{word-break:break-word}.s-table td.spec{color:#5b6470;font-size:10.5px}.s-table tbody tr.empty td{height:22px}.s-foot{justify-content:flex-end;margin-top:10px;display:flex}.s-totals{width:56%;max-width:320px}.s-totals .row{justify-content:space-between;padding:4px 8px;font-size:12px;display:flex}.s-totals .row.sub{border-top:1px solid #d6d3cc}.s-totals .row.tax{color:#4b5563;font-size:11px}.s-totals .row.minus span:last-child{color:var(--warn)}.s-totals .row.total{background:var(--navy);color:#fff;border-radius:6px;margin-top:4px;padding:7px 8px;font-size:14px;font-weight:800}.s-totals .row.total span:last-child{font-variant-numeric:tabular-nums}.s-note{color:#2a323c;white-space:pre-wrap;border-top:1px dashed #c8c4bb;margin-top:14px;padding-top:8px;font-size:11px}.s-bank{color:#2a323c;margin-top:6px;font-size:11px}.s-spacer{flex:1}.s-credit{text-align:right;color:#c2bdb2;margin-top:14px;font-size:9px}.pro-band{color:#fff;border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#1f3a5f,#2d4d77);margin-bottom:16px;padding:16px 18px}.pro-band h3{align-items:center;gap:8px;margin:0 0 6px;font-size:16px;display:flex}.pro-band p{color:#d7e1ee;margin:0 0 10px;font-size:13px}.pro-band ul{color:#eef3f9;margin:0 0 12px;padding-left:18px;font-size:13px}.pro-band li{margin-bottom:3px}.pro-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pro-price{font-size:22px;font-weight:800}.pro-price small{color:#cdd9e8;font-size:12px;font-weight:600}.pro-band .btn-buy{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:9px 18px;font-weight:700}.pro-band .btn-buy:hover{filter:brightness(1.07)}.pro-band .lic{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pro-band .lic input{border:none;border-radius:7px;min-width:150px;padding:8px 10px;font-size:13px}.pro-on{color:var(--ok);border-radius:var(--radius);background:#f1fbf3;border:1px solid #bfe3c8;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.seo{max-width:1180px;color:var(--ink-soft);margin:0 auto;padding:8px 16px 40px}.seo h2{color:var(--ink);margin:22px 0 8px;font-size:17px}.seo h3{color:var(--ink);margin:16px 0 4px;font-size:14.5px}.seo p,.seo li{font-size:13.5px;line-height:1.75}.seo .faq dt{color:var(--ink);margin-top:12px;font-weight:700}.seo .faq dd{margin:2px 0 0}.footer{border-top:1px solid var(--line);background:var(--bg-2);text-align:center;color:var(--ink-soft);padding:18px 16px;font-size:12.5px}.footer a{color:var(--accent-dark)}.note-line{color:var(--ink-soft);margin:2px 0 0;font-size:12px}@media print{@page{size:A4;margin:12mm}body{background:#fff}.no-print{display:none!important}.main{max-width:none;padding:0;display:block}.col-edit{display:none}.col-preview{position:static}.sheet-wrap{background:#fff;border:none;padding:0;overflow:visible}.sheet{box-shadow:none;aspect-ratio:auto;width:100%;max-width:none;padding:0;font-size:11pt}.s-credit{display:none}}
