/* ─── ナビコンテナ幅解除 ─── */
header nav.gnav,
header nav.gNav {
  /*width: auto !important;
  margin: 0 1% !important;
  position: static !important;*/
}

/* ─── メニューを横並び＆折り返し禁止 ─── */
header nav.gnav ul,
header nav.gNav ul {
  /*display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;*/
  gap: 3rem !important; /* メニュー項目間隔 */
}

/* ─── Tailwind の space-x-* をリセット ─── */
header nav.gnav ul > li,
header nav.gNav ul > li {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ─── 隣接要素のみに間隔を設定 ─── */
header nav.gnav ul > li + li,
header nav.gNav ul > li + li {
  margin-left: -5rem !important; /* お好みで調整 */
}

/* ─── ハンバーガー切り替え ─── */
@media (min-width: 768px) {
  .navBtn {
    display: none !important;
  }
}
@media (max-width: 767px) {
  header nav.gnav,
  header nav.gNav {
    display: none !important;
  }
  header.open nav.gnav,
  header.open nav.gNav,
  body.open nav.gnav,
  body.open nav.gNav {
    display: block !important;
  }
  header.open nav.gnav ul,
  header.open nav.gNav ul,
  body.open nav.gnav ul,
  body.open nav.gNav ul {
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }
  header.open nav.gnav ul > li + li,
  header.open nav.gNav ul > li + li,
  body.open nav.gnav ul > li + li,
  body.open nav.gNav ul > li + li {
    margin-top: 0.75rem !important;
    margin-left: 0 !important;
  }
  .navBtn {
    display: block !important;
  }
}

/* ─── メインビジュアル用オーバーレイ ─── */
.main-visual,
#main-visual {
  position: relative !important;
}

.main-visual::before,
#main-visual::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.4) !important; /* お好みで色・透過率調整 */
  z-index: 2 !important;
}

/* メインビジュアル上のテキストを前面に出す */
.main-visual > *,
#main-visual > * {
  position: relative !important;
  z-index: 3 !important;
}
  }
}
/* ─── SP用ハンバーガー表示 ─── */
@media (max-width: 767px) {
  /* 通常時はナビ非表示&ボタン表示 */
  header nav.gnav,
  header nav.gNav {
    display: none !important;
  }
  .navBtn {
    display: block !important;
    position: fixed !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 1001 !important;
  }
  /* openクラス時に全画面オーバーレイメニューとして表示 */
  body.open header nav.gnav,
  header nav.gnav.open,
  body.open header nav.GNav,
  header nav.gNav.open {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #175F9F !important;
    z-index: 1000 !important;
  }
}