:root{--ink:#17231d;--forest:#174f38;--forest-dark:#103a29;--sage:#dbe4dc;--mint:#eef3ee;--paper:#f6f3ea;--cream:#ebe4d5;--white:#fff;--muted:#6f766f;--line:#d9d9cf;--danger:#a53b30;--shadow:0 18px 60px rgba(22,39,30,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Hiragino Sans","Yu Gothic UI",YuGothic,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}.public-body{background:var(--paper)}.app-body{background:#f7f8f4;min-height:100vh}.wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.02;letter-spacing:-.02em}.wordmark span{font-family:Georgia,"Yu Mincho",serif;font-size:30px;font-weight:700}.wordmark small{color:var(--forest);font-size:8px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}.public-header{height:82px;padding:0 clamp(22px,6vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,35,29,.12)}.public-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--forest);border-radius:0;color:white;background:var(--forest);font-weight:700;font-size:13px;letter-spacing:.04em;cursor:pointer;transition:.2s}.button:hover{background:var(--forest-dark)}.button.small{min-height:40px;padding:0 17px}.button.light{color:var(--forest);background:white;border-color:white}.button.full{width:100%}.quiet-link{display:inline-block;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:13px;font-weight:700}.eyebrow{margin:0 0 19px;color:var(--forest);font-size:10px;font-weight:800;letter-spacing:.25em}.hero{min-height:700px;padding:90px clamp(25px,9vw,140px);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden}.hero-copy h1{margin:0;font-family:"Yu Mincho",YuMincho,Georgia,serif;font-size:clamp(54px,7.1vw,108px);font-weight:500;line-height:1.18;letter-spacing:-.07em}.hero-copy h1 em{color:var(--forest);font-style:normal}.hero-lead{margin:34px 0 0;color:#505b54;font-family:"Yu Mincho",YuMincho,serif;font-size:16px;line-height:2}.hero-actions{margin-top:40px;display:flex;align-items:center;gap:32px}.ledger-art{position:relative;height:460px;display:grid;place-items:center}.ledger-art::before{content:"";position:absolute;width:380px;height:380px;border:1px solid #bbc8bd;border-radius:50%}.ledger-art::after{content:"";position:absolute;right:-30%;width:110%;height:110%;background:linear-gradient(135deg,transparent 45%,rgba(23,79,56,.06) 45%);z-index:-1}.paper{position:relative;width:290px;height:380px;padding:45px 34px;color:#2e4639;background:#fffdf7;border:1px solid #d8d0bf;box-shadow:var(--shadow);transform:rotate(-4deg)}.paper>span{display:block;padding-bottom:20px;border-bottom:2px solid var(--forest);font-family:"Yu Mincho",serif;font-size:25px}.paper b{display:block;margin-top:24px;font:500 11px monospace}.paper i{display:block;height:23px;border-bottom:1px solid #cfd2ca;background:repeating-linear-gradient(90deg,transparent 0 70px,#e2e3dc 70px 71px)}.seal{position:absolute;right:8%;bottom:12%;width:86px;height:86px;display:grid;place-items:center;color:var(--danger);border:3px double var(--danger);border-radius:50%;background:rgba(255,253,247,.75);font-family:"Yu Mincho",serif;font-size:24px;font-weight:700;transform:rotate(10deg)}.features{padding:120px clamp(25px,8vw,120px);background:white}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start}.section-heading h2{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(36px,4vw,60px);font-weight:500;line-height:1.4}.feature-grid{margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-grid article{min-height:260px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-grid article>span,.quick-grid>a>span{color:var(--forest);font:700 11px Georgia,serif}.feature-grid h3{margin:0 0 16px;font-family:"Yu Mincho",serif;font-size:24px}.feature-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}.feature-grid .accent{color:white;background:var(--forest)}.feature-grid .accent span,.feature-grid .accent p{color:rgba(255,255,255,.72)}.security-band{padding:105px 25px;text-align:center;color:white;background:var(--forest)}.security-band>p:first-child{margin:0;color:#b9d2c4;font-family:"Yu Mincho",serif;font-size:18px}.security-band h2{margin:16px 0 24px;font-family:"Yu Mincho",serif;font-size:clamp(34px,4vw,58px);font-weight:500}.security-band>p:not(:first-child){max-width:620px;margin:0 auto 34px;color:rgba(255,255,255,.7);font-size:14px;line-height:2}.auth-page{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.05fr .95fr}.auth-copy{padding:10vw;display:flex;flex-direction:column;justify-content:center;background:var(--forest);color:white}.auth-copy .eyebrow{color:#abc9b9}.auth-copy h1{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(40px,5vw,74px);font-weight:500;line-height:1.3}.auth-copy>p:last-child{max-width:450px;color:rgba(255,255,255,.68);line-height:2}.auth-card{align-self:center;width:min(480px,calc(100% - 44px));margin:50px auto;padding:54px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.step-label{color:var(--forest);font-size:10px;font-weight:800;letter-spacing:.2em}.auth-card h2{margin:15px 0 35px;font-family:"Yu Mincho",serif;font-size:34px;font-weight:500}.stack-form,.entry-card{display:grid;gap:24px}label{display:grid;gap:9px;color:#47524b;font-size:12px;font-weight:700}input,select{width:100%;min-height:48px;padding:0 14px;color:var(--ink);background:white;border:1px solid #cfd3cc;border-radius:0;outline:none}input:focus,select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,79,56,.1)}.form-note{margin:20px 0 0;color:var(--muted);font-size:11px;line-height:1.8}.auth-switch{margin:30px 0 0;padding-top:25px;border-top:1px solid var(--line);font-size:12px}.auth-switch a{color:var(--forest);font-weight:800}.flash{position:fixed;z-index:100;top:18px;left:50%;width:min(620px,calc(100% - 28px));padding:14px 48px 14px 18px;transform:translateX(-50%);color:white;background:var(--forest);box-shadow:var(--shadow);font-size:13px;animation:fade-out .4s 5s forwards}.flash.error{background:var(--danger)}@keyframes fade-out{to{opacity:0;visibility:hidden}}.app-header{position:sticky;z-index:20;top:0;height:74px;padding:0 clamp(18px,3vw,45px);display:grid;grid-template-columns:200px 1fr auto;align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.app-header .wordmark span{font-size:24px}.main-nav{justify-self:center;display:flex;height:100%;gap:8px}.main-nav a{position:relative;padding:0 16px;display:flex;align-items:center;color:#5d675f;font-size:12px;font-weight:700}.main-nav a.active{color:var(--forest)}.main-nav a.active::after{content:"";position:absolute;right:16px;bottom:0;left:16px;height:3px;background:var(--forest)}.account-menu{display:flex;align-items:center;gap:14px;font-size:11px}.account-menu form{margin:0}.text-button,.danger-link{padding:0;border:0;background:none;cursor:pointer}.text-button{color:var(--muted);font-size:11px}.danger-link{color:var(--danger);font-size:11px}.nav-toggle{display:none}.app-main{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:64px 0 100px}.page-head{margin-bottom:42px;display:flex;align-items:end;justify-content:space-between;gap:30px}.page-head h1{margin:0 0 10px;font-family:"Yu Mincho",serif;font-size:clamp(36px,4vw,58px);font-weight:500;line-height:1.25}.page-head>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:white}.metric-grid article{min-height:220px;padding:34px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.metric-grid article:last-child{border:0}.metric-grid span{color:var(--muted);font-size:12px}.metric-grid strong{margin:auto 0;font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);font-weight:500;letter-spacing:-.04em}.metric-grid small{color:var(--muted)}.metric-grid .dark{color:white;background:var(--forest)}.metric-grid .dark span,.metric-grid .dark small{color:rgba(255,255,255,.65)}.quick-grid{margin-top:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quick-grid>a{min-height:190px;padding:28px;background:var(--mint);border:1px solid transparent;transition:.2s}.quick-grid>a:hover{border-color:var(--forest);transform:translateY(-2px)}.quick-grid h2{margin:45px 0 8px;font-family:"Yu Mincho",serif;font-size:21px}.quick-grid p{margin:0;color:var(--muted);font-size:12px}.entry-card{max-width:900px;padding:42px;background:white;border:1px solid var(--line);box-shadow:0 10px 35px rgba(20,40,29,.05)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.entry-sides{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:18px;padding:28px;background:var(--mint)}.entry-equals{padding-bottom:16px;color:var(--forest);font-size:21px}.amount-field{max-width:360px}.amount-field>span{position:relative;display:block}.amount-field b{position:absolute;z-index:1;top:14px;left:15px;font:500 17px Georgia}.amount-field input{padding-left:38px;text-align:right;font-size:18px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:30px}.filter-bar{margin-bottom:20px;padding:18px;display:flex;align-items:end;gap:15px;background:var(--mint);border:1px solid #dce5dc}.filter-bar label{min-width:170px}.filter-bar input,.filter-bar select{min-height:40px}.table-card{overflow:auto;background:white;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:15px 18px;color:var(--muted);background:#f1f3ef;text-align:left;font-size:10px;letter-spacing:.08em;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #e8e9e4;vertical-align:top}td strong{font-weight:700}td small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.num{text-align:right;font-variant-numeric:tabular-nums}.empty{padding:60px;text-align:center;color:var(--muted)}.account-start td{border-top:2px solid #bdc8bf}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.statement-card{padding:40px;background:white;border:1px solid var(--line)}.statement-card header{padding-bottom:28px;border-bottom:3px solid var(--forest)}.statement-card header p{margin:0;color:var(--forest);font-size:11px;font-weight:800}.statement-card header h2{margin:7px 0;font:500 30px Georgia,serif}.statement-card header small{color:var(--muted)}.statement-group{padding:25px 0 10px;border-bottom:1px solid var(--line)}.statement-group h3{margin:0 0 17px;font-family:"Yu Mincho",serif;font-size:17px}.statement-group p,.statement-total{margin:0;padding:7px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px}.statement-group p strong{font-variant-numeric:tabular-nums}.statement-group .subtotal{margin-top:10px;padding-top:14px;border-top:1px dotted #b9bdb7;font-weight:800}.statement-total{margin:22px 0 0;padding:20px;color:white;background:var(--forest);font-size:16px;font-weight:800}.statement-total small{font-size:9px;font-weight:400}.statement-total.profit{font-size:19px}.legal-note{margin:20px 0;color:var(--muted);font-size:10px;line-height:1.7}.import-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.upload-card,.format-card{padding:38px;background:white;border:1px solid var(--line)}.drop-zone{min-height:300px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed #9faea3;background:var(--mint);cursor:pointer}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--forest);border-radius:50%;font-size:22px}.drop-zone strong{font-family:"Yu Mincho",serif;font-size:20px}.drop-zone small{color:var(--muted);font-size:10px}.upload-card>p{color:var(--muted);font-size:10px;line-height:1.7}.format-card h2{margin:0 0 25px;font-family:"Yu Mincho",serif;font-size:30px}.format-card ol{padding-left:20px;color:#535e57;font-size:12px;line-height:2}.format-card pre{margin-top:25px;padding:22px;overflow:auto;color:#d8ece0;background:var(--ink);font:11px/1.9 ui-monospace,monospace}.format-note{font-size:10px;color:var(--muted)}.empty-page{padding:100px 0;text-align:center}.empty-page h1{font-family:"Yu Mincho",serif;font-size:42px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:70px}.ledger-art{height:380px}.features{padding-top:85px}.section-heading{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.auth-page{grid-template-columns:1fr}.auth-copy{padding:70px 9vw}.app-header{grid-template-columns:1fr auto}.account-menu{display:none}.nav-toggle{display:block;padding:9px 12px;border:1px solid var(--line);background:white;font-size:11px}.main-nav{position:absolute;top:74px;right:0;left:0;height:auto;padding:12px;display:none;grid-template-columns:1fr 1fr;background:white;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.open{display:grid}.main-nav a{min-height:48px}.main-nav a.active::after{top:10px;right:auto;bottom:10px;left:0;width:3px;height:auto}.metric-grid{grid-template-columns:1fr}.metric-grid article{min-height:170px;border-right:0;border-bottom:1px solid var(--line)}.quick-grid{grid-template-columns:1fr}.statement-grid,.import-grid{grid-template-columns:1fr}}
@media(max-width:640px){.public-header{height:68px}.public-header nav>a:first-child{display:none}.public-header .wordmark span{font-size:23px}.hero{min-height:auto;padding:80px 22px}.hero-copy h1{font-size:52px}.hero-lead br{display:none}.hero-actions{align-items:stretch;flex-direction:column;gap:18px}.ledger-art{height:340px}.ledger-art::before{width:290px;height:290px}.paper{width:220px;height:285px;padding:28px}.paper>span{font-size:20px}.paper b{margin-top:14px}.paper i{height:16px}.seal{right:3%;bottom:8%;width:70px;height:70px;font-size:20px}.features{padding:75px 22px}.section-heading h2{font-size:36px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:220px}.auth-page{min-height:calc(100vh - 68px)}.auth-copy{padding:55px 22px}.auth-copy h1{font-size:39px}.auth-card{padding:32px 24px}.app-main{width:calc(100% - 28px);padding-top:38px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:38px}.page-head .button{width:100%}.metric-grid strong{font-size:38px}.form-grid{grid-template-columns:1fr}.entry-card{padding:24px 18px}.entry-sides{grid-template-columns:1fr;padding:20px}.entry-equals{padding:0;text-align:center;transform:rotate(90deg)}.amount-field{max-width:none}.form-actions{justify-content:space-between}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar label{min-width:0}.filter-bar .button{width:100%}.table-card{border:0;background:transparent}table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{margin-bottom:14px;padding:12px 14px;background:white;border:1px solid var(--line)}td{padding:9px 0;display:grid;grid-template-columns:86px 1fr;border:0;text-align:left!important}td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700}.empty{display:block;padding:35px}.statement-card{padding:26px 20px}.import-grid{gap:18px}.upload-card,.format-card{padding:24px 18px}.drop-zone{min-height:240px}.print-button{display:none}}
@media print{.app-header,.filter-bar,.print-button,.flash,.button{display:none!important}.app-main{width:100%;padding:0}.statement-grid{gap:10px}.statement-card{padding:20px;break-inside:avoid}.legal-note{display:block}body{background:white}}


/* ===== 追加コンポーネント（複合仕訳・事業形態・決算書） ===== */
.entity-choice{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem;margin:0}
.entity-choice legend{font-size:.8rem;color:var(--muted);padding:0 .3rem}
.entity-choice .radio{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer;padding:.55rem .5rem;border-radius:10px}
.entity-choice .radio:hover{background:var(--mint)}
.entity-choice .radio input[type=radio]{appearance:auto;-webkit-appearance:radio;flex:0 0 auto;width:1.15rem;height:1.15rem;min-height:0;padding:0;margin:.2rem 0 0;border:0;border-radius:50%;background:none;accent-color:var(--forest)}
.entity-choice .radio span{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.entity-choice .radio strong{font-size:.95rem;font-weight:700;letter-spacing:normal;color:var(--ink)}
.entity-choice .radio small{color:var(--muted);font-size:.78rem;font-weight:400;letter-spacing:normal;line-height:1.45}

.entry-lines{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:.5rem 0}
.entry-lines-head,.jrow{display:grid;grid-template-columns:1fr 8.5rem 8.5rem 2.2rem;gap:.5rem;align-items:center}
.entry-lines-head{padding:.6rem .8rem;background:var(--mint);font-size:.78rem;color:var(--muted)}
.entry-lines-head .num,.jrow-amt{text-align:right}
.entry-lines-body{padding:.5rem .8rem;display:flex;flex-direction:column;gap:.5rem}
.jrow-account{width:100%;padding:.55rem .6rem;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:.95rem}
.jrow-amt{display:flex;align-items:center;gap:.2rem;border:1px solid var(--line);border-radius:10px;padding:0 .5rem;background:var(--white)}
.jrow-amt b{color:var(--muted);font-weight:600}
.jrow-amt input{border:0;outline:0;width:100%;text-align:right;padding:.55rem 0;background:transparent;font-size:.95rem}
.jrow-remove{border:0;background:transparent;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;border-radius:8px}
.jrow-remove:hover{color:var(--danger);background:var(--cream)}
.entry-lines-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;border-top:1px solid var(--line);background:var(--paper);flex-wrap:wrap}
.entry-totals{display:flex;gap:1rem;align-items:center;font-size:.85rem;color:var(--muted);flex-wrap:wrap}
.entry-totals b{color:var(--ink)}
.entry-totals .diff{font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--sage);color:var(--ink)}
.entry-totals .diff.ok{background:#dff0e4;color:var(--forest-dark)}
.entry-totals .diff.ng{background:#f6dcd8;color:var(--danger)}

td.row-actions{white-space:nowrap;display:flex;gap:.6rem;align-items:center}
td.row-actions form{display:inline}

/* 決算書 */
.statement-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}
.statement-tabs a{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.85rem;text-decoration:none}
.statement-tabs a.active{background:var(--forest);border-color:var(--forest);color:var(--white)}
.statement-sheet{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1.4rem;margin-bottom:1.2rem;box-shadow:var(--shadow)}
.statement-sheet.hidden{display:none}
.sheet-head{border-bottom:2px solid var(--ink);padding-bottom:.6rem;margin-bottom:1rem}
.sheet-head h2{margin:0;font-size:1.25rem}
.sheet-head p{margin:.2rem 0 0;color:var(--muted);font-size:.85rem}
.bs-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.bs-side h3{font-size:.95rem;margin:1rem 0 .4rem;color:var(--forest-dark);border-bottom:1px solid var(--line);padding-bottom:.3rem}
.bs-side h3:first-child{margin-top:0}
.stmt-group{margin-bottom:.6rem}
.stmt-group-head{font-size:.82rem;color:var(--muted);margin:.4rem 0 .2rem}
.stmt-line,.stmt-sub,.stmt-tier,.stmt-total{display:flex;justify-content:space-between;gap:1rem;padding:.28rem 0;font-variant-numeric:tabular-nums}
.stmt-line{font-size:.92rem}
.stmt-line span{color:var(--ink)}
.stmt-line.indent span{padding-left:1rem}
.stmt-line.muted span{color:var(--muted)}
.stmt-sub{border-top:1px solid var(--line);font-weight:600}
.stmt-sub.strong{border-top:2px solid var(--line)}
.stmt-tier{border-top:1px solid var(--forest);border-bottom:1px solid var(--forest);font-weight:700;color:var(--forest-dark);margin:.3rem 0}
.stmt-total{border-top:2px solid var(--ink);border-bottom:3px double var(--ink);font-weight:700;font-size:1.02rem;margin-top:.3rem}
.pl-body{max-width:44rem}
.mini-link,.mini-link:visited{font-size:.75rem;color:var(--forest);margin-left:.4rem}
.table-scroll{overflow-x:auto}
.soc-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:34rem}
.soc-table th,.soc-table td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left}
.soc-table thead th{background:var(--mint)}
.soc-table td.num,.soc-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.soc-table tbody th{background:var(--paper);font-weight:600}
.soc-table .soc-note th,.soc-table .soc-note td{color:var(--muted);font-size:.82rem}
.soc-table .soc-end th,.soc-table .soc-end td{border-top:2px solid var(--ink);font-weight:700}
.notes-body{display:flex;flex-direction:column;gap:1rem}
.note-block h3{font-size:.95rem;margin:0 0 .4rem;color:var(--forest-dark)}
.note-block ul{margin:0;padding-left:1.2rem;color:var(--ink)}
.note-block li{margin:.25rem 0;font-size:.9rem;line-height:1.6}

@media (max-width:640px){
  .entry-lines-head{display:none}
  .jrow{grid-template-columns:1fr;gap:.35rem;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
  .jrow-amt::before{content:attr(data-label)}
  .bs-columns{grid-template-columns:1fr}
}

@media print{
  .app-header,.statement-tabs,.filter-bar,.page-head a,.page-head button,.legal-note,.flash,#main-nav,.nav-toggle{display:none!important}
  .statement-sheet.hidden{display:block!important}
  .statement-sheet{box-shadow:none;border:0;padding:0;margin:0 0 1.5rem;page-break-inside:avoid}
}

/* Googleログインボタン */
.google-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;min-height:52px;padding:0 1rem;background:#fff;color:#3c4043;font-weight:700;font-size:1rem;border:1px solid #dadce0;border-radius:8px;text-decoration:none;transition:background .15s,box-shadow .15s}
.google-btn:hover{background:#f7f8f8;box-shadow:0 1px 3px rgba(60,64,67,.15)}
.google-btn .g-icon{display:inline-flex;width:18px;height:18px}

/* 勘定科目管理 */
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.checkbox-field{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.6rem;color:var(--muted);font-size:.85rem;font-weight:400;letter-spacing:normal}
.checkbox-field input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;flex:0 0 auto;margin-top:.1rem;accent-color:var(--forest)}
tr.group-row td{background:var(--mint);font-weight:700;color:var(--forest-dark);font-size:.82rem;letter-spacing:.05em}
tr.is-inactive td{color:var(--muted)}
tr.is-inactive td[data-label="科目名"]{text-decoration:line-through}
@media (max-width:640px){.form-grid-3{grid-template-columns:1fr}}

.admin-h2{margin:2rem 0 .6rem;font-size:1.05rem;color:var(--forest-dark)}
.table-card small{color:var(--muted);font-size:.75rem}

/* 総勘定元帳 PDF/印刷 */
.head-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.print-title{display:none}
@media print{
  .print-title{display:block;margin:0 0 18px;text-align:center}
  .print-title h2{margin:0;font-size:22pt;letter-spacing:.12em}
  .print-title p{margin:4px 0;font-size:11pt;color:#000}
  .table-card{box-shadow:none!important;border:0!important;overflow:visible!important}
  .table-card table{width:100%;border-collapse:collapse;font-size:8.5pt}
  .table-card thead{display:table-header-group}
  .table-card th,.table-card td{border:1px solid #999;padding:3px 5px;color:#000}
  .table-card tr{page-break-inside:avoid}
  .table-card th:last-child,.table-card td.row-actions{display:none}
  .page-head,.head-actions,.filter-bar{display:none!important}
}

/* 管理画面のインライン操作 */
.inline-form{display:flex;gap:.4rem;align-items:center}
.inline-form select{width:auto;min-height:34px;padding:0 8px;font-size:.85rem}
.inline-form .text-button{font-size:.8rem;white-space:nowrap}

/* 勘定科目コンボボックス */
.combo{position:relative;width:100%}
.jrow-account.combo{border:0;padding:0;background:transparent}
.combo-input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.95rem}
.combo-menu{list-style:none;margin:4px 0 0;padding:4px;position:absolute;z-index:30;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:260px;overflow:auto;display:none}
.combo-menu.open{display:block}
.combo-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:8px;cursor:pointer;font-size:.92rem}
.combo-item small{color:var(--muted);font-size:.75rem}
.combo-item.active,.combo-item:hover{background:var(--mint)}

/* 個別注記表（表示・編集） */
.notes-text{font-size:.9rem;line-height:1.95;color:var(--ink)}
.notes-editor{width:100%;padding:14px;border:1px solid #cfd3cc;font:inherit;line-height:1.8;min-height:420px;resize:vertical;background:#fff;color:var(--ink)}
.reset-notes-form{margin-top:1rem}
@media print{.no-print{display:none!important}}

/* 閲覧専用（共有）ヘッダー */
.ro-badge{display:inline-block;background:var(--forest);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:.2rem .55rem;border-radius:999px;margin-right:.5rem}
.share-header .account-menu{gap:.5rem}

/* トップ：実際の使い方（HOW IT WORKS） */
.how-section{padding:120px clamp(25px,8vw,120px);background:var(--paper)}
.steps{list-style:none;margin:60px 0 0;padding:0;border-top:1px solid var(--line)}
.steps>li{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:36px 0;border-bottom:1px solid var(--line);align-items:start}
.step-no{font-family:Georgia,serif;font-size:44px;font-weight:700;color:var(--forest);line-height:1}
.step-body h3{margin:0 0 12px;font-family:"Yu Mincho",serif;font-size:24px;font-weight:500}
.step-body p{margin:0;color:var(--muted);font-size:14px;line-height:2;max-width:640px}
.step-methods{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.step-methods li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.step-methods b{font-weight:700;color:var(--ink);font-size:14px}
.step-methods span{font-size:12px;color:var(--forest);background:var(--mint);padding:2px 10px;border-radius:999px}
@media (max-width:640px){.how-section{padding:75px 22px}.steps>li{grid-template-columns:56px 1fr;gap:14px;padding:26px 0}.step-no{font-size:30px}.step-body h3{font-size:20px}}

/* トップ機能カード：各カードに淡いブランドカラーの背景 */
.feature-grid article:nth-child(1){background:var(--mint)}
.feature-grid article:nth-child(2){background:var(--cream)}
.feature-grid article:nth-child(3){background:var(--sage)}

/* ヒーロー：完全無料バッジ */
.free-badge{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 26px;padding:.5rem 1.25rem .5rem .5rem;background:var(--forest);color:#fff;border-radius:999px;font-size:17px;font-weight:700;letter-spacing:.14em}
.free-badge b{display:inline-flex;align-items:center;background:#fff;color:var(--forest);border-radius:999px;padding:.28rem .8rem;font-family:"Helvetica Neue",Arial,system-ui,sans-serif;font-weight:800;font-size:17px;line-height:1;letter-spacing:0;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}

/* トップ：あるようでなかった会計ソフト */
.reasons-section{padding:110px clamp(25px,8vw,120px);background:var(--mint)}
.reasons{list-style:none;margin:50px 0 0;padding:0;max-width:820px;border-top:1px solid var(--line)}
.reasons li{display:flex;gap:16px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.reasons li::before{content:"✓";color:var(--forest);font-weight:700;font-size:18px;flex:0 0 auto}
.reason-body{font-family:"Yu Mincho",serif;font-size:21px;color:var(--ink);line-height:1.55}
.reason-body .note{display:block;margin-top:7px;font-family:"Hiragino Sans","Yu Gothic UI",sans-serif;font-size:13px;color:var(--muted);line-height:1.7}
@media (max-width:640px){.reasons-section{padding:70px 22px}.reason-body{font-size:18px}}
