@charset "UTF-8";
/* ============ RSX Pixel — 秋葉原ピクセルアート (トップ・下層共通) ============
   描画は rsx-pixel.js。canvas は論理解像度で描いて整数倍に拡大する(image-rendering:pixelated)。 */
.px-box{position:relative;overflow:hidden;line-height:0}
.px-scene,.px-sprite{display:block;image-rendering:pixelated;image-rendering:crisp-edges;max-width:none !important;-webkit-user-select:none;user-select:none}
.px-scene[data-mode="hero"]{height:228px}.px-scene[data-mode="band"]{height:124px}.px-scene[data-mode="street"]{height:60px}
@media(min-width:900px){.px-scene[data-mode="hero"]{height:342px}.px-scene[data-mode="band"]{height:186px}.px-scene[data-mode="street"]{height:90px}}
@media(min-width:1500px){.px-scene[data-mode="hero"]{height:456px}}

/* トップ: 虹色の雲海に浮かぶ街 */
.px-town{position:relative;z-index:2;margin-top:-150px}
@media(max-width:900px){.px-town{margin-top:-90px}}
@media(max-width:600px){.px-town{margin-top:-50px}}
.px-pin{position:absolute;z-index:3;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono','Share Tech Mono',Consolas,monospace;font-size:.8rem;font-weight:700;letter-spacing:.06em;line-height:1.3;background:#0A3D5C;color:#fff !important;padding:5px 11px 5px 9px;box-shadow:3px 3px 0 #00FF41;white-space:nowrap;text-decoration:none !important;animation:pxbob 1.1s steps(2,jump-none) infinite}
.px-pin::before{content:'';width:8px;height:8px;background:#00FF41;flex-shrink:0}
.px-pin b{color:#00FF41;font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:900}
.px-pin::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:var(--ln,40px);margin-left:-1px;background:repeating-linear-gradient(#0A3D5C 0 4px,transparent 4px 8px)}
.px-pin:hover{background:#0085CA}
@keyframes pxbob{0%{transform:translate(-50%,0)}100%{transform:translate(-50%,-4px)}}
@media (prefers-reduced-motion: reduce){.px-pin{animation:none}}

/* フッター上の歩道 */
.foot.has-px{border-top:0 !important;padding-top:0 !important}
.px-street-box{border-bottom:1.5px solid #0E1B26;margin:0 0 40px}

/* 左下: ジハンキチャン (PCは大きく、スマホは小さめ) */
.jfab{position:fixed !important;left:16px !important;right:auto !important;top:auto !important;bottom:18px !important;z-index:90 !important;width:152px !important;text-decoration:none !important;animation:pxjshake 4.5s infinite;transform-origin:50% 100%;transition:transform .2s}
.jfab:hover{transform:scale(1.05);animation-play-state:paused}
.jfab .win-bar{font-size:.9rem !important;padding:4px 10px !important}
.jfab .win-body{padding:10px 8px 10px !important;text-align:center;line-height:1.3}
.jfab .px-sprite{width:72px;height:108px;margin:0 auto 6px}
.jfab .l{font-size:.95rem;font-weight:900;color:#009A3C}
@keyframes pxjshake{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-5deg)}90%{transform:rotate(5deg)}92%{transform:rotate(-3deg)}94%{transform:rotate(3deg)}96%{transform:rotate(0)}}
/* 右下: 上に戻る (ドット絵のロケット) */
.px-top{position:fixed;right:16px;bottom:18px;z-index:95;width:200px;display:block;text-decoration:none !important;background:#fff;border:2px solid #0A3D5C;box-shadow:6px 6px 0 #0A3D5C;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s,transform .25s,visibility .25s,box-shadow .15s}
.px-top.show{opacity:1;visibility:visible;transform:none}
.px-top.show:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #0A3D5C}
.px-top .bar{display:flex;align-items:center;gap:8px;background:#0A3D5C;color:#fff;font-family:'JetBrains Mono',Consolas,monospace;font-size:.9rem;letter-spacing:.08em;line-height:1.4;padding:4px 10px}
.px-top .bar::before{content:'';width:10px;height:10px;background:#fff;flex-shrink:0}
.px-top .bd{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 16px}
.px-top .px-sprite{width:84px;height:98px}
.px-top .t{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:900;font-size:1.3rem;line-height:1.2;color:#0085CA}
@media (max-width:767px){
  .jfab{width:58px !important;left:8px !important;bottom:10px !important}
  .jfab .win-bar{font-size:.5rem !important;padding:1px 4px !important}
  .jfab .win-bar::before{width:5px !important;height:5px !important}
  .jfab .win-body{padding:4px 2px 4px !important}
  .jfab .px-sprite{width:24px;height:36px;margin:0 auto 2px}
  .jfab .l{font-size:.5rem}
  .px-top{width:64px;right:8px;bottom:10px;box-shadow:3px 3px 0 #0A3D5C;border-width:1.5px}
  .px-top .bar{font-size:.5rem;padding:1px 4px;gap:4px}
  .px-top .bar::before{width:5px;height:5px}
  .px-top .bd{padding:5px 2px 6px;gap:3px}
  .px-top .px-sprite{width:24px;height:28px}
  .px-top .t{font-size:.55rem}
}
@media (prefers-reduced-motion: reduce){.jfab{animation:none}}

/* ピクセルアイコン */
.px-ico{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.22em;margin-right:.35em;background:center/contain no-repeat;image-rendering:pixelated;flex-shrink:0}
.px-ico-printer{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9" shape-rendering="crispEdges"><rect x="0" y="0" width="9" height="1" fill="%230A3D5C"/><rect x="0" y="1" width="1" height="1" fill="%230A3D5C"/><rect x="8" y="1" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="2" width="1" height="1" fill="%230A3D5C"/><rect x="2" y="2" width="5" height="1" fill="%230A3D5C"/><rect x="8" y="2" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="3" width="1" height="1" fill="%230A3D5C"/><rect x="4" y="3" width="1" height="1" fill="%23FF9F1C"/><rect x="8" y="3" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="4" width="1" height="1" fill="%230A3D5C"/><rect x="8" y="4" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="5" width="1" height="1" fill="%230A3D5C"/><rect x="3" y="5" width="3" height="1" fill="%230085CA"/><rect x="8" y="5" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="6" width="1" height="1" fill="%230A3D5C"/><rect x="2" y="6" width="5" height="1" fill="%230085CA"/><rect x="8" y="6" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="7" width="9" height="1" fill="%230A3D5C"/><rect x="0" y="8" width="2" height="1" fill="%230A3D5C"/><rect x="7" y="8" width="2" height="1" fill="%230A3D5C"/></svg>')}
.px-ico-robot{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 8" shape-rendering="crispEdges"><rect x="4" y="0" width="1" height="1" fill="%2300FF41"/><rect x="4" y="1" width="1" height="1" fill="%230085CA"/><rect x="0" y="2" width="9" height="1" fill="%230085CA"/><rect x="0" y="3" width="1" height="1" fill="%230085CA"/><rect x="1" y="3" width="2" height="1" fill="%23FFFFFF"/><rect x="3" y="3" width="3" height="1" fill="%230085CA"/><rect x="6" y="3" width="2" height="1" fill="%23FFFFFF"/><rect x="8" y="3" width="1" height="1" fill="%230085CA"/><rect x="0" y="4" width="1" height="1" fill="%230085CA"/><rect x="1" y="4" width="1" height="1" fill="%23FFFFFF"/><rect x="2" y="4" width="1" height="1" fill="%2300FF41"/><rect x="3" y="4" width="3" height="1" fill="%230085CA"/><rect x="6" y="4" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="4" width="1" height="1" fill="%2300FF41"/><rect x="8" y="4" width="1" height="1" fill="%230085CA"/><rect x="0" y="5" width="9" height="1" fill="%230085CA"/><rect x="0" y="6" width="3" height="1" fill="%230085CA"/><rect x="3" y="6" width="3" height="1" fill="%23FFFFFF"/><rect x="6" y="6" width="3" height="1" fill="%230085CA"/><rect x="0" y="7" width="9" height="1" fill="%230085CA"/></svg>')}

/* ---- 言語切替 (ナビ右 / スマホはMENU内) ---- */
.px-ico-globe{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9" shape-rendering="crispEdges"><rect x="2" y="0" width="5" height="1" fill="%230A3D5C"/><rect x="1" y="1" width="1" height="1" fill="%230A3D5C"/><rect x="2" y="1" width="1" height="1" fill="%230085CA"/><rect x="3" y="1" width="1" height="1" fill="%23FFFFFF"/><rect x="4" y="1" width="2" height="1" fill="%230085CA"/><rect x="6" y="1" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="1" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="2" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="2" width="2" height="1" fill="%230085CA"/><rect x="3" y="2" width="1" height="1" fill="%23FFFFFF"/><rect x="4" y="2" width="2" height="1" fill="%230085CA"/><rect x="6" y="2" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="2" width="1" height="1" fill="%230085CA"/><rect x="8" y="2" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="3" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="3" width="7" height="1" fill="%23FFFFFF"/><rect x="8" y="3" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="4" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="4" width="2" height="1" fill="%230085CA"/><rect x="3" y="4" width="1" height="1" fill="%23FFFFFF"/><rect x="4" y="4" width="2" height="1" fill="%230085CA"/><rect x="6" y="4" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="4" width="1" height="1" fill="%230085CA"/><rect x="8" y="4" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="5" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="5" width="7" height="1" fill="%23FFFFFF"/><rect x="8" y="5" width="1" height="1" fill="%230A3D5C"/><rect x="0" y="6" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="6" width="2" height="1" fill="%230085CA"/><rect x="3" y="6" width="1" height="1" fill="%23FFFFFF"/><rect x="4" y="6" width="2" height="1" fill="%230085CA"/><rect x="6" y="6" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="6" width="1" height="1" fill="%230085CA"/><rect x="8" y="6" width="1" height="1" fill="%230A3D5C"/><rect x="1" y="7" width="1" height="1" fill="%230A3D5C"/><rect x="2" y="7" width="1" height="1" fill="%230085CA"/><rect x="3" y="7" width="1" height="1" fill="%23FFFFFF"/><rect x="4" y="7" width="2" height="1" fill="%230085CA"/><rect x="6" y="7" width="1" height="1" fill="%23FFFFFF"/><rect x="7" y="7" width="1" height="1" fill="%230A3D5C"/><rect x="2" y="8" width="5" height="1" fill="%230A3D5C"/></svg>')}
.nav-lang{position:relative;flex-shrink:0}
.nav-lang-btn{display:inline-flex;align-items:center;gap:2px;font-family:'JetBrains Mono',Consolas,monospace;font-weight:700;font-size:.95rem;color:#0E1B26;background:#fff;border:1.5px solid #0A3D5C;box-shadow:3px 3px 0 #0A3D5C;padding:5px 9px 5px 7px;cursor:pointer;line-height:1.2;border-radius:0}
.nav-lang-btn:hover,.nav-lang.open .nav-lang-btn{background:#EAF6FF}
.nav-lang-btn .px-ico{margin-right:4px}
.nav-lang-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:120;list-style:none;margin:0;padding:0;background:#fff;border:1.5px solid #0A3D5C;box-shadow:5px 5px 0 #0A3D5C;min-width:150px}
.nav-lang-menu::before{content:'LANGUAGE';display:block;background:#0A3D5C;color:#fff;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.08em;padding:3px 10px}
.nav-lang.open .nav-lang-menu{display:block}
.nav-lang-menu li{margin:0;border-bottom:1px dotted #BFDDF0}
.nav-lang-menu li:last-child{border-bottom:0}
.nav-lang-menu button,.nav-lang-row button{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:700;color:#0E1B26;background:none;border:0;cursor:pointer;border-radius:0}
.nav-lang-menu button{display:block;width:100%;text-align:left;font-size:1rem;padding:9px 12px}
.nav-lang-menu button:hover{background:#EAF6FF;color:#0085CA}
.nav-lang-menu button.on::before,.nav-lang-row button.on::before{content:'';display:inline-block;width:8px;height:8px;background:#00FF41;margin-right:8px;vertical-align:1px}
.nav-lang-row{display:none !important}
@media (max-width:900px){
  .nav-lang{display:none}
  .nav-links .nav-lang-row{display:flex !important;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 24px 16px;border-bottom:0 !important}
  .nav-lang-row .lbl{width:100%;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:#5B7186}
  .nav-lang-row button{font-size:.95rem;border:1.5px solid #0A3D5C;box-shadow:2px 2px 0 #0A3D5C;padding:6px 10px;background:#fff}
  .nav-lang-row button.on{background:#EAF6FF}
}
/* GTranslate 標準の浮いている地球儀は使わない(切替はナビから) */
.gt_float_switcher,[id^="gt-wrapper-"]{display:none !important}
