:root, [data-theme="tool"] {
  color-scheme: light;
  --digit-bg:#f1f2ed;                /* ページの地 */
  --digit-surface:#fff;              /* 読む面 */
  --digit-surface-raised:#fff;       /* 一段だけ浮く面 */
  --digit-ink:#112c2a;               /* 主本文 */
  --digit-ink-muted:#5c6b67;         /* 補助本文 */
  --digit-line:#cbd4ce;              /* 構造の罫線（節の境目） */
  --digit-line-control:#748a86;      /* 操作の輪郭（入力欄・副操作） */
  --digit-signal:#087862;            /* 主操作と現在地 */
  --digit-signal-ink:#fff;           /* signal 上の文字 */
  --digit-signal-deep:#05604e;       /* 押している最中の signal */
  --digit-soft:#e2efe9;              /* 現在地をごく薄く塗る面 */
  --digit-ok:#0a6b4f;                /* 完了 */
  --digit-caution:#8a5a00;           /* 要確認 */
  --digit-danger:#a3261d;            /* 失敗 */
  --digit-paper-texture:none;        /* 棚固有のごく薄い質感 */
  --digit-font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",Meiryo,system-ui,sans-serif;
  --digit-font-display:var(--digit-font-body);
  --digit-font-numeric:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --digit-reading-measure:40em;      /* 35〜45字の行長（日本語は全角で約半分） */
  --digit-space-related:12px;        /* 同じ話の内部 */
  --digit-space-section:38px;        /* 話が変わる境目 */
  --digit-radius-control:2px;        /* 操作 */
  --digit-radius-surface:0px;        /* 面 */
  --digit-cut-size:18px;             /* 社章由来の切り角 */
  --digit-shadow-one:0 18px 45px #17352b14;  /* 唯一の影 */
  --digit-focus-ring:#b06c00;        /* フォーカス指輪 */
  --digit-trace:#183f3810;           /* 一本の結線（地に残る痕） */
  --digit-enter-duration:160ms;
  --digit-exit-duration:120ms;
  --digit-ease-out:ease-out;
  --digit-measure-frame:1120px;      /* 画面の器の幅 */
}
:root {
  --bg:var(--digit-bg); --surface:var(--digit-surface); --ink:var(--digit-ink);
  --ink-2:var(--digit-ink-muted); --line:var(--digit-line); --fill:var(--digit-soft);
  --accent:var(--digit-signal); --on-accent:var(--digit-signal-ink);
  --ok:var(--digit-ok); --warn:var(--digit-caution); --danger:var(--digit-danger);
  --radius:var(--digit-radius-surface); --base:16px;
  font-family:var(--digit-font-body);
}
@media (prefers-color-scheme: dark) {
  :root, [data-theme="tool"] {
    color-scheme:dark;
    --digit-bg:#0f1512; --digit-surface:#17201d; --digit-surface-raised:#1d2724;
    --digit-ink:#e7efe9; --digit-ink-muted:#9fb0a9;
    --digit-line:#2f3d38; --digit-line-control:#63817a;
    --digit-signal:#5fd2b2; --digit-signal-ink:#06201a; --digit-signal-deep:#45b998;
    --digit-soft:#15302a;
    --digit-ok:#5fd2b2; --digit-caution:#f0c06a; --digit-danger:#ff9b91;
    --digit-shadow-one:0 18px 45px #00000059; --digit-focus-ring:#ffcc33;
    --digit-trace:#8fd8c41a;
  }
}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:0;background:var(--digit-bg);color:var(--digit-ink);font-family:var(--digit-font-body);font-size:16px;line-height:1.8;letter-spacing:.01em;overflow-wrap:anywhere}a{color:var(--digit-signal);text-underline-offset:4px}img,svg,canvas{max-width:100%;height:auto}[hidden]{display:none!important}
.ai-disclosure{padding:9px max(20px,calc((100vw - var(--digit-measure-frame))/2));border-bottom:1px solid var(--digit-line);background:var(--digit-surface);color:var(--digit-ink-muted);text-align:left;font-size:13px;line-height:1.7}.ai-disclosure::before{content:"◆ AI運営";display:inline-block;margin-right:10px;color:var(--digit-signal);font:700 12px/1.7 var(--digit-font-numeric);letter-spacing:.06em}
.brand-mark{display:grid;place-items:center;flex:none;clip-path:polygon(0 0,72% 0,100% 28%,100% 100%,0 100%)}h1,h2,h3{font-family:var(--digit-font-display)}h1{max-width:20ch;margin:0 0 18px;font-size:clamp(32px,5.4vw,60px);font-weight:750;line-height:1.14;letter-spacing:-.03em;text-wrap:balance;word-break:auto-phrase}h2{margin:0 0 var(--digit-space-related);font-size:21px;line-height:1.45}h3{margin:0 0 8px;font-size:17px}.kicker{display:block;margin:0 0 10px;color:var(--digit-signal);font:700 12px/1.6 var(--digit-font-numeric);letter-spacing:.15em}.lead{max-width:var(--digit-reading-measure);margin:0 0 var(--digit-space-section);font-size:18px}.muted,.field-hint{color:var(--digit-ink-muted);font-size:14px}
.journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px;margin:34px 0 var(--digit-space-section);padding:0;list-style:none}.journey>*{border-top:1px solid var(--digit-line);padding:10px 8px 0 0;font-weight:700}.journey>.is-now{border-top-color:var(--digit-signal)}.journey b{display:block;color:var(--digit-signal);font:700 12px/1.6 var(--digit-font-numeric);letter-spacing:.12em}
:focus-visible{outline:3px solid var(--digit-focus-ring);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--digit-signal);outline-offset:1px}.site-header,main,.site-footer>*{max-width:var(--digit-measure-frame);margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--digit-ink);font-size:18px;font-weight:700;text-decoration:none}.brand-mark{width:32px;height:32px}.badge{flex:none;border:1px solid var(--digit-line-control);border-radius:999px;padding:3px 12px;color:var(--digit-ink-muted);font-size:12px;font-weight:700;white-space:nowrap}main{padding:clamp(30px, 6vw, 68px) 0 80px}.content{max-width:820px}
.card{position:relative;margin:0 0 24px;padding:22px;border:1px solid var(--digit-line);border-radius:var(--digit-radius-surface);background:var(--digit-surface)}.panel{position:relative;padding:26px;background:var(--digit-surface-raised);box-shadow:var(--digit-shadow-one);clip-path:polygon(0 0,calc(100% - var(--digit-cut-size)) 0,100% var(--digit-cut-size),100% 100%,0 100%)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--digit-line-control);border-radius:var(--digit-radius-control);background:var(--digit-surface)}textarea{min-height:104px;resize:vertical;line-height:1.6}label{display:grid;gap:7px;margin:20px 0 7px;font-weight:700}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px 22px;border-radius:var(--digit-radius-control);font-weight:700}.primary{border:1px solid var(--digit-signal);background:var(--digit-signal);color:var(--digit-signal-ink)}.secondary{border:1px solid var(--digit-line-control);background:var(--digit-surface);color:var(--digit-ink)}.primary:disabled,.secondary:disabled{opacity:.5;cursor:default}.copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.copy-row>button{min-height:48px;border:1px solid var(--digit-line-control);border-radius:var(--digit-radius-control);padding:10px 18px;background:var(--digit-surface);color:var(--digit-ink);font-weight:700}.copy-row>[aria-live]{min-height:1.7em;margin:0;color:var(--digit-ink-muted)}
.field-unit{display:flex;align-items:center;gap:8px;max-width:22rem}.field-unit input{min-width:0}.hms-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.converter-divider{display:flex;align-items:center;gap:12px;margin:12px 0;color:var(--digit-ink-muted);font-size:14px}.converter-divider::before,.converter-divider::after{content:"";height:1px;flex:1;background:var(--digit-line)}.result{min-height:1.85em;margin:10px 0 0;font-weight:700}.result-large{font-size:1.25rem}.error{color:var(--digit-danger);font-weight:700}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:12px;border-bottom:1px solid var(--digit-line);text-align:left}
.faq details{border-top:1px solid var(--digit-line);padding:10px 0}.faq summary{min-height:48px;display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer;list-style:none}.faq summary::before{content:"▶";display:grid;place-items:center;width:24px;height:24px;flex:none;background:var(--digit-signal);color:var(--digit-signal-ink);font-size:11px;clip-path:polygon(0 0,72% 0,100% 28%,100% 100%,0 100%)}.faq details[open] summary::before{transform:rotate(90deg)}
.ad-slot{min-height:100px;margin:var(--digit-space-section) 0;padding:16px;display:grid;place-items:center;gap:2px;border:1px dashed var(--digit-line-control);color:var(--digit-ink-muted);text-align:center}.ad-slot p,.ad-slot small{margin:0}.ad-label{font-size:12px;font-weight:700}.site-footer{margin-top:var(--digit-space-section);padding:26px 0 34px;border-top:1px solid var(--digit-line);color:var(--digit-ink-muted);font-size:13px}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}.site-footer p{margin:10px auto 0}.copyright{font-variant-numeric:tabular-nums}
@media(max-width:640px){.ai-disclosure{padding:8px 20px}.ai-disclosure::before{display:block;margin:0 0 2px}main{padding:28px 0 56px}h1{font-size:clamp(30px,10vw,44px)}.lead{font-size:16px}.journey{margin:26px 0 30px}.card{padding:18px}.panel{padding:20px}.hms-fields{gap:6px}}@media (max-width:640px){main{padding-inline:16px}}@media(max-width:359px){.site-header{flex-wrap:wrap}.site-header .badge{order:3;flex-basis:100%;margin-top:4px}.journey{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 班分けくじ */
.number-note{padding:10px 12px;border-left:4px solid var(--digit-signal);background:var(--digit-soft);font-weight:700}fieldset{margin:16px 0;padding:12px;border:1px solid var(--digit-line-control)}legend{padding:0 6px;font-weight:700}fieldset label{display:inline-flex;min-height:48px;align-items:center;gap:6px;margin:0 18px 0 0}.field{display:grid;gap:6px;margin:14px 0;font-weight:700}.error{margin-block:12px 0;padding:10px 12px;border-left:4px solid var(--digit-danger);background:var(--digit-surface);color:var(--digit-danger);font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.result-summary{font-weight:700;overflow-wrap:anywhere}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:1200px;overflow:auto}.group-box{padding:10px;border:1px solid var(--digit-line);background:var(--digit-soft);overflow-wrap:anywhere}.order-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 20px;max-height:1200px;overflow:auto}.order-list>div{min-height:32px;overflow-wrap:anywhere}@media(max-width:480px){.group-grid{grid-template-columns:1fr}.order-list{grid-template-columns:repeat(2,minmax(0,1fr))}fieldset label{margin-right:10px}}
