.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--bg);
}
header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #FFFBFB;
}
.header-inner { position: static; width: 100%; max-width: 100%; box-sizing: border-box; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
html, body { overflow-x: hidden; }

/* vw→px/clamp に変更（例）*/
.logo-img { padding: 8px 16px; }
.hamburger-container { margin-right: 8px; }
/* 余分なスラッシュ削除 */
.hamburger-container span { background-color: #222; }

.header-inner {
  position: static;
  margin: 0 ;
  align-items: center;
  gap: 16px;
  display: flex;
  justify-content: space-between; /* 左右の要素を分ける */
  align-items: center; /* 縦方向の中央揃え */
  top:0;
  left:0;
  z-index:5;
  width:100%;
  max-width: 100%;
  height:120px;
  background-color: #FFFBFB;
  box-sizing: border-box;

}
/* ロゴ */
.logo {
  display: flex;
  align-items: center;
  gap: 1vw; /* 文字との間隔 */
  text-decoration: none;
  color: #222;
}

.logo-img {
  height: 120px; /* 必要に応じて調整 */
  width: auto;
  padding: 8px 16px;
}

.logo-text {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  letter-spacing: 0.3em;
}

/* 電話＆予約 */
.cta-wrap {
  align-items: flex-end;
}
.cta-area {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 2vw; /* 下段ナビとの間隔 */
}

.tel {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #222;
}

.tel-ic {
  width: 2.5vw; /* 1440px基準で47px */
  height: auto;
}
.tel-num {
  font-size: 27px;
  color: #222;
}

/* 下段：ナビ */
.global-nav ul {
  display: flex;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.global-nav a {
  text-decoration: none;
  color: #222;
}
.global-nav a:hover {
  opacity: 0.5; /* ホバー時に透明度50% */
}
.reserve-btn {
  padding: 8px 14px;
  border: 1.6px solid #222;
  border-radius: 999px;
  color: #222;
  text-decoration: none;
  font-size: 16px;
  border-radius: 8px;
}
.reserve-btn:hover {
  background-color: black; /* 背景色を黒に */
  color: white; /* 文字色を白に */
}

@media (max-width: 764px) {
  .header-inner {
    grid-template-columns: auto 1fr auto; /* 左ロゴ／中央CTA／右ハンバーガー */
  }
  .logo-img {
    height: 90px;
    padding: 4vw;
  }
  .logo {
    gap: 0vw; /* 文字との間隔 */
  }
  .logo-text {
    font-family: "Shippori Mincho", serif;
    font-size: 22px;
    letter-spacing: 0.2em;
  }
  .tel-ic {
    width: 5vw; /* 1440px基準で47px */
    height: auto;
  }

  /* CTAを中央寄せで縦積み */
  .cta-area {
    justify-self: center;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-top: 2vw;
  }
  .tel-num {
    font-size: 20px;
  }
  .reserve-btn {
    font-size: 12px;
    padding: 4px 9px;
    border-radius: 8px;
  }

  /* ナビは閉じた状態に（開閉はJSでmax-heightを切替） */
  .global-nav {
    border-top: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
  }
  .global-nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 8px 16px 16px;
  }
}

/* 全画面オーバーレイ */
.mobile-menu {
  position: fixed;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  background: #fffcfc;
  display: none;
  flex-direction: column;
  transform: translateY(-100%); /* 初期は隠す */
  transition: transform 0.3s ease;
  z-index: 999;
}

/* 表示時 */
.mobile-menu.open {
  transform: translateY(0);
}
.mobile-header {
  display: flex;
  gap:30px;
  margin-top:2vw;
  margin-bottom:15vw;
}

/* リスト調整 */
.mobile-menu ul {  
  align-items: center;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.2rem;
}
.mobile-menu li {
  width: 90%;
  text-align: center;
  padding: 1rem 0;
  border-bottom: 1px solid #222; /* 下線 */
}
.mobile-menu a {
  text-decoration: none;
  color: #222;
}

/* 閉じるボタン */
#closeBtn {
  position: absolute;
  top: 6vw;
  right: 1vw;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1.6px solid #222;
  border-radius: 50%;
  background: transparent;
  margin-right:1vw;
}
.bar1 {
  display: block;
  width: 28px;           /* 横10px */
  height: 1px;           /* 線の太さ */
  background-color: #222;
  transform: rotate(45deg);
}
.bar2{
  display: block;
  width: 28px;           /* 横10px */
  height: 1px;           /* 線の太さ */
  background-color: #222;
  transform: rotate(135deg);
}

/* 背面スクロール禁止 */
body.no-scroll {
  overflow: hidden;
}

.hamburger-container {
  display: none; /* PCでは非表示 */
}

@media (max-width: 764px) {
  .hamburger-container {
    display: block; /* PCでは非表示 */
  }
  .hamburger-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:3px;
    width: 40px;
    height: 40px;
    border: 1.6px solid #222;
    border-radius: 50%;
    background: transparent;
    margin-right:1vw;
  }
  .hamburger-container span {
    display: block;
    width: 15px;           /* 横10px */
    height: 1px;           /* 線の太さ */
    background-color: #222;/
  }
  .mobile-menu{
    display: flex;
  }
}

