:root{--ink:#1f2933;--sub:#5a6672;--line:#d7dde2;--bg:#f4f5f2;--card:#fff;--accent:#0f5e7c;--accent-d:#0a4358;--warn:#fff4d6;--warn-l:#e0b43e;--err:#b42318;--sea:#dfe9ef}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI",sans-serif}
a{color:var(--accent)}img,svg{max-width:100%;height:auto}
.top{background:var(--accent-d);color:#fff}
.bar{display:flex;align-items:center;gap:18px;max-width:1500px;margin:auto;padding:8px 16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:800;font-size:18px}
.logo img{width:38px;height:38px;border-radius:9px;background:#fff;padding:2px}
.bar nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.bar nav a{color:#fff;text-decoration:none;padding:5px 12px;border-radius:7px;font-size:14px;font-weight:600}.bar nav a:hover{background:#ffffff26}
.w{max-width:1120px;margin:auto;padding:0 16px}
main.page{padding:18px 0 40px}
.crumb{font-size:13px;color:var(--sub);margin:10px 0}.crumb a{color:var(--sub)}
h1{font-size:28px;line-height:1.35;margin:.3em 0 .5em}h2{font-size:22px;line-height:1.4;margin:1.6em 0 .6em}h3{font-size:17px;margin:1.2em 0 .4em}
.lead{font-size:16.5px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.card h3{margin:.1em 0 .4em}.card p{margin:.3em 0}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 16px;border-radius:9px;border:1px solid var(--accent);background:#fff;color:var(--accent);font:inherit;font-weight:700;font-size:14.5px;text-decoration:none;cursor:pointer}
.btn:hover{background:#eef6f9}.btn.main{background:var(--accent);color:#fff}.btn.main:hover{background:var(--accent-d)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{padding:5px 11px;background:#fff;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:14px}.chips a:hover{border-color:var(--accent);color:var(--accent)}
.thumbs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.thumb{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;text-decoration:none;color:var(--ink);text-align:center;font-weight:700;font-size:14.5px;display:block}
.thumb:hover{border-color:var(--accent)}.thumb img{display:block;width:100%;aspect-ratio:1/1.1;object-fit:contain;margin-bottom:4px}
.dl{display:grid;gap:16px;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-items:start}
.dl .prev{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.dl .prev img{display:block;width:100%}
.dlbox{display:grid;gap:12px}
table{border-collapse:collapse;width:100%;background:#fff;font-size:15px}th,td{border:1px solid var(--line);padding:6px 10px;text-align:left}th{background:#eef2f4}
.note{font-size:14px;color:var(--sub)}
.foot{background:#2a343c;color:#d9dfe3;margin-top:30px;font-size:14px;padding:22px 0}.foot a{color:#fff}.foot p{margin:.4em 0}
.town{columns:4 150px;font-size:14.5px;padding:0;list-style:none;margin:0}.town li{break-inside:avoid}
.mascot{display:flex;gap:14px;align-items:center}.mascot img{width:170px;border-radius:10px;flex:none}
/* 地図の画面 */
.nc-head{max-width:1500px;margin:auto;padding:10px 16px 0}
.nc-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.nc-hero>div{min-width:0}.nc-hero figure{margin:0;flex:0 0 420px;position:relative}.nc-hero img{display:block;width:100%;height:auto;border-radius:10px}.nc-hero figcaption{position:absolute;right:5px;bottom:3px;font-size:10px;color:#fff;background:#0007;padding:0 5px;border-radius:4px;line-height:1.5}.nc-head h1{font-size:22px;margin:0}.nc-head p{margin:0;color:var(--sub);font-size:14px}
.nc-tabrow{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:1500px;margin:8px auto 0;padding:0 16px}.nc-tabs{display:flex;gap:4px;flex-wrap:wrap}
.nc-linktop{display:flex;align-items:center;gap:14px;max-width:1500px;margin:10px auto 0;padding:0 16px}.nc-linktop[hidden]{display:none}
.nc-link-open{flex:none;min-height:56px;min-width:230px;padding:10px 26px;border:0;border-radius:12px;background:#d1495b;color:#fff;font:inherit;font-size:21px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #0003}.nc-link-open:hover{background:#b23a4b}
.nc-linktext p{margin:0;font-size:14.5px;font-weight:700;line-height:1.5}.nc-linkstate{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.nc-linkstate .nc-btn{min-height:44px;padding:4px 14px;flex:none}
.nc-link-state{font-size:13px;color:var(--sub)}.nc-link-state.on{color:#1b7a36;font-weight:700}.nc-link-state.on::before{content:"●";margin-right:4px}.nc-link-state.wait{color:#8a5a00;font-weight:700}
.nc-dialog{border:1px solid var(--line);border-radius:14px;max-width:600px;width:calc(100% - 32px);padding:18px 20px;color:var(--ink)}.nc-dialog::backdrop{background:#0006}.nc-dialog h2{margin:0 0 .4em;font-size:20px}.nc-dialog h3{font-size:15px;margin:1em 0 .3em}
.nc-help{margin:10px 0;font-size:14px}.nc-help summary{cursor:pointer;font-weight:700}.nc-link-status{background:#f3f6f7;border-radius:10px;padding:8px 12px;margin:8px 0}.nc-link-err{color:#8a5a00;font-size:13.5px;font-weight:700;min-height:0}.nc-steps{padding-left:1.4em;margin:8px 0}.nc-steps li{margin:8px 0}.nc-steps b{display:block}
.nc-tab{border:1px solid var(--line);border-bottom:0;background:#e9ecec;border-radius:9px 9px 0 0;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.nc-tab.on{background:#fff;font-weight:700}.nc-add{background:transparent;color:var(--accent);font-weight:700}
.nc-app{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:0;max-width:1500px;margin:0 auto;height:calc(100vh - 212px);min-height:540px;padding:0 16px}
#nc-stage{position:relative;background:var(--sea);border:1px solid var(--line);border-radius:0 0 0 12px;overflow:hidden;min-width:0}
#nc-stage.drop{outline:4px dashed var(--accent);outline-offset:-8px}
#nc-map{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}#nc-map[data-tool=pick]{cursor:crosshair}
.nc-float{position:absolute;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.nc-tl{top:10px;left:10px;right:10px;pointer-events:none}.nc-tl>*{pointer-events:auto}
.nc-seg{display:inline-flex;background:#fff;border:1px solid #b7c2ca;border-radius:9px;overflow:hidden}
.nc-seg button{border:0;background:#fff;font:inherit;font-size:14px;padding:7px 12px;cursor:pointer;color:var(--ink);min-height:38px}
.nc-seg button+button{border-left:1px solid #d7dde2}.nc-seg button.on{background:var(--accent);color:#fff;font-weight:700}
.nc-sel,.nc-search{min-height:38px;border:1px solid #b7c2ca;border-radius:9px;background:#fff;font:inherit;font-size:14px;padding:4px 10px}
.nc-searchwrap{position:relative;flex:0 1 210px}.nc-search{width:100%}
#nc-results{position:absolute;top:42px;left:0;width:280px;max-height:320px;overflow:auto;background:#fff;border:1px solid #b7c2ca;border-radius:9px;z-index:5;box-shadow:0 6px 20px #0003}
#nc-results button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer}#nc-results button:hover{background:#eef6f9}.nc-none{padding:8px 12px;font-size:14px}
.nc-br{right:10px;bottom:10px;flex-direction:column}
.nc-ic{width:42px;height:42px;background:#fff;border:1px solid #b7c2ca;border-radius:9px;font:700 18px system-ui;cursor:pointer;color:var(--ink)}
.nc-ic.t{font-size:12px}
.nc-bl{left:10px;bottom:10px}
#nc-tip{position:absolute;background:#1f2933f2;color:#fff;font-size:13.5px;padding:6px 10px;border-radius:8px;pointer-events:none;z-index:4;max-width:240px;line-height:1.45}#nc-tip .sub{font-size:12px;opacity:.85}
#nc-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sea);font-weight:700}
#nc-loading[hidden],#nc-tip[hidden],#nc-shared[hidden],#nc-results[hidden]{display:none}
.nc-flash{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:#1f2933;color:#fff;padding:8px 16px;border-radius:9px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:80%;z-index:6;text-align:center}.nc-flash.show{opacity:1}.nc-flash.err{background:var(--err)}
#nc-shared{position:absolute;top:58px;left:10px;right:10px;background:var(--warn);border:1px solid var(--warn-l);border-radius:10px;padding:8px 12px;font-size:14px;z-index:3}
.nc-panel{background:#fff;border:1px solid var(--line);border-left:0;border-radius:0 12px 12px 0;overflow:auto;padding:10px 12px}
.nc-b{border-bottom:1px solid #edf0f2;padding:10px 2px}.nc-b:last-child{border:0}.nc-b>h2,.nc-b>summary{font-size:15px;font-weight:800;margin:0 0 6px;line-height:1.4}
details.nc-b>summary{cursor:pointer;margin:0}details.nc-b[open]>summary{margin-bottom:8px}
.nc-tally{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nc-num{background:#f3f6f7;border-radius:9px;padding:6px 10px}.nc-num span{display:block;font-size:12px;color:var(--sub)}.nc-num b{font-size:17px}
.nc-track{height:7px;background:#e8ecee;border-radius:9px;margin-top:8px;overflow:hidden}#nc-bar{height:100%;background:var(--accent);width:0}
.nc-swatch-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:8px}.nc-swatch-row.on{background:#e6f1f5;outline:1.5px solid var(--accent)}
.nc-swatch{width:30px;height:30px;border-radius:7px;border:1px solid #0003;cursor:pointer;flex:none}
.nc-label{flex:1;min-width:0;border:1px solid transparent;background:transparent;font:inherit;font-size:14px;padding:3px 5px;border-radius:6px}.nc-label:hover,.nc-label:focus{border-color:var(--line);background:#fff}
.nc-count{font-size:13px;color:var(--sub);min-width:32px;text-align:right}
.nc-custom{font-size:13px;display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--sub)}.nc-custom input{width:34px;height:26px;padding:0;border:1px solid var(--line);background:#fff}
.nc-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.nc-btn{min-height:38px;padding:6px 12px;border-radius:8px;border:1px solid var(--accent);background:#fff;color:var(--accent);font:inherit;font-size:14px;font-weight:700;cursor:pointer;flex:1 1 auto}.nc-btn:hover{background:#eef6f9}.nc-btn.main{background:var(--accent);color:#fff}.nc-btn.main:hover{background:var(--accent-d)}.nc-btn:disabled{opacity:.45;cursor:default}
.nc-btn.sub{border-color:var(--line);color:var(--ink);font-weight:500;flex:0 1 auto}.nc-btn[hidden]{display:none}
.nc-save-note{font-size:12.5px;color:var(--sub);margin:8px 0 0;line-height:1.55;padding:6px 8px;border-radius:8px;background:#f3f6f7}.nc-save-note.warn{background:var(--warn);color:#6e4d00;font-weight:700}
.nc-check{display:flex;align-items:center;gap:7px;font-size:14px;padding:3px 0;cursor:pointer}.nc-check input{width:17px;height:17px}.nc-check i{width:18px;height:4px;border-radius:2px;display:block}
.nc-kv{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:2px 0}.nc-dot{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.nc-note{font-size:12.5px;color:var(--sub);margin:6px 0 0;line-height:1.55}.nc-note.warn{color:#6e4d00;font-weight:700}
.nc-name{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font:inherit;font-size:14px}
.nc-share{margin-top:8px}.nc-share[hidden]{display:none}.nc-share input{width:100%;font-size:12px;padding:5px;border:1px solid var(--line);border-radius:6px}
.nc-stats{max-width:1500px;margin:18px auto 0;padding:0 16px}.nc-stats .tbl{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.nc-stats table{font-size:14px}.nc-stats th{position:sticky;top:0}td.num,th.num{text-align:right}
.nc-link{border:0;background:none;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
.nc-mini{display:inline-block;width:80px;height:7px;background:linear-gradient(90deg,var(--accent) var(--w),#e8ecee var(--w));border-radius:9px}
.below{max-width:1500px;margin:auto;padding:0 16px}
kbd{background:#eef2f4;border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:13px}
@media(max-width:940px){
.nc-hero figure{flex:0 1 45%;min-width:0}.nc-app{grid-template-columns:1fr;height:auto;min-height:0}#nc-stage{height:66vh;min-height:380px;border-radius:0}.nc-panel{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}
.dl{grid-template-columns:1fr}h1{font-size:24px}.bar nav{margin-left:0}.mascot{flex-direction:column;align-items:flex-start}}
[data-feature][hidden]{display:none}
.nc-seg button[hidden]{display:none}.nc-seg[hidden]{display:none}.nc-b[hidden]{display:none}
.nc-views{border:2px solid var(--accent)}.nc-views button{font-weight:800;font-size:15px;padding:7px 16px}.nc-views button.on{background:var(--accent);color:#fff}
.nc-sub button{font-size:13px;padding:5px 10px}
.nc-isk{display:flex;margin:0 0 8px}.nc-isk button{flex:1;font-size:13px;padding:6px 2px;min-height:36px}.nc-wide{grid-column:1/-1}.nc-i-h{font-size:14px;margin:8px 0 4px}.nc-left{display:flex;flex-wrap:wrap;gap:4px;max-height:168px;overflow:auto}.nc-left button{border:1px solid #d7dde2;background:#fff;border-radius:7px;font:inherit;font-size:13px;padding:3px 7px;cursor:pointer;color:var(--ink)}.nc-left button:hover{background:#eef3f6}
#nc-l-km{font-size:15px;overflow-wrap:anywhere}.nc-num[hidden]{display:none}.nc-legend{position:absolute;left:10px;bottom:62px;display:flex;flex-wrap:wrap;gap:4px 10px;background:#fffffff2;border:1px solid #b7c2ca;border-radius:8px;padding:4px 10px;font-size:12.5px;max-width:calc(100% - 80px);z-index:2}.nc-legend[hidden]{display:none}.nc-legend span{display:inline-flex;align-items:center;gap:4px}.nc-legend i{display:block;width:20px;height:4px;border-radius:2px}.nc-legend .lg-rail{background:#3b6fd8}.nc-legend .lg-road{background:#e8300a}.nc-legend .lg-highway{background:#3a1fd1}.nc-legend .lg-passed{background:#1f2933;height:6px}
#nc-bg-credit{position:absolute;right:60px;bottom:6px;background:#ffffffd9;font-size:12px;padding:1px 6px;border-radius:4px;z-index:2}#nc-bg-credit[hidden]{display:none}
.nc-wish-row{display:flex;align-items:center;gap:6px;font-size:14px;padding:2px 0}.nc-wish-row .nc-link{text-align:left;flex:1}.nc-x{border:0;background:none;color:var(--sub);cursor:pointer;font-size:16px;padding:0 4px}
.nc-btn.on{background:var(--accent);color:#fff}#nc-measure{position:absolute;top:58px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #b7c2ca;border-radius:9px;padding:5px 8px 5px 12px;font-size:14px;font-weight:700;display:flex;gap:10px;align-items:center;z-index:3;white-space:nowrap}#nc-measure[hidden]{display:none}#nc-measure button{min-height:30px}
.nc-code{width:100%;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:5px}
.em-body{margin:0;display:flex;flex-direction:column;height:100vh;background:#fff}.em-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:5px 10px;font-size:13px}.em-top b{font-size:14px}#em-legend{display:flex;gap:8px;flex-wrap:wrap}#em-legend span{display:inline-flex;align-items:center;gap:4px}#em-legend i{width:12px;height:12px;border-radius:3px;display:block}.em-stage{flex:1;position:relative;min-height:0}.em-stage canvas{display:block;width:100%;height:100%;touch-action:none}.em-foot{font-size:12px;padding:4px 10px;color:var(--sub)}#em-tip{position:fixed;background:#1f2933f2;color:#fff;font-size:12.5px;padding:3px 8px;border-radius:6px;pointer-events:none}#em-tip[hidden]{display:none}
.mk-wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:16px;align-items:start}
.mk-page{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.mk-page svg{display:block}
.mk-side{display:grid;gap:12px}.mk-prefs{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.mk-group{display:flex;flex-wrap:wrap;gap:0 10px;align-items:center;margin-bottom:6px}.mk-group .nc-btn{min-height:30px;padding:2px 8px}.mk-group .nc-check{font-size:13.5px;padding:1px 0}.mk-group .nc-check input{width:15px;height:15px}
.mk-field{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px;margin:6px 0;font-size:14px}.mk-field select{min-height:36px;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:8px}
.qz-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;height:calc(100vh - 150px);min-height:520px}
.qz-stage{position:relative;background:var(--sea);border:1px solid var(--line);border-radius:12px 0 0 12px;overflow:hidden}.qz-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}
.qz-side{background:#fff;border:1px solid var(--line);border-left:0;border-radius:0 12px 12px 0;padding:14px;overflow:auto}
.qz-q{font-size:22px;font-weight:800;margin:10px 0;line-height:1.4}.qz-flash{min-height:26px;font-weight:700}.qz-flash.ok{color:#2f7d32}.qz-flash.ng{color:var(--err)}.qz-big{font-size:18px;font-weight:800;margin:.4em 0}
.qz-choices{display:grid;gap:8px}
@media(max-width:940px){.mk-wrap,.qz-wrap{grid-template-columns:1fr;height:auto}.qz-stage{height:60vh;border-radius:12px 12px 0 0}.qz-side{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}}
@media(max-width:560px){
.bar{gap:6px;padding:6px 12px}.logo{font-size:16px}.bar nav a{padding:3px 8px;font-size:13px}
.nc-linktop{flex-direction:column;align-items:stretch;gap:6px;margin-top:8px;padding:0 12px}.nc-link-open{width:100%;min-height:54px;font-size:20px}.nc-hero{flex-direction:column;align-items:stretch;gap:6px}.nc-hero figure{flex:none;width:100%}.nc-head h1{font-size:18px}.nc-head p{font-size:13px;line-height:1.5}
.nc-tl{top:6px;left:6px;right:6px;gap:4px}.nc-views{flex:1 1 100%;display:flex;flex-wrap:wrap}.nc-views button{flex:1 1 31%;border-top:1px solid #d7dde2;padding:4px 1px;font-size:14px;white-space:nowrap;letter-spacing:-.03em}.nc-isk button{font-size:12.5px;white-space:nowrap;padding:6px 0;letter-spacing:-.03em}.lg-hint{display:none}.nc-seg button{padding:4px 8px;font-size:13px;min-height:44px}
.nc-sel,.nc-search{min-height:44px;font-size:16px;padding:2px 6px}#nc-pt-kind{flex:1 1 100%;max-width:none}.nc-sel{flex:1 1 40%;max-width:48%;font-size:13px}.nc-searchwrap{flex:1 1 45%}
.nc-ic{width:38px;height:38px}#nc-stage{height:72vh}}
@media print{.top,.foot{display:none}}
/* 全画面（地図の枠だけ。Fullscreen API が使えない・断られたときは position:fixed のまま） */
.nc-ic svg{display:block;margin:auto}.nc-ic .fs-out,.nc-ic[aria-pressed=true] .fs-in{display:none}.nc-ic[aria-pressed=true] .fs-out{display:block}
#nc-stage.nc-fs{position:fixed;inset:0;z-index:2000;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;outline:0}
html.nc-fs-on{overflow:hidden}
html.nc-fs-on .top,html.nc-fs-on .nc-head,html.nc-fs-on .nc-linktop,html.nc-fs-on .nc-tabrow,html.nc-fs-on .nc-panel,html.nc-fs-on .nc-stats,html.nc-fs-on .below,html.nc-fs-on .foot{visibility:hidden}
#nc-stage.nc-fs .nc-fs-hide{display:none}
#nc-stage.nc-fs .nc-tl{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}
#nc-stage.nc-fs .nc-br{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
#nc-stage.nc-fs .nc-bl{left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}

/* 連携の説明 */
.rk-fig{margin:0 0 8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;max-width:560px}
.rk-shot{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px dashed var(--line);border-radius:10px;background:#fff}
.rk-fake{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;min-width:0;cursor:default;box-shadow:none;font-size:19px}.rk-fake:hover{background:#d1495b}
.rk-fake2{display:inline-flex;align-items:center;min-height:32px;padding:2px 12px;cursor:default;font-size:13px;margin-left:6px}.rk-fake2:hover{background:#fff}
.rk-arrow{text-align:center;font-weight:700;margin:8px 0;font-size:14px}
.rk-steps{list-style:none;counter-reset:rk;margin:0;padding:0;display:grid;gap:10px;max-width:640px}
.rk-steps li{counter-increment:rk;position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 56px}
.rk-steps li::before{content:counter(rk);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.rk-steps li b{display:block}

/* 聖火リレーの面 */
.rl-wrap{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;margin:10px 0}#rl-map{display:block;width:100%;height:min(78vh,620px);background:var(--sea);border-radius:8px}
.rl-ctl{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 4px 2px}.rl-ctl input{flex:1 1 180px;min-height:32px}.rl-ctl b{flex:1 1 100%;font-size:15px}
.rl-pref{border:1px solid var(--line);border-radius:10px;background:var(--card);margin:6px 0;padding:8px 12px}.rl-pref summary{cursor:pointer;min-height:28px}.rl-pref ul,.rl-ul{margin:6px 0 0;padding-left:18px}.rl-pref li,.rl-ul li{margin:5px 0;font-size:14.5px;overflow-wrap:anywhere}.rl-pref small,.rl-ul small{color:var(--sub)}

.ca-box{max-width:560px}.ca-box .mk-field{grid-template-columns:130px 1fr}.ca-b{margin:0 0 8px}.ca-b .btn{min-height:36px;padding:4px 10px;font-size:14px}.ca-out{font-size:16px;margin:8px 0 4px}

.nc-views{flex-wrap:wrap}

.tbl{overflow-x:auto}.tbl table{min-width:560px}.nc-badges{display:flex;flex-wrap:wrap;gap:4px}.nc-badge{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--sub)}.nc-badge.on{border-color:#c79a1b;background:#fff6d6;color:#6b5200;font-weight:700}
/* 夜の画面（トップの地図だけ） */
body.nc-night{--ink:#e6edf2;--sub:#a8b4bd;--line:#3a4752;--bg:#121a21;--card:#1b252e;--sea:#0f1a24;--accent:#4aa3c7}
.nc-night .nc-panel,.nc-night table,.nc-night .nc-seg,.nc-night .nc-seg button,.nc-night .btn,.nc-night .nc-btn,.nc-night .nc-sel,.nc-night .nc-search,.nc-night .nc-name,.nc-night .nc-label,.nc-night .nc-ic,.nc-night .nc-num,.nc-night .nc-legend,.nc-night .nc-left button,.nc-night .nc-tab,.nc-night th,.nc-night td,.nc-night select,.nc-night input,.nc-night textarea,.nc-night .nc-link-state{background:var(--card);color:var(--ink);border-color:var(--line)}
.nc-night .nc-seg button.on,.nc-night .nc-btn.main,.nc-night .btn.main,.nc-night .nc-tab.on{background:var(--accent);color:#0b1419}.nc-night .nc-left button:hover{background:#26323c}.nc-night a{color:#8fcbe4}.nc-night .foot,.nc-night .top{background:#0b1218}
.nc-night .nc-track{background:#3a4752}

/* 連携の手順の図 */
.rk-steps li>b{margin-bottom:2px}.rk-ph{margin-top:10px;max-width:260px;border:2px solid #39454f;border-radius:16px;overflow:hidden;background:#fff;font-size:14px;line-height:1.5}
.rk-ph-top{display:flex;justify-content:space-between;align-items:center;gap:6px;background:#eef2f4;padding:7px 12px;font-weight:700}.rk-ph-plus{border:2px solid #d1495b;border-radius:7px;padding:0 6px;font-size:12px;color:#b42318;background:#fff}
.rk-ph-row{padding:9px 12px;border-top:1px solid var(--line)}.rk-ph-row.hit{margin:5px 7px;border:2px solid #d1495b;border-radius:8px;background:#fff1f2;font-weight:700}
.rk-ph-btns{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding:30px 9px 9px}.rk-ph-btns .hit{border:2px solid #d1495b;border-radius:8px;background:#fff1f2;font-weight:700;padding:4px 9px}
.rk-path{margin-top:10px;display:table;background:#eef2f4;border-radius:7px;padding:5px 11px;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.rk-steps .rk-shot{margin-top:10px;max-width:300px}
.rk-trouble{display:grid;gap:10px;max-width:640px}.rk-trouble h3{font-size:16px}

/* 配信されなかった自動広告の枠だけを畳む（Google の案内の形）。配信された広告は隠さない */
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.google-auto-placed:has(>ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
