/* ==========================================================================
   モバイルメニュー（2026-09-16 追加）
   1024px以下ではヘッダーのナビゲーションが隠れるため、同じ導線をメニューで出す。
   ヘッダーは position:static（追従しない）なので、パネルは全画面オーバーレイにして
   スクロール位置に依存しないようにしている。
   ========================================================================== */

/* JavaScriptが動く場合のみ表示する（nav-menu.js が hidden を外す） */
.nav-toggle[hidden],
.site-menu[hidden]{display:none!important}

.nav-toggle{display:none}

@media (max-width:1024px){
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;flex:0 0 auto;padding:0;
    background:transparent;border:1px solid rgba(255,255,255,.32);border-radius:999px;
    color:#F5F5F5;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
}
@media (max-width:767.98px){
  .nav-toggle{width:40px;height:40px}
}
.nav-toggle:focus-visible,
.site-menu-close:focus-visible,
.site-menu a:focus-visible{outline:2px solid #FF6900;outline-offset:3px}

.nav-toggle-bars{position:relative;display:block;width:18px;height:12px}
.nav-toggle-bars span{
  position:absolute;left:0;width:100%;height:1.5px;background:currentColor;border-radius:1px;
}
.nav-toggle-bars span:nth-child(1){top:0}
.nav-toggle-bars span:nth-child(2){top:5px}
.nav-toggle-bars span:nth-child(3){top:10px}

.site-menu{
  position:fixed;inset:0;z-index:2000;
  display:flex;flex-direction:column;
  background:#0B0E17;color:#E2E5EB;
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:0 clamp(20px,5%,48px) calc(28px + env(safe-area-inset-bottom,0px));
}
/* 通常のナビゲーションが出る幅では、開いたままでも表示しない */
@media (min-width:1025px){
  .site-menu{display:none!important}
}

.site-menu-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  height:64px;flex:0 0 auto;
}
.site-menu-head img{height:16px;width:auto;display:block}
.site-menu-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;padding:0;
  background:transparent;border:1px solid rgba(255,255,255,.32);border-radius:999px;
  color:#F5F5F5;cursor:pointer;-webkit-tap-highlight-color:transparent;
}

.site-menu-nav{display:flex;flex-direction:column;margin-top:8px}
.site-menu-nav a{
  display:flex;align-items:center;gap:12px;padding:18px 0;
  font:600 16px/1.6 Inter,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  color:#F5F5F5;border-bottom:1px solid rgba(255,255,255,.1);
}
.site-menu-nav a::before{content:"";width:10px;height:1.5px;background:#FF6900;flex:0 0 auto}

.site-menu-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.site-menu-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  height:54px;border-radius:999px;
  font:700 14.5px Inter,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
}
.site-menu-btn-paper{background:#FFFFFF;color:#15171C}
.site-menu-btn-orange{background:#FF6900;color:#FFFFFF}
.site-menu-login{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin-top:10px;padding:10px 0;
  font:500 14px Inter,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  color:#A9AFBC;
}
