:root{--fd:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--f:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;--ink:#111;--mut:#5a6a78;--line:#dce8f2;--earth:#2563eb;--toru:#ff8a1f;--sky:#eaf4fb;--map0:#eef2f0;--map1:#d6efe2;--map2:#a7ddbf;--map3:#5dbb8a;--map4:#1f8a55;--map5:#0d5c36;--r:6px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:#fff;color:var(--ink);font:500 16px/1.75 var(--f);overflow-x:hidden;font-feature-settings:"palt" 1}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:url(/img/globe/wb1.webp) center top/cover no-repeat;opacity:.18;pointer-events:none}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.92) 45%,#fff 100%);pointer-events:none}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px 48px}
.uranai{margin:12px 0 0;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.uranai>summary{cursor:pointer;padding:12px 14px;font:800 14px/1.4 var(--f);color:var(--earth);list-style:none}
.uranai>summary::-webkit-details-marker{display:none}
.uranai>summary::before{content:"▸ ";color:var(--toru)}
.uranai[open]>summary::before{content:"▾ "}
.uranai-in{padding:0 14px 14px;border-top:1px solid var(--line)}
.fhead{font:800 13px/1.4 var(--f);color:var(--mut);margin:10px 0 4px}
.frow{margin:6px 0;font:600 14px/1.6 var(--f)}
.fbtn{border:0;border-radius:var(--r);padding:8px 14px;background:var(--earth);color:#fff;font:800 13px/1 var(--f);cursor:pointer}
.fnote{font:500 11.5px/1.6 var(--f);color:#888;margin-top:8px}
.frank{font:900 28px/1.2 var(--f);color:var(--toru);margin:4px 0}
.hero-band{position:relative;margin:16px -16px 0;padding:22px 16px 18px;background:linear-gradient(180deg,var(--sky) 0%,#f5fafd 70%,#fff 100%);overflow:hidden;border-bottom:1px solid var(--line)}
.hero-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-cloud{position:absolute;width:72px;height:22px;border-radius:50px;background:#fff;opacity:.42;animation:cloud-drift 16s ease-in-out infinite alternate}
.hero-cloud.c1{top:8px;left:-2%;animation-delay:0s}.hero-cloud.c2{top:12px;right:-4%;animation-delay:-6s;scale:.7}.hero-cloud.c3{bottom:8%;left:-6%;top:auto;scale:.55;animation-delay:-11s}
.hero-balloon{position:absolute;width:16px;height:20px;border-radius:50% 50% 48% 48%;background:var(--toru);opacity:.45;animation:balloon-float 9s ease-in-out infinite alternate}
.hero-balloon.b1{bottom:12%;left:2%;top:auto}.hero-balloon.b2{bottom:18%;right:0;top:auto;background:#62b6e8;animation-delay:-4s}
.hero-grid{display:grid;gap:16px;align-items:center;position:relative;z-index:2}
@media(min-width:720px){.hero-grid{grid-template-columns:1fr 1.05fr;gap:20px}}
.hero-title{margin:0;font:900 clamp(24px,6.5vw,38px)/1.28 var(--fd);letter-spacing:.02em;font-feature-settings:"palt" 1}
.hero-title-line{display:block}
.hero-nw{white-space:nowrap}
.hero-kick{margin:0 0 6px;font:800 12px/1.4 var(--fd);letter-spacing:.14em;color:var(--earth);font-feature-settings:"palt" 1}
.hero-lead{margin:10px 0 0;font:600 15px/1.7 var(--f);color:#334}
.hero-visual{position:relative;width:100%}
.hero-photo{width:100%;min-height:180px;max-height:min(52vw,320px);object-fit:cover;border-radius:var(--r);border:1px solid var(--line);background:var(--sky);display:block}
@media(min-width:720px){.hero-photo{max-height:340px;min-height:240px}}
.hero-photo.is-missing{display:none}
.globe-wrap.globe-deco{position:absolute;top:10px;right:10px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
.globe-deco .globe-svg{width:100%;height:auto;filter:drop-shadow(0 4px 10px rgba(37,99,235,.25))}
.globe-svg .globe-meridian{transform-origin:50% 50%;animation:globe-turn 22s linear infinite}
.company-youth{width:100%;max-height:200px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);margin-bottom:14px;display:block;background:var(--sky)}
.company-youth.is-missing{display:none}
.sec{margin-top:36px}
.sec-h{margin:0;font:900 24px/1.3 var(--fd);font-feature-settings:"palt" 1}
.sec-lead{margin:6px 0 0;font:600 14px/1.7 var(--f);color:var(--mut)}
.hot3{display:grid;gap:12px;margin-top:14px}
@media(min-width:720px){.hot3{grid-template-columns:repeat(3,1fr)}}
.hot-card{border:1.5px solid var(--line);border-radius:var(--r);padding:14px;background:#fff;display:grid;gap:6px;min-width:0}
.hot-card .tag{font:800 11px/1 var(--f);color:var(--earth)}
.hot-card a{font:800 16px/1.45 var(--f);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;line-clamp:2}
.hot-card small{font:600 12px/1.4 var(--f);color:var(--mut)}
.maps{display:grid;gap:16px;margin-top:14px}
@media(min-width:900px){.maps{grid-template-columns:1fr 1fr}}
.mapbox{position:relative;border:1.5px solid var(--line);border-radius:var(--r);padding:10px;background:linear-gradient(180deg,#e8f4fc,#f4fafd)}
.mapbox h3{margin:0 0 8px;font:900 17px/1.3 var(--fd);font-feature-settings:"palt" 1}
.map-inner{position:relative;overflow:hidden;border-radius:calc(var(--r) - 2px)}
.map-inner svg{width:100%;height:auto;display:block;touch-action:manipulation}
.mapbox svg{width:100%;height:auto;display:block;touch-action:manipulation}
.jp-map .prefecture{fill:var(--map0);stroke:#fff;stroke-width:1.1;cursor:pointer;transition:fill .2s}
.jp-map .prefecture *{fill:inherit}
.jp-map .prefecture.l1,.jp-map .prefecture.l1 *{fill:var(--map1)}
.jp-map .prefecture.l2,.jp-map .prefecture.l2 *{fill:var(--map2)}
.jp-map .prefecture.l3,.jp-map .prefecture.l3 *{fill:var(--map3)}
.jp-map .prefecture.l4,.jp-map .prefecture.l4 *{fill:var(--map4)}
.jp-map .prefecture.l5,.jp-map .prefecture.l5 *{fill:var(--map5)}
.jp-map .prefecture.sel{stroke:var(--toru);stroke-width:3}
.jp-map .prefecture.jp-dim,.jp-map .prefecture.jp-dim *{fill:#e4e8ec}
.jp-rank-layer{position:absolute;inset:0;pointer-events:none;z-index:4}
.jp-rank-badge{position:absolute;margin:-14px 0 0 -14px;width:28px;height:28px;border-radius:50%;background:var(--toru);color:#fff;font:900 14px/28px var(--f);text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.world-map g.world-dim path,.world-map path.world-dim{fill:#e4e8ec}
.jp-top3-reason{font:600 12px/1.55 var(--f);color:var(--mut)}
.map-hantei-note{margin:12px 0 0;font:500 11px/1.65 var(--f);color:#888}
.world-map path{fill:#e8edf2;stroke:#fff;stroke-width:.4;transition:fill .2s}
.world-map path.l1{fill:#d6efe2}.world-map path.l2{fill:#a7ddbf}.world-map path.l3{fill:#5dbb8a}.world-map path.l4{fill:#1f8a55}.world-map path.l5{fill:#0d5c36}
.world-map path.sel{stroke:var(--toru);stroke-width:1.2}
.cat-layer{position:absolute;inset:0;pointer-events:none}
.cat-btn{position:absolute;width:48px;height:48px;margin:-24px 0 0 -24px;border:0;padding:0;background:none;cursor:pointer;pointer-events:auto;z-index:4;transition:left .85s ease,top .85s ease}
.cat-btn img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));animation:cat-bob 1s ease-in-out infinite alternate}
.cat-bubble{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);max-width:240px;width:max-content;padding:7px 9px;border-radius:var(--r);background:#fff;border:1.5px solid var(--earth);font:700 11px/1.45 var(--f);box-shadow:0 4px 12px rgba(37,99,235,.1);pointer-events:none;opacity:0;transition:opacity .25s;writing-mode:horizontal-tb;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;line-clamp:2}
.cat-btn.show-bubble .cat-bubble{opacity:1}
.cat-static{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px;font:600 13px/1.5 var(--f);color:var(--mut)}
.pref-panel{margin-top:16px;border:1.5px solid var(--ink);border-radius:var(--r);padding:16px;background:#fff}
.pref-panel h2{margin:0;font:900 22px/1.25 var(--fd);font-feature-settings:"palt" 1}
.pref-panel .sub{margin:4px 0 0;font:600 13px/1.5 var(--f);color:var(--mut)}
.pref-hot{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.pref-hot li{border-left:3px solid var(--earth);padding:2px 0 2px 10px}
.pref-hot a{font:800 15px/1.45 var(--f)}
.pref-hot small{display:block;color:var(--mut);font:600 12px/1.35 var(--f)}
.pref-more{margin-top:12px}
.pref-more summary{cursor:pointer;font:800 14px/1.4 var(--f);color:var(--earth)}
.bars{display:grid;gap:6px;margin-top:8px}
.bar{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;font:800 14px/1.3 var(--f)}
.bar .t{position:relative;padding:6px 10px;border-radius:var(--r);background:var(--map1);overflow:hidden}
.bar .t i{position:absolute;inset:0;background:var(--map3);opacity:.55;transform-origin:left}
.bar .t span{position:relative;z-index:1}
.sub-card{margin-top:28px;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:#fff;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sub-card b{font:900 17px/1.35 var(--f)}
.sub-card span{font:600 13px/1.6 var(--f);color:var(--mut)}
.sub-card a{padding:10px 16px;border-radius:var(--r);background:var(--earth);color:#fff;font:800 14px/1 var(--f)}
.foot-links{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px}
.foot-links a{display:block;padding:12px 14px;border:1.5px solid var(--earth);border-radius:var(--r);font:800 14px/1.3 var(--f);text-align:center;color:var(--earth)}
.foot-links a.toru{background:linear-gradient(180deg,var(--toru),#f26a00);border-color:#e85f00;color:#fff}
.foot-note{margin-top:16px;font:500 11.5px/1.7 var(--f);color:#888}
.sd-foot{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line)}
.sd-foot .sd-form{margin-top:8px}
@keyframes globe-turn{to{transform:rotate(360deg)}}
@keyframes cloud-drift{to{translate:12px 0}}
@keyframes balloon-float{to{translate:0 -10px}}
@keyframes cat-bob{to{translate:0 -4px}}
@media(prefers-reduced-motion:reduce){.hero-cloud,.hero-balloon,.globe-svg .globe-meridian,.cat-btn img{animation:none!important}.cat-btn{transition:none}}

/* 国が g の時も塗る（10/23） */
.world-map g.l1 path{fill:#d6efe2}.world-map g.l2 path{fill:#a7ddbf}.world-map g.l3 path{fill:#5dbb8a}.world-map g.l4 path{fill:#1f8a55}.world-map g.l5 path{fill:#0d5c36}
.world-map g.sel path,.world-map path.sel{stroke:var(--toru);stroke-width:1.4}
.world-count-badge circle{fill:var(--toru);stroke:#fff;stroke-width:1}
.world-count-t{fill:#fff;font:800 9px/1 var(--f);pointer-events:none}
.world-pick{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.world-pick-h{margin:0 0 8px;font:900 15px/1.35 var(--fd);font-feature-settings:"palt" 1}
.world-pick-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.world-pick-list li{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}
.world-pick-row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 8px;width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}
.world-pick-row.sel{border-color:var(--toru);background:#fff8f0}
.world-pick-row .n{grid-row:1/span 2;font:900 14px/1 var(--f);color:var(--earth)}
.world-pick-row .t{grid-column:2;font:800 15px/1.45 var(--f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.world-pick-row .m{grid-column:2;font:600 12px/1.4 var(--f);color:var(--mut)}
.world-pick-link{grid-column:2;justify-self:end;font:800 12px/1 var(--f);color:var(--earth);padding:6px 8px}
.jp-field-tabs-wrap{margin:0 0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.jp-field-tabs{display:flex;gap:6px;min-width:min-content;padding:2px 0}
.jp-field-tab{flex:0 0 auto;border:1.5px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;font:800 12px/1.2 var(--f);cursor:pointer;color:var(--ink);white-space:nowrap}
.jp-field-tab.sel{border-color:var(--earth);background:#eef4ff;color:var(--earth)}
.jp-hub-layer{position:absolute;inset:0;pointer-events:none;z-index:3}
.jp-hub-pin{position:absolute;margin:-12px 0 0 -10px;border:0;padding:0;background:none;cursor:pointer;pointer-events:auto;font-size:18px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
.jp-hub-pop{position:absolute;z-index:5;max-width:220px;margin-top:4px;transform:translate(-50%,8px);padding:10px 12px;border-radius:var(--r);background:#fff;border:1.5px solid var(--earth);box-shadow:0 6px 16px rgba(0,0,0,.12);font:600 12px/1.55 var(--f);pointer-events:auto}
.jp-hub-pop b{display:block;font:800 13px/1.35 var(--f);margin-bottom:4px}
.jp-hub-pop small{display:block;margin-top:6px;color:var(--mut);font:600 10.5px/1.45 var(--f)}
.jp-map-legend{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:600 11px/1.4 var(--f);color:var(--mut)}
.jp-leg-scale{display:inline-flex;gap:3px;align-items:center}
.jp-leg-scale i{display:inline-block;width:18px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.06)}
.jp-leg-scale .l0{background:var(--map0)}.jp-leg-scale .l1{background:var(--map1)}.jp-leg-scale .l2{background:var(--map2)}.jp-leg-scale .l3{background:var(--map3)}.jp-leg-scale .l4{background:var(--map4)}.jp-leg-scale .l5{background:var(--map5)}
.jp-field-top3{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.jp-top3-h{margin:0 0 8px;font:900 15px/1.35 var(--fd)}
.jp-top3-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.jp-top3-list li{display:grid;gap:4px;font:600 13px/1.5 var(--f)}
.jp-top3-pref{font:800 15px/1.3 var(--f)}
.jp-top3-n{font:700 12px/1 var(--f);color:var(--earth)}
.jp-top3-t a{font:800 14px/1.45 var(--f);color:var(--ink)}
/* 10/23 業種タブが横に長く、地図の箱が画面より広がって地図が大きすぎた。タブは折り返し、地図は高さを抑える */
.maps>*{min-width:0}
.jp-field-tabs-wrap{overflow:visible}
.jp-field-tabs{flex-wrap:wrap;min-width:0}
.mapbox svg.jp-map,.mapbox svg.world-map{max-height:460px;width:100%;margin:0 auto}
@media(max-width:700px){.mapbox svg.jp-map,.mapbox svg.world-map{max-height:380px}}
