/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-08-26 18:06:17
========================================================= */

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

/* Block: global_header / sec_1782112078518 */
/* ===== 正本標準ヘッダー（1段・grid 3カラム）＝レイアウトの土台 ===== */
/* ⑬ ページH1見出しの右上・控えめ表示（ヘッダー内に絶対配置。これがページ唯一の<h1>） */
.header-page-eyebrow { position: absolute; top: 7px; right: 20px; margin: 0; font-size: 11px; line-height: 1.4; letter-spacing: 0.03em; opacity: 0.6; font-weight: 400; max-width: 58%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
.global-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  min-height: 78px;
  padding: 14px 34px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: center;
  background: rgba(16, 23, 24, .88);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.header-logo {
  font-family: var(--font-serif);
  color: var(--gold-light);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .14em;
  white-space: nowrap;
}
.header-logo img { max-height: 46px; width: auto; object-fit: contain; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: 22px; }
.desktop-nav a {
  color: var(--text-on-dark-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  position: relative;
  white-space: nowrap;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 1px;
  background: var(--gold-light);
  transition: width .25s ease;
}
.desktop-nav a:hover::after,
.desktop-nav a.active::after { width: 100%; }
.header-btns { display: flex; align-items: center; gap: 12px; }
.btn-header-tel { color: var(--text-on-dark); font-weight: 800; font-size: 13px; }
.btn-header-reserve {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 4px;
  border: 1px solid var(--fc-btn-border);
  background: var(--fc-btn-bg);
  color: var(--fc-btn-fg);
  font-weight: 800;
  padding: 12px 22px;
  cursor: pointer;
}
.btn-header-reserve:hover {
  background: var(--fc-btn-bg-hover);
  border-color: var(--fc-btn-bg-hover);
  color: var(--fc-btn-fg-hover);
}
.menu-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--gold-light);
  width: 42px;
  height: 42px;
  border-radius: 4px;
}
.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(16, 23, 24, .96);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.mobile-nav-overlay.active { opacity: 1; visibility: visible; }
.mobile-nav-overlay a { font-size: 18px; color: var(--text-main); }
@media (max-width: 992px) {

  .global-header { display: flex; min-height: 68px; padding: 12px 18px; }
  .desktop-nav,
.header-btns { display: none; }
  .menu-trigger { display: inline-flex; margin-left: auto; }
  .header-logo { font-size: 18px; }
}

/* ===== GOBBL'IN 固有の配色・装飾（2段バー用の配置指定は除去済み） ===== */
.global-header {
  background:
    linear-gradient(180deg, rgba(20, 16, 12, .96), rgba(14, 24, 20, .94)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 9px) !important;
  border-bottom: 3px solid #d9a323 !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px) !important;
}

.global-header::before, .global-header::after {
  display: none !important;
}

.header-logo {
  align-self: center !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  text-shadow: 2px 2px 0 rgba(107, 20, 18, .9) !important;
}

.header-logo img {
  max-height: 58px !important;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .34)) !important;
}

.desktop-nav {
  justify-content: flex-start !important;
  gap: clamp(18px, 2.1vw, 34px) !important;
  min-width: 0 !important;
}

.desktop-nav a {
  color: #f7e6be !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.desktop-nav a::after {
  bottom: -10px !important;
  height: 3px !important;
  background: #d9a323 !important;
  box-shadow: 0 0 0 1px rgba(107, 20, 18, .4) !important;
}

.desktop-nav a:hover, .desktop-nav a.active {
  color: #ffc940 !important;
}

.header-btns {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}

.header-btns a:not(.btn-header-tel):not(.btn-header-reserve), .header-btns button:not(.btn-header-reserve), .header-lang, .language-switcher a, .lang-switch a, .fc-language-switcher-header a {
  min-height: 42px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid rgba(255, 242, 207, .28) !important;
  border-radius: 999px !important;
  background: rgba(255, 242, 207, .04) !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

.header-btns a:not(.btn-header-tel):not(.btn-header-reserve):first-child, .header-lang.is-active, .language-switcher a.is-active, .lang-switch a.is-active, .fc-language-switcher-header a.is-active {
  border-color: #d9a323 !important;
  background: #d9a323 !important;
  color: #21160d !important;
}

.btn-header-tel {
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.btn-header-reserve {
  min-height: 44px !important;
  padding: 10px 24px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 5px 5px 0 #6b1412 !important;
}

.btn-header-reserve:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  border-color: #fff0a6 !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 #6b1412 !important;
}

.menu-trigger {
  width: 46px !important;
  height: 46px !important;
  border: 2px solid #d9a323 !important;
  border-radius: 4px !important;
  background: rgba(255, 201, 64, .08) !important;
  color: #ffc940 !important;
}

.mobile-nav-overlay {
  background:
    linear-gradient(rgba(12, 28, 23, .96), rgba(12, 28, 23, .96)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
}

.mobile-nav-overlay a {
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.mobile-nav-overlay a:hover {
  color: #ffc940 !important;
}

@media (max-width: 992px) {
.global-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    min-height: 70px !important;
    padding: 12px 18px !important;
  }

.desktop-nav {
    display: none !important;
  }

.header-logo {
    font-size: 18px !important;
    max-width: calc(100vw - 90px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

.header-logo img {
    max-height: 46px !important;
  }

.menu-trigger {
    display: inline-flex !important;
    margin-left: auto !important;
  }

}

@media (max-width: 480px) {
.global-header {
    min-height: 66px !important;
    padding: 10px 14px !important;
  }

.header-logo {
    font-size: 16px !important;
    letter-spacing: .05em !important;
  }

.menu-trigger {
    width: 42px !important;
    height: 42px !important;
  }

}

/* ===== スマホ・タブレット時の調整（必ず末尾に置くこと） =====
   .header-btns はトップレベルで display:flex !important が指定されているため、
   メディアクエリでも「後に書く」必要がある（@media は詳細度を上げない）。
   ヘッダー右の電話/予約ボタンを隠す。電話は画面下部の固定ボタンから掛けられる。 */
@media (max-width: 992px) {
  .header-btns { display: none !important; }
}


/* =========================================================
   Page: index / TOP
========================================================= */

/* Block: hero_main / sec_1782110119323 */
/* =========================================================
   hero_main に貼るCSS
========================================================= */
.hero-wrapper {
  height: min(82svh, 820px) !important;
  min-height: 600px !important;
  background: #100b08 !important;
  border-bottom: 5px solid #d9a323 !important;
}

.hero-img-window,
.hero-img-window img,
.hero-img-window video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.hero-img-window img,
.hero-img-window video {
  filter: saturate(1.14) contrast(1.08) brightness(.88) !important;
  transform: scale(1.01) !important;
}

.hero-wrapper::before {
  content: "GOBBL'IN BURGER&GRILL" !important;
  position: absolute !important;
  left: clamp(18px, 5vw, 72px) !important;
  bottom: clamp(36px, 8vw, 92px) !important;
  z-index: 2 !important;
  max-width: min(980px, 88vw) !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2.8rem, 7.2vw, 6rem) !important;
  font-weight: 900 !important;
  line-height: .9 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  text-shadow: 5px 5px 0 #6b1412, 0 18px 36px rgba(0,0,0,.55) !important;
  pointer-events: none !important;
}

.hero-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(12,8,5,0.344) 0%, rgba(15,29,24,0.168) 48%, rgba(12,8,5,0.288) 100%),
    linear-gradient(0deg, rgba(12,8,5,0.312) 0%, rgba(12,8,5,0.032) 42%, rgba(12,8,5,0.18) 100%) !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .hero-wrapper {
    height: 72svh !important;
    min-height: 500px !important;
  }

  .hero-wrapper::before {
    left: 18px !important;
    right: 18px !important;
    bottom: 42px !important;
    max-width: calc(100vw - 36px) !important;
    /* スマホで BURGER&GRILL が2行に割れないよう縮小（2026-08-26）。
         Alfa Slab One は字幅が広く、旧値 clamp(2.4rem,11vw,4.2rem) では
         320〜430px の全幅で溢れていた（320pxで-53px）。実測で余裕17px を確保した値。 */
      font-size: clamp(1.9rem, 8.6vw, 4.2rem) !important;
    line-height: .92 !important;
    text-shadow: 4px 4px 0 #6b1412, 0 14px 28px rgba(0,0,0,.5) !important;
  }
}

@media (max-width: 480px) {
  .hero-wrapper {
    min-height: 460px !important;
  }
}

/* Block: custom_html / sec_1783342900223 */
.gb-cooking-live {
  position: relative;
  overflow: hidden;
  padding: clamp(88px, 11vw, 148px) 20px;
  background:
    linear-gradient(135deg, rgba(9, 8, 6, .98), rgba(13, 31, 26, .96)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 10px);
  color: #fff2cf;
}

.gb-cooking-inner {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}

.gb-cooking-live h2 {
  margin: 0 0 20px;
  color: #ffc940;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(36px, 6vw, 78px);
  font-weight: 900;
  line-height: 1.05;
  text-shadow: 4px 4px 0 #6b1412;
}

.gb-cooking-live p:not(.gb-kicker) {
  max-width: 680px;
  margin: 0 auto;
  color: #f7e6be;
  font-weight: 700;
  line-height: 2;
}

.gb-cooking-strip {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.gb-cooking-strip img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 3px solid #3a2418;
  box-shadow: 7px 7px 0 rgba(217, 163, 35, .66);
  filter: brightness(.9) saturate(1.12) contrast(1.08);
}

.gb-cooking-strip img:nth-child(2) {
  transform: translateY(28px);
  box-shadow: 7px 7px 0 rgba(107, 20, 18, .8);
}

@media (max-width: 820px) {
  .gb-cooking-strip {
    grid-template-columns: 1fr;
  }
  .gb-cooking-strip img:nth-child(2) {
    transform: none;
  }
}

/* Block: biz_status / sec_1782110143636 */
/* =========================================================
   biz_status に貼るCSS
========================================================= */
.biz-status-wrapper {
  padding: 36px 20px !important;
  background:
    linear-gradient(90deg, #6b1412, #9d221c 48%, #6b1412),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 10px) !important;
  color: #fff2cf !important;
}

.biz-status-box {
  max-width: 820px !important;
  padding: 24px 32px !important;
  border: 2px solid rgba(255, 201, 64, .72) !important;
  border-radius: 4px !important;
  background: rgba(12, 10, 8, .38) !important;
  box-shadow: 6px 6px 0 rgba(33, 22, 13, .55) !important;
}

.biz-status-message {
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1.8 !important;
}

.status-badge {
  border-radius: 999px !important;
  border: 1px solid rgba(255, 242, 207, .55) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.28) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

@media (max-width: 768px) {
  .biz-status-wrapper {
    padding: 26px 15px !important;
  }

  .biz-status-box {
    padding: 20px 18px !important;
    box-shadow: 4px 4px 0 rgba(33, 22, 13, .55) !important;
  }

  .biz-status-message {
    font-size: 13px !important;
  }
}

/* Block: custom_html / sec_1783341235179 */
.gb-handmade-live {
  position: relative;
  overflow: hidden;
  padding: clamp(92px, 12vw, 160px) 20px;
  background: #0b120f;
  color: #fff2cf;
}

.gb-handmade-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(9, 8, 6, .92), rgba(9, 8, 6, .36) 52%, rgba(9, 8, 6, .86)),
    url("https://gobblin-burger.mp8.fluxcore.store/image/assets/asset_20260703141154_6a47449a0febd.webp") center / cover no-repeat;
  transform: scale(1.05);
}

.gb-handmade-live::after {
  content: "BAKED FRESH";
  position: absolute;
  right: -4vw;
  bottom: -24px;
  color: rgba(255, 201, 64, .09);
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(60px, 14vw, 210px);
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}

.gb-handmade-inner {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
}

.gb-kicker {
  margin: 0 0 18px;
  color: #ffc940;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
}

.gb-handmade-live h2 {
  margin: 0;
  color: #fff2cf;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(42px, 7vw, 92px);
  font-weight: 900;
  line-height: .98;
  text-shadow: 5px 5px 0 #6b1412;
}

.gb-lead {
  max-width: 620px;
  margin: 26px 0 0;
  color: #f7e6be;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
}

.gb-handmade-cards {
  --gb-card-gap: 28px;
  width: max-content;
  max-width: none;
  margin-top: 54px;
  margin-left: calc(50% - 50vw);
  padding-right: var(--gb-card-gap);
  overflow: visible;
  display: flex;
  gap: var(--gb-card-gap);
  animation: gbBunsMarquee 34s linear infinite;
  will-change: transform;
}

.gb-handmade-cards figure {
  flex: 0 0 min(44vw, 640px);
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 3px solid #3a2418;
  background: rgba(21, 16, 13, .82);
  box-shadow: 10px 10px 0 rgba(217, 163, 35, .7);
}

.gb-handmade-cards img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  filter: saturate(1.12) contrast(1.08) brightness(.96);
}

.gb-handmade-cards figcaption {
  position: relative;
  padding: 22px 28px;
  background: rgba(12, 8, 5, .94);
  color: #fff2cf;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .06em;
}

.gb-handmade-cards figcaption span {
  color: #ffc940;
  margin-right: 18px;
  font-family: Montserrat, sans-serif;
  letter-spacing: .08em;
}

.gb-handmade-cards:hover {
  animation-play-state: paused;
}

@keyframes gbBunsMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 768px) {
  .gb-handmade-live {
    padding: 76px 16px;
  }

  .gb-handmade-cards {
    --gb-card-gap: 18px;
    animation-duration: 28s;
  }

  .gb-handmade-cards figure {
    flex-basis: 82vw;
    box-shadow: 7px 7px 0 rgba(217, 163, 35, .7);
  }

  .gb-handmade-cards figcaption {
    padding: 16px 18px;
    font-size: 18px;
  }
}

@media (max-width: 480px) {
  .gb-handmade-cards figure {
    flex-basis: 86vw;
  }
}

/* Block: concept_split / sec_1782110303957 */
/* =========================================================
   concept_split に貼るCSS
========================================================= */
.concept-section {
  padding: 108px 20px !important;
  background:
    linear-gradient(135deg, #0d1f1a 0%, #15100d 58%, #2d1c13 100%) !important;
  color: #fff2cf !important;
  text-align: left !important;
}

.concept-container {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !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 {
  position: relative !important;
  width: auto !important;
  padding: 38px 36px !important;
  display: block !important;
  text-align: left !important;
  background:
    linear-gradient(rgba(13, 31, 26, .9), rgba(13, 31, 26, .9)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .38) !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .72) !important;
}

.concept-content::before {
  content: "HANDMADE" !important;
  display: block !important;
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
}

.concept-title,
.concept-content h2,
.concept-content h3 {
  margin: 0 0 22px !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.7rem, 3.2vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.concept-text,
.concept-content p {
  color: #f7e6be !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 2.05 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}

.concept-img-wrapper {
  position: relative !important;
  width: auto !important;
  border: 4px solid #3a2418 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #22150f !important;
  box-shadow: 14px 14px 0 rgba(217, 163, 35, .72), 0 24px 58px rgba(0, 0, 0, .34) !important;
}

.concept-img-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 14px !important;
  z-index: 2 !important;
  border: 2px solid rgba(255, 242, 207, .58) !important;
  pointer-events: none !important;
}

.concept-img-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(0deg, rgba(33, 22, 13, .26), transparent 48%) !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.16) contrast(1.08) brightness(.95) !important;
  transition: transform .6s ease !important;
}

.concept-img-wrapper:hover img,
.concept-img-wrapper:hover video {
  transform: scale(1.04) !important;
}

@media (max-width: 768px) {
  .concept-section {
    padding: 76px 15px !important;
  }

  .concept-container,
  .concept-container.concept-reverse {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .concept-container.concept-reverse .concept-content,
  .concept-container.concept-reverse .concept-img-wrapper {
    order: initial !important;
  }

  .concept-content {
    padding: 30px 24px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .72) !important;
  }

  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    font-size: clamp(1.45rem, 8vw, 2rem) !important;
  }

  .concept-text,
  .concept-content p {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  .concept-img-wrapper {
    box-shadow: 8px 8px 0 rgba(217, 163, 35, .72) !important;
  }
}

/* Block: free_text_box / sec_1782110261328 */
/* =========================================================
   free_text_box に貼るCSS
========================================================= */
.free-text-section {
  padding: 96px 20px !important;
  background:
    linear-gradient(180deg, #fff3d2 0%, #f5dfad 100%),
    repeating-linear-gradient(90deg, rgba(58,36,24,.05) 0 1px, transparent 1px 14px) !important;
  color: #21160d !important;
  text-align: center !important;
}

.free-text-container {
  position: relative !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 46px 52px !important;
  background:
    linear-gradient(180deg, rgba(255, 250, 236, .96), rgba(255, 238, 198, .94)) !important;
  border: 2px solid rgba(58, 36, 24, .22) !important;
  border-left: 8px solid #9d221c !important;
  border-radius: 4px !important;
  box-shadow: 12px 12px 0 rgba(58, 36, 24, .16), 0 20px 44px rgba(33, 22, 13, .14) !important;
  text-align: left !important;
  overflow: hidden !important;
}

.free-text-container::before {
  content: "FRESH GRILL" !important;
  position: absolute !important;
  right: 22px !important;
  top: 18px !important;
  color: rgba(157, 34, 28, .08) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 8vw, 5.8rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.free-text-title {
  position: relative !important;
  margin: 0 0 20px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

.free-text-title::after {
  content: "" !important;
  display: block !important;
  width: 92px !important;
  height: 5px !important;
  margin-top: 18px !important;
  background: linear-gradient(90deg, #ffc940, #9d221c) !important;
}

.free-text-desc {
  position: relative !important;
  display: block !important;
  color: #4b3424 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 2.05 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .free-text-section {
    padding: 72px 15px !important;
  }

  .free-text-container {
    padding: 34px 24px !important;
    border-left-width: 6px !important;
    box-shadow: 7px 7px 0 rgba(58, 36, 24, .16) !important;
  }

  .free-text-container::before {
    top: 14px !important;
    right: 12px !important;
    font-size: 2.7rem !important;
  }

  .free-text-title {
    font-size: clamp(1.35rem, 8vw, 1.9rem) !important;
  }

  .free-text-desc {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }
}

/* Block: pickup_menu_slider / sec_1782110448078 */
/* =========================================================
   pickup_menu_slider に貼るCSS
========================================================= */
.menu-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
  text-align: center !important;
}

.menu-section .section-header,
.menu-section-header {
  margin-bottom: 54px !important;
}

.menu-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.menu-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

.scroll-container {
  max-width: 1160px !important;
  padding: 8px 0 !important;
}

.scroll-inner {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 32px !important;
}

.pickup-item-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  text-align: left !important;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .72), 0 22px 48px rgba(0,0,0,.28) !important;
}

.pickup-item-card:hover {
  transform: translate(3px, 3px) !important;
  box-shadow: 7px 7px 0 rgba(107, 20, 18, .72), 0 16px 36px rgba(0,0,0,.24) !important;
}

.pickup-badge {
  top: 14px !important;
  left: 14px !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  box-shadow: 4px 4px 0 rgba(33, 22, 13, .38) !important;
}

.pickup-img-box {
  aspect-ratio: 4 / 3 !important;
  background: #22150f !important;
  border-bottom: 3px solid #3a2418 !important;
}

.pickup-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.18) contrast(1.08) brightness(.96) !important;
}

.pickup-info {
  padding: 26px 24px 28px !important;
}

.pickup-title {
  margin: 0 0 10px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.pickup-desc {
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
}

.pickup-price {
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

.tax-label {
  color: #6d533a !important;
}

.menu-btn-wrap {
  margin-top: 54px !important;
}

.btn-menu-more {
  min-height: 50px !important;
  padding: 0 38px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-menu-more:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .menu-section {
    padding: 76px 15px !important;
  }

  .scroll-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .pickup-info {
    padding: 24px 20px !important;
  }

  .pickup-title {
    font-size: 17px !important;
  }

  .btn-menu-more {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Block: custom_html / sec_1783341956694 */
.gb-signature {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(76px, 9vw, 120px) 20px !important;
  background:
    radial-gradient(circle at 68% 45%, rgba(255, 201, 64, .22), transparent 30%),
    linear-gradient(135deg, #090806 0%, #15100d 48%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.gb-signature::before {
  content: "GOBBLIN" !important;
  position: absolute !important;
  left: -3vw !important;
  bottom: -28px !important;
  color: rgba(255, 242, 207, .045) !important;
  font-family: Montserrat, "Noto Sans JP", sans-serif !important;
  font-size: clamp(72px, 18vw, 260px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.gb-signature-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr) !important;
  gap: 44px !important;
  align-items: center !important;
}

.gb-signature-copy h2 {
  margin: 0 0 24px !important;
  color: #ffc940 !important;
  font-family: Montserrat, "Noto Sans JP", sans-serif !important;
  font-size: clamp(34px, 4.6vw, 62px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.gb-signature-copy p:not(.gb-kicker) {
  margin: 0 !important;
  color: #f7e6be !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
}

.gb-price-list {
  margin-top: 28px !important;
  display: grid !important;
  gap: 12px !important;
}

.gb-price-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 14px 18px !important;
  border: 2px solid #ffc940 !important;
  background: rgba(107, 20, 18, .72) !important;
  box-shadow: 5px 5px 0 rgba(0,0,0,.5) !important;
}

.gb-price-row span {
  font-weight: 900 !important;
}

.gb-price-row strong {
  color: #ffc940 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 26px !important;
}

.gb-price-row small {
  color: #fff2cf !important;
  font-weight: 800 !important;
}

.gb-signature-photos {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.gb-signature-photo {
  position: relative !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #fff7df !important;
  border: 4px solid #3a2418 !important;
  box-shadow: 10px 10px 0 #6b1412 !important;
  transform: none !important;
}

.gb-signature-photo:nth-child(2) {
  margin-top: 34px !important;
}

.gb-signature-photo::before {
  content: none !important;
  display: none !important;
}

.gb-signature-photo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  filter: saturate(1.14) contrast(1.08) !important;
}

.gb-signature-photo figcaption {
  margin-top: 10px !important;
  color: #21160d !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.gb-photo-badge {
  position: absolute !important;
  top: 22px !important;
  left: 22px !important;
  z-index: 2 !important;
  padding: 8px 12px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}

@media (max-width: 820px) {
  .gb-signature-inner {
    grid-template-columns: 1fr !important;
  }

  .gb-signature-photos {
    grid-template-columns: 1fr !important;
  }

  .gb-signature-photo:nth-child(2) {
    margin-top: 0 !important;
  }
}

/* Block: latest_news_bar / sec_1782110423653 */
/* =========================================================
   latest_news_bar に貼るCSS
========================================================= */
.news-bar-section {
  padding: 30px 20px !important;
  background:
    linear-gradient(90deg, #21160d 0%, #6b1412 46%, #21160d 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 10px) !important;
  color: #fff2cf !important;
  text-align: center !important;
}

.news-bar-container {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.news-bar-link {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 18px 24px !important;
  background: rgba(255, 242, 207, .08) !important;
  border: 2px solid rgba(255, 201, 64, .56) !important;
  border-radius: 4px !important;
  color: #fff2cf !important;
  box-shadow: 6px 6px 0 rgba(33, 22, 13, .42) !important;
  text-align: left !important;
}

.news-bar-link + .news-bar-link {
  margin-top: 12px !important;
}

.news-bar-link:hover {
  background: rgba(255, 201, 64, .14) !important;
  border-color: #ffc940 !important;
  color: #fff2cf !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 rgba(33, 22, 13, .42) !important;
}

.news-bar-left {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  margin-right: 0 !important;
}

.news-badge {
  padding: 5px 11px !important;
  border: 1px solid rgba(255, 242, 207, .38) !important;
  border-radius: 3px !important;
  background: #ffc940 !important;
  color: #21160d !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.news-date {
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.news-title {
  margin: 0 !important;
  color: #fff2cf !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

.news-arrow {
  color: #ffc940 !important;
  font-weight: 900 !important;
}

@media (max-width: 768px) {
  .news-bar-section {
    padding: 24px 15px !important;
  }

  .news-bar-link {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 18px !important;
    text-align: center !important;
  }

  .news-bar-left {
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }

  .news-title {
    width: 100% !important;
    text-align: center !important;
  }

  .news-arrow {
    display: none !important;
  }
}

/* Block: concept_split / sec_1782110306349 */
/* =========================================================
   concept_split に貼るCSS
========================================================= */
.concept-section {
  padding: 108px 20px !important;
  background:
    linear-gradient(135deg, #0d1f1a 0%, #15100d 58%, #2d1c13 100%) !important;
  color: #fff2cf !important;
  text-align: left !important;
}

.concept-container {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !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 {
  position: relative !important;
  width: auto !important;
  padding: 38px 36px !important;
  display: block !important;
  text-align: left !important;
  background:
    linear-gradient(rgba(13, 31, 26, .9), rgba(13, 31, 26, .9)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .38) !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .72) !important;
}

.concept-content::before {
  content: "HANDMADE" !important;
  display: block !important;
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
}

.concept-title,
.concept-content h2,
.concept-content h3 {
  margin: 0 0 22px !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.7rem, 3.2vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.concept-text,
.concept-content p {
  color: #f7e6be !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 2.05 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}

.concept-img-wrapper {
  position: relative !important;
  width: auto !important;
  border: 4px solid #3a2418 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #22150f !important;
  box-shadow: 14px 14px 0 rgba(217, 163, 35, .72), 0 24px 58px rgba(0, 0, 0, .34) !important;
}

.concept-img-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 14px !important;
  z-index: 2 !important;
  border: 2px solid rgba(255, 242, 207, .58) !important;
  pointer-events: none !important;
}

.concept-img-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(0deg, rgba(33, 22, 13, .26), transparent 48%) !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.16) contrast(1.08) brightness(.95) !important;
  transition: transform .6s ease !important;
}

.concept-img-wrapper:hover img,
.concept-img-wrapper:hover video {
  transform: scale(1.04) !important;
}

@media (max-width: 768px) {
  .concept-section {
    padding: 76px 15px !important;
  }

  .concept-container,
  .concept-container.concept-reverse {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .concept-container.concept-reverse .concept-content,
  .concept-container.concept-reverse .concept-img-wrapper {
    order: initial !important;
  }

  .concept-content {
    padding: 30px 24px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .72) !important;
  }

  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    font-size: clamp(1.45rem, 8vw, 2rem) !important;
  }

  .concept-text,
  .concept-content p {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  .concept-img-wrapper {
    box-shadow: 8px 8px 0 rgba(217, 163, 35, .72) !important;
  }
}

/* Block: custom_html / sec_1783342555098 */
.gb-side-bites {
  padding: clamp(78px, 10vw, 124px) 20px;
  background: linear-gradient(180deg, #fff3d2, #f5dfad);
  color: #21160d;
}
.gb-side-head {
  max-width: 920px;
  margin: 0 auto 42px;
  text-align: center;
}
.gb-kicker {
  margin: 0 0 18px;
  color: #9d221c;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
}
.gb-side-head h2 {
  margin: 0 0 18px;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  line-height: 1.1;
}
.gb-side-head p:not(.gb-kicker) {
  margin: 0;
  color: #4b3424;
  font-weight: 700;
  line-height: 1.9;
}
.gb-side-grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.gb-side-grid figure {
  margin: 0;
  overflow: hidden;
  background: #15100d;
  border: 3px solid #3a2418;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .72);
}
.gb-side-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(1.12) contrast(1.06);
}
.gb-side-grid figcaption {
  padding: 16px 18px;
  background: #6b1412;
  color: #fff2cf;
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  letter-spacing: .12em;
}
@media (max-width: 820px) {
  .gb-side-grid {
    grid-template-columns: 1fr;
  }
}

/* Block: course_pickup / sec_1782110441328 */
/* =========================================================
   course_pickup に貼るCSS
========================================================= */
.course-pickup-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #fff3d2 0%, #f2dca5 100%) !important;
  color: #21160d !important;
}

.course-pickup-header {
  max-width: 820px !important;
  margin: 0 auto 52px !important;
  text-align: center !important;
}

.course-pickup-title {
  margin: 0 0 14px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.9rem, 3.8vw, 3rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(255, 201, 64, .7) !important;
}

.course-pickup-desc {
  color: #5a3b25 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.course-pickup-grid {
  max-width: 980px !important;
  gap: 30px !important;
}

.course-pickup-card {
  overflow: hidden !important;
  background: #0d1f1a !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #fff2cf !important;
  box-shadow: 10px 10px 0 rgba(157, 34, 28, .72), 0 22px 44px rgba(33, 22, 13, .2) !important;
}

.course-pickup-img {
  aspect-ratio: 4 / 3 !important;
  background: #22150f !important;
  color: #ffc940 !important;
  border-bottom: 3px solid #3a2418 !important;
}

.course-pickup-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.15) contrast(1.08) !important;
}

.course-pickup-body {
  padding: 28px 26px 30px !important;
}

.course-pickup-kicker {
  display: inline-flex !important;
  margin: 0 0 12px !important;
  padding: 4px 10px !important;
  background: rgba(255, 201, 64, .13) !important;
  border: 1px solid rgba(255, 201, 64, .42) !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.course-pickup-body h3 {
  margin: 0 0 14px !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

.course-pickup-text {
  color: #f7e6be !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.85 !important;
}

.course-pickup-price {
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

.course-pickup-price small {
  color: #f7e6be !important;
}

.course-pickup-reserve,
.btn-course-pickup-more {
  min-height: 48px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 5px 5px 0 #6b1412 !important;
}

.course-pickup-reserve:hover,
.btn-course-pickup-more:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 #6b1412 !important;
}

.course-pickup-more-wrap {
  margin-top: 48px !important;
}

@media (max-width: 768px) {
  .course-pickup-section {
    padding: 76px 15px !important;
  }

  .course-pickup-grid {
    grid-template-columns: 1fr !important;
  }

  .course-pickup-body {
    padding: 24px 22px 26px !important;
  }

  .course-pickup-body h3 {
    font-size: 19px !important;
  }

  .course-pickup-reserve,
  .btn-course-pickup-more {
    width: 100% !important;
  }
}

/* Block: custom_html / sec_1783342407534 */
.gb-drink-pairing {
  padding: clamp(84px, 10vw, 132px) 20px;
  background:
    radial-gradient(circle at 18% 50%, rgba(255, 201, 64, .18), transparent 30%),
    linear-gradient(135deg, #0d1f1a, #090806 58%, #2d1c13);
  color: #fff2cf;
}

.gb-drink-inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.06fr .94fr;
  gap: 52px;
  align-items: center;
}

.gb-drink-photo {
  margin: 0;
  border: 3px solid #ffc940;
  background: #15100d;
  box-shadow: 12px 12px 0 #6b1412;
}

.gb-drink-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: brightness(.86) saturate(1.1) contrast(1.08);
}

.gb-drink-copy h2 {
  margin: 0 0 22px;
  color: #ffc940;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(34px, 5vw, 66px);
  font-weight: 900;
  line-height: 1.08;
  text-shadow: 4px 4px 0 #6b1412;
}

.gb-drink-copy p:not(.gb-kicker) {
  color: #f7e6be;
  font-weight: 700;
  line-height: 2;
}

.gb-drink-tags {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gb-drink-tags span {
  padding: 10px 13px;
  border: 1px solid rgba(255, 201, 64, .55);
  background: rgba(255, 201, 64, .08);
  color: #fff2cf;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

@media (max-width: 820px) {
  .gb-drink-inner {
    grid-template-columns: 1fr;
  }
  .gb-drink-photo {
    box-shadow: 8px 8px 0 #6b1412;
  }
}

/* Block: custom_html / sec_1783342056376 */
.gb-scenes {
  padding: clamp(82px, 10vw, 126px) 20px;
  background:
    linear-gradient(180deg, #fff3d2, #f3d99f);
  color: #21160d;
}

.gb-scenes-head {
  max-width: 980px;
  margin: 0 auto 42px;
  text-align: center;
}

.gb-scenes-head h2 {
  margin: 0;
  color: #21160d;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(30px, 4.8vw, 58px);
  font-weight: 900;
  line-height: 1.25;
}

.gb-scenes .gb-kicker {
  color: #9d221c;
}

.gb-scenes-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.gb-scene-card {
  min-height: 520px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 34px;
  border: 3px solid #3a2418;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .78);
  background: #15100d;
}

.gb-scene-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.62) saturate(1.08) contrast(1.06);
}

.gb-scene-card > div:not(.gb-family-illust) {
  position: relative;
  z-index: 2;
  max-width: 420px;
  padding: 26px;
  background: rgba(12, 8, 5, .78);
  color: #fff2cf;
  border-left: 6px solid #ffc940;
}

.gb-scene-card span {
  color: #ffc940;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.gb-scene-card h3 {
  margin: 12px 0 12px;
  font-size: clamp(25px, 4vw, 42px);
  font-weight: 900;
  line-height: 1.2;
}

.gb-scene-card p {
  margin: 0;
  color: #f7e6be;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
}

.gb-scene-family {
  background:
    radial-gradient(circle at 72% 28%, rgba(255, 201, 64, .3), transparent 28%),
    linear-gradient(135deg, #0d1f1a, #15100d);
}

.gb-family-illust {
  position: absolute;
  inset: 34px 34px auto auto;
  width: 230px;
  height: 190px;
}

.gb-face {
  position: absolute;
  border-radius: 50%;
  background: #fff2cf;
  border: 6px solid #3a2418;
  box-shadow: 7px 7px 0 #ffc940;
}

.gb-face-a {
  width: 112px;
  height: 112px;
  left: 8px;
  top: 20px;
}

.gb-face-b {
  width: 86px;
  height: 86px;
  right: 18px;
  top: 54px;
}

.gb-mini-burger {
  position: absolute;
  left: 58px;
  bottom: 8px;
  width: 128px;
  height: 52px;
  border-radius: 999px;
  background: linear-gradient(#ffc940 0 38%, #6b1412 38% 62%, #fff2cf 62% 74%, #3a2418 74%);
  border: 4px solid #3a2418;
}

@media (max-width: 820px) {
  .gb-scenes-grid {
    grid-template-columns: 1fr;
  }
  .gb-scene-card {
    min-height: 430px;
    padding: 22px;
  }
  .gb-family-illust {
    opacity: .48;
    transform: scale(.8);
    transform-origin: top right;
  }
}
/* 右上の親子風イラストだけ削除：seat-img-box内の装飾要素を消す */
.seats-section .seat-img-box > img:not(:first-of-type),
.seats-section .seat-img-box > picture:not(:first-child),
.seats-section .seat-img-box > svg,
.seats-section .seat-img-box > canvas,
.seats-section .seat-img-box > div:not(:has(img:first-child)),
.seats-section .seat-img-box > span,
.seats-section .seat-img-box > i {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  animation: none !important;
}

/* もし右側カードだけに付いている絶対配置パーツならここで削除 */
.seats-section .seat-card.seat-reverse .seat-img-box > *:not(img:first-child) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  animation: none !important;
}

/* 念のため、疑似要素版も削除 */
.seats-section .seat-card.seat-reverse .seat-img-box::before,
.seats-section .seat-card.seat-reverse .seat-img-box::after {
  content: none !important;
  display: none !important;
}

/* Block: seat_pickup / sec_1783520453337 */
/* =========================================================
   seat_pickup に貼るCSS
========================================================= */
.seats-section {
  padding: 108px 20px !important;
  background:
    linear-gradient(180deg, #0d1f1a 0%, #15100d 100%) !important;
  color: #fff2cf !important;
}

.seats-section .section-header {
  max-width: 760px !important;
  margin: 0 auto 58px !important;
  text-align: center !important;
}

.seats-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.9rem, 3.8vw, 3rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.seats-sub-text {
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.seats-container {
  max-width: 1100px !important;
  gap: 38px !important;
}

.seat-card {
  display: grid !important;
  grid-template-columns: minmax(280px, .92fr) minmax(0, 1fr) !important;
  gap: 38px !important;
  align-items: center !important;
  padding: 30px !important;
  background:
    linear-gradient(135deg, rgba(255, 242, 207, .09), rgba(255, 242, 207, .035)) !important;
  border: 2px solid rgba(255, 201, 64, .34) !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(58, 36, 24, .78), 0 22px 48px rgba(0,0,0,.3) !important;
}

.seat-card.seat-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .92fr) !important;
}

.seat-card.seat-reverse .seat-img-box {
  order: 2 !important;
}

.seat-card.seat-reverse .seat-info {
  order: 1 !important;
}

.seat-img-box {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border: 4px solid #3a2418 !important;
  border-radius: 4px !important;
  background: #22150f !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .65) !important;
}

.seat-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.1) contrast(1.06) !important;
}

.seat-info {
  padding: 8px 4px !important;
}

.seat-title {
  margin: 0 0 14px !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

.seat-desc {
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.seat-btn-wrap {
  margin-top: 50px !important;
  text-align: center !important;
}

.btn-seat-more {
  min-height: 50px !important;
  padding: 0 36px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-seat-more:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .seats-section {
    padding: 76px 15px !important;
  }

  .seat-card,
  .seat-card.seat-reverse {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    padding: 22px !important;
    box-shadow: 7px 7px 0 rgba(58, 36, 24, .78) !important;
  }

  .seat-card.seat-reverse .seat-img-box,
  .seat-card.seat-reverse .seat-info {
    order: initial !important;
  }

  .seat-img-box {
    box-shadow: 6px 6px 0 rgba(217, 163, 35, .65) !important;
  }

  .btn-seat-more {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Block: recruit_banner / sec_1782110639786 */
/* =========================================================
   recruit_banner に貼るCSS
========================================================= */
.recruit-banner-section {
  padding: 96px 20px !important;
  background:
    linear-gradient(135deg, rgba(13, 31, 26, .95), rgba(33, 22, 13, .95)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 10px) !important;
  color: #fff2cf !important;
}

.recruit-banner-container {
  position: relative !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 58px 46px !important;
  overflow: hidden !important;
  background:
    linear-gradient(rgba(12, 10, 8, .58), rgba(12, 10, 8, .58)),
    linear-gradient(135deg, rgba(255, 201, 64, .14), rgba(157, 34, 28, .16)) !important;
  border: 3px solid #d9a323 !important;
  border-radius: 4px !important;
  box-shadow: 12px 12px 0 rgba(107, 20, 18, .72), 0 24px 58px rgba(0,0,0,.3) !important;
  text-align: center !important;
}

.recruit-banner-container::before {
  content: "STAFF WANTED" !important;
  position: absolute !important;
  right: 20px !important;
  top: 16px !important;
  color: rgba(255, 201, 64, .12) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(3rem, 9vw, 6.8rem) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.recruit-content-inner {
  position: relative !important;
  z-index: 1 !important;
}

.recruit-title {
  margin: 0 0 18px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.7rem, 3.4vw, 2.7rem) !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.recruit-desc {
  max-width: 680px !important;
  margin: 0 auto 32px !important;
  color: #f7e6be !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
  letter-spacing: .02em !important;
}

.btn-recruit-link {
  min-height: 50px !important;
  padding: 0 36px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-recruit-link:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .recruit-banner-section {
    padding: 76px 15px !important;
  }

  .recruit-banner-container {
    padding: 42px 24px !important;
    box-shadow: 7px 7px 0 rgba(107, 20, 18, .72) !important;
  }

  .recruit-banner-container::before {
    top: 14px !important;
    right: 10px !important;
    font-size: 3rem !important;
  }

  .recruit-title {
    font-size: clamp(1.45rem, 8vw, 2rem) !important;
  }

  .recruit-desc {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .btn-recruit-link {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Block: instagram_feed / sec_1782114261680 */
/* =========================================================
   instagram_feed に貼るCSS
========================================================= */
.fc-instagram-embed-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #fff3d2 0%, #f1d99c 100%) !important;
  color: #21160d !important;
}

.fc-instagram-embed-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.fc-instagram-embed-heading {
  margin-bottom: 40px !important;
}

.fc-instagram-embed-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
  padding: 5px 12px !important;
  border: 1px solid rgba(157, 34, 28, .35) !important;
  background: rgba(157, 34, 28, .08) !important;
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.fc-instagram-embed-heading h2 {
  margin: 0 0 14px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.9rem, 4vw, 3.1rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(255, 201, 64, .7) !important;
}

.fc-instagram-embed-heading p {
  max-width: 680px !important;
  margin: 0 auto !important;
  color: #5a3b25 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.fc-instagram-embed-card {
  max-width: 660px !important;
  margin: 0 auto !important;
  padding: 16px !important;
  background: #fff7df !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(157, 34, 28, .7), 0 22px 48px rgba(33,22,13,.18) !important;
}

.fc-instagram-embed-card--legacy {
  max-width: 1120px !important;
  width: min(100%, 1120px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.fc-instagram-embed-card--legacy .instagram-media,
.fc-instagram-embed-card--legacy iframe {
  max-width: 1080px !important;
  width: 100% !important;
}

.fc-instagram-embed-card .instagram-media {
  border-radius: 3px !important;
  box-shadow: none !important;
}

.fc-instagram-post-grid,
.fc-instagram-slider {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.fc-instagram-post-grid {
  gap: 18px !important;
}

.fc-instagram-post-card {
  min-width: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
  background: #fff7df !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(157, 34, 28, .62), 0 18px 42px rgba(33,22,13,.18) !important;
}

.fc-instagram-post-card .instagram-media,
.fc-instagram-post-card iframe,
.fc-instagram-embed-card .instagram-media,
.fc-instagram-embed-card iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.fc-instagram-display-photo .fc-instagram-post-card {
  position: relative !important;
  aspect-ratio: 1 / .955 !important;
  padding: 0 !important;
  background: #22150f !important;
}

.fc-instagram-display-photo.fc-instagram-layout-wide .fc-instagram-post-card,
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card,
.fc-instagram-display-photo.fc-instagram-layout-slider .fc-instagram-post-card {
  aspect-ratio: 1 / .935 !important;
}

.fc-instagram-display-photo .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo .fc-instagram-post-card iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100% + 170px) !important;
  min-height: calc(100% + 170px) !important;
  max-height: none !important;
  transform: translateY(-72px) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
  height: calc(100% + 190px) !important;
  min-height: calc(100% + 190px) !important;
  transform: translateY(-82px) !important;
}

.fc-instagram-slider {
  position: relative !important;
  padding: 0 50px 36px !important;
}

.fc-instagram-slider-viewport {
  overflow: hidden !important;
}

.fc-instagram-slider-track {
  gap: 18px !important;
  align-items: stretch !important;
}

.fc-instagram-slider-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 2 !important;
  width: 42px !important;
  height: 42px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: rgba(15, 29, 24, .92) !important;
  color: #ffc940 !important;
  box-shadow: 4px 4px 0 rgba(107, 20, 18, .8) !important;
  transform: translateY(-50%) !important;
}

.fc-instagram-slider-prev {
  left: 0 !important;
}

.fc-instagram-slider-next {
  right: 0 !important;
}

.fc-instagram-slider-arrow:hover {
  background: #ffc940 !important;
  color: #21160d !important;
}

.fc-instagram-slider-arrow:disabled {
  opacity: .35 !important;
  cursor: default !important;
}

.fc-instagram-slider-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  transform: translateX(-50%) !important;
}

.fc-instagram-slider-dot {
  width: 10px !important;
  height: 10px !important;
  border: 1px solid #6b1412 !important;
  border-radius: 999px !important;
  background: rgba(107, 20, 18, .28) !important;
}

.fc-instagram-slider-dot.is-active {
  background: #9d221c !important;
  border-color: #9d221c !important;
}

.fc-instagram-slider.is-static {
  padding-bottom: 0 !important;
}

.fc-instagram-embed-action {
  margin-top: 32px !important;
}

.fc-instagram-embed-action a {
  min-width: 220px !important;
  min-height: 50px !important;
  padding: 0 34px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.fc-instagram-embed-action a:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  opacity: 1 !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .fc-instagram-embed-section {
    padding: 76px 15px !important;
  }

  .fc-instagram-embed-card {
    padding: 10px !important;
    overflow: hidden !important;
    box-shadow: 7px 7px 0 rgba(157, 34, 28, .7) !important;
  }

  .fc-instagram-post-grid {
    gap: 12px !important;
  }

  .fc-instagram-post-card {
    padding: 6px !important;
    border-radius: 4px !important;
    box-shadow: 5px 5px 0 rgba(157, 34, 28, .62) !important;
  }

  .fc-instagram-display-photo .fc-instagram-post-card {
    padding: 0 !important;
    aspect-ratio: 1 / .955 !important;
  }

  .fc-instagram-display-photo .fc-instagram-post-card .instagram-media,
  .fc-instagram-display-photo .fc-instagram-post-card iframe {
    height: calc(100% + 118px) !important;
    min-height: calc(100% + 118px) !important;
    transform: translateY(-50px) !important;
  }

  .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media,
  .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
    height: calc(100% + 132px) !important;
    min-height: calc(100% + 132px) !important;
    transform: translateY(-58px) !important;
  }

  .fc-instagram-slider {
    padding: 0 0 34px !important;
  }

  .fc-instagram-slider-arrow {
    top: auto !important;
    bottom: -4px !important;
    width: 34px !important;
    height: 34px !important;
    transform: none !important;
  }

  .fc-instagram-slider-prev {
    left: 12px !important;
  }

  .fc-instagram-slider-next {
    right: 12px !important;
  }

  .fc-instagram-slider-dots {
    bottom: 8px !important;
  }

  .fc-instagram-embed-action a {
    width: 100% !important;
    max-width: 320px !important;
  }
}


/* =========================================================
   Page: menu / お品書き
========================================================= */

/* Block: hero_page / sec_1782110792533 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: pickup_menu_slider / sec_1782110839766 */
/* =========================================================
   pickup_menu_slider に貼るCSS
========================================================= */
.menu-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
  text-align: center !important;
}

.menu-section .section-header,
.menu-section-header {
  margin-bottom: 54px !important;
}

.menu-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.menu-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

.scroll-container {
  max-width: 1160px !important;
  padding: 8px 0 !important;
}

.scroll-inner {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 32px !important;
}

.pickup-item-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  text-align: left !important;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .72), 0 22px 48px rgba(0,0,0,.28) !important;
}

.pickup-item-card:hover {
  transform: translate(3px, 3px) !important;
  box-shadow: 7px 7px 0 rgba(107, 20, 18, .72), 0 16px 36px rgba(0,0,0,.24) !important;
}

.pickup-badge {
  top: 14px !important;
  left: 14px !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  box-shadow: 4px 4px 0 rgba(33, 22, 13, .38) !important;
}

.pickup-img-box {
  aspect-ratio: 4 / 3 !important;
  background: #22150f !important;
  border-bottom: 3px solid #3a2418 !important;
}

.pickup-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.18) contrast(1.08) brightness(.96) !important;
}

.pickup-info {
  padding: 26px 24px 28px !important;
}

.pickup-title {
  margin: 0 0 10px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.pickup-desc {
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
}

.pickup-price {
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

.tax-label {
  color: #6d533a !important;
}

.menu-btn-wrap {
  margin-top: 54px !important;
}

.btn-menu-more {
  min-height: 50px !important;
  padding: 0 38px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-menu-more:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .menu-section {
    padding: 76px 15px !important;
  }

  .scroll-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .pickup-info {
    padding: 24px 20px !important;
  }

  .pickup-title {
    font-size: 17px !important;
  }

  .btn-menu-more {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Block: menu_category_grid / sec_1782110885267 */
/* =========================================================
   menu_category_grid に貼るCSS
========================================================= */
.menu-grid-section {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #0d1f1a 0%, #15100d 48%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.menu-section-header {
  max-width: 780px !important;
  margin: 0 auto 62px !important;
  text-align: center !important;
}

.menu-grid-section .menu-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.menu-grid-section .menu-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
  letter-spacing: .02em !important;
}

.menu-cat-container {
  max-width: 1120px !important;
  margin: 0 auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.menu-cat-block {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin-bottom: 84px !important;
}

.menu-cat-block:last-child {
  margin-bottom: 0 !important;
}

.menu-cat-header {
  position: relative !important;
  margin-bottom: 30px !important;
  padding: 24px 28px !important;
  overflow: hidden !important;
  background:
    linear-gradient(rgba(13, 31, 26, .92), rgba(13, 31, 26, .92)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .42) !important;
  border-left: 8px solid #ffc940 !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .68) !important;
}

.menu-cat-header::after {
  content: "MENU" !important;
  position: absolute !important;
  right: 18px !important;
  top: 12px !important;
  color: rgba(255, 201, 64, .1) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.4rem, 7vw, 5rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.menu-cat-name {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 8px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.45rem, 3vw, 2.25rem) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.menu-cat-desc {
  position: relative !important;
  z-index: 1 !important;
  max-width: 760px !important;
  margin: 0 !important;
  color: #f7e6be !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
}

.menu-items-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(430px, 1fr)) !important;
  gap: 28px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.menu-item-card {
  display: flex !important;
  gap: 20px !important;
  align-items: stretch !important;
  padding: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .58), 0 18px 40px rgba(0,0,0,.2) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

.menu-item-card:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 6px 6px 0 rgba(217, 163, 35, .58), 0 14px 30px rgba(0,0,0,.18) !important;
}

.mi-img-box {
  width: 132px !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background: #22150f !important;
  border: 2px solid #3a2418 !important;
  border-radius: 3px !important;
}

.mi-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.18) contrast(1.08) brightness(.98) !important;
  transition: transform .5s ease !important;
}

.menu-item-card:hover .mi-img-box img {
  transform: scale(1.06) !important;
}

.mi-sold-out {
  inset: 0 !important;
  background: rgba(33, 22, 13, .72) !important;
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.mi-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.mi-title {
  margin: 0 0 8px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.mi-text {
  margin: 0 0 15px !important;
  color: #5a3b25 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  flex-grow: 1 !important;
}

.mi-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 14px !important;
  padding-top: 12px !important;
  border-top: 1px dashed rgba(58, 36, 24, .36) !important;
}

.mi-duration {
  color: #6d533a !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
}

.mi-price {
  text-align: right !important;
}

.price-in {
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

.menu-item-card.no-image {
  display: block !important;
  padding: 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px dashed rgba(255, 201, 64, .28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff2cf !important;
}

.menu-item-card.no-image:hover {
  transform: none !important;
  box-shadow: none !important;
}

.menu-item-card.no-image .mi-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 18px !important;
  row-gap: 5px !important;
  align-items: baseline !important;
}

.menu-item-card.no-image .mi-title {
  grid-column: 1 !important;
  margin: 0 !important;
  color: #fff2cf !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  text-shadow: none !important;
}

.menu-item-card.no-image .mi-text {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  color: #f7e6be !important;
  font-size: 12px !important;
}

.menu-item-card.no-image .mi-meta {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.menu-item-card.no-image .mi-price {
  margin: 0 !important;
  white-space: nowrap !important;
}

.menu-item-card.no-image .price-in {
  color: #ffc940 !important;
  font-size: 17px !important;
}

@media (max-width: 768px) {
  .menu-grid-section {
    padding: 76px 15px !important;
  }

  .menu-section-header {
    margin-bottom: 46px !important;
  }

  .menu-cat-block {
    margin-bottom: 62px !important;
  }

  .menu-cat-header {
    padding: 22px 20px !important;
    border-left-width: 6px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .68) !important;
  }

  .menu-items-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .menu-item-card {
    padding: 15px !important;
    gap: 14px !important;
  }

  .mi-img-box {
    width: 108px !important;
  }

  .mi-title {
    font-size: 15px !important;
  }

  .mi-text {
    font-size: 12px !important;
  }

  .price-in {
    font-size: 19px !important;
  }
}

@media (max-width: 480px) {
  .menu-item-card {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  .mi-img-box {
    width: 96px !important;
  }

  .mi-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .mi-price {
    text-align: left !important;
  }

  .menu-item-card.no-image {
    display: block !important;
  }

  .menu-item-card.no-image .mi-info {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}


/* =========================================================
   Page: courses / コース
========================================================= */

/* Block: hero_page / sec_1782110998212 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: custom_html / sec_1783343134621 */
.gb-night {
  position: relative;
  overflow: hidden;
  padding: clamp(86px, 11vw, 150px) 20px;
  background:
    linear-gradient(180deg, rgba(7, 8, 7, .96), rgba(13, 31, 26, .96)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 10px);
  color: #fff2cf;
}

.gb-night::before {
  content: "AFTER DARK";
  position: absolute;
  right: -4vw;
  top: 28px;
  color: rgba(255, 201, 64, .07);
  font-family: Montserrat, sans-serif;
  font-size: clamp(58px, 13vw, 190px);
  font-weight: 900;
  line-height: 1;
}

.gb-night-inner {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 52px;
  align-items: center;
}

.gb-night-copy h2 {
  margin: 0 0 24px;
  color: #ffc940;
  font-family: Montserrat, "Noto Sans JP", sans-serif;
  font-size: clamp(34px, 5.2vw, 70px);
  font-weight: 900;
  line-height: 1.08;
  text-shadow: 4px 4px 0 #6b1412;
}

.gb-night-copy p:not(.gb-kicker) {
  color: #f7e6be;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.05;
}

.gb-night-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.gb-night-large {
  margin: 0;
  border: 3px solid #ffc940;
  background: #15100d;
  box-shadow: 12px 12px 0 #6b1412;
}

.gb-night-large img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: brightness(.78) saturate(1.08) contrast(1.08);
}

.gb-night-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gb-night-menu span {
  padding: 10px 13px;
  border: 1px solid rgba(255, 201, 64, .55);
  background: rgba(255, 201, 64, .08);
  color: #fff2cf;
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

@media (max-width: 820px) {
  .gb-night-inner {
    grid-template-columns: 1fr;
  }
  .gb-night-large {
    box-shadow: 8px 8px 0 #6b1412;
  }
}

/* Block: course_list / sec_1782111030011 */
/* =========================================================
   course_list に貼るCSS
========================================================= */
.course-list-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.course-list-header {
  max-width: 840px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}

.course-list-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.course-list-desc {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
  letter-spacing: .02em !important;
}

.course-list-grid {
  max-width: 1080px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 34px !important;
  align-items: stretch !important;
}

.course-list-card {
  display: grid !important;
  grid-template-columns: minmax(320px, 42%) minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 360px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  box-shadow: 10px 10px 0 rgba(157, 34, 28, .68), 0 22px 48px rgba(0,0,0,.24) !important;
}

.course-list-card:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 8px 8px 0 rgba(157, 34, 28, .68), 0 18px 38px rgba(0,0,0,.22) !important;
}

.course-list-img {
  position: relative !important;
  isolation: isolate !important;
  aspect-ratio: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 360px !important;
  overflow: hidden !important;
  clip-path: inset(0) !important;
  background: #22150f !important;
  color: #ffc940 !important;
  border-right: 3px solid #3a2418 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 42px !important;
}

.course-list-img img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(1.15) contrast(1.08) brightness(.98) !important;
  transition: transform .55s ease !important;
}

.course-list-card:hover .course-list-img img {
  transform: scale(1.05) !important;
}

.course-list-body {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  flex: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 38px 42px 40px !important;
}

.course-list-kicker {
  display: inline-flex !important;
  align-self: flex-start !important;
  margin: 0 0 12px !important;
  padding: 4px 10px !important;
  background: rgba(157, 34, 28, .08) !important;
  border: 1px solid rgba(157, 34, 28, .28) !important;
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.course-list-body h3 {
  max-width: 100% !important;
  margin: 0 0 14px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
}

.course-list-text {
  flex: 1 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.85 !important;
  overflow-wrap: anywhere !important;
}

.course-list-price {
  margin: 20px 0 18px !important;
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .02em !important;
}

.course-list-price small {
  color: #6d533a !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.course-list-reserve {
  width: min(100%, 320px) !important;
  min-height: 50px !important;
  padding: 0 18px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 5px 5px 0 #6b1412 !important;
}

.course-list-reserve:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 #6b1412 !important;
}

.drink-option-list {
  max-width: 780px !important;
  margin: 58px auto 0 !important;
  padding: 28px 30px !important;
  background:
    linear-gradient(rgba(13, 31, 26, .92), rgba(13, 31, 26, .92)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .42) !important;
  border-left: 8px solid #ffc940 !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .68) !important;
}

.drink-option-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 18px !important;
  padding: 15px 0 !important;
  border-bottom: 1px dashed rgba(255, 201, 64, .28) !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

.drink-option-row:last-child {
  border-bottom: 0 !important;
}

.drink-option-row strong,
.drink-option-row b {
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
}

@media (min-width: 769px) and (max-width: 1100px) {
  .course-list-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  .course-list-img {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-right: 0 !important;
    border-bottom: 3px solid #3a2418 !important;
  }

  .course-list-body {
    justify-content: flex-start !important;
    padding: 32px 30px 34px !important;
  }
}

@media (max-width: 768px) {
  .course-list-section {
    padding: 76px 15px !important;
  }

  .course-list-header {
    margin-bottom: 46px !important;
  }

  .course-list-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .course-list-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  .course-list-img {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-right: 0 !important;
    border-bottom: 3px solid #3a2418 !important;
  }

  .course-list-body {
    justify-content: flex-start !important;
    padding: 24px 22px 26px !important;
  }

  .course-list-body h3 {
    font-size: 20px !important;
  }

  .course-list-price {
    font-size: 27px !important;
  }

  .course-list-reserve {
    width: 100% !important;
  }

  .drink-option-list {
    margin-top: 44px !important;
    padding: 24px 20px !important;
    border-left-width: 6px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .68) !important;
  }

  .drink-option-row {
    font-size: 13px !important;
  }
}

@media (max-width: 480px) {
  .drink-option-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}


/* =========================================================
   Page: seats / お席
========================================================= */

/* Block: hero_page / sec_1782111079546 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: seat_list_full / sec_1782111115207 */
/* =========================================================
   seat_list_full に貼るCSS
========================================================= */
.seat-list-full-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.slf-header {
  max-width: 820px !important;
  margin: 0 auto 58px !important;
  text-align: center !important;
}

.slf-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.slf-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
  letter-spacing: .02em !important;
}

.slf-grid {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 30px !important;
  align-items: stretch !important;
}

.slf-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  box-shadow: 10px 10px 0 rgba(217, 163, 35, .62), 0 22px 48px rgba(0,0,0,.24) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

.slf-card:hover {
  transform: translate(2px, 2px) !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .62), 0 18px 38px rgba(0,0,0,.22) !important;
}

.slf-img-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #22150f !important;
  border-bottom: 3px solid #3a2418 !important;
}

.slf-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.12) contrast(1.06) brightness(.98) !important;
  transition: transform .55s ease !important;
}

.slf-card:hover .slf-img-wrap img {
  transform: scale(1.05) !important;
}

.slf-badge {
  top: 14px !important;
  right: 14px !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  box-shadow: 4px 4px 0 rgba(33, 22, 13, .42) !important;
}

.slf-badge.is-open {
  background: #ffc940 !important;
  color: #21160d !important;
  border: 1px solid #ffc940 !important;
}

.slf-badge.is-full {
  background: #9d221c !important;
  color: #fff2cf !important;
  border: 1px solid #9d221c !important;
}

.slf-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 28px 24px 30px !important;
}

.slf-title {
  margin: 0 0 12px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.slf-cap {
  color: #6d533a !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.slf-desc {
  flex: 1 !important;
  margin: 0 !important;
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.85 !important;
}

.slf-reserve-btn {
  width: 100% !important;
  min-height: 50px !important;
  margin-top: 24px !important;
  padding: 0 18px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 5px 5px 0 #6b1412 !important;
}

.slf-reserve-btn:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .seat-list-full-section {
    padding: 76px 15px !important;
  }

  .slf-header {
    margin-bottom: 46px !important;
  }

  .slf-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .slf-body {
    padding: 24px 20px 26px !important;
  }

  .slf-title {
    font-size: 17px !important;
  }
}

/* Block: big_calendar / sec_1782111142769 */
/* =========================================================
   big_calendar に貼るCSS
========================================================= */
.big-calendar-section {
  padding: 96px 20px !important;
  background:
    linear-gradient(180deg, #0d1f1a 0%, #15100d 100%) !important;
  color: #fff2cf !important;
}

.bc-container,
.calendar-card {
  max-width: 1060px !important;
  margin: 0 auto !important;
}

.calendar-card {
  padding: 36px !important;
  background:
    linear-gradient(rgba(13, 31, 26, .94), rgba(13, 31, 26, .94)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .42) !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .68), 0 22px 48px rgba(0,0,0,.26) !important;
}

.calendar-header-box {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.bc-month-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin: 0 0 24px !important;
}

.bc-month-label {
  min-width: 160px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  text-align: center !important;
  letter-spacing: .06em !important;
}

.bc-month-btn {
  width: 42px !important;
  height: 42px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: rgba(255, 201, 64, .08) !important;
  color: #ffc940 !important;
  cursor: pointer !important;
}

.bc-month-btn:hover:not(:disabled) {
  background: #ffc940 !important;
  color: #21160d !important;
}

.bc-month-btn:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}

.cal-main-title,
.bc-title,
.big-calendar-section h2 {
  margin: 0 0 12px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.7rem, 3.4vw, 2.7rem) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.cal-sub-text,
.bc-desc,
.big-calendar-section p {
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}

.bc-calendar,
.bc-grid,
.big-calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  overflow: hidden !important;
  background: rgba(255, 242, 207, .06) !important;
  border: 2px solid rgba(255, 201, 64, .36) !important;
  border-radius: 4px !important;
}

.bc-day-head,
.bc-day {
  min-height: 78px !important;
  padding: 12px 8px !important;
  border-right: 1px solid rgba(255, 201, 64, .22) !important;
  border-bottom: 1px solid rgba(255, 201, 64, .22) !important;
}

.bc-day-head {
  min-height: auto !important;
  background: rgba(255, 201, 64, .18) !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

.bc-day {
  background: rgba(255, 242, 207, .04) !important;
  color: #fff2cf !important;
  cursor: pointer !important;
}

.bc-day.is-open {
  background: linear-gradient(135deg, rgba(255, 201, 64, .26), rgba(255, 201, 64, .08)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 201, 64, .38) !important;
}

.bc-day.is-open:hover {
  background: linear-gradient(135deg, rgba(255, 201, 64, .38), rgba(255, 201, 64, .13)) !important;
}

.bc-day.is-limited {
  background: rgba(217, 150, 31, .16) !important;
}

.bc-day.is-full {
  background: rgba(157, 34, 28, .18) !important;
  cursor: default !important;
}

.bc-empty {
  background: rgba(255, 255, 255, .02) !important;
  cursor: default !important;
}

.bc-date-num {
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 900 !important;
}

.bc-date-mark {
  margin-top: 10px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.mark-ok,
.bc-mark-open {
  color: #ffc940 !important;
  text-shadow: 0 0 16px rgba(255, 201, 64, .3) !important;
}

.mark-warn,
.bc-mark-limited {
  color: #d9961f !important;
}

.mark-ng,
.bc-mark-full {
  color: #ff6f61 !important;
}

@media (max-width: 768px) {
  .big-calendar-section {
    padding: 68px 15px !important;
  }

  .calendar-card {
    padding: 22px 14px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .68) !important;
  }

  .bc-month-nav {
    gap: 12px !important;
  }

  .bc-month-label {
    min-width: 128px !important;
    font-size: 17px !important;
  }

  .bc-month-btn {
    width: 36px !important;
    height: 36px !important;
  }

  .bc-day {
    min-height: 62px !important;
    padding: 8px 4px !important;
  }

  .bc-day-head {
    padding: 8px 3px !important;
    font-size: 10px !important;
  }

  .bc-date-mark {
    font-size: 16px !important;
  }
}

/* Block: reservation_policy / sec_1782111159668 */
/* =========================================================
   reservation_policy に貼るCSS
========================================================= */
.policy-section {
  padding: 76px 20px !important;
  background:
    linear-gradient(180deg, #fff3d2 0%, #f1d99c 100%) !important;
  color: #21160d !important;
}

.policy-container {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 38px 42px !important;
  background: linear-gradient(180deg, #fffaf0, #fff0c8) !important;
  border: 2px solid rgba(58, 36, 24, .22) !important;
  border-left: 8px solid #9d221c !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(58, 36, 24, .16), 0 20px 44px rgba(33, 22, 13, .14) !important;
}

.policy-title {
  margin: 0 0 20px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

.policy-title i {
  color: #9d221c !important;
  margin-right: 8px !important;
}

.policy-content {
  color: #4b3424 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.policy-block + .policy-block {
  margin-top: 30px !important;
  padding-top: 28px !important;
  border-top: 1px dashed rgba(58, 36, 24, .28) !important;
}

.policy-steps {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.policy-step {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding: 13px 0 !important;
}

.policy-step + .policy-step {
  border-top: 1px solid rgba(58, 36, 24, .12) !important;
}

.policy-step-num {
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 3px 3px 0 rgba(217, 163, 35, .7) !important;
}

.policy-step-title {
  margin-bottom: 5px !important;
  color: #21160d !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.policy-step-desc {
  color: #5a3b25 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}

@media (max-width: 768px) {
  .policy-section {
    padding: 58px 15px !important;
  }

  .policy-container {
    padding: 28px 22px !important;
    border-left-width: 6px !important;
    box-shadow: 7px 7px 0 rgba(58, 36, 24, .16) !important;
  }

  .policy-title {
    font-size: 1.35rem !important;
  }

  .policy-step {
    gap: 12px !important;
  }

  .policy-step-num {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }
}


/* =========================================================
   Page: recruit / 採用情報
========================================================= */

/* Block: hero_page / sec_1782111185841 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: recruit_job_list / sec_1782114313132 */
/* =========================================================
   recruit_job_list に貼るCSS
========================================================= */
.job-list-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.job-section-header {
  max-width: 780px !important;
  margin: 0 auto 56px !important;
  text-align: center !important;
}

.job-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.job-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.job-container {
  max-width: 1060px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
}

.job-card {
  overflow: hidden !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  color: #21160d !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(217, 163, 35, .62), 0 22px 48px rgba(0,0,0,.24) !important;
}

.job-card-header {
  padding: 26px 30px !important;
  background:
    linear-gradient(rgba(13, 31, 26, .94), rgba(13, 31, 26, .94)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border-bottom: 3px solid #3a2418 !important;
}

.job-type-badge {
  display: inline-flex !important;
  margin-bottom: 12px !important;
  padding: 6px 12px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  border: 1px solid rgba(255, 242, 207, .32) !important;
  border-radius: 3px !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.job-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.job-card-body {
  display: grid !important;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) !important;
  gap: 30px !important;
  padding: 30px !important;
}

.job-img-box {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #22150f !important;
  border: 2px solid #3a2418 !important;
  border-radius: 3px !important;
}

.job-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.12) contrast(1.06) brightness(.98) !important;
}

.job-info-box {
  min-width: 0 !important;
}

.job-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.job-table th,
.job-table td {
  padding: 13px 0 !important;
  border-bottom: 1px dashed rgba(58, 36, 24, .26) !important;
  color: #4b3424 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
  vertical-align: top !important;
}

.job-table th {
  width: 116px !important;
  padding-right: 18px !important;
  color: #9d221c !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.job-salary {
  color: #9d221c !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
}

@media (max-width: 768px) {
  .job-list-section {
    padding: 76px 15px !important;
  }

  .job-card-header {
    padding: 24px 22px !important;
  }

  .job-card-body {
    grid-template-columns: 1fr !important;
    padding: 24px 22px !important;
  }

  .job-title {
    font-size: 20px !important;
  }

  .job-table th,
  .job-table td {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
  }

  .job-table th {
    padding-bottom: 0 !important;
  }
}

/* Block: recruit_spot_list / sec_1782111249790 */
/* =========================================================
   recruit_spot_list に貼るCSS
========================================================= */
.recruit-spot-section {
  padding: 96px 20px !important;
  background:
    linear-gradient(180deg, #0d1f1a 0%, #15100d 100%) !important;
  color: #fff2cf !important;
}

.main-spot-card {
  max-width: 940px !important;
  margin: 0 auto !important;
  padding: 50px 46px !important;
  background:
    linear-gradient(rgba(13, 31, 26, .94), rgba(13, 31, 26, .94)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  border: 2px solid rgba(255, 201, 64, .42) !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .68), 0 22px 48px rgba(0,0,0,.26) !important;
  text-align: center !important;
}

.spot-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 22px !important;
  padding: 6px 16px !important;
  background: #9d221c !important;
  color: #fff2cf !important;
  border: 1px solid rgba(255, 242, 207, .32) !important;
  border-radius: 3px !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.spot-title {
  margin: 0 0 18px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.7rem, 3.4vw, 2.7rem) !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.spot-desc {
  max-width: 680px !important;
  margin: 0 auto !important;
  color: #f7e6be !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.spot-card,
.spot-content,
.sic-body,
.fc-course-info {
  min-width: 0 !important;
}

.spot-btn-wrap {
  margin-top: 32px !important;
}

.btn-spot-link {
  min-height: 50px !important;
  padding: 0 34px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-spot-link:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

.spot-items-grid {
  max-width: 1060px !important;
  margin: 58px auto 0 !important;
}

.spot-grid-title {
  display: block !important;
  margin: 0 0 28px !important;
  padding-bottom: 14px !important;
  color: #ffc940 !important;
  border-bottom: 2px solid rgba(255, 201, 64, .34) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.sig-wrapper {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 22px !important;
}

.spot-item-card {
  padding: 24px !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .58), 0 18px 40px rgba(0,0,0,.2) !important;
}

.spot-item-card.is-full {
  opacity: .72 !important;
  filter: saturate(.72) !important;
}

.sic-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding-bottom: 16px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px dashed rgba(58, 36, 24, .28) !important;
}

.sic-md {
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.sic-time {
  color: #6d533a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.sic-status {
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 3px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.status-open {
  background: #ffc940 !important;
  color: #21160d !important;
  border: 1px solid #ffc940 !important;
}

.status-full {
  background: #9d221c !important;
  color: #fff2cf !important;
  border: 1px solid #9d221c !important;
}

.sic-title {
  margin: 0 0 12px !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.sic-wage {
  margin-bottom: 12px !important;
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.sic-wage strong {
  color: #9d221c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
}

.sic-desc {
  margin: 0 !important;
  color: #5a3b25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.85 !important;
}

@media (max-width: 768px) {
  .recruit-spot-section {
    padding: 76px 15px !important;
  }

  .main-spot-card {
    padding: 38px 24px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .68) !important;
  }

  .btn-spot-link {
    width: 100% !important;
    max-width: 320px !important;
  }

  .spot-grid-title {
    font-size: 17px !important;
  }

  .sig-wrapper {
    grid-template-columns: 1fr !important;
  }

  .sic-header {
    align-items: center !important;
  }
}

/* Block: contact_form / sec_1782111266170 */
/* =========================================================
   contact_form に貼るCSS
========================================================= */
.contact-form-section {
  padding: 104px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.contact-section-header {
  max-width: 780px !important;
  margin: 0 auto 52px !important;
  text-align: center !important;
}

.contact-main-title {
  margin: 0 0 14px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 4px 4px 0 #6b1412 !important;
}

.contact-sub-text {
  max-width: 680px !important;
  margin: 14px auto 0 !important;
  color: #f7e6be !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.contact-container {
  max-width: 880px !important;
  margin: 0 auto !important;
}

.form-wrapper {
  padding: 44px !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(217, 163, 35, .62), 0 22px 48px rgba(0,0,0,.24) !important;
}

.form-group {
  margin-bottom: 28px !important;
}

.form-group label {
  display: flex !important;
  align-items: center !important;
  color: #21160d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  margin-bottom: 10px !important;
}

.form-group .required {
  background: #9d221c !important;
  color: #fff2cf !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  padding: 3px 8px !important;
}

.form-group .optional {
  background: rgba(58, 36, 24, .14) !important;
  color: #5a3b25 !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  padding: 3px 8px !important;
}

.restaurant-contact-form input[type="text"],
.restaurant-contact-form input[type="email"],
.restaurant-contact-form input[type="tel"],
.restaurant-contact-form select,
.restaurant-contact-form textarea {
  width: 100% !important;
  padding: 16px 18px !important;
  border: 2px solid rgba(58, 36, 24, .28) !important;
  border-radius: 4px !important;
  background: rgba(255, 250, 236, .96) !important;
  color: #21160d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.restaurant-contact-form input:focus,
.restaurant-contact-form select:focus,
.restaurant-contact-form textarea:focus {
  outline: none !important;
  border-color: #d9961f !important;
  box-shadow: 0 0 0 4px rgba(255, 201, 64, .22) !important;
  background: #fffaf0 !important;
}

.select-wrap {
  position: relative !important;
}

.select-wrap::after {
  color: #9d221c !important;
}

.restaurant-contact-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

.form-submit-wrap {
  text-align: center !important;
  margin-top: 46px !important;
}

.btn-submit-contact {
  min-height: 54px !important;
  padding: 0 52px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 6px 6px 0 #6b1412 !important;
}

.btn-submit-contact:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #6b1412 !important;
}

.contact-success-msg {
  background: #fff7df !important;
  border: 3px solid #3a2418 !important;
  color: #21160d !important;
  padding: 38px !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .62) !important;
}

@media (max-width: 768px) {
  .contact-form-section {
    padding: 76px 15px !important;
  }

  .form-wrapper {
    padding: 30px 22px !important;
    box-shadow: 6px 6px 0 rgba(217, 163, 35, .62) !important;
  }

  .form-group label {
    font-size: 13px !important;
  }

  .btn-submit-contact {
    width: 100% !important;
    padding: 0 18px !important;
  }
}


/* =========================================================
   Page: reviews / お客様の声
========================================================= */

/* Block: hero_page / sec_1782111350931 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: review_list_with_sidebar / sec_1782111415616 */
/* =========================================================
   review_list_with_sidebar に貼るCSS
========================================================= */
.reviews-archive-section {
  padding: 96px 20px !important;
  background:
    linear-gradient(180deg, #15100d 0%, #0d1f1a 100%) !important;
  color: #fff2cf !important;
}

.reviews-layout-container {
  max-width: 1140px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 34px !important;
  align-items: start !important;
}

.reviews-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 26px !important;
}

.review-row-card {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 24px !important;
  padding: 24px !important;
  background: linear-gradient(180deg, #fff7df, #f1d99c) !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  color: #21160d !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .58), 0 18px 40px rgba(0,0,0,.2) !important;
}

.review-img-box {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #22150f !important;
  border: 2px solid #3a2418 !important;
  border-radius: 3px !important;
}

.review-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.14) contrast(1.06) brightness(.98) !important;
}

.review-body {
  min-width: 0 !important;
}

.review-meta {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 8px !important;
  color: #6d533a !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}

.review-author,
.review-date {
  color: #9d221c !important;
  font-weight: 900 !important;
}

.review-stars {
  color: #9d221c !important;
  letter-spacing: .08em !important;
  margin-bottom: 8px !important;
}

.review-dish {
  display: inline-block !important;
  padding: 5px 11px !important;
  background: rgba(157, 34, 28, .08) !important;
  border: 1px solid rgba(157, 34, 28, .28) !important;
  border-radius: 3px !important;
  color: #9d221c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.review-text {
  margin-top: 14px !important;
  color: #4b3424 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.95 !important;
}

.reviews-sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 22px !important;
  position: sticky !important;
  top: 104px !important;
}

.side-widget {
  padding: 24px !important;
  background:
    linear-gradient(rgba(13, 31, 26, .94), rgba(13, 31, 26, .94)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 8px) !important;
  color: #fff2cf !important;
  border: 2px solid rgba(255, 201, 64, .42) !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(107, 20, 18, .68) !important;
}

.side-title {
  margin: 0 0 18px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 2px 2px 0 #6b1412 !important;
}

.rank-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rank-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px 0 !important;
  border-bottom: 1px dashed rgba(255, 201, 64, .28) !important;
}

.rank-item:last-child {
  border-bottom: none !important;
}

.rank-num {
  flex: 0 0 auto !important;
  min-width: 26px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.rank-img {
  flex: 0 0 auto !important;
  width: 58px !important;
  height: 58px !important;
  object-fit: cover !important;
  border: 2px solid #3a2418 !important;
  border-radius: 3px !important;
  background: #22150f !important;
}

.rank-info {
  min-width: 0 !important;
}

.rank-name {
  margin: 0 !important;
  color: #fff2cf !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.rank-votes {
  margin-top: 2px !important;
  color: #f7e6be !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 34px !important;
}

.page-btn {
  min-width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: rgba(13, 31, 26, .88) !important;
  color: #ffc940 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 900 !important;
}

.page-btn.active,
.page-btn:hover {
  background: #ffc940 !important;
  color: #21160d !important;
}

@media (max-width: 900px) {
  .reviews-layout-container {
    grid-template-columns: 1fr !important;
  }

  .reviews-sidebar {
    position: static !important;
  }
}

@media (max-width: 768px) {
  .reviews-archive-section {
    padding: 76px 15px !important;
  }

  .review-row-card {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px !important;
    box-shadow: 6px 6px 0 rgba(217, 163, 35, .58) !important;
  }

  .review-img-box {
    width: 100% !important;
  }

  .review-meta {
    flex-direction: column !important;
    gap: 4px !important;
  }

  .side-widget {
    padding: 22px !important;
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .68) !important;
  }
}


/* =========================================================
   Page: news / お知らせ
========================================================= */

/* Block: hero_page / sec_1782111458370 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 390px !important;
  padding: 156px 20px 94px !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff2cf !important;
  background-color: #100b08 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 5px solid #d9a323 !important;
}

.page-hero-wrapper::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  z-index: 1 !important;
  color: rgba(255, 242, 207, .055) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.8rem, 9vw, 7rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(12, 8, 5, .46) 0%, rgba(13, 31, 26, .18) 50%, rgba(12, 8, 5, .42) 100%),
    linear-gradient(0deg, rgba(12, 8, 5, .5) 0%, rgba(12, 8, 5, .06) 58%, rgba(12, 8, 5, .34) 100%) !important;
}

.ph-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 10px 18px !important;
  background:
    linear-gradient(rgba(12, 8, 5, .22), rgba(12, 8, 5, .22)) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .82), 0 8px 22px rgba(0,0,0,.42) !important;
}

.ph-desc {
  max-width: 680px !important;
  margin: 18px auto 0 !important;
  color: #fff7df !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding: 126px 15px 66px !important;
  }

  .page-hero-wrapper::before {
    bottom: 10px !important;
    font-size: 2.8rem !important;
  }

  .ph-container {
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .ph-title {
    font-size: clamp(1.8rem, 12vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }

  .ph-desc {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
}

/* Block: news_list_grid / sec_1782114338501 */
/* =========================================================
   news_list_grid に貼るCSS
========================================================= */
.news-list-grid-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 108px 20px 116px !important;
  background:
    linear-gradient(180deg, rgba(8, 14, 12, .94), rgba(21, 31, 24, .96)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 9px) !important;
  color: #fff2cf !important;
}

.news-list-grid-section::before {
  content: "BURGER NEWS" !important;
  position: absolute !important;
  top: 40px !important;
  right: max(20px, 5vw) !important;
  color: rgba(255, 242, 207, .045) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(48px, 10vw, 132px) !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.news-section-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}

.news-main-title {
  margin: 0 !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(30px, 4.2vw, 54px) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 rgba(107, 20, 18, .9) !important;
}

.news-sub-text {
  max-width: 620px !important;
  margin: 18px auto 0 !important;
  color: #e9d0a3 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
}

.nlg-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
}

.nlg-card {
  position: relative !important;
  overflow: hidden !important;
  display: block !important;
  background: #fff7df !important;
  color: #21160d !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 8px 8px 0 rgba(217, 163, 35, .62) !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

.nlg-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  border: 1px solid rgba(58, 36, 24, .18) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

a.nlg-card:hover {
  transform: translate(3px, 3px) !important;
  border-color: #d9a323 !important;
  box-shadow: 5px 5px 0 rgba(107, 20, 18, .85) !important;
  color: #21160d !important;
}

.nlg-img,
.nlg-no-img {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(217, 163, 35, .24), rgba(107, 20, 18, .26)),
    #18231d !important;
}

.nlg-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.12) contrast(1.04) !important;
  transition: transform .35s ease, filter .35s ease !important;
}

a.nlg-card:hover .nlg-img img {
  transform: scale(1.045) !important;
  filter: saturate(1.2) contrast(1.08) !important;
}

.nlg-no-img {
  display: grid !important;
  place-items: center !important;
  color: rgba(255, 201, 64, .9) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.nlg-body {
  position: relative !important;
  z-index: 1 !important;
  padding: 24px 24px 28px !important;
}

.nlg-meta {
  margin: 0 0 14px !important;
}

.nlg-date {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  background: #6b1412 !important;
  color: #fff2cf !important;
  border: 2px solid #3a2418 !important;
  border-radius: 999px !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
}

.nlg-title {
  margin: 0 !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
  line-height: 1.65 !important;
}

@media (max-width: 768px) {
  .news-list-grid-section {
    padding: 76px 15px 84px !important;
  }

  .news-list-grid-section::before {
    top: 24px !important;
    right: 12px !important;
    font-size: 48px !important;
  }

  .news-section-header {
    margin-bottom: 34px !important;
  }

  .news-main-title {
    font-size: 30px !important;
  }

  .news-sub-text {
    font-size: 13px !important;
  }

  .nlg-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .nlg-body {
    padding: 22px 20px 24px !important;
  }

  .nlg-title {
    font-size: 16px !important;
  }
}


/* =========================================================
   Page: news_detail / NEWS_DETAIL ページ
========================================================= */

/* Block: news_article_body / sec_1782114380582 */
/* =========================================================
   news_article_body に貼るCSS
========================================================= */
.news-article-body-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 108px 20px 116px !important;
  background:
    linear-gradient(180deg, rgba(8, 14, 12, .94), rgba(21, 31, 24, .96)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 9px) !important;
  color: #fff2cf !important;
}

.news-article-body-section::before {
  content: "NEWS" !important;
  position: absolute !important;
  top: 42px !important;
  left: max(20px, 5vw) !important;
  color: rgba(255, 242, 207, .045) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(54px, 12vw, 150px) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.nab-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: clamp(30px, 5vw, 58px) !important;
  background:
    linear-gradient(180deg, #fffaf0, #f5e7c8) !important;
  color: #21160d !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 10px 10px 0 rgba(217, 163, 35, .62) !important;
}

.nab-container::before {
  content: "" !important;
  position: absolute !important;
  inset: 12px !important;
  border: 1px solid rgba(58, 36, 24, .18) !important;
  pointer-events: none !important;
}

.nab-header {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 34px !important;
  padding: 0 0 26px !important;
  border-bottom: 3px solid #d9a323 !important;
}

.nab-meta {
  margin: 0 0 16px !important;
}

.nab-date {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  background: #6b1412 !important;
  color: #fff2cf !important;
  border: 2px solid #3a2418 !important;
  border-radius: 999px !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
}

.nab-title {
  margin: 0 !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(25px, 3.6vw, 42px) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1.5 !important;
}

.nab-main-img-box {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 0 34px !important;
  background:
    linear-gradient(135deg, rgba(217, 163, 35, .24), rgba(107, 20, 18, .26)),
    #18231d !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  box-shadow: 6px 6px 0 rgba(107, 20, 18, .28) !important;
}

.nab-main-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.12) contrast(1.04) !important;
}

.nab-body-text {
  position: relative !important;
  z-index: 1 !important;
  color: #3a2418 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 2.15 !important;
  letter-spacing: .02em !important;
}

.nab-body-text p {
  margin: 0 0 1.6em !important;
}

.nab-body-text h2,
.nab-body-text h3 {
  margin: 2.1em 0 .8em !important;
  color: #6b1412 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.nab-body-text a {
  color: #9d221c !important;
  font-weight: 900 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

.nab-footer-nav {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 44px !important;
  padding-top: 30px !important;
  border-top: 2px dashed rgba(58, 36, 24, .32) !important;
  text-align: center !important;
}

.btn-nab-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 30px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 5px 5px 0 #6b1412 !important;
}

.btn-nab-back:hover {
  background: linear-gradient(180deg, #fff0a6, #ffc940) !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 #6b1412 !important;
}

@media (max-width: 768px) {
  .news-article-body-section {
    padding: 76px 15px 84px !important;
  }

  .news-article-body-section::before {
    top: 28px !important;
    left: 12px !important;
    font-size: 58px !important;
  }

  .nab-container {
    padding: 30px 22px !important;
    box-shadow: 6px 6px 0 rgba(217, 163, 35, .62) !important;
  }

  .nab-container::before {
    inset: 9px !important;
  }

  .nab-header {
    margin-bottom: 24px !important;
    padding-bottom: 22px !important;
  }

  .nab-title {
    font-size: 24px !important;
  }

  .nab-main-img-box {
    aspect-ratio: 4 / 3 !important;
    margin-bottom: 26px !important;
  }

  .nab-body-text {
    font-size: 15px !important;
    line-height: 2 !important;
  }

  .btn-nab-back {
    width: 100% !important;
    padding: 0 18px !important;
  }
}


/* =========================================================
   Page: gallery / ギャラリー
========================================================= */

/* Block: hero_page / sec_1787714028972 */
.page-hero-wrapper {
  position: relative;
  min-height: 360px;
  padding: 150px 20px 90px;
  text-align: center;
  color: var(--text-main);
  background-size: cover;
  background-position: center;
}
.page-hero-wrapper::after,
.ph-overlay {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(16,23,24,.82), rgba(31,47,48,.46));
}
.ph-container { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.ph-title { font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 3.4rem); color: var(--gold-light); letter-spacing: .16em; }
.ph-desc { margin-top: 16px; color: var(--text-sub); font-size: 14px; line-height: 2; }

/* Block: image_banner / sec_1783344032959 */
.image-banner-section {
  padding: clamp(48px, 7vw, 88px) 18px;
  background: #fff4d5;
  text-align: center;
}

.image-banner-container {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 0 auto;
}

.image-banner-slider {
  position: relative;
  overflow: visible !important;
  border-radius: 0;
}

.image-banner-track {
  position: static !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  transform: none !important;
}

/* スライダー用に隠されている画像も全部表示 */
.image-banner-slide,
.image-banner-track > *,
.swiper-slide,
.slick-slide {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.image-banner-slide[style],
.image-banner-track > *[style] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.image-banner-slide .banner-link-wrap,
.banner-link-wrap {
  display: block;
  width: 100%;
  height: 100%;
}

.image-banner-slide .custom-banner-img,
.custom-banner-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0;
  border: 3px solid #2b1a12;
  background: #160d09;
  box-shadow: 7px 7px 0 rgba(117, 24, 18, .72);
  transition:
    transform .38s cubic-bezier(.18, .89, .32, 1.28),
    box-shadow .28s ease,
    filter .28s ease;
}

.image-banner-track:hover .custom-banner-img {
  filter: brightness(.42) saturate(.75);
}

.image-banner-track .banner-link-wrap:hover .custom-banner-img {
  position: relative;
  z-index: 5;
  transform: scale(1.28);
  filter: brightness(1.05) saturate(1.15) contrast(1.06);
  box-shadow:
    0 22px 48px rgba(0, 0, 0, .38),
    10px 10px 0 rgba(117, 24, 18, .82);
}

.image-banner-nav,
.image-banner-dots,
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination,
.slick-arrow,
.slick-dots {
  display: none !important;
}

@media (max-width: 1024px) {
  .image-banner-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .image-banner-track .banner-link-wrap:hover .custom-banner-img {
    transform: scale(1.2);
  }
}

@media (max-width: 768px) {
  .image-banner-section {
    padding: 40px 14px;
  }

  .image-banner-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .image-banner-slide .custom-banner-img,
  .custom-banner-img {
    border-width: 2px;
    box-shadow: 5px 5px 0 rgba(117, 24, 18, .72);
  }

  .image-banner-track .banner-link-wrap:hover .custom-banner-img {
    transform: scale(1.12);
  }
}


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

/* Block: global_footer / sec_1782112173284 */
/* =========================================================
   global_footer に貼るCSS
========================================================= */
.global-footer {
  position: relative !important;
  padding: 96px 20px 58px !important;
  background:
    linear-gradient(180deg, rgba(13, 31, 26, .98), rgba(12, 10, 8, .98)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 11px) !important;
  color: #fff2cf !important;
  border-top: 4px solid #d9a323 !important;
  overflow: hidden !important;
}

.global-footer::before {
  content: "CRAFT BURGER" !important;
  position: absolute !important;
  right: max(20px, 5vw) !important;
  top: 24px !important;
  color: rgba(255, 201, 64, .08) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(3.4rem, 10vw, 8rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.info-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  gap: 54px !important;
  align-items: stretch !important;
}

.footer-brand h2 {
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem) !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  text-shadow: 3px 3px 0 #6b1412 !important;
}

.footer-genre {
  display: inline-flex !important;
  margin-top: 12px !important;
  padding: 5px 12px !important;
  border: 1px solid rgba(255, 201, 64, .45) !important;
  background: rgba(255, 201, 64, .1) !important;
  color: #f7e6be !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.footer-table {
  margin-top: 30px !important;
  border-top: 1px solid rgba(255, 201, 64, .28) !important;
}

.footer-table th,
.footer-table td {
  padding: 15px 0 !important;
  border-bottom: 1px dashed rgba(255, 226, 177, .18) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

.footer-table th {
  width: 96px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.footer-table td {
  color: #f7e6be !important;
}

.footer-tel strong {
  color: #fff2cf !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}

.payment-title {
  margin: 28px 0 12px !important;
  color: #ffc940 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.payment-icons {
  gap: 9px !important;
}

.pay-tag {
  border: 1px solid rgba(255, 201, 64, .45) !important;
  border-radius: 3px !important;
  background: rgba(255, 242, 207, .08) !important;
  color: #fff2cf !important;
  padding: 4px 9px !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.gmap-wrap {
  min-height: 340px !important;
  border: 3px solid #3a2418 !important;
  border-radius: 4px !important;
  background: #22150f !important;
  box-shadow: 10px 10px 0 rgba(107, 20, 18, .72) !important;
}

.gmap-wrap iframe {
  min-height: 340px !important;
  filter: saturate(.8) contrast(1.05) sepia(.12) !important;
}

.gmap-placeholder {
  min-height: 340px !important;
  color: #f7e6be !important;
  background: rgba(255, 242, 207, .04) !important;
}

.footer-copy-text,
.footer-copy {
  background: #080605 !important;
  color: rgba(247, 230, 190, .66) !important;
  border-top: 1px solid rgba(255, 201, 64, .22) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  letter-spacing: .06em !important;
}

.fc-floating-actions {
  right: 24px !important;
  bottom: 24px !important;
  gap: 12px !important;
}

.fc-floating-action {
  min-width: 142px !important;
  min-height: 48px !important;
  border: 2px solid #ffc940 !important;
  border-radius: 4px !important;
  background: rgba(15, 29, 24, .94) !important;
  color: #fff2cf !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  box-shadow: 5px 5px 0 rgba(107, 20, 18, .9), 0 14px 28px rgba(0,0,0,.3) !important;
}

.fc-floating-action:hover {
  background: #ffc940 !important;
  color: #21160d !important;
  transform: translate(2px, 2px) !important;
  box-shadow: 3px 3px 0 rgba(107, 20, 18, .9), 0 10px 22px rgba(0,0,0,.24) !important;
}

.fc-floating-reserve {
  background: linear-gradient(180deg, #ffc940, #d9961f) !important;
  color: #21160d !important;
}

.fc-floating-line {
  border-color: #15bf63 !important;
}

.fc-floating-instagram {
  border-color: #e14b6d !important;
}

@media (max-width: 768px) {
  .global-footer {
    padding: 72px 16px 44px !important;
  }

  .global-footer::before {
    top: 18px !important;
    right: 12px !important;
    font-size: 3.2rem !important;
  }

  .info-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .footer-table th,
  .footer-table td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  .footer-table th {
    margin-top: 16px !important;
    margin-bottom: 4px !important;
  }

  .footer-table td {
    padding-bottom: 14px !important;
    border-bottom: 1px dashed rgba(255, 226, 177, .18) !important;
  }

  .gmap-wrap,
  .gmap-wrap iframe,
  .gmap-placeholder {
    min-height: 300px !important;
  }

  .gmap-wrap {
    box-shadow: 6px 6px 0 rgba(107, 20, 18, .72) !important;
  }

  body.has-floating-actions {
    padding-bottom: 78px !important;
  }

  .fc-floating-actions {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    background: rgba(12, 10, 8, .96) !important;
    border-top: 2px solid #d9a323 !important;
  }

  .fc-floating-action {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 8px !important;
    border-width: 1px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }
}
