/* 768px以下 */
@media (max-width:768px){

  /* フォントほんの少し小さく */
  html{ font-size:200px; }

  /* ヘッダー：PCナビ隠す→ハンバーガー出す→モバイルNav有効化 */
  .pc-nav{ display:none !important; }
  .nav-toggle{ display:flex; }
  .mobile-nav{ display:block; }

  /* TOP：WHATS NEW 縦並び */
  .whatsnew,
  .whatsnew-list,
  .whatsnew-grid,
  .wp-block-query .wp-block-post-template{ display:block !important; }
  .whatsnew .card,
  .whatsnew-list > *,
  .whatsnew-grid > *,
  .wp-block-query .wp-block-post-template > li{
    width:100% !important; margin:0 0 14px 0 !important;
  }

  /* SYSTEM：左右に少し余白 */
  .system-wrap{ padding-left:16px; padding-right:16px; }

  /* rooms/nippori：変更なし（最低限の余白だけ） */
  .rooms-nippori .content{ padding-left:12px; padding-right:12px; }

  /* フッター：法務リンク縦並び */
  .footer-legal{ display:block; }
  .footer-legal a, .footer-legal li{ display:block; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .footer-legal li:last-child{ border-bottom:none; }
}
@media (max-width: 768px){
  /* PCナビを消してハンバーガーを出す */
  .pc-nav{ display:none !important; }
  #navToggle{
    display:flex;
    width:42px; height:42px; align-items:center; justify-content:center;
    margin-left:auto;               /* ロゴ → 右端にハンバーガーの並び */
    border:1px solid rgba(255,255,255,.15);
    border-radius:10px; background:transparent; color:#fff;
  }
  #navToggle .bar{ width:20px; height:2px; background:currentColor; position:relative; display:block; }
  #navToggle .bar::before,#navToggle .bar::after{
    content:""; position:absolute; left:0; width:20px; height:2px; background:currentColor;
  }
  #navToggle .bar::before{ top:-6px; }  #navToggle .bar::after{ top:6px; }

  /* モバイルメニュー本体 */
  .mobile-nav{
    display:block; position:fixed; inset:0; z-index:1000;
    background:rgba(0,0,0,.7); backdrop-filter:blur(4px);
    opacity:0; pointer-events:none; transition:opacity .25s ease;
  }
  .mobile-nav.is-open{ opacity:1; pointer-events:auto; }
  .mobile-nav .panel{
    position:absolute; right:0; top:0; bottom:0; width:min(82vw,360px);
    background:var(--bg); border-left:1px solid rgba(255,255,255,.1);
    padding:18px 16px 24px; overflow:auto;
  }
  .mobile-nav .menu a{
    display:block; padding:12px 6px;
    border-bottom:1px solid rgba(255,255,255,.1); color:var(--text); text-decoration:none;
  }
}
