/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-09-16 22:21:28
========================================================= */

/* =========================================================
   Page: header / HEADER ページ
========================================================= */

/* Block: global_header / sec_1782112078518 */
/* =========================================================
   gift tokyo / 共通ヘッダー （参考サイト準拠・温かみ調整版）
   Block: global_header / sec_1782112078518
========================================================= */

:root{
  --gt-accent:#dd4f49;            /* ブランドロゴと同色 */
  --gt-accent-hover:#e8756f;      /* 明るめホバー */
  --gt-header-text:#fffaf3;       /* 温かみのある白 */
  --gt-header-pad-x:40px;
  --gt-header-top:30px;
}

/* ---------- 1) ヘッダー本体：帯をやめて透過オーバーレイに ---------- */
.global-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:1000;
  width:100%;
  min-height:0;
  padding:var(--gt-header-top) var(--gt-header-pad-x) 24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto;
  column-gap:28px;
  row-gap:14px;
  align-items:start;
  background:transparent;
  border-bottom:0;
  backdrop-filter:none;
  pointer-events:none;              /* 帯の余白でクリックを奪わない */
}
.global-header > *{ pointer-events:auto; }

/* 写真が明るくても文字が読めるようにトップだけ薄いスクリム */
.global-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:calc(100% + 70px);   /* ヘッダーの高さに追従させる（H1表示時も覆う） */
  background:linear-gradient(180deg, rgba(16,23,24,.78) 0%, rgba(16,23,24,.42) 40%, rgba(16,23,24,.12) 75%, rgba(16,23,24,0) 100%);
  pointer-events:none;
  z-index:-1;
}

/* ---------- 2) ロゴ（左上・2行ぶち抜き） ---------- */
.header-logo{
  grid-column:1;
  grid-row:1 / 3;
  display:block;
  width:clamp(190px, 17vw, 260px);
  line-height:1;
  font-family:var(--font-en);
  color:var(--gt-accent);
  font-size:20px;
  font-weight:900;
  letter-spacing:.02em;
  white-space:normal;               /* テキストロゴ時のはみ出し防止 */
  word-break:keep-all;              /* 単語の途中で改行させない */
  overflow-wrap:break-word;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));
  transition:opacity .3s var(--ease);
}
.header-logo:hover{ opacity:.75; }
.header-logo img{
  display:block;
  width:100% !important;        /* PHPのインラインstyle(width:auto)を上書き */
  height:auto !important;
  max-height:none !important;   /* 同 max-height:45px を解除 */
  object-fit:contain;
}

/* ---------- 2-b) SEO用H1（h1_title）を右上から左下へ移動 ---------- */
/* blocks.css の .header-page-eyebrow は top:7px/right:20px。
   そのままだとRESERVEボタンと重なるため、ロゴ下のあきスペースへ置き直す。 */
.header-page-eyebrow{
  top:auto;
  right:auto;
  bottom:24px;
  left:var(--gt-header-pad-x);
  max-width:38%;
  font-size:14px;
  font-weight:500;
  letter-spacing:.04em;
  opacity:.82;
  color:var(--gt-header-text);
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}

/* ---------- 3) 右上：言語切替 ＋ TEL ＋ RESERVE ---------- */
.header-btns{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:28px;
}
.btn-header-tel{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--gt-header-text);
  font-family:var(--font-en);
  font-size:20px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
  white-space:nowrap;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
  transition:opacity .3s var(--ease);
}
.btn-header-tel:hover{ opacity:.75; }
.btn-header-tel i{ font-size:17px; color:var(--gt-accent); }

/* 多言語スイッチャー（出力される場合のみ存在） */
.global-header .fc-language-switcher-header{ font-size:14px; }

.global-header .btn-header-reserve{
  border-radius:50px;
  border:1px solid var(--gt-accent);
  background:var(--gt-accent);
  color:#fff;
  font-family:var(--font-en);
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  padding:16px 34px;
  white-space:nowrap;
  transition:.3s var(--ease);
}
.global-header .btn-header-reserve i{ display:none; }   /* 参考サイトに合わせ文字のみ */
.global-header .btn-header-reserve:hover{
  background:var(--gt-accent-hover);
  border-color:var(--gt-accent-hover);
  color:#fff;
}

/* ---------- 4) 右下：ナビを縦組み（参考サイト準拠） ---------- */
.desktop-nav{
  grid-column:3;
  grid-row:2;
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  margin-top:10px;
}
.desktop-nav a{
  color:var(--gt-header-text);
  font-size:15px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.2;
  text-align:right;
  white-space:nowrap;
  position:relative;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
  transition:color .3s var(--ease);
}
.desktop-nav a::after{
  left:auto; right:0;
  bottom:-4px;
  height:1px;
  background:var(--gt-accent);
}
.desktop-nav a:hover{ color:var(--gt-accent); }
.desktop-nav a:hover::after,
.desktop-nav a.active::after{ width:100%; }

/* ---------- 5) スマートフォン（〜992px） ---------- */
@media (max-width:992px){
  .global-header{
    display:grid;
    grid-template-columns:1fr auto auto;
    grid-template-rows:auto;
    align-items:center;
    column-gap:12px;
    min-height:0;
    padding:18px 16px 14px;
  }
  .global-header::before{ height:calc(100% + 55px); }

  .header-logo{
    grid-column:1;
    grid-row:1;
    width:clamp(132px, 42vw, 168px);
    font-size:15px;
  }

  /* TELは下部固定ボタンに任せる。RESERVEだけヘッダーに残す */
  .header-btns{
    display:flex;
    grid-column:2;
    grid-row:1;
    gap:0;
    justify-self:end;
  }
  .btn-header-tel{ display:none; }
  .global-header .btn-header-reserve{
    font-size:14px;
    padding:11px 18px;
    letter-spacing:.06em;
  }

  .desktop-nav{ display:none; }

  .menu-trigger{
    grid-column:3;
    grid-row:1;
    display:inline-flex;
    margin-left:0;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    color:var(--gt-accent);
    font-size:22px;
  }
}

/* ---------- 6) SPドロワー（右からスライドイン） ---------- */
@media (max-width:992px){
  .mobile-nav-overlay{
    inset:0 0 0 auto;
    width:min(280px, 78vw);
    background:rgba(23,27,28,.97);
    backdrop-filter:blur(6px);
    align-items:flex-end;
    justify-content:flex-start;
    gap:0;
    padding:96px 24px calc(28px + env(safe-area-inset-bottom));
    transform:translateX(100%);
    transition:transform .32s var(--ease), opacity .25s ease, visibility .25s ease;
    overflow-y:auto;
  }
  .mobile-nav-overlay.active{ transform:translateX(0); }

  /* ナビ項目（予約ボタン・言語切替は除外） */
  .mobile-nav-overlay a:not(.btn-header-reserve):not(.fc-language-switcher a){
    width:100%;
    text-align:right;
    font-size:16px;
    font-weight:700;
    letter-spacing:.04em;
    color:var(--gt-header-text);
    padding:16px 0;
    border-bottom:1px solid rgba(255,250,243,.14);
    white-space:nowrap;
  }

  /* ドロワー内のRESERVEボタン（PHPが .mobile-reserve-btn で出力） */
  .mobile-nav-overlay .btn-header-reserve{
    width:100%;
    margin-top:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:50px;
    border:1px solid var(--gt-accent);
    background:var(--gt-accent);
    color:#fff;
    font-family:var(--font-en);
    font-size:15px;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1;
    padding:16px 20px;
    white-space:nowrap;
  }
  .mobile-nav-overlay .btn-header-reserve i{ display:none; }

  .mobile-nav-overlay .fc-language-switcher-mobile{ margin:22px 0 0; justify-content:flex-end; }

  .mobile-nav-overlay .menu-trigger{
    top:18px !important;
    right:20px !important;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    color:var(--gt-header-text);
    font-size:22px;
  }
}

/* ---------- 7) 極小画面（〜360px）の折返し対策 ---------- */
@media (max-width:360px){
  .global-header{ padding:16px 12px 12px; column-gap:8px; }
  .header-logo{ width:120px; }
  .global-header .btn-header-reserve{ padding:10px 14px; font-size:14px; }
}


/* =========================================================
   gift tokyo / 共通ヒーロー（下層ページ共通）
   貼り先：global_header ブロックのカスタムCSS（ヘッダーCSSの続き）
   → header ページのCSSは custom.css の先頭に出力され全ページで読まれるため、
      ここに置けば「1箇所直せば全ページ反映」になる。
========================================================= */

:root{
  /* ★★ 共通ヒーローの背景画像：変更するのはこの1行だけ ★★
     画像管理でアップロード → 表示されたパスを url("…") の中に貼る    */
  --gt-hero-img: url("/image/assets/asset_20260916171015_6aaa4ee79d8ea.webp");

  /* ヒーローの覆い（濃くしたい場合は数値を上げる） */
  --gt-hero-veil: linear-gradient(
      180deg,
      rgba(16,23,24,.34) 0%,
      rgba(16,23,24,.48) 52%,
      rgba(28,20,15,.78) 100%);
}

/* ---------- 1) ヒーロー本体 ---------- */
.page-hero-wrapper{
  position:relative;
  min-height:min(62svh, 620px);
  padding:260px 40px 64px;      /* 上＝固定ヘッダーの高さぶん */
  display:flex;
  align-items:flex-end;         /* 見出しを下寄せ（ヘッダーと絶対に重ならない） */
  text-align:left;
  color:var(--text-main);

  /* ★ブロックのインラインstyleを上書きして共通画像に統一する */
  background-image:var(--gt-hero-img) !important;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* 覆いは .ph-overlay の1枚だけにする。
   style.css は ::after と .ph-overlay の2枚を重ねており、二重に暗くなっていた。 */
.page-hero-wrapper::after{ display:none !important; }
.ph-overlay{
  content:"";
  position:absolute;
  inset:0;
  background:var(--gt-hero-veil);
}

/* ---------- 2) 見出し ---------- */
.page-hero-wrapper .ph-container{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  text-align:left;
}
.page-hero-wrapper .ph-title{
  position:relative;
  font-family:var(--font-serif);
  font-size:clamp(28px, 4.2vw, 50px);
  line-height:1.45;
  color:#fffaf3;
  letter-spacing:.12em;
  padding-top:26px;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
  word-break:keep-all;          /* 「店舗情/報」のような割れを防ぐ */
  overflow-wrap:anywhere;
  text-wrap:pretty;             /* 末尾に数文字だけ残る改行を避ける */
}
/* タイトル上のアクセントバー */
.page-hero-wrapper .ph-title::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:52px;
  height:3px;
  background:var(--gt-accent);
}
.page-hero-wrapper .ph-desc{
  margin-top:18px;
  max-width:640px;
  color:#f3e6d2;
  font-size:15px;
  line-height:2;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
  word-break:keep-all;
  overflow-wrap:anywhere;
  text-wrap:pretty;             /* 末尾に数文字だけ残る改行を避ける */
  line-break:strict;
}

/* ---------- 3) スマートフォン（〜992px） ---------- */
@media (max-width:992px){
  .page-hero-wrapper{
    min-height:min(52svh, 420px);
    padding:130px 20px 40px;
  }
  .page-hero-wrapper .ph-title{
    font-size:clamp(22px, 6.2vw, 30px);
    letter-spacing:.08em;
    line-height:1.5;
    padding-top:20px;
  }
  .page-hero-wrapper .ph-title::before{ width:40px; height:2px; }
  .page-hero-wrapper .ph-desc{
    margin-top:14px;
    font-size:14px;
    line-height:1.9;
  }
}

/* ---------- 4) ページ個別に背景を変えたいとき ----------
   そのページのヒーローブロックの「設定 → 背景設定(共通) → セクションの背景画像」で
   指定する。render.php が #sec_id に !important 付きで出すため、共通画像より強い。
   明るさを変えたい場合のみ、そのブロックのカスタムCSSに以下を追記:
       #sec_1785931894365 { --fc-bg-overlay: rgba(16,23,24,.55); }
   ---------------------------------------------------------- */


/* =========================================================
   Page: index / INDEX ページ
========================================================= */

/* Block: hero_main / sec_1782110119323 */
/* =========================================================
   gift tokyo / トップ メインビジュアル（参考サイト gifttokyo.com 準拠）
   貼り先：INDEXページ hero_main ブロック（sec_1782110119323）のカスタムCSS
   構成  ：hero_main（スライド画像・キャッチは管理画面）
          ＋ latest_news_bar（お知らせ管理の最新記事を INFORMATION として重ねる）
========================================================= */

:root{
  --gt-mv-bg:#9a9d9c;          /* ロゴ画像の背景と同じグレー（ロゴの四角が背景に溶け込む） */
  --gt-mv-size:min(677px, 47vw);/* 正方形スライドの一辺 */
  --gt-mv-top:130px;           /* ヘッダーの下からスライド開始 */
  --gt-mv-bottom:80px;
  --gt-mv-side:40px;           /* 左右の余白（ヘッダーと揃える） */
}

/* トップだけヘッダーの暗いグラデーションを外す（参考サイトと同じ素の背景に） */
body:has(.hero-wrapper) .global-header::before{ display:none; }

/* ---------- 1) 土台 ---------- */
.hero-wrapper{
  position:relative;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  padding:var(--gt-mv-top) 0 var(--gt-mv-bottom);
  background:var(--gt-mv-bg) !important;
  overflow:hidden;
}

/* ---------- 2) 背面を流れる大きな英字（参考サイトの GLOCAL…） ---------- */
.hero-wrapper::before{
  content:"GLOCAL . INSPIRE & I (LOVE) . FUN . TECHNOLOGY . GLOCAL . INSPIRE & I (LOVE) . FUN . TECHNOLOGY . ";
  position:absolute;
  z-index:0;
  top:260px;                    /* ヘッダーのナビ（白文字）と重ならない位置から */
  left:0;
  width:max-content;
  font-family:var(--font-en);
  font-size:min(260px, 14vw);   /* INFORMATION（白文字）の上にかからない大きさ */
  font-weight:600;
  line-height:1;
  letter-spacing:-.01em;
  white-space:nowrap;
  color:#fff;
  pointer-events:none;
  animation:gtTick 140s linear infinite;
}
@keyframes gtTick{
  from{ transform:translateX(-50%); }
  to  { transform:translateX(0); }
}

/* ---------- 3) SCROLL 表示（既存の暗いオーバーレイ ::after を転用） ---------- */
.hero-wrapper::after{
  content:"SCROLL";
  inset:auto var(--gt-mv-side) var(--gt-mv-bottom) auto !important;
  z-index:3;
  writing-mode:vertical-rl;
  font-family:var(--font-en);
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  color:#fff;
  padding-bottom:96px;
  background:linear-gradient(#fff,#fff) center bottom / 1px 80px no-repeat !important;
  animation:gtScroll 2.4s ease-in-out infinite;
}
@keyframes gtScroll{
  0%  { background-size:1px 0; background-position:center 16px; }
  50% { background-size:1px 80px; background-position:center bottom; }
  100%{ background-size:1px 0; background-position:center bottom; }
}

/* ---------- 4) 正方形スライド ---------- */
.hero-wrapper .hero-slider{
  position:relative !important;
  inset:auto !important;
  z-index:1;
  width:var(--gt-mv-size) !important;
  height:var(--gt-mv-size) !important;
  margin:0 auto;
  overflow:visible !important;   /* キャッチ・番号を枠の外に出す */
}
.hero-wrapper .hero-slide{ overflow:visible; }
.hero-wrapper .hero-slide-img{ box-shadow:0 30px 60px rgba(0,0,0,.14); }

/* ---------- 5) キャッチコピー（左下・枠からはみ出す配置） ---------- */
.hero-wrapper .hero-slide-caption{
  top:auto !important;
  bottom:0 !important;
  right:auto !important;
  /* スライドは中央寄せなので、画面左端＋余白 の位置まで戻す */
  left:calc((var(--gt-mv-size) - 100vw) / 2 + var(--gt-mv-side)) !important;
  transform:none !important;
  width:min(640px, 46vw);
  padding:0 !important;
  text-align:left !important;
  text-shadow:0 2px 16px rgba(0,0,0,.18) !important;
}
.hero-wrapper .hero-slide-catch{
  font-family:var(--font-sans) !important;
  font-size:30px !important;      /* 管理画面の文字サイズ指定（インライン）より優先 */
  font-weight:700 !important;
  line-height:1.75 !important;
  letter-spacing:.14em !important;
  color:#fff !important;
  margin:0 !important;
  line-break:strict;
  text-wrap:pretty;
  word-break:auto-phrase;
}
.hero-wrapper .hero-slide-sub{
  font-size:15px !important;
  color:#fff !important;
  margin-top:10px !important;
}

/* ---------- 6) 番号付きの縦ライン（スライド2枚以上で表示） ---------- */
.hero-wrapper .hero-slider-dots{
  left:auto !important;
  right:-56px !important;
  bottom:0 !important;
  display:flex;
  flex-direction:column;
  gap:10px !important;
  counter-reset:gtdot;
}
.hero-wrapper .hero-slider-dot{
  counter-increment:gtdot;
  position:relative;
  width:36px !important;
  height:74px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(#fff,#fff) left top / 1px 100% no-repeat !important;
}
.hero-wrapper .hero-slider-dot::after{        /* 番号 01 / 02 / 03 */
  content:counter(gtdot, decimal-leading-zero);
  position:absolute;
  top:0;
  left:10px;
  font-family:var(--font-en);
  font-size:14px;
  line-height:1;
  color:#fff;
}
.hero-wrapper .hero-slider-dot::before{       /* 表示中の進行ライン */
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:0;
  background:var(--gt-accent);
}
.hero-wrapper .hero-slider-dot.is-active::before{ animation:gtDot 5s linear forwards; }
@keyframes gtDot{ to{ height:100%; } }

/* ---------- 7) INFORMATION（latest_news_bar を左下に重ねる） ---------- */
/* ブロック自体は高さ0にして、下のセクションの位置を一切ずらさない */
.hero-wrapper ~ .news-bar-section{
  position:relative !important;
  z-index:5;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  overflow:visible !important;
  opacity:1 !important;
  transform:none !important;
  text-align:left !important;
}
.hero-wrapper ~ .news-bar-section .news-bar-container{
  position:absolute !important;
  left:var(--gt-mv-side) !important;
  bottom:calc(var(--gt-mv-bottom) + 180px) !important;  /* キャッチ3行ぶん上 */
  width:300px !important;
  max-width:none !important;
  margin:0 !important;
}
.hero-wrapper ~ .news-bar-section .news-bar-container::before{
  content:"INFORMATION";
  display:block;
  margin-bottom:10px;
  font-family:var(--font-en);
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1;
  color:var(--gt-accent);
}
/* 参考サイト同様、最新1件だけを表示 */
.hero-wrapper ~ .news-bar-section .news-bar-link:not(:first-child){ display:none !important; }
.hero-wrapper ~ .news-bar-section .news-bar-link{
  position:relative;
  display:block !important;
  padding:0 0 0 20px !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  text-align:left !important;
  color:#fff !important;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
  transition:opacity .3s;
}
.hero-wrapper ~ .news-bar-section .news-bar-link::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--gt-accent);
}
.hero-wrapper ~ .news-bar-section .news-bar-link:hover{ opacity:.75; }
.hero-wrapper ~ .news-bar-section .news-bar-left,
.hero-wrapper ~ .news-bar-section .news-date{
  display:block !important;
  width:100% !important;
  text-align:left !important;
}
.hero-wrapper ~ .news-bar-section .news-badge,
.hero-wrapper ~ .news-bar-section .news-arrow{ display:none !important; }
.hero-wrapper ~ .news-bar-section .news-date{
  display:block;
  font-family:var(--font-en) !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.06em !important;
  color:#fff !important;
}
.hero-wrapper ~ .news-bar-section .news-title{
  width:100% !important;
  margin:2px 0 0 !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  color:#fff !important;
  text-align:left !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  word-break:auto-phrase;       /* 「とし/、」のような文節途中の改行を避ける（対応ブラウザのみ） */
}

/* ---------- 8) 1279px以下：縦積みレイアウト ----------
   横並び（画像の左にキャッチ＋お知らせ）は1280px未満だと文字が重なるため、
   画像 → キャッチ → INFORMATION の縦積みに切り替える。 */
@media (max-width:1279px){
  :root{
    /* 画面が低い端末（iPhone SE等）でも下部の固定ボタンに重ならないよう、高さでも上限を掛ける */
    --gt-mv-size:min(70vw, 460px, calc(100svh - 440px));
    --gt-mv-top:250px;         /* 993〜1279px はPC用ヘッダー（縦ナビ）なのでその下から */
  }
  .hero-wrapper{
    /* 画像＋キャッチ＋お知らせ＋下部固定ボタン分の高さ（画面の高さには依存させない） */
    min-height:calc(var(--gt-mv-top) + var(--gt-mv-size) + 360px) !important;
    padding-bottom:0;
  }
  .hero-wrapper::before{
    top:calc(var(--gt-mv-top) + var(--gt-mv-size) * .32);
    font-size:120px;
    animation-duration:100s;
  }
  .hero-wrapper::after{ display:none; }         /* SCROLL は省略 */

  /* キャッチは画像の下に */
  .hero-wrapper .hero-slide-caption{
    top:calc(100% + 28px) !important;
    bottom:auto !important;
    width:calc(100vw - var(--gt-mv-side) * 2);
  }
  .hero-wrapper .hero-slide-catch{
    font-size:22px !important;
    line-height:1.65 !important;
    letter-spacing:.08em !important;
  }

  .hero-wrapper .hero-slider-dots{ right:-44px !important; gap:6px !important; }
  .hero-wrapper .hero-slider-dot{ width:30px !important; height:40px !important; }

  /* INFORMATION はキャッチの下に */
  .hero-wrapper ~ .news-bar-section .news-bar-container{
    bottom:24px !important;
    right:var(--gt-mv-side) !important;
    width:auto !important;
  }
  /* 画面下の固定ボタン（電話など）が出ているときは、その上に逃がす */
  body.has-floating-actions .hero-wrapper ~ .news-bar-section .news-bar-container{
    bottom:102px !important;
  }
}

/* ---------- 9) スマートフォン・タブレット（〜992px：ヘッダーがスマホ用になる幅） ---------- */
@media (max-width:992px){
  :root{
    --gt-mv-top:96px;
    --gt-mv-side:20px;
  }
  .hero-wrapper::before{ font-size:80px; animation-duration:90s; }
  .hero-wrapper .hero-slide-catch{ font-size:clamp(18px, 5.3vw, 20px) !important; }  /* 360px幅でも3行に収める */
}

/* Block: latest_news_bar / sec_1789562758331 */
/* Izakaya block theme overrides: latest_news_bar, recruit_job_list,
   news_list_grid, news_article_body, concept_split. */
.news-bar-section {
padding: 34px 20px !important;
background: #0b1112 !important;
color: var(--text-main) !important;
}
.news-bar-container {
max-width: 1040px !important;
}
.news-bar-link {
display: grid !important;
grid-template-columns: auto minmax(0, 1fr) auto !important;
gap: 18px !important;
align-items: center !important;
justify-items: center !important;
padding: 18px 22px !important;
background: rgba(255, 255, 255, .045) !important;
border: 1px solid rgba(246, 207, 122, .24) !important;
border-radius: 6px !important;
color: var(--text-main) !important;
box-shadow: 0 14px 34px rgba(0, 0, 0, .18) !important;
}
.news-bar-link + .news-bar-link {
margin-top: 10px !important;
}
.news-bar-link:hover {
background: rgba(246, 207, 122, .08) !important;
border-color: rgba(246, 207, 122, .52) !important;
box-shadow: 0 18px 42px rgba(0, 0, 0, .24) !important;
transform: translateY(-2px) !important;
}
.news-bar-left {
display: inline-flex !important;
align-items: center !important;
gap: 12px !important;
margin-right: 0 !important;
min-width: 0 !important;
justify-content: center !important;
}
.news-badge {
background: var(--vermilion) !important;
color: #fff !important;
border: 1px solid rgba(255, 255, 255, .12) !important;
border-radius: 4px !important;
font-family: var(--font-en) !important;
font-size: 10px !important;
font-weight: 900 !important;
letter-spacing: .12em !important;
padding: 5px 10px !important;
}
.news-date {
color: var(--gold-light) !important;
font-family: var(--font-en) !important;
font-size: 12px !important;
font-weight: 800 !important;
letter-spacing: .08em !important;
}
.news-title {
margin: 0 !important;
color: var(--text-sub) !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 1.8 !important;
text-align: center !important;
}
.news-arrow {
color: var(--gold-light) !important;
}
/* Center alignment patch for latest_news_bar and concept_split. */
.news-bar-section {
text-align: center !important;
}
.news-bar-container {
margin-left: auto !important;
margin-right: auto !important;
}
.news-bar-link {
display: flex !important;
align-items: center !important;
justify-content: center !important;
text-align: center !important;
}
.news-bar-left {
justify-content: center !important;
}
.news-title {
flex: 0 1 auto !important;
text-align: center !important;
}
@media (max-width: 768px) {
  .news-bar-link {
grid-template-columns: 1fr !important;
gap: 10px !important;
padding: 18px !important;
}
  .news-bar-left {
flex-wrap: wrap !important;
}
  .news-bar-link {
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
}
  .news-bar-left,
.news-title {
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
}
}

/* Block: concept_split / sec_1782110303957 */
/* =========================================================
   gift tokyo / トップ ABOUT US（参考サイト #about 準拠）
   貼り先：INDEXページ concept_split ブロック（sec_1782110303957）のカスタムCSS
   ※ セレクタは「.hero-wrapper ~ .concept-section」＝トップページ専用。
      コンセプトページ側の concept_split には影響しません。
========================================================= */

/* ---------- 1) 土台（メインビジュアルと同じグレーで地続きに） ---------- */
.hero-wrapper ~ .concept-section{
  padding:150px 40px 170px !important;
  background:var(--gt-mv-bg, #9a9d9c) !important;
  color:#fff !important;
  text-align:left !important;
}
.hero-wrapper ~ .concept-section .concept-container{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:clamp(40px, 7vw, 110px) !important;
  max-width:1000px !important;
  margin:0 auto !important;
}

/* ---------- 2) テキスト ---------- */
.hero-wrapper ~ .concept-section .concept-content{
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:560px !important;
  padding:0 !important;
  text-align:left !important;
}

/* 英字ラベル（管理画面「セクションタイトル」＝ABOUT US） */
.hero-wrapper ~ .concept-section .concept-content p.concept-eyebrow{
  position:relative;
  margin:25px 0 0 !important;
  font-family:var(--font-en) !important;
  font-size:19px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  color:var(--gt-accent, #dd4f49) !important;
  text-align:left !important;
}
.hero-wrapper ~ .concept-section .concept-content p.concept-eyebrow::before{
  content:"";
  position:absolute;
  top:-25px;
  left:0;
  width:26px;
  height:3px;
  background:var(--gt-accent, #dd4f49);
}

/* 見出し */
.hero-wrapper ~ .concept-section .concept-content h2.concept-title{
  margin:32px 0 30px !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(24px, 2.6vw, 36px) !important;
  font-weight:700 !important;
  line-height:1.55 !important;
  letter-spacing:.06em !important;
  color:#fff !important;
  text-align:left !important;
  word-break:auto-phrase;       /* 文節の途中で改行しない（対応ブラウザ） */
  text-wrap:pretty;
}

/* 本文 */
.hero-wrapper ~ .concept-section .concept-content p.concept-text{
  margin:0 !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:2.1 !important;
  letter-spacing:.04em !important;
  color:#fff !important;
  text-align:left !important;
  word-break:auto-phrase;
  text-wrap:pretty;
}

/* ボタン（管理画面「ボタンテキスト＋リンク先」があるときだけ出る） */
.hero-wrapper ~ .concept-section .fc-block-btn-wrap{ margin-top:40px !important; text-align:left !important; }
.hero-wrapper ~ .concept-section .fc-block-btn{
  min-height:0 !important;
  padding:17px 46px 17px 36px !important;
  border:1px solid #fff !important;
  border-radius:50px !important;
  background:transparent !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  box-shadow:none !important;
  position:relative;
  transition:background .3s, border-color .3s !important;
}
.hero-wrapper ~ .concept-section .fc-block-btn::after{   /* → 矢印 */
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:7px;
  height:7px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
  transition:right .3s;
}
.hero-wrapper ~ .concept-section .fc-block-btn:hover{
  background:var(--gt-accent, #dd4f49) !important;
  border-color:var(--gt-accent, #dd4f49) !important;
}
.hero-wrapper ~ .concept-section .fc-block-btn:hover::after{ right:18px; }

/* ---------- 3) 写真（縦長・角を欠いたシルエット） ---------- */
.hero-wrapper ~ .concept-section .concept-img-wrapper{
  flex:0 0 clamp(300px, 32vw, 400px) !important;
  width:clamp(300px, 32vw, 400px) !important;
  aspect-ratio:3 / 4;
  position:relative !important;
  overflow:hidden !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* 右上・左下を背景色の四角で欠く（参考サイトの形） */
.hero-wrapper ~ .concept-section .concept-img-wrapper::before,
.hero-wrapper ~ .concept-section .concept-img-wrapper::after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  width:80px !important;
  height:90px !important;
  inset:auto !important;
  border:0 !important;
  background:var(--gt-mv-bg, #9a9d9c) !important;
  pointer-events:none;
}
.hero-wrapper ~ .concept-section .concept-img-wrapper::before{ top:0 !important; right:0 !important; }
.hero-wrapper ~ .concept-section .concept-img-wrapper::after { bottom:0 !important; left:0 !important; }

.hero-wrapper ~ .concept-section .concept-img-wrapper img,
.hero-wrapper ~ .concept-section .concept-img-wrapper video{
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  filter:none !important;
}

/* スクロールに合わせて写真がゆっくり動く（参考サイトのパララックス。対応ブラウザのみ） */
@supports (animation-timeline: view()){
  .hero-wrapper ~ .concept-section .concept-img-wrapper img{
    scale:1.18;
    animation:gtAboutParallax linear both;
    animation-timeline:view();
  }
  @keyframes gtAboutParallax{
    from{ translate:0 -7%; }
    to  { translate:0 7%; }
  }
}
@media (prefers-reduced-motion: reduce){
  .hero-wrapper ~ .concept-section .concept-img-wrapper img{ animation:none; }
}

/* ---------- 4) タブレット（〜992px） ---------- */
@media (max-width:992px){
  .hero-wrapper ~ .concept-section{ padding:110px 32px 120px !important; }
  .hero-wrapper ~ .concept-section .concept-container{ gap:40px !important; }
  .hero-wrapper ~ .concept-section .concept-img-wrapper{
    flex-basis:clamp(240px, 34vw, 320px) !important;
    width:clamp(240px, 34vw, 320px) !important;
  }
}

/* ---------- 5) スマートフォン（〜768px）：テキスト → 写真 の縦積み ---------- */
@media (max-width:768px){
  .hero-wrapper ~ .concept-section{ padding:90px 20px 100px !important; }
  .hero-wrapper ~ .concept-section .concept-container{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:48px !important;
  }
  .hero-wrapper ~ .concept-section .concept-content{ max-width:none !important; }
  .hero-wrapper ~ .concept-section .concept-content p.concept-eyebrow{ font-size:17px !important; }
  .hero-wrapper ~ .concept-section .concept-content h2.concept-title{
    margin:28px 0 22px !important;
    font-size:clamp(20px, 5.6vw, 24px) !important;
  }
  .hero-wrapper ~ .concept-section .concept-content p.concept-text{
    font-size:14px !important;
    line-height:2 !important;
  }
  .hero-wrapper ~ .concept-section .fc-block-btn-wrap{ margin-top:32px !important; }

  .hero-wrapper ~ .concept-section .concept-img-wrapper{
    flex:none !important;
    width:78% !important;
    max-width:360px !important;   /* タブレット縦で写真が大きくなりすぎないように */
    margin-left:auto !important;
  }
  .hero-wrapper ~ .concept-section .concept-img-wrapper::before,
  .hero-wrapper ~ .concept-section .concept-img-wrapper::after{
    width:40px !important;
    height:45px !important;
  }
}

/* Block: store_info / sec_1785931790498 */
/* 店舗概要パーツ（⑨ store_info） */
.store-info-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.store-info-container {max-width: 1080px; margin: 0 auto;}
.store-info-header {max-width: 820px; margin: 0 auto 34px; text-align: center;}
.store-info-title {font-family: 'Shippori Mincho', serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: 0.1em; color: var(--gold-light); margin: 0 0 12px;}
.store-info-desc {font-size: 14px; line-height: 1.9; color: #e0c8a0; margin: 0;}
.store-info-layout {display: block;}
.store-info-layout.has-image {display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: start;}
.store-info-table {width: 100%; border-collapse: collapse;}
.store-info-table th, .store-info-table td {padding: 16px 4px; border-bottom: 1px solid rgba(255,255,255,0.10); text-align: left; vertical-align: top; font-size: 14px; line-height: 1.8;}
.store-info-table th {width: 128px; color: var(--gold); font-weight: 800; white-space: nowrap;}
.store-info-table td {color: var(--text-sub);}
.store-info-image {width: 100%;}
.store-info-image img {width: 100%; height: 100%; max-height: 420px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line);}
@media (max-width: 768px) {
  .store-info-section {padding: 64px 15px;}
  .store-info-layout.has-image {grid-template-columns: 1fr; gap: 24px;}
  .store-info-image {order: -1;}
  .store-info-table th {width: 96px; font-size: 13px;}
  .store-info-table td {font-size: 13px;}
}


/* =========================================================
   Page: menu / MENU ページ
========================================================= */

/* Block: menu_category_grid / sec_1785931898698 */
.menu-main-title {font-family: 'Shippori Mincho', serif; font-size: 26px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.1em; margin-bottom: 15px;}
.menu-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
.menu-grid-section {padding: 100px 20px; background: #101718; color: #fff7ea; display: block !important; height: auto !important; max-height: none !important; overflow: visible !important; opacity: 1 !important; transform: none !important;}
.menu-section-header {text-align: center; margin-bottom: 60px;}
.menu-main-title {font-family: 'Montserrat', 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.15em; margin: 0 0 15px 0;}
.menu-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
.menu-cat-container {max-width: 1000px; margin: 0 auto; height: auto !important; max-height: none !important; overflow: visible !important;}
.menu-cat-block {margin-bottom: 80px; height: auto !important; max-height: none !important; overflow: visible !important;}
.menu-cat-header {margin-bottom: 30px; border-bottom: 1px solid rgba(246,207,122,0.22); padding-bottom: 15px;}
.menu-cat-name {font-family: 'Shippori Mincho', serif; font-size: 22px; font-weight: 700; color: #f6cf7a; margin: 0 0 10px 0; letter-spacing: 0.05em;}
.menu-cat-desc {font-size: 13px; color: #e0c8a0; line-height: 1.6; margin: 0;}
.menu-items-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(450px, 1fr)); gap: 30px; height: auto !important; max-height: none !important; overflow: visible !important;}
.menu-item-card {display: flex; gap: 20px; background: rgba(255,255,255,0.06); color: #fff7ea; padding: 20px; border-radius: 8px; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); transition: transform 0.3s ease, box-shadow 0.3s ease;}
.menu-item-card.no-image {display: grid; grid-template-columns: 1fr; padding: 14px 0; background: transparent; border: 0; border-bottom: 1px solid rgba(246,207,122,0.18); border-radius: 0; box-shadow: none;}
.menu-item-card.no-image:hover {transform: none; box-shadow: none;}
.menu-item-card.no-image .mi-info {display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 18px; row-gap: 4px; align-items: baseline;}
.menu-item-card.no-image .mi-title {grid-column: 1; margin: 0; font-size: 15px; line-height: 1.6;}
.menu-item-card.no-image .mi-text {grid-column: 1 / -1; margin: 0; font-size: 12px;}
.menu-item-card.no-image .mi-meta {grid-column: 2; grid-row: 1; display: block; margin: 0; padding: 0; border: 0;}
.menu-item-card.no-image .mi-price {margin: 0; white-space: nowrap; text-align: right;}
.menu-item-card.no-image .price-in {font-size: 15px;}
.menu-item-card:hover {transform: translateY(-3px); box-shadow: 0 12px 35px rgba(246, 207, 122, 0.16);}
.mi-img-box {width: 120px; aspect-ratio: 4 / 3; height: auto; flex-shrink: 0; border-radius: 8px; overflow: hidden; position: relative; background: #172526;}
.mi-img-box img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}
.menu-item-card:hover .mi-img-box img {transform: scale(1.05);}
.mi-sold-out {position: absolute; inset: 0; background: rgba(0,0,0,0.5); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: bold; font-size: 14px; letter-spacing: 0.1em; z-index: 2;}
.mi-info {flex: 1; display: flex; flex-direction: column;}
.mi-title {font-family: 'Shippori Mincho', serif; font-size: 16px; font-weight: 700; color: #fff7ea; margin: 0 0 8px 0; line-height: 1.4;}
.mi-text {font-size: 12px; color: #e0c8a0; line-height: 1.6; margin: 0 0 15px 0; flex-grow: 1;}
.mi-meta {display: flex; justify-content: space-between; align-items: flex-end; border-top: 1px dashed rgba(246,207,122,0.22); padding-top: 12px;}
.mi-duration {font-size: 11px; color: #a79578; font-family: 'Montserrat', 'Noto Sans JP', sans-serif;}
.mi-price {text-align: right;}
.section-header, .menu-section-header, .slf-header, .course-list-header, .news-section-header, .job-section-header, .contact-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.section-header h2, .menu-main-title, .slf-main-title, .course-list-title, .news-main-title, .job-main-title, .contact-main-title {
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  color: var(--gold-light);
  letter-spacing: .12em;
  font-weight: 800;
}
.section-header p, .menu-sub-text, .slf-sub-text, .course-list-desc, .news-sub-text, .job-sub-text, .contact-sub-text {
  margin-top: 14px;
  color: var(--text-sub);
  font-size: 14px;
  line-height: 2;
}
@media (max-width: 768px) {
  .menu-main-title {font-size: 22px;}
  .menu-grid-section {padding: 60px 15px;}
  .menu-main-title {font-size: 24px;}
  .menu-items-grid {grid-template-columns: 1fr; gap: 20px;}
  .menu-item-card {padding: 15px; gap: 15px;}
  .mi-img-box {width: 100px; height: 100px;}
  .mi-title {font-size: 15px;}
}


/* =========================================================
   Page: seats / SEATS ページ
========================================================= */

/* Block: image_grid / sec_1785932185748 */
/* 画像挿入パーツ（⑦ image_grid） */
.image-grid-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.image-grid-container {max-width: 1120px; margin: 0 auto;}
.image-grid-header {max-width: 820px; margin: 0 auto 34px; text-align: center;}
.image-grid-title {font-family: 'Shippori Mincho', serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: 0.1em; color: var(--gold-light); margin: 0 0 12px;}
.image-grid-desc {font-size: 14px; line-height: 1.9; color: #e0c8a0; margin: 0;}
.image-grid {display: grid; gap: 16px;}
.image-grid-pc-2 {grid-template-columns: repeat(2, 1fr);}
.image-grid-pc-3 {grid-template-columns: repeat(3, 1fr);}
.image-grid-pc-4 {grid-template-columns: repeat(4, 1fr);}
.image-grid-item {overflow: hidden;}
.image-grid-item img {display: block; width: 100%; height: auto;}
/* 画像の形（CSSで調整可能） */
.image-grid-shape-square .image-grid-item img {aspect-ratio: 1 / 1; height: auto; object-fit: cover;}
.image-grid-shape-circle .image-grid-item img {aspect-ratio: 1 / 1; height: auto; object-fit: cover; border-radius: 999px;}
.image-grid-shape-rounded .image-grid-item img {border-radius: 12px;}
.image-grid-shape-free .image-grid-item img {border-radius: 0;}
.image-grid-empty {text-align: center; color: var(--text-sub); font-size: 13px; padding: 40px 20px; border: 1px dashed var(--line); border-radius: 8px;}
@media (max-width: 768px) {
  .image-grid-section {padding: 64px 15px;}
  .image-grid {gap: 12px;}
  .image-grid-sp-1 {grid-template-columns: 1fr;}
  .image-grid-sp-2 {grid-template-columns: repeat(2, 1fr);}
}


/* =========================================================
   Page: access / アクセス
========================================================= */

/* Block: store_info / sec_1785932333583 */
/* 店舗概要パーツ（⑨ store_info） */
.store-info-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.store-info-container {max-width: 1080px; margin: 0 auto;}
.store-info-header {max-width: 820px; margin: 0 auto 34px; text-align: center;}
.store-info-title {font-family: 'Shippori Mincho', serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: 0.1em; color: var(--gold-light); margin: 0 0 12px;}
.store-info-desc {font-size: 14px; line-height: 1.9; color: #e0c8a0; margin: 0;}
.store-info-layout {display: block;}
.store-info-layout.has-image {display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: start;}
.store-info-table {width: 100%; border-collapse: collapse;}
.store-info-table th, .store-info-table td {padding: 16px 4px; border-bottom: 1px solid rgba(255,255,255,0.10); text-align: left; vertical-align: top; font-size: 14px; line-height: 1.8;}
.store-info-table th {width: 128px; color: var(--gold); font-weight: 800; white-space: nowrap;}
.store-info-table td {color: var(--text-sub);}
.store-info-image {width: 100%;}
.store-info-image img {width: 100%; height: 100%; max-height: 420px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line);}
@media (max-width: 768px) {
  .store-info-section {padding: 64px 15px;}
  .store-info-layout.has-image {grid-template-columns: 1fr; gap: 24px;}
  .store-info-image {order: -1;}
  .store-info-table th {width: 96px; font-size: 13px;}
  .store-info-table td {font-size: 13px;}
}

/* Block: gmap / sec_1785932342748 */
.gmap-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.gmap-container {max-width: 1080px; margin: 0 auto;}
.gmap-header {max-width: 820px; margin: 0 auto 34px; text-align: center;}
.gmap-title {font-family: 'Shippori Mincho', serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: 0.1em; color: var(--gold-light); margin: 0 0 12px;}
.gmap-desc {font-size: 14px; line-height: 1.9; color: #e0c8a0; margin: 0;}
.gmap-frame-wrap {position: relative; width: 100%; aspect-ratio: 16 / 9; min-height: 320px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--bg-paper);}
.gmap-frame-wrap iframe {position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.12) contrast(.97);}
.gmap-placeholder {position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; color: var(--text-sub); font-size: 13px;}
@media (max-width: 768px) {.gmap-section {padding: 64px 15px;} .gmap-frame-wrap {aspect-ratio: 4 / 3; min-height: 260px;}}


/* =========================================================
   Page: concept / コンセプト
========================================================= */

/* Block: concept_split / sec_1785932067548 */
.concept-section {
padding: 104px 20px !important;
background: var(--bg-warm) !important;
color: var(--ink) !important;
}
.concept-container {
max-width: 1120px !important;
display: grid !important;
grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr) !important;
gap: 58px !important;
align-items: center !important;
}
.concept-container.concept-reverse {
grid-template-columns: minmax(320px, 1.08fr) minmax(0, .92fr) !important;
}
.concept-container.concept-reverse .concept-content {
order: 2 !important;
}
.concept-container.concept-reverse .concept-img-wrapper {
order: 1 !important;
}
.concept-content {
width: auto !important;
position: relative !important;
padding-left: 0 !important;
display: block !important;
text-align: center !important;
}
.concept-content::before {
display: none !important;
}
.concept-title,
.concept-content h2,
.concept-content h3 {
margin: 0 0 24px !important;
color: #152020 !important;
font-family: var(--font-serif) !important;
font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
line-height: 1.55 !important;
letter-spacing: .1em !important;
font-weight: 900 !important;
}
.concept-text,
.concept-content p {
color: #354342 !important;
font-size: 15px !important;
line-height: 2.15 !important;
letter-spacing: .03em !important;
text-align: center !important;
}
.concept-img-wrapper {
width: auto !important;
position: relative !important;
border-radius: 6px !important;
overflow: hidden !important;
box-shadow: 0 24px 60px rgba(16, 23, 24, .22) !important;
background: #172526 !important;
}
.concept-img-wrapper::before {
content: "" !important;
position: absolute !important;
inset: 14px !important;
border: 1px solid rgba(246, 207, 122, .46) !important;
z-index: 2 !important;
pointer-events: none !important;
}
.concept-img-wrapper img,
.concept-img-wrapper video {
width: 100% !important;
height: 100% !important;
aspect-ratio: 4 / 3 !important;
object-fit: cover !important;
filter: saturate(1.06) contrast(1.03) !important;
}
.concept-section {
text-align: center !important;
}
.concept-container {
margin-left: auto !important;
margin-right: auto !important;
}
.concept-content {
padding-left: 0 !important;
text-align: center !important;
}
.concept-content::before {
display: none !important;
}
.concept-title,
.concept-content h2,
.concept-content h3,
.concept-text,
.concept-content p {
text-align: center !important;
}
@media (max-width: 768px) {
  .concept-section,
.job-list-section,
.news-list-grid-section,
.news-article-body-section {
padding: 70px 15px !important;
}
  .concept-container,
.concept-container.concept-reverse {
grid-template-columns: 1fr !important;
gap: 32px !important;
}
  .concept-container.concept-reverse .concept-content,
.concept-container.concept-reverse .concept-img-wrapper {
order: initial !important;
}
  .concept-content {
padding-left: 18px !important;
}
  .concept-content {
padding-left: 0 !important;
}
}


/* =========================================================
   Page: footer / FOOTER ページ
========================================================= */

/* Block: global_footer / sec_1782112173284 */
/* =============================================================
   シンプルフッター（ナビ ＋ 店名/ロゴ ＋ コピーライト のみ）
   ============================================================= */

/* 1) 店舗情報・決済アイコン・Googleマップをまとめて非表示 */
.global-footer .info-grid { display: none; }

/* 2) フッターナビを表示する（style.css の display:none を上書き） */
.global-footer .footer-nav-wrap {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

/* 3) 全体の余白を締める */
.global-footer {
  padding: 40px 20px 32px;
}

/* 4) ナビゲーション */
.global-footer .footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 32px;
}
.global-footer .footer-nav-link {
  color: var(--text-sub);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: color 0.3s var(--ease);
}
.global-footer .footer-nav-link:hover {
  color: var(--gold-light);
}

/* 5) 店名（区切り線は入れず、余白だけで分ける） */
.global-footer .footer-nav-brand {
  margin-top: 22px;
  width: 100%;
}
.global-footer .footer-nav-brand h2 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 1.5;
  color: var(--gold-light);
}

/* 6) コピーライト（</footer> の外側の div なので .global-footer を前置しない） */
.footer-copy-text {
  padding: 16px 20px;
  font-size: 11px;
  letter-spacing: 0.04em;
}

/* 7) スマートフォン */
@media (max-width: 768px) {
  .global-footer { padding: 32px 16px 24px; }
  .global-footer .footer-nav { gap: 10px 20px; }
  .global-footer .footer-nav-link { font-size: 12px; }
  .global-footer .footer-nav-brand { margin-top: 18px; }
  .global-footer .footer-nav-brand h2 { font-size: 20px; }
}
