
.ldt {
  --ldt-navy: var(--navy, #1B2447); --ldt-navy2: var(--navy-2, #243058); --ldt-ink: var(--ink, #2B3150); --ldt-sub: var(--muted, #5E6479);
  --ldt-line: var(--line, #E2E3E9); --ldt-red: var(--red, #D2232A); --ldt-redsoft: var(--red-soft, #FBEDED); --ldt-paper: var(--paper, #F7F6F2);
  --ldt-soft: #EEF1F7; --ldt-memo: #FFF8E6; --ldt-yellow: var(--yellow, #F7D24A);
  --ldt-mincho: var(--mincho, "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif);
  --ldt-gothic: var(--gothic, "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Meiryo", sans-serif);
  display:block; max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--ldt-line); border-radius:14px;
  color:var(--ldt-ink); font-family:var(--ldt-gothic); font-size:16px; line-height:1.75; text-align:left; overflow:hidden;
}
.ldt *, .ldt *::before, .ldt *::after { box-sizing:border-box; }
.ldt button { font:inherit; color:inherit; }
.ldt-head { background:var(--ldt-navy); color:#fff; padding:14px 20px 12px; }
.ldt-head-t { font-family:var(--ldt-mincho); font-weight:700; font-size:15px; letter-spacing:.04em; display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
.ldt-head-t small { font-family:var(--ldt-gothic); font-weight:400; font-size:12px; opacity:.8; white-space:nowrap; }
.ldt-prog { display:flex; gap:4px; margin-top:10px; }
.ldt-prog i { flex:1; height:4px; border-radius:2px; background:rgba(255,255,255,.2); }
.ldt-prog i.done { background:rgba(255,255,255,.6); } .ldt-prog i.on { background:var(--ldt-yellow); }
.ldt-body { padding:24px 22px 8px; }
.ldt-q { font-family:var(--ldt-mincho); font-weight:700; color:var(--ldt-navy); font-size:clamp(20px,5.2vw,25px); line-height:1.5; margin:0 0 6px; }
.ldt-lead { color:var(--ldt-sub); font-size:14.5px; margin:0 0 18px; }
.ldt-label { font-size:13.5px; color:var(--ldt-sub); font-weight:700; letter-spacing:.04em; margin:20px 0 8px; }
.ldt-label:first-child { margin-top:0; }
.ldt-word { font-size:12.5px; color:var(--ldt-sub); font-weight:400; }
.ldt-choices { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.ldt-choices.wide { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
.ldt-choices.five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ldt-choices.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ldt-ch { min-width:0; text-align:left; background:#fff; border:2px solid var(--ldt-line); border-radius:12px; padding:13px 14px; font-size:16.5px; line-height:1.45; color:var(--ldt-ink); cursor:pointer; transition:border-color .15s, background .15s; }
.ldt-ch small { display:block; color:var(--ldt-sub); font-size:12.5px; margin-top:2px; font-weight:400; }
.ldt-ch.on { border-color:var(--ldt-navy); background:var(--ldt-soft); color:var(--ldt-navy); font-weight:700; }
.ldt-ch:focus-visible, .ldt-btn:focus-visible, .ldt input:focus-visible { outline:3px solid var(--ldt-navy2); outline-offset:2px; }
.ldt-stepper { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ldt-stepper > button { width:50px; height:50px; border-radius:50%; border:2px solid var(--ldt-line); background:#fff; font-size:24px; line-height:1; color:var(--ldt-navy); cursor:pointer; }
.ldt-stepper .v { font-family:var(--ldt-mincho); font-size:34px; color:var(--ldt-navy); min-width:3.6em; text-align:center; font-variant-numeric:tabular-nums; }
.ldt-stepper .v small { font-family:var(--ldt-gothic); font-size:15px; color:var(--ldt-sub); margin-left:3px; }
.ldt-kid { display:flex; align-items:center; gap:10px; }
.ldt-kid > span { min-width:4.2em; color:var(--ldt-sub); font-size:14px; }
.ldt-kid .v { font-size:28px; min-width:2.6em; }
.ldt-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.ldt-chips button { border:1.5px solid var(--ldt-line); background:#fff; border-radius:999px; padding:6px 14px; font-size:14px; cursor:pointer; }
.ldt-chips button.on { border-color:var(--ldt-navy); background:var(--ldt-soft); color:var(--ldt-navy); font-weight:700; }
.ldt-foot { display:flex; gap:10px; padding:16px 22px 22px; }
.ldt-btn { border:none; border-radius:10px; min-height:52px; padding:0 20px; font-size:16.5px; font-weight:700; letter-spacing:.04em; cursor:pointer; }
.ldt-btn.next { flex:1; background:var(--ldt-navy); color:#fff; }
.ldt-btn.next[disabled] { opacity:.35; cursor:default; }
.ldt-btn.back { background:#fff; color:var(--ldt-navy); border:1.5px solid var(--ldt-line); }
.ldt-btn.outline { width:100%; background:#fff; color:var(--ldt-navy); border:1.5px solid var(--ldt-navy); }
.ldt-panel { background:#fff; border:1px solid var(--ldt-line); border-radius:12px; padding:16px 16px 14px; margin-bottom:14px; }
.ldt-panel h3 { margin:0 0 4px; font-family:var(--ldt-mincho); color:var(--ldt-navy); font-size:19px; line-height:1.5; }
.ldt-happen { margin:6px 0 0; padding-left:1.2em; font-size:15px; }

.ldt-cond { margin:8px 0 0; padding:7px 12px; background:var(--ldt-paper); border-radius:8px; font-size:13px; line-height:1.7; color:var(--ldt-ink); }
.ldt-cond--key { margin:0 0 14px; padding:0; background:none; font-size:14px; font-weight:700; color:var(--ldt-navy); }
.ldt-figs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0 6px; }
.ldt-fig { border-radius:10px; padding:10px 12px; background:var(--ldt-soft); min-width:0; }
.ldt-fig small { display:block; color:var(--ldt-sub); font-size:12.5px; line-height:1.5; }
.ldt-fig b { display:block; font-family:var(--ldt-mincho); font-size:clamp(17px,2.6vw,22px); line-height:1.35; color:var(--ldt-navy); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }

.ldt .nw { white-space:nowrap; }
.ldt-tbl { overflow-x:auto; margin-top:8px; -webkit-overflow-scrolling:touch; }
.ldt table { width:100%; border-collapse:collapse; font-size:14.5px; font-variant-numeric:tabular-nums; }
.ldt th, .ldt td { padding:8px 8px; border-bottom:1px solid var(--ldt-line); text-align:right; white-space:nowrap; vertical-align:middle; }
.ldt th:first-child, .ldt td:first-child { text-align:left; white-space:normal; min-width:7em; }
.ldt td.amt { white-space:normal; }
.ldt thead th { color:var(--ldt-sub); font-size:12.5px; font-weight:700; }
.ldt tr.sum td { font-weight:700; color:var(--ldt-navy); border-bottom:none; }
.ldt-tag { display:inline-block; font-size:10.5px; font-weight:700; border-radius:4px; padding:0 5px; margin-left:5px; vertical-align:2px; white-space:nowrap; line-height:1.7; }
.ldt-tag.you { background:#E6ECFA; color:#2C4894; } .ldt-tag.sys { background:#F4EDE0; color:#87591A; }
.ldt-tag.sta { background:#EFE9F6; color:#664094; } .ldt-tag.asm { background:#ECEEF1; color:#4B5361; } .ldt-tag.kari { background:#FCE7E7; color:#A42228; }
.ldt-memo { background:var(--ldt-memo); border-radius:10px; padding:10px 14px; font-size:14.5px; margin-top:10px; }
.ldt-note { font-size:12.5px; color:var(--ldt-sub); line-height:1.7; }
.ldt-mark { background:linear-gradient(transparent 60%, var(--ldt-yellow) 60%); }
.ldt-goal { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
.ldt-tiers { list-style:none; margin:10px 0 0; padding:0; display:grid; gap:8px; }
.ldt-tiers > li { border-radius:10px; padding:10px 14px; background:var(--ldt-paper); }
.ldt-tiers > li:first-child { background:var(--ldt-redsoft); }
.ldt-tiers p { margin:0 0 4px; font-size:13px; font-weight:700; color:var(--ldt-red); }
.ldt-tiers ul { margin:0; padding:0; list-style:none; }
.ldt-tiers li li { font-size:14.5px; }
.ldt-tiers li li b { color:var(--ldt-navy); margin-right:6px; }
.ldt-save { margin:18px 0 6px; }
.ldt-save p { margin:6px 0 0; text-align:center; }
.ldt-sources { font-size:12px; color:var(--ldt-sub); margin-top:14px; border-top:1px solid var(--ldt-line); padding-top:10px; line-height:1.7; }
.ldt-sources ol { padding-left:1.2em; margin:4px 0 0; }
.ldt-sources li { margin:2px 0; }
.ldt-src { margin:8px 0; }
.ldt-src summary { cursor:pointer; color:var(--ldt-navy); font-weight:700; font-size:13px; padding:8px 12px; border:1px solid var(--ldt-line); border-radius:8px; background:var(--ldt-paper); list-style-position:inside; }
.ldt-src[open] summary { margin-bottom:6px; }
.ldt-sheet-h { font-family:var(--ldt-mincho); color:var(--ldt-navy); font-size:17px; margin:0; }
.ldt-modal { position:fixed; inset:0; background:rgba(20,24,40,.45); display:flex; align-items:center; justify-content:center; padding:20px; z-index:9999; }
.ldt-modal > div { background:#fff; border-radius:14px; padding:22px; max-width:400px; width:100%; }
.ldt-modal .btns { display:flex; gap:10px; margin-top:14px; }
.ldt-restart { background:none; border:none; color:var(--ldt-sub); text-decoration:underline; font-size:13px; cursor:pointer; padding:4px 0; }
@media (max-width:640px) {
  .ldt { border-radius:10px; }
  .ldt-body { padding:20px 14px 4px; }
  .ldt-foot { padding:14px 14px 18px; }
  .ldt-figs, .ldt-goal { grid-template-columns:1fr; }
  .ldt-choices { grid-template-columns:1fr 1fr; }
  .ldt-choices.five { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ldt-choices.three { grid-template-columns:1fr 1fr; }
  .ldt-choices.wide { grid-template-columns:1fr; }
  .ldt-panel { padding:14px 12px 12px; }
  .ldt table { font-size:13.5px; }
  .ldt th, .ldt td { padding:8px 5px; }
  .ldt th:first-child, .ldt td:first-child { min-width:6.2em; }
  .ldt-memo .ldt-tbl { margin-left:-8px; margin-right:-8px; }
  .ldt .ldt-memo th, .ldt .ldt-memo td { padding-left:4px; padding-right:4px; }
  .ldt .ldt-memo th:first-child, .ldt .ldt-memo td:first-child { min-width:5.2em; }
  .ldt th .ldt-per { display:block; font-size:.8em; font-weight:400; }
}

.ldt { container-type:inline-size; }
@container (max-width:560px) {
  .ldt-body { padding:20px 14px 4px; }
  .ldt-foot { padding:14px 14px 18px; }
  .ldt-figs, .ldt-goal { grid-template-columns:1fr; }
  .ldt-choices { grid-template-columns:1fr 1fr; }
  .ldt-choices.five { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ldt-choices.three { grid-template-columns:1fr 1fr; }
  .ldt-choices.wide { grid-template-columns:1fr; }
  .ldt-panel { padding:14px 12px 12px; }
  .ldt table { font-size:13.5px; }
  .ldt th, .ldt td { padding:8px 5px; }
  .ldt th:first-child, .ldt td:first-child { min-width:6.2em; }
  
  .ldt-memo .ldt-tbl { margin-left:-8px; margin-right:-8px; }
  .ldt .ldt-memo th, .ldt .ldt-memo td { padding-left:4px; padding-right:4px; }
  .ldt .ldt-memo th:first-child, .ldt .ldt-memo td:first-child { min-width:5.2em; }
  .ldt th .ldt-per { display:block; font-size:.8em; font-weight:400; }
}

@container (min-width:561px) {
  .ldt td:first-child .lw { white-space:nowrap; }
  .ldt-figs.rng .ldt-fig b .nw:last-child { display:block; }
}

#ldt-print { display:none; }
@media print {
  html.ldt-printing body > *:not(#ldt-print) { display:none !important; }
  html.ldt-printing #ldt-print { display:block !important; }
  @page { size:A4; margin:12mm; }
  #ldt-print .ldt { border:none; max-width:none; }
  #ldt-print .ldt-tbl { overflow:visible; }
  #ldt-print .ldt-noprint { display:none !important; }
  #ldt-print tr, #ldt-print .ldt-panel { break-inside:avoid; }
  #ldt-print * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
