/* ====== msq_map ページだけ本文とフッターを非表示にする（安全版） ====== */
/* スラッグで限定 */
body.page-slug-msq_map .wp-site-blocks > header,
body.page-slug-msq_map .wp-site-blocks > footer {
  display: none !important;
}

/* 本文の中は一旦全部消す */
body.page-slug-msq_map .wp-block-post-content > * {
  display: none !important;
}

/* ただし #msq-root だけは必ず表示 */
body.page-slug-msq_map #msq-root {
  display: block !important;
}

/* （ページIDでの保険：IDは <body> の class で確認可能） */
body.page-id-11 .wp-site-blocks > header,
body.page-id-11 .wp-site-blocks > footer {
  display: none !important;
}
body.page-id-11 .wp-block-post-content > * {
  display: none !important;
}
body.page-id-11 #msq-root {
  display: block !important;
}

/* ====== ビューポート/ページ設定（横640固定、横スクロール許可） ====== */
html, body{
  margin:0; padding:0;
  background:#000;
  /* 640px 以下では横スクロールを出す仕様ならこのまま */
  min-width:640px;
  overflow-x:auto;
  overflow-y:hidden;
}

/* ====== ルート：固定をやめて “ページ幅” に追従させる ====== */
#msq-root{
  position:fixed;   /* ← 固定でOK（ヘッダー/フッターはz-indexで上） */
  inset:0;
  width:100vw;      /* ← 100% ではなく 100vw / 100vh を使う */
  height:100vh;
  min-width:640px;
  z-index:9990;
  background:#000;
}


#msq-canvas, #gameCanvas{
  position:absolute;
  top:0; left:0;
  width:100vw;      /* ← ここも vw/vh */
  height:100vh;
  display:block;
}


/* 固定ヘッダー／フッターは今まで通りでOK（viewport基準で表示）
   ページが横640pxに広がるので、見切れずに付いてきます */
#msq-header, #msq-footer{
  position: fixed;
  left:0; right:0;
  display:flex; align-items:center; justify-content:space-between;
  background: rgba(0,0,0,.55); color:#fff; padding:10px 20px;
  z-index: 9999; backdrop-filter: blur(6px);
  font-family: "Noto Sans JP", sans-serif;
}
#msq-header{ top:0; }
#msq-footer{ bottom:0; justify-content:center; gap:1.5em; font-size:.9rem; }

#msq-header .menu a, #msq-footer a{ color:#fff; text-decoration:none; opacity:.85; }
#msq-header .menu a:hover, #msq-footer a:hover{ opacity:1; text-decoration:underline; }
#msq-music{ background:transparent; border:1px solid rgba(255,255,255,.5);
            color:#fff; padding:3px 10px; border-radius:6px; cursor:pointer; }
#msq-hint{ position:fixed; left:16px; bottom:48px; color:#fff; opacity:.85;
           font-size:12px; z-index:9999; }