:root{--paper:#f6f9f7;--slip:#fff;--rule:#c9ddd5;--rule-strong:#9fc2b5;--ink:#1e2a2f;--ink-soft:#4f5f66;--indigo:#24487c;--indigo-deep:#1a365f;--shu:#b8392c;--focus:#f2b632;--radius-input:6px;--measure:720px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic UI", "Yu Gothic", Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-feature-settings:"palt" 0;margin:0;font-size:16px;line-height:1.75}img,svg{max-width:100%;height:auto}a{color:var(--indigo);text-underline-offset:3px}a:hover{color:var(--indigo-deep)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.wrap{max-width:var(--measure);margin:0 auto;padding:0 16px}.site-header{background:var(--indigo);color:#fff}.site-header .wrap{justify-content:space-between;align-items:baseline;gap:12px;padding-top:10px;padding-bottom:10px;display:flex}.site-name{color:#fff;letter-spacing:.04em;font-size:1.05rem;font-weight:700;text-decoration:none}.site-name:hover{color:#fff}.site-header nav a{color:#dfe8f5;font-size:.9rem}main{padding:28px 0 56px}h1,h2,.lead,.ledger .catch{word-break:auto-phrase;text-wrap:balance}h1{letter-spacing:.02em;margin:0 0 8px;font-size:clamp(1.5rem,1.1rem + 2vw,2rem);line-height:1.35}h2{border-bottom:2px solid var(--rule);margin:40px 0 12px;padding-bottom:6px;font-size:1.2rem;line-height:1.45}h3{margin:24px 0 8px;font-size:1.05rem}p{margin:0 0 1em}.lead{color:var(--ink-soft);margin-bottom:8px;font-size:1.05rem}.dates{margin-bottom:24px}.small{color:var(--ink-soft);font-size:.875rem}.form{background:var(--slip);border:1px solid var(--rule);border-radius:10px;padding:18px 16px 8px}.field{gap:4px;margin-bottom:14px;display:grid}.field label{font-size:.95rem;font-weight:600}.field .hint{color:var(--ink-soft);font-size:.8rem}.field input,.field select,.field textarea{width:100%;font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--rule-strong);border-radius:var(--radius-input);color:var(--ink);background:#fbfdfc;padding:10px 12px;font-size:1.05rem}.field input:focus{border-color:var(--indigo)}.field.error input{border-color:var(--shu);background:#fff7f6}.field .msg{color:var(--shu);margin:0;font-size:.85rem}.field .msg:empty{display:none}.unit{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.unit span{color:var(--ink-soft)}.actions{flex-wrap:wrap;gap:8px;margin:16px 0 8px;display:flex}.btn{appearance:none;font:inherit;cursor:pointer;border:1.5px solid var(--indigo);background:var(--indigo);color:#fff;border-radius:999px;padding:10px 16px;font-size:.95rem;font-weight:600}.btn:hover{background:var(--indigo-deep);border-color:var(--indigo-deep)}.btn.ghost{color:var(--indigo);background:0 0}.btn.ghost:hover{background:#e8eef7}.btn:disabled{opacity:.7;cursor:default}.slip{background:var(--slip);border:1px solid var(--rule);border-top:2px dashed var(--rule-strong);border-radius:0 0 10px 10px;margin:24px 0 8px;padding:20px 16px 16px;position:relative}.slip-title{margin:0 0 4px;font-weight:700}.slip dl{grid-template-columns:1fr auto;column-gap:0;margin:0;display:grid}.slip dt{color:var(--ink-soft);border-bottom:1px solid var(--rule);padding:10px 0}.slip dd{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--rule);margin:0;padding:10px 0 10px 12px;font-weight:600}.slip-title{padding-right:72px}.slip .total dt{color:var(--ink);font-weight:700}.slip .total dt,.slip .total dd{border-bottom:2px solid var(--ink)}.slip .total dd{color:var(--ink);font-size:clamp(1.6rem,1.2rem + 2vw,2.2rem);font-weight:800;line-height:1.2}.stamp{border:2.5px solid var(--shu);width:56px;height:56px;color:var(--shu);letter-spacing:.1em;opacity:.9;background:#fff9;border-radius:50%;place-items:center;font-size:.95rem;font-weight:800;display:grid;position:absolute;top:10px;right:12px;transform:rotate(-12deg)}.slip[data-empty=true] .stamp{display:none}.slip .placeholder{color:var(--ink-soft);padding:8px 0}ol.steps{margin:0;padding-left:1.4em}ol.steps li{margin-bottom:6px}.note{border-left:4px solid var(--rule-strong);background:#eef5f2;padding:8px 12px;font-size:.92rem}.ledger{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--rule)}.ledger a{color:var(--ink);grid-template-columns:1fr auto;gap:2px 12px;padding:14px 4px;text-decoration:none;display:grid}.ledger a:hover{background:#edf4f1}.ledger .name{color:var(--indigo);font-weight:700}.ledger .cat{color:var(--ink-soft);text-align:right;white-space:nowrap;font-size:.8rem}.ledger .catch{color:var(--ink-soft);grid-column:1/-1;font-size:.92rem}.empty{color:var(--ink-soft);border-bottom:1px solid var(--rule);padding:20px 4px}.cta{border:1.5px solid var(--indigo);background:#fff;border-radius:10px;margin-top:40px;padding:16px}.cta p{margin-bottom:10px}.site-footer{border-top:1px solid var(--rule);color:var(--ink-soft);padding:24px 0 40px;font-size:.875rem}.site-footer ul{flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;padding:0;list-style:none;display:flex}table.kv{border-collapse:collapse;width:100%;font-size:.95rem}table.kv th,table.kv td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 8px}table.kv th{width:34%;font-weight:600}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
