/* 事務削減診断（shindan.html専用）。数字が主役の計器盤型：黒・白・赤1色、罫線で区切る */
.jd{--ink:#1a1a1a;--red:#d7000f;--red-pale:#fde6e7;--sky:#afdef8;--line:#c9d3d7;--sub:#4f5d65;--bg:#eef2f3;background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
.jd-shell{width:100%;max-width:560px;margin:0 auto;padding:0 16px 40px;flex:1}
.jd .num{font-family:"Noto Sans JP",sans-serif;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}

/* 入口 */
.jd-intro{padding:28px 0 8px}
.jd-kicker{margin:0 0 10px;font:700 14px/1 "Noto Sans JP",sans-serif;letter-spacing:.24em;color:var(--red)}
.jd-intro h1{margin:0 0 12px;font-size:clamp(28px,7.4vw,36px);line-height:1.35;letter-spacing:-.04em;color:var(--ink)}
.jd-intro .lead{margin:0 0 18px;font-size:16px;line-height:1.85;color:#33414a}
.jd-intro .lead b{color:var(--ink)}
.jd-gets{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:0 0 18px}
.jd-gets div{padding:12px 10px 12px 0}
.jd-gets div+div{padding-left:12px;border-left:1px solid var(--line)}
.jd-gets p{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--red)}
.jd-gets ul{margin:0;padding:0;list-style:none}
.jd-gets li{font-size:14.5px;line-height:1.75}
.jd-note{margin:0;font-size:12.5px;line-height:1.7;color:var(--sub)}

/* 進捗 */
.jd-prog{position:sticky;top:66px;z-index:5;background:var(--bg);padding:10px 0 8px}
.jd-prog .track{height:6px;background:#cfd8dc;overflow:hidden}
.jd-prog .fill{height:100%;width:0;background:var(--red);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.jd-prog p{margin:6px 0 0;display:flex;justify-content:space-between;font-size:12.5px;color:var(--sub)}

/* チャット */
.jd-msg,.jd-peek,.jd-result,.jd-result section,.jd-form,.jd-opts{scroll-margin-top:130px}
.jd-chat{display:flex;flex-direction:column;gap:12px;padding:8px 0}
.jd-msg{max-width:88%;padding:12px 16px;font-size:16px;line-height:1.75;animation:jd-in .35s cubic-bezier(.2,.8,.2,1) both}
.jd-msg.bot{align-self:flex-start;background:#fff;border-radius:2px 16px 16px 16px}
.jd-msg.me{align-self:flex-end;background:var(--ink);color:#fff;border-radius:16px 2px 16px 16px}
.jd-msg .hint{display:block;margin-top:4px;font-size:13px;color:var(--sub)}
.jd-typing{align-self:flex-start;background:#fff;border-radius:2px 16px 16px 16px;padding:14px 16px;display:flex;gap:5px}
.jd-typing i{width:7px;height:7px;border-radius:50%;background:#9aa7ad;animation:jd-dot 1s infinite}
.jd-typing i:nth-child(2){animation-delay:.15s}.jd-typing i:nth-child(3){animation-delay:.3s}
.jd-opts{display:flex;flex-direction:column;gap:8px;animation:jd-in .35s .05s cubic-bezier(.2,.8,.2,1) both}
.jd-opts.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.jd-opt{min-width:0;overflow-wrap:anywhere;min-height:50px;padding:12px 16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:500 16px/1.5 inherit;font-family:inherit;text-align:left;cursor:pointer;border-radius:3px;transition:border-color .15s,background .15s,transform .1s}
.jd-other{width:100%;padding:12px 14px;border:1.5px solid var(--ink);border-radius:3px;font-size:16px;font-family:inherit;margin:-2px 0 4px}
.jd-opts .jd-btn{margin-top:6px}
.jd-opt:hover{border-color:var(--ink)}
.jd-opt:active{transform:scale(.98)}
.jd-opt.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* 途中の数字 */
.jd-peek{align-self:stretch;background:var(--ink);color:#fff;padding:14px 16px;animation:jd-in .45s cubic-bezier(.2,.8,.2,1) both}
.jd-peek p{margin:0}
.jd-peek .k{font-size:13px;color:#c8d4da}
.jd-peek .v{font-size:40px;line-height:1.1}
.jd-peek .v small{font-size:17px;font-family:"Noto Sans JP",sans-serif;font-weight:700;margin-left:3px}
.jd-peek .s{font-size:13.5px;margin-top:4px;color:var(--sky)}

/* 月・年の2列 */
.jd-mo{display:grid;grid-template-columns:1fr 1fr;margin-top:6px}
.jd-mo>div+div{border-left:1px solid rgba(255,255,255,.35);padding-left:14px}
.jd-mo .lab{margin:0;font-size:13px;opacity:.85}
.jd-now .jd-mo .v,.jd-cut .jd-mo .v{font-size:46px;margin:2px 0 0}
.jd-peek .jd-mo .v{font-size:34px}
.jd-now .jd-mo .y{font-size:17px;margin:4px 0 0}

/* 結果 */
.jd-result{background:#fff;margin-top:8px;animation:jd-in .5s cubic-bezier(.2,.8,.2,1) both}
.jd-result section{padding:18px 18px}
.jd-result section+section{border-top:1px solid var(--line)}
.jd-label{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--red)}
.jd-h{margin:0 0 10px;font-size:20px;line-height:1.5;letter-spacing:-.02em}
.jd-now{background:var(--ink);color:#fff;padding:18px}
.jd-now .k{margin:0;font-size:13.5px;color:#c8d4da}
.jd-now .v{margin:2px 0 0;font-size:60px;line-height:1}
.jd-now .v small,.jd-cut .v small{font-family:"Noto Sans JP",sans-serif;font-size:19px;font-weight:800;margin-left:4px}
.jd-now .y{margin:6px 0 0;font-size:22px;font-weight:800;color:var(--sky)}
.jd-cut{background:var(--red);color:#fff;padding:16px 18px}
.jd-cut .k{margin:0;font-size:13.5px;opacity:.9}
.jd-cut .v{margin:2px 0 0;font-size:54px;line-height:1}
.jd-cut .v .pre{font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:800;margin-right:6px}
.jd-cut .r{margin:6px 0 0;font-size:14.5px;font-weight:700}
.jd-small{margin:0;font-size:12.5px;color:var(--sub)}

/* 図：いまの時間 → 残る時間 */
.jd-fig{margin:4px 0 0}
.jd-fig .row{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;margin:0 0 10px}
.jd-fig .row span{font-size:13.5px;font-weight:700}
.jd-fig .bar{position:relative;height:34px;background:#e4eaec}
.jd-fig .bar i{position:absolute;left:0;top:0;bottom:0;width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.jd-fig .bar .now{background:var(--ink)}
.jd-fig .bar .keep{background:var(--ink)}
.jd-fig .bar .band{background:repeating-linear-gradient(135deg,var(--red) 0 6px,#ff5a64 6px 12px);transition-delay:.4s}
.jd-fig .bar em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;font-size:15px;color:var(--ink);font-weight:700}
.jd-fig .bar em.in{color:#fff;right:auto;left:10px}
.jd-fig .legend{display:flex;gap:14px;font-size:12.5px;color:var(--sub)}
.jd-fig .legend b{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:4px}

/* 鍵つきの中身 */
.jd-locked{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.jd-locked li{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:15.5px}
.jd-locked li::before{content:"";flex:none;width:14px;height:16px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16'%3E%3Crect x='1' y='7' width='12' height='9' fill='%231a1a1a'/%3E%3Cpath d='M3.5 7V5a3.5 3.5 0 0 1 7 0v2' fill='none' stroke='%231a1a1a' stroke-width='2'/%3E%3C/svg%3E")}
.jd-locked li b{margin-left:auto;font-size:13px;color:var(--red)}

/* 連絡先 */
.jd-form{background:#fff;padding:18px;margin-top:10px;border-top:3px solid var(--red)}
.jd-form h2{margin:0 0 4px;font-size:19px}
.jd-form>p{margin:0 0 14px;font-size:14px;color:var(--sub)}
.jd-field{display:block;margin:0 0 12px}
.jd-field span{display:block;font-size:13.5px;font-weight:700;margin:0 0 4px}
.jd-field input{width:100%;padding:13px 12px;border:1.5px solid var(--line);border-radius:3px;font-size:16px;font-family:inherit;background:#fff}
.jd-field input:focus{outline:2px solid var(--ink);outline-offset:1px}
.jd-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.6;margin:4px 0 10px;cursor:pointer}
.jd-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink);flex:none}
.jd-sub{margin:0 0 12px 30px;display:none}
.jd-sub.open{display:block;animation:jd-in .3s both}
.jd-times{display:flex;gap:6px;margin:0 0 12px}
.jd-times button{flex:1;padding:10px 4px;border:1.5px solid var(--line);background:#fff;font:500 14.5px inherit;font-family:inherit;border-radius:3px;cursor:pointer}
.jd-times button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.jd-err{display:none;margin:0 0 10px;font-size:14px;font-weight:700;color:#a9473c}
.jd-btn{display:block;width:100%;padding:16px;border:none;border-radius:3px;background:var(--red);color:#fff;font:700 16.5px inherit;font-family:inherit;text-align:center;text-decoration:none;cursor:pointer;transition:filter .15s}
.jd-btn:hover{filter:brightness(.92)}
.jd-btn[disabled]{opacity:.6;cursor:wait}
.jd-btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink);margin-top:10px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* 入力後 */
.jd-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1)}
.jd-reveal.show{opacity:1;transform:none}
.jd-cases{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.jd-cases div{background:#fff;padding:12px 12px 14px;font-size:13.5px;line-height:1.6}
.jd-cases div b{display:block;font-family:"Noto Sans JP",sans-serif;font-size:25px;line-height:1.3;white-space:nowrap;letter-spacing:-.02em;color:var(--red)}
.jd-cmp .row{display:grid;grid-template-columns:98px 1fr;gap:10px;align-items:center;margin:0 0 8px;font-size:13.5px}
.jd-cmp .bar{position:relative;height:26px;background:#e4eaec}
.jd-cmp .bar i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.jd-cmp .bar em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13.5px;font-weight:700}
.jd-big{font-family:"Noto Sans JP",sans-serif;font-size:30px;color:var(--red);line-height:1.1}
.jd-ai{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.jd-ai li{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.65}
.jd-ai li::before{content:"AI";font:700 12px/22px "Noto Sans JP",sans-serif;letter-spacing:.06em;text-align:center;background:var(--red);color:#fff;height:22px;margin-top:2px}
.jd-keep{margin:10px 0 0;font-size:14.5px}
.jd-steps{margin:0;padding:0;list-style:none;counter-reset:s}
.jd-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 0;font-size:15.5px;line-height:1.65}
.jd-steps li::before{content:counter(s);font:700 22px/1 "Noto Sans JP",sans-serif;color:var(--red);border-bottom:2px solid var(--red);padding-bottom:3px;text-align:center}
.jd-consult{background:var(--ink);color:#fff;padding:20px 18px}
.jd-consult h2{margin:0 0 6px;font-size:20px;line-height:1.5}
.jd-consult p{margin:0 0 14px;font-size:15px;line-height:1.75;color:#d6dee2}
.jd-consult .jd-btn.ghost{background:transparent;color:#fff;border-color:#fff}

@keyframes jd-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes jd-dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.jd *,.jd *::before{animation:none!important;transition:none!important}.jd-reveal{opacity:1;transform:none}}


/* 図：途中の12か月 */
.jd-months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;align-items:end;height:34px;margin:10px 0 2px}
.jd-months i{display:block;height:100%;background:var(--sky);transform:scaleY(0);transform-origin:bottom;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.jd-months.grow i{transform:scaleY(1)}
.jd-months i:nth-child(1){transition-delay:0ms}.jd-months i:nth-child(2){transition-delay:60ms}.jd-months i:nth-child(3){transition-delay:120ms}.jd-months i:nth-child(4){transition-delay:180ms}.jd-months i:nth-child(5){transition-delay:240ms}.jd-months i:nth-child(6){transition-delay:300ms}.jd-months i:nth-child(7){transition-delay:360ms}.jd-months i:nth-child(8){transition-delay:420ms}.jd-months i:nth-child(9){transition-delay:480ms}.jd-months i:nth-child(10){transition-delay:540ms}.jd-months i:nth-child(11){transition-delay:600ms}.jd-months i:nth-child(12){transition-delay:660ms}
/* 図：ドーナツ */
.jd-dn{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}
.jd-donut{width:132px;height:132px;display:block}
.jd-donut .arc{transition:stroke-dasharray 1.3s cubic-bezier(.2,.8,.2,1) .3s}
.jd-donut .t1{font:700 14px "Noto Sans JP",sans-serif;fill:#1a1a1a}
.jd-donut .t2{font:900 28px "Noto Sans JP",sans-serif;fill:#d7000f}
.jd-dn .jd-h{font-size:17px;margin:0}
/* 図：日数カレンダー */
.jd-cal{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;margin:4px 0 10px}
.jd-cal i{display:block;aspect-ratio:1;background:#e4eaec}
.jd-cal i.on{background:#e4eaec;transition:background .2s}
.jd-cal.show i.on{background:var(--red)}
.jd-cal-t{margin:0;font-size:15px;line-height:1.7}
/* 図：実例の前後 */
.jd-ba{display:grid;grid-template-columns:18px 1fr;gap:1px 6px;align-items:center;margin:2px 0 4px;font-size:11px;line-height:1.4;color:var(--sub)}
.jd-ba i{display:block;height:8px}
.jd-ba .b4{background:#c9d3d7;width:100%}
.jd-ba .af{background:var(--red);width:0;transition:width 1s cubic-bezier(.2,.8,.2,1) .2s}
/* 図：人型 */
.jd-pg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 8px}
.jd-pg>div{text-align:center}
.jd-pg p{margin:6px 0 0;font-size:13.5px}
.jd-pg b{font-size:18px}
.jd-people{display:flex;justify-content:center;gap:4px;min-height:96px;align-items:flex-end}
.jd-person{width:46px;height:92px}
/* 図：手順の流れ */
.jd-flow{margin:0;padding:0;list-style:none;display:grid;gap:18px}
.jd-flow li{position:relative;border:1.5px solid var(--line);padding:12px 14px}
.jd-flow li+li::before{content:"";position:absolute;left:50%;top:-16px;border:7px solid transparent;border-top:9px solid var(--ink);transform:translateX(-50%)}
.jd-flow p{margin:6px 0 0;font-size:15.5px;line-height:1.6}
.jd .tag{display:inline-block;font-size:12.5px;font-weight:700;padding:2px 10px;color:#fff}
.jd .tag.ink{background:#1a1a1a;color:#fff}
.jd .tag.red{background:#d7000f;color:#fff}
.jd .tag.sky{background:#afdef8;color:#1a1a1a}
@media (prefers-reduced-motion:reduce){.jd-months i{transform:none}.jd-cal i.on{background:var(--red)}}



.jd-booked{margin:0 0 4px;padding:14px;background:rgba(255,255,255,.1);color:#fff;font-weight:700;text-align:center}

/* スマホ：大きな数字は単位ごと1行（はみ出す分は fitLine が縮める）。事例は1列 */
.jd-mo .v{white-space:nowrap}
.jd-mo>div{min-width:0}
@media (max-width:480px){.jd-cases{grid-template-columns:1fr}.jd-cases div b{font-size:28px}}

/* AI活用度診断（ai-shindan.html）：段階メーター・削減率の試算・準備の確認 */
.ja-band-t{margin:0 0 12px;font-size:26px;font-weight:800;line-height:1.35;letter-spacing:-.02em}
.ja-band{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.ja-band .st i{display:block;height:10px;background:#e4eaec;transform-origin:left;transition:background .4s}
.ja-band .st.past i{background:#f08a90}
.ja-band .st.on i{background:var(--red);animation:ja-grow .7s cubic-bezier(.2,.8,.2,1) .3s both}
.ja-band .st span{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:var(--sub)}
.ja-band .st.on span{color:var(--ink);font-weight:700}
@keyframes ja-grow{from{transform:scaleX(0)}to{transform:none}}
.ja-sim .row{display:grid;grid-template-columns:76px 1fr;gap:4px 10px;align-items:center;margin:0 0 12px}
.ja-sim .lab{font-size:13.5px;font-weight:700}
.ja-sim .bar{display:flex;height:26px;background:#e4eaec}
.ja-sim .bar i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.ja-sim .bar .keep{background:var(--ink)}
.ja-sim .bar .free{background:var(--red);transition-delay:.35s}
.ja-sim .val{grid-column:2;font-size:14px;font-weight:700;color:var(--red)}
.ja-sim .legend{display:flex;gap:14px;margin:0 0 6px;font-size:12.5px;color:var(--sub)}
.ja-sim .legend b{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:4px}
.ja-ready{margin:0 0 10px;padding:0;list-style:none;border-top:2px solid var(--ink)}
.ja-ready li{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.ja-ready li>b{font-size:12px;text-align:center;padding:3px 0;background:var(--ink);color:#fff}
.ja-ready li.q>b{background:var(--sky);color:var(--ink)}
.ja-ready p{margin:0}
.ja-ready .n{font-size:15px;font-weight:700}
.ja-ready .a{font-size:14px;line-height:1.65;color:var(--sub)}
.jd-opts textarea.jd-other{min-height:90px;line-height:1.7;resize:vertical}
@media (prefers-reduced-motion:reduce){.ja-band .st.on i{animation:none}}
.ja-back{align-self:flex-start;margin-top:2px;padding:8px 12px;border:1.5px solid var(--line);border-radius:3px;background:#fff;color:var(--sub);font:500 13.5px/1.4 inherit;font-family:inherit;cursor:pointer}
.jd-opts.grid .ja-back{grid-column:1/-1;justify-self:start}
