:root{
  --header-h: 72px;
}

/* ----------------------------
  FV
---------------------------- */
.tsu-fv{
  padding: 0;
  margin: 0;
}

.tsu-fv__slider{
  width: min(1100px, 92vw);
  height: min(70vh, 640px);
  margin: 0 auto;
  overflow: hidden;
}

.tsu-fv__bg{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

#fv .swiper-pagination{
  bottom: 16px !important;
}

/* ▼ FV スライダー：ページネーション（ドット）の色 */
#fv .swiper-pagination-bullet {
  background: rgba(0, 0, 0, 0.35) !important; /* 通常のドット色 */
  opacity: 1 !important;                      /* Swiper が勝手に薄くするのを無効化 */
}

#fv .swiper-pagination-bullet-active {
  background: #F9F4EA !important;  /* アクティブのドット色（好きな色に変更） */
  opacity: 1 !important;
}

/* SP：FVは全幅寄せ */
@media (max-width: 768px){
  .tsu-fv__slider{
    width: 100%;
    height: 80vh;
    max-height: 780px;
  }
}

/* ----------------------------
  ヘッダーメニュー
---------------------------- */
/* アンカー到達位置のズレ補正（ヘッダー高） */
#fv, #concept, #news, #items, #access, #about{
  scroll-margin-top: var(--header-h);
}

/* Header base */
.site-header.tsu-header{
  background:#fff;
  border-bottom:1px solid #eee;
  height: var(--header-h);
  display:flex;
  align-items:center;
  z-index: 1000;

  /* stickyを基本に、JSで .is-fixed のときだけ fixed にする */
  position: sticky;
  top: 0;

  transition: box-shadow .2s ease, height .2s ease, padding .2s ease;
}

/* fixed（PC想定） */
.site-header.tsu-header.is-fixed{
  position: fixed;
  top: 0; left: 0; right: 0;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

/* 管理バー補正（ログイン時） */
body.admin-bar .site-header.tsu-header.is-fixed{ top:32px; }
@media (max-width:782px){
  body.admin-bar .site-header.tsu-header.is-fixed{ top:46px; }
}

/* header inner container */
.site-header.tsu-header .container{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  width:100%;

  display:flex;
  align-items:center;
  overflow: visible;
  transform: none;
}

/* 店舗名（左） */
.tsu-site-title{
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: #222;
  text-decoration: none;
  letter-spacing: .08em;
  white-space: nowrap;
}
.tsu-site-title__main{ font-size: 1.6rem; }
.tsu-site-title__sub{ font-size: 1.2rem; opacity: .85; }

/* ナビ（右） */
.global-nav{ margin-left: auto; }
.global-nav .menu{
  display:flex;
  justify-content:flex-end;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
}
.global-nav .menu li{ list-style:none; }
.global-nav .menu a{
  display:block;
  padding:12px 8px;
  color:#222;
  text-decoration:none;
  letter-spacing:.08em;
}
.global-nav .menu a:hover{ opacity:.75; }

/* 親テーマ側ヘッダーが残るケースだけ最小限で隠す */
body > header.site-header:not(.tsu-header),
.l-header,
.vk-header,
.gMenu_outer{
  display:none !important;
}

/* ----------------------------
  Hamburger（SP）
---------------------------- */
.nav-toggle{
  display:none; /* PCは非表示 */
}

/* 768px以下：SPレイアウト */
@media (max-width: 768px){

  /* SPではヘッダー帯は固定しない（あなたの意図を維持） */
  .site-header.tsu-header,
  .site-header.tsu-header.is-fixed{
    position: static !important;
    box-shadow: none !important;
  }

  /* スペーサーは不要 */
  #tsu-header-spacer{
    display: none !important;
    height: 0 !important;
  }

  /* タイトルは左、ハンバーガーは右上固定 */
  .site-header.tsu-header .container{
    justify-content: flex-start;
  }
  .tsu-site-title{
    padding-left: 20px; /* 既存踏襲 */
  }

  .nav-toggle{
    display:block;
    position: fixed !important;
    top: 12px;
    right: 16px;
    z-index: 2000;

    width:32px;
    height:24px;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    margin-left: 0;
  }

  .nav-toggle span,
  .nav-toggle::before,
  .nav-toggle::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:2px;
    background:#333;
    border-radius:2px;
    transition:transform .2s ease, top .2s ease, bottom .2s ease, opacity .2s ease;
  }

  .nav-toggle span{ top:50%; transform:translateY(-50%); }
  .nav-toggle::before{ top:4px; }
  .nav-toggle::after{ bottom:4px; }

  /* 開いているときのバツ印 */
  .tsu-header.nav-open .nav-toggle::before{
    top:50%;
    transform:translateY(-50%) rotate(45deg);
  }
  .tsu-header.nav-open .nav-toggle::after{
    bottom:auto;
    top:50%;
    transform:translateY(-50%) rotate(-45deg);
  }
  .tsu-header.nav-open .nav-toggle span{ opacity:0; }

  /* SPメニュー本体：fixed 版に一本化 */
  .tsu-header .global-nav{
    display:none;
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 1500;
    padding: 12px 20px 16px;
    border-bottom: 1px solid #eee;
  }
  .tsu-header.nav-open .global-nav{ display:block; }

  .tsu-header .global-nav .menu{
    display:flex;
    flex-direction: column;
    gap: 8px;
  }

  .tsu-header .global-nav .menu a{
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
  }
  .tsu-header .global-nav .menu li:last-child a{
    border-bottom: none;
  }

  /* WPログイン時（管理バー表示時）の位置調整 */
  body.admin-bar .tsu-header .nav-toggle{
    top: 58px;
  }
  body.admin-bar .tsu-header .global-nav{
    top: 90px;
  }
}

/* ----------------------------
  Instagram link -> icon（PCのみ）
---------------------------- */
.global-nav .menu a[href*="instagram.com"]{
  display: inline-block;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
  overflow: hidden;
  background: url('../img/icon-instagram.svg') no-repeat center;
  background-size: 18px 18px;
  padding: 0 !important;
  margin-top: 8px;
  transition: opacity 0.2s ease;
  border: none;
}
.global-nav .menu a[href*="instagram.com"]:hover{ opacity: 0.7; }
.global-nav .menu li:last-child{ margin-left: 6px; }

/* SPは文字表示に戻す */
@media (max-width: 768px){
  .global-nav .menu a[href*="instagram.com"]{
    text-indent: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 0 !important;
    margin-top: 0;
    background: none !important;
    overflow: visible;
  }
}