/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-10-01 10:24:07
========================================================= */

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

/* Block: global_header / sec_1782112078518 */
/* =========================================================
   global_header に貼るCSS
========================================================= */
.global-header {
  min-height: 66px !important;
  padding: 10px 42px !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 32px !important;
  background:
    linear-gradient(180deg, rgba(42, 14, 5, .98), rgba(19, 7, 3, .96)) !important;
  border-bottom: 2px solid #8f1718 !important;
  box-shadow:
    0 1px 0 rgba(246, 207, 122, .55),
    0 12px 34px rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(10px) !important;
}

.global-header::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 4px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(246, 207, 122, .75), transparent) !important;
  pointer-events: none !important;
}

.header-logo {
  color: #ffd85f !important;
  font-family: "Zen Maru Gothic", "Noto Serif JP", serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  line-height: 1.2 !important;
  text-shadow: 0 0 12px rgba(246, 207, 122, .26) !important;
}

.header-logo img {
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
}

.desktop-nav {
  gap: 28px !important;
}

.desktop-nav a {
  color: #f4ddac !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1.4 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .55) !important;
}

.desktop-nav a::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: -10px !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: #d4a737 !important;
  opacity: 0 !important;
  transform: translateX(-50%) !important;
  transition: opacity .25s ease !important;
}

.desktop-nav a::after {
  bottom: -8px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #9e1518, #ffd85f, #9e1518) !important;
}

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

.desktop-nav a:hover::before,
.desktop-nav a.active::before {
  opacity: 1 !important;
}

.global-header .header-btns {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.fc-language-switcher {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px !important;
  border: 1px solid rgba(255, 216, 95, .42) !important;
  background: rgba(30, 9, 4, .72) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 23, 24, .55) !important;
}

.fc-language-switcher a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 54px !important;
  min-height: 26px !important;
  padding: 5px 9px !important;
  border-radius: 0 !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #f4ddac !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.fc-language-switcher a:hover,
.fc-language-switcher a.is-active {
  border-color: #ffd85f !important;
  background: linear-gradient(180deg, #d61f2b, #9f1118) !important;
  color: #fff4c7 !important;
}

.global-header .btn-header-tel {
  color: #ffd85f !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
}

.global-header .btn-header-reserve {
  min-height: 34px !important;
  padding: 8px 18px !important;
  border-radius: 0 !important;
  border: 1px solid #ffd85f !important;
  outline: 1px solid rgba(154, 20, 20, .95) !important;
  outline-offset: -4px !important;
  background: linear-gradient(180deg, #d61f2b, #a70f18) !important;
  color: #fff4c7 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    0 0 0 1px rgba(103, 10, 12, .9),
    0 8px 18px rgba(0, 0, 0, .28) !important;
}

.global-header .btn-header-reserve:hover {
  border-color: #ffe38a !important;
  background: linear-gradient(180deg, #ef3140, #b8121d) !important;
  color: #fff8d8 !important;
  transform: translateY(-1px) !important;
}

.menu-trigger {
  width: 42px !important;
  height: 42px !important;
  border-radius: 0 !important;
  border: 1px solid #d4a737 !important;
  background: rgba(93, 10, 12, .34) !important;
  color: #ffd85f !important;
  box-shadow: inset 0 0 0 1px rgba(255, 216, 95, .16) !important;
}

.mobile-nav-overlay {
  background:
    linear-gradient(135deg, rgba(48, 13, 6, .98), rgba(12, 5, 3, .98)) !important;
  border: 10px solid rgba(61, 13, 5, .92) !important;
  box-shadow: inset 0 0 0 1px rgba(246, 207, 122, .32) !important;
}

.mobile-nav-overlay a {
  color: #f8dfaa !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}

.mobile-nav-overlay a:hover,
.mobile-nav-overlay a.active {
  color: #ffd85f !important;
}

.mobile-nav-overlay .fc-language-switcher {
  margin: 16px auto 4px !important;
  padding: 4px !important;
  border-color: rgba(255, 216, 95, .55) !important;
  background: rgba(9, 4, 2, .44) !important;
}

.mobile-nav-overlay .fc-language-switcher a {
  min-width: 84px !important;
  min-height: 34px !important;
  padding: 8px 14px !important;
  color: #f8dfaa !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .06em !important;
}

.mobile-nav-overlay .mobile-reserve-btn {
  margin-top: 14px !important;
  min-width: 190px !important;
  border-radius: 0 !important;
  border: 1px solid #ffd85f !important;
  background: linear-gradient(180deg, #d61f2b, #a70f18) !important;
  color: #fff4c7 !important;
}

@media (max-width: 1100px) {
  .global-header {
    padding: 10px 24px !important;
    gap: 20px !important;
  }

  .desktop-nav {
    gap: 18px !important;
  }

  .desktop-nav a {
    font-size: 11px !important;
  }

  .global-header .btn-header-reserve {
    padding: 8px 14px !important;
  }

  .fc-language-switcher a {
    min-width: 46px !important;
    padding: 5px 7px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 992px) {
  .global-header {
    min-height: 64px !important;
    padding: 10px 16px !important;
    display: flex !important;
  }

  .desktop-nav,
  .global-header .header-btns {
    display: none !important;
  }

  .fc-language-switcher-header {
    display: none !important;
  }

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

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

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

@media (max-width: 480px) {
  .global-header {
    min-height: 60px !important;
    padding: 9px 12px !important;
  }

  .header-logo {
    max-width: calc(100vw - 74px) !important;
    font-size: 15px !important;
    letter-spacing: .08em !important;
    white-space: normal !important;
  }

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

  .mobile-nav-overlay a {
    font-size: 18px !important;
  }

  .mobile-nav-overlay .fc-language-switcher {
    display: inline-flex !important;
  }

  .mobile-nav-overlay .fc-language-switcher a {
    min-width: 76px !important;
    font-size: 11px !important;
  }
}


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

/* Block: hero_main / sec_1782110119323 */
/* =========================================================
   hero_main に貼るCSS
========================================================= */
.hero-wrapper {
  margin-top: 66px !important;
  height: min(78svh, 780px) !important;
  min-height: 560px !important;
  padding: 34px 52px !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(45deg, rgba(255, 216, 95, .06) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .06) 75%),
    linear-gradient(45deg, rgba(255, 216, 95, .06) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .06) 75%) !important;
  background-position: 0 0, 18px 18px !important;
  background-size: 36px 36px !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

.hero-img-window {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 2px solid #a4161c !important;
  outline: 1px solid rgba(255, 216, 95, .72) !important;
  outline-offset: 8px !important;
  background: #160703 !important;
  box-shadow:
    0 0 0 1px rgba(93, 10, 12, .9),
    0 26px 70px rgba(0, 0, 0, .48) !important;
}

.hero-img-window::before,
.hero-img-window::after {
  content: "" !important;
  position: absolute !important;
  z-index: 3 !important;
  width: 48px !important;
  height: 48px !important;
  pointer-events: none !important;
}

.hero-img-window::before {
  top: 10px !important;
  left: 10px !important;
  border-top: 3px solid #d71920 !important;
  border-left: 3px solid #d71920 !important;
  box-shadow: inset 8px 8px 0 -6px rgba(255, 216, 95, .9) !important;
}

.hero-img-window::after {
  right: 10px !important;
  bottom: 10px !important;
  border-right: 3px solid #d71920 !important;
  border-bottom: 3px solid #d71920 !important;
  box-shadow: inset -8px -8px 0 -6px rgba(255, 216, 95, .9) !important;
}

.hero-img-window img,
.hero-img-window video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.12) contrast(1.05) brightness(.94) !important;
}

.hero-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 34px 52px !important;
  z-index: 2 !important;
  background:
    linear-gradient(90deg, rgba(31, 8, 3, .62), rgba(194, 130, 32, .22) 50%, rgba(31, 8, 3, .56)),
    linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .34)) !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .hero-wrapper {
    margin-top: 64px !important;
    height: 64svh !important;
    min-height: 430px !important;
    padding: 24px 22px !important;
  }

  .hero-img-window {
    outline-offset: 5px !important;
  }

  .hero-img-window::before,
  .hero-img-window::after {
    width: 34px !important;
    height: 34px !important;
  }

  .hero-wrapper::after {
    inset: 24px 22px !important;
  }
}

@media (max-width: 480px) {
  .hero-wrapper {
    margin-top: 60px !important;
    min-height: 400px !important;
    padding: 18px 16px !important;
  }

  .hero-wrapper::after {
    inset: 18px 16px !important;
  }
}

/* Block: latest_news_bar / sec_1782110423653 */
/* =========================================================
   latest_news_bar に貼るCSS
========================================================= */
.news-bar-section {
  position: relative !important;
  padding: 44px 20px !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  color: #fff4cf !important;
  text-align: center !important;
  overflow: hidden !important;
}

.news-bar-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(45deg, rgba(255, 216, 95, .026) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .026) 75%),
    linear-gradient(45deg, rgba(255, 216, 95, .026) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .026) 75%) !important;
  background-position: 0 0, 18px 18px !important;
  background-size: 36px 36px !important;
  pointer-events: none !important;
}

.news-bar-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

.news-bar-link {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  justify-items: stretch !important;
  min-height: 64px !important;
  padding: 16px 24px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 216, 95, .5) !important;
  background:
    linear-gradient(90deg, rgba(42, 12, 4, .98), rgba(26, 13, 7, .96), rgba(42, 12, 4, .98)) !important;
  color: #fff4cf !important;
  text-decoration: none !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .55),
    0 18px 42px rgba(0, 0, 0, .32) !important;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease !important;
}

.news-bar-link::before {
  content: "" !important;
  position: absolute !important;
  inset: 7px !important;
  border: 1px solid rgba(164, 22, 28, .62) !important;
  pointer-events: none !important;
}

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

.news-bar-link:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 216, 95, .82) !important;
  background:
    linear-gradient(90deg, rgba(50, 14, 5, .98), rgba(32, 15, 8, .98), rgba(50, 14, 5, .98)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .7),
    0 22px 48px rgba(0, 0, 0, .38) !important;
}

.news-bar-left {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.news-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 5px 12px !important;
  border-radius: 0 !important;
  border: 1px solid #ffd85f !important;
  background: linear-gradient(180deg, #d61f2b, #a70f18) !important;
  color: #fff4c7 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  white-space: nowrap !important;
}

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

.news-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  min-width: 0 !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.8 !important;
  text-align: left !important;
}

.news-arrow {
  position: relative !important;
  z-index: 1 !important;
  color: #ffd85f !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

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

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

  .news-bar-left {
    grid-column: 1 / -1 !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .news-title {
    text-align: left !important;
    font-size: 13px !important;
  }

  .news-arrow {
    align-self: center !important;
  }
}

/* Block: custom_html / sec_1787968849133 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

.mobileorder-title {
    padding-top: 100px;
    text-align: center;
    font-family: "Zen Maru Gothic", "Noto Serif JP", serif !important;
    font-size: clamp(1.7rem, 3vw, 2.0rem) !important;
    color: #152020 !important;
    background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
}

/* Block: image_banner / sec_1787968476795 */
.image-banner-section {padding: 0; background: transparent; text-align: center;}
.image-banner-container {max-width: none; width: 100%; margin: 0 auto;}
.banner-link-wrap {display: block;}
.custom-banner-img {width: 100%; height: auto; border-radius: 0; box-shadow: none; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s;}
.banner-link-wrap[href]:hover .custom-banner-img {transform: none; box-shadow: none;}
.image-banner-slider {position: relative; overflow: hidden; border-radius: 0;}
.image-banner-track {position: relative; aspect-ratio: 16 / 7; min-height: 420px;}
.image-banner-slide .banner-link-wrap,
.image-banner-slide .custom-banner-img {width: 100%; height: 100%;}
.image-banner-slide .custom-banner-img {object-fit: cover;}
.image-banner-nav {position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.55); background: rgba(7,18,17,0.58); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 3; transition: 0.2s;}
.image-banner-nav:hover {background: rgba(197,162,90,0.88);}
.image-banner-prev {left: 18px;}
.image-banner-next {right: 18px;}
.image-banner-dots {position: absolute; left: 0; right: 0; bottom: 16px; display: flex; justify-content: center; gap: 8px; z-index: 4;}
@media (max-width: 768px) {
  .image-banner-section {padding: 0;}
  .image-banner-track {aspect-ratio: 4 / 5; min-height: 420px;}
  .image-banner-nav {width: 34px; height: 34px; font-size: 12px;}
  .image-banner-prev {left: 10px;}
  .image-banner-next {right: 10px;}
  .image-banner-dots {bottom: 12px; gap: 6px;}
}

#sec_1787968476795 {
    padding-top: 30px !important;
}
#sec_1787968476795 .banner-link-wrap {
    bordder: none !important;
    outline: none !important;
    box-shadow: none !important;
}
#sec_1787968476795 .image-banner-container {
    max-width: 400px !important;
    width: 90% !important;
}
#sec_1787968476795 .custom-banner-img {
    filter: none !important;
}
#sec_1787968476795 .banner-link-wrap::after {
    display: none !important;
}

/* Block: concept_split / sec_1782110303957 */
/* =========================================================
   concept_split に貼るCSS
========================================================= */
.concept-section {
  position: relative !important;
  padding: 96px 20px 112px !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  color: #f8e9c7 !important;
  overflow: hidden !important;
}

.concept-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(45deg, rgba(255, 216, 95, .035) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .035) 75%),
    linear-gradient(45deg, rgba(255, 216, 95, .035) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .035) 75%) !important;
  background-position: 0 0, 18px 18px !important;
  background-size: 36px 36px !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

.concept-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr) !important;
  gap: 64px !important;
  align-items: center !important;
}

.concept-container.concept-reverse {
  grid-template-columns: minmax(340px, 1.1fr) minmax(0, .9fr) !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: 18px 0 18px 28px !important;
  display: block !important;
  text-align: left !important;
}

/.concept-content::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: linear-gradient(180deg, transparent, #c5161d 14%, #c5161d 86%, transparent) !important;
}

.concept-content::after {
  content: "" !important;
  position: absolute !important;
  left: -4px !important;
  top: 48px !important;
  width: 10px !important;
  height: 10px !important;
  background: #ffd85f !important;
  box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}

.concept-title,
.concept-content h2,
.concept-content h3 {
  margin: 0 0 24px !important;
  color: #111 !important;
  font-family: "Zen Maru Gothic", "Noto Serif JP", serif !important;
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .12em !important;
  text-align: left !important;
  text-shadow: 0 0 14px rgba(246, 207, 122, .18) !important;
}
#sec_1782110303957 .concept-content h2 {
    font-family: "Zen Maru Gothic", "Noto Serif JP", serif !important;
}

.concept-text,
.concept-content p {
  max-width: 520px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 2.15 !important;
  letter-spacing: .04em !important;
  text-align: left !important;
}

.concept-img-wrapper {
  position: relative !important;
  width: auto !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: 2px solid #a4161c !important;
  outline: 1px solid rgba(255, 216, 95, .58) !important;
  outline-offset: 6px !important;
  background: #120603 !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .38) !important;
}

.concept-img-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  z-index: 2 !important;
  border: 1px solid rgba(255, 216, 95, .46) !important;
  pointer-events: none !important;
}

.concept-img-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(90, 18, 5, .16)) !important;
  pointer-events: none !important;
}

.concept-img-wrapper img,
.concept-img-wrapper video {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  filter: saturate(1.1) contrast(1.05) brightness(.96) !important;
}

@media (max-width: 768px) {
  .concept-section {
    padding: 72px 15px 82px !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: 14px 0 14px 22px !important;
  }

  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    font-size: 1.55rem !important;
    letter-spacing: .09em !important;
  }

  .concept-text,
  .concept-content p {
    max-width: none !important;
    font-size: 12px !important;
    line-height: 2 !important;
  }

    #sec_1782110303957 .concept-text {
        width: 85% !important;
        margin: auto !important;
        font-size: 15px !important;
    }
  .concept-img-wrapper {
    outline-offset: 4px !important;
  }
}

/* Block: custom_html / sec_1782891213927 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

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

.btns{
 width:80%;
 margin:45px auto;
 margin-bottom:4vw !important;
 display:flex;
 justify-content:center;
 align-items:center;
 gap:2vw;
}

.btns a{
 width:30%;
 display:block;
}

.btns a button{
 width:100%;
 border:none;
 color:#fff;
 background:#E93421;
 transition:all .4s;
 padding:1vw 0;
}

.btns a button:hover{
 background:rgba(0,0,0,0);
 border:1px solid #E93421;
 color:#f56400;
}


@media screen and (max-width: 480px) {
	.btns{
	 width:95%;
	 flex-wrap:wrap;
	 justify-content:center;
	}
	.btns a{
	 width:80%;
	}
}

/* Block: custom_html / sec_1782891760307 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

.concept-section {
  position: relative !important;
  padding: 96px 20px 80px !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  color: #f8e9c7 !important;
  overflow: hidden !important;
}

.concept-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(45deg, rgba(255, 216, 95, .035) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .035) 75%),
    linear-gradient(45deg, rgba(255, 216, 95, .035) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .035) 75%) !important;
  background-position: 0 0, 18px 18px !important;
  background-size: 36px 36px !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

.concept-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr) !important;
  gap: 64px !important;
  align-items: center !important;
}

.concept-container.concept-reverse {
  grid-template-columns: minmax(340px, 1.1fr) minmax(0, .9fr) !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: 18px 0 18px 28px !important;
  display: block !important;
  text-align: left !important;
}

/.concept-content::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: linear-gradient(180deg, transparent, #c5161d 14%, #c5161d 86%, transparent) !important;
}

.concept-content::after {
  content: "" !important;
  position: absolute !important;
  left: -4px !important;
  top: 48px !important;
  width: 10px !important;
  height: 10px !important;
  background: #ffd85f !important;
  box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}

.concept-title,
.concept-content h2,
.concept-content h3 {
  margin: 0 0 24px !important;
  color: #111 !important;
  font-family: "Zen Maru Gothic", "Noto Serif JP", serif !important;
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .12em !important;
  text-align: left !important;
  text-shadow: 0 0 14px rgba(246, 207, 122, .18) !important;
}

.concept-text,
.concept-content p {
  max-width: 520px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 2.15 !important;
  letter-spacing: .04em !important;
  text-align: left !important;
}

.concept-img-wrapper {
  position: relative !important;
  width: auto !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: 2px solid #a4161c !important;
  outline: 1px solid rgba(255, 216, 95, .58) !important;
  outline-offset: 6px !important;
  background: #120603 !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .38) !important;
}

.concept-img-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  z-index: 2 !important;
  border: 1px solid rgba(255, 216, 95, .46) !important;
  pointer-events: none !important;
}

.concept-img-wrapper::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(90, 18, 5, .16)) !important;
  pointer-events: none !important;
}

.concept-img-wrapper img,
.concept-img-wrapper video {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  filter: saturate(1.1) contrast(1.05) brightness(.96) !important;
}

@media (max-width: 768px) {
  .concept-section {
    padding: 72px 15px 82px !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: 14px 0 14px 22px !important;
  }

  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    font-size: 12px !important;
    letter-spacing: .09em !important;
  }

  .concept-text,
  .concept-content p {
    max-width: none !important;
    font-size: 13px !important;
    line-height: 2 !important;
  }

  .concept-img-wrapper {
    outline-offset: 4px !important;
  }
}

.btns{
 width:80%;
 margin:45px auto;
 margin-bottom:4vw !important;
 display:flex;
 justify-content:center;
 align-items:center;
 gap:2vw;
}

.btns a{
 width:30%;
 display:block;
}

.btns a button{
 width:100%;
 border:none;
 color:#fff;
 background:#E93421;
 transition:all .4s;
 padding:1vw 0;
}

.btns a button:hover{
 background:rgba(0,0,0,0);
 border:1px solid #E93421;
 color:#f56400;
}


@media screen and (max-width: 480px) {
	.btns{
	 width:95%;
	 flex-wrap:wrap;
	 justify-content:center;
	}
	.btns a{
	 width:80%;
	}
}

/* Block: image_banner / sec_1782110604574 */
/* =========================================================
   image_banner に貼るCSS
========================================================= */
.image-banner-section {
  position: relative !important;
  padding: 74px 20px !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  text-align: center !important;
  overflow: hidden !important;
}

.image-banner-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(45deg, rgba(255, 216, 95, .032) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .032) 75%),
    linear-gradient(45deg, rgba(255, 216, 95, .032) 25%, transparent 25%, transparent 75%, rgba(255, 216, 95, .032) 75%) !important;
  background-position: 0 0, 18px 18px !important;
  background-size: 36px 36px !important;
  pointer-events: none !important;
}

.image-banner-container {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.banner-link-wrap {
  display: block !important;
}

.image-banner-slider,
.banner-link-wrap {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: 2px solid #a4161c !important;
  outline: 1px solid rgba(255, 216, 95, .62) !important;
  outline-offset: 6px !important;
  background: #120603 !important;
  box-shadow:
    0 0 0 1px rgba(93, 10, 12, .9),
    0 24px 58px rgba(0, 0, 0, .42) !important;
}

.image-banner-slider::before,
.banner-link-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  z-index: 3 !important;
  border: 1px solid rgba(255, 216, 95, .45) !important;
  pointer-events: none !important;
}

.image-banner-slider::after,
.banner-link-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(90deg, rgba(26, 7, 3, .38), rgba(255, 216, 95, .08), rgba(26, 7, 3, .34)) !important;
  pointer-events: none !important;
}

.image-banner-track {
  position: relative !important;
  aspect-ratio: 16 / 7 !important;
  min-height: 420px !important;
}

.image-banner-slide {
  position: absolute !important;
  inset: 0 !important;
}

.image-banner-slide .banner-link-wrap {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.custom-banner-img,
.image-banner-slide .custom-banner-img {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  filter: saturate(1.08) contrast(1.04) brightness(.9) !important;
  transition: transform .55s ease, filter .55s ease !important;
}

.banner-link-wrap[href]:hover .custom-banner-img {
  transform: scale(1.025) !important;
  filter: saturate(1.14) contrast(1.07) brightness(.96) !important;
  box-shadow: none !important;
}

.image-banner-nav {
  z-index: 5 !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  border-radius: 0 !important;
  border: 1px solid #ffd85f !important;
  background: rgba(77, 12, 8, .82) !important;
  color: #ffd85f !important;
  box-shadow: inset 0 0 0 1px rgba(164, 22, 28, .62) !important;
}

.image-banner-nav:hover {
  background: linear-gradient(180deg, #d61f2b, #a70f18) !important;
  color: #fff4c7 !important;
}

.image-banner-prev {
  left: 22px !important;
}

.image-banner-next {
  right: 22px !important;
}

.image-banner-dots {
  z-index: 5 !important;
  bottom: 18px !important;
  gap: 8px !important;
}

.image-banner-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 216, 95, .85) !important;
  background: rgba(26, 7, 3, .72) !important;
}

.image-banner-dot.is-active {
  background: #ffd85f !important;
  border-color: #ffd85f !important;
}

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

  .image-banner-slider,
  .banner-link-wrap {
    outline-offset: 4px !important;
  }

  .image-banner-track {
    aspect-ratio: 4 / 5 !important;
    min-height: 420px !important;
  }

  .custom-banner-img,
  .image-banner-slide .custom-banner-img {
    min-height: 360px !important;
  }

  .image-banner-nav {
    width: 34px !important;
    height: 34px !important;
  }

  .image-banner-prev {
    left: 12px !important;
  }

  .image-banner-next {
    right: 12px !important;
  }

  .image-banner-dots {
    bottom: 12px !important;
  }
}

/* Block: custom_html / sec_1782891435366 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

#instagram {
    background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
}
#instagram a img {
    width: 95% !important;
    max-width: 800px !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    margin: auto;
}


/* =========================================================
   Page: menu / 味のまんぷく｜千歳の本格ラーメンと手作りの味｜お品書き
========================================================= */

/* Block: hero_page / sec_1782110792533 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  /*background-color: #160602 !important;*/
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

.menu-grid-section {
    background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
}

/* Block: menu_category_grid / sec_1782110885267 */
/* =========================================================
   menu_category_grid に貼るCSS
========================================================= */
.menu-grid-section {
  position: relative !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  padding: 104px 20px 112px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  background-size: 72px 100%, auto !important;
  color: #fff4cf !important;
  border-top: 1px solid rgba(255, 216, 95, .28) !important;
  border-bottom: 2px solid #861419 !important;
}

.menu-grid-section::before,
.menu-grid-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 120px !important;
  height: 120px !important;
  pointer-events: none !important;
}

.menu-grid-section::before {
  top: 24px !important;
  left: 24px !important;
  border-top: 2px solid rgba(255, 216, 95, .64) !important;
  border-left: 2px solid rgba(164, 22, 28, .88) !important;
}

.menu-grid-section::after {
  right: 24px !important;
  bottom: 24px !important;
  border-right: 2px solid rgba(164, 22, 28, .88) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .64) !important;
}

.menu-section-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
  margin: 0 auto 68px !important;
  padding: 0 20px 30px !important;
  text-align: center !important;
}

.menu-section-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(360px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.menu-main-title {
  margin: 0 !important;
  color: #221009 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .14em !important;
  text-shadow: 0 2px 18px rgba(255, 198, 67, .16) !important;
    display: none !important;
}

.menu-sub-text {
  margin: 16px 0 0 !important;
  color: #221009 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
  
}

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

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

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

.menu-cat-header {
  position: relative !important;
  margin: 0 0 32px !important;
  padding: 17px 24px 17px 31px !important;
  border: 1px solid rgba(255, 216, 95, .62) !important;
  border-left: 6px solid #a4161c !important;
  background: linear-gradient(90deg, rgba(139, 17, 22, .94), rgba(53, 10, 5, .92) 44%, rgba(18, 5, 2, .96)) !important;
  box-shadow:
    inset 0 0 0 3px rgba(20, 4, 2, .5),
    0 12px 28px rgba(0, 0, 0, .24) !important;
}

.menu-cat-header::after {
  content: "" !important;
  position: absolute !important;
  top: 7px !important;
  right: 7px !important;
  bottom: 7px !important;
  width: 20px !important;
  border-top: 1px solid rgba(255, 216, 95, .58) !important;
  border-right: 1px solid rgba(255, 216, 95, .58) !important;
  border-bottom: 1px solid rgba(255, 216, 95, .58) !important;
  pointer-events: none !important;
}

.menu-cat-name {
  margin: 0 !important;
  color: #ffe083 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .1em !important;
}

.menu-cat-desc {
  margin: 7px 0 0 !important;
  color: #efd9a9 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  letter-spacing: .03em !important;
}

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

.menu-item-card {
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  padding: 16px !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .36) !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, rgba(48, 13, 6, .96), rgba(20, 6, 3, .98)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(153, 20, 24, .24),
    0 16px 34px rgba(0, 0, 0, .24) !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

.menu-item-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(255, 216, 95, .76) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .48),
    0 20px 42px rgba(0, 0, 0, .36) !important;
}

.mi-img-box {
  position: relative !important;
  flex: 0 0 154px !important;
  width: 154px !important;
  height: auto !important;
  min-height: 136px !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .42) !important;
  border-radius: 0 !important;
  background: #1b0804 !important;
}

.mi-img-box::after {
  content: "" !important;
  position: absolute !important;
  inset: 6px !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  pointer-events: none !important;
}

.mi-img-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

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

.mi-sold-out {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  background: rgba(28, 4, 2, .8) !important;
  color: #ffe083 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

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

.mi-title {
  margin: 0 0 8px !important;
  color: #fff3cc !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .04em !important;
  overflow-wrap: anywhere !important;
}

.mi-text {
  flex-grow: 1 !important;
  margin: 0 0 14px !important;
  color: #cfb17b !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
  overflow-wrap: anywhere !important;
}

.mi-meta {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-top: 11px !important;
  border-top: 1px dashed rgba(255, 216, 95, .3) !important;
}

.mi-duration {
  color: #a98b59 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

.mi-price {
  flex: none !important;
  margin: 0 !important;
  color: #ffd85f !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.price-in {
  color: #ffd85f !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

/* 画像なしの商品は中華料理店の品書き風に表示 */
.menu-item-card.no-image {
  padding: 17px 20px !important;
  display: block !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 216, 95, .28) !important;
  background: rgba(44, 11, 5, .48) !important;
  box-shadow: inset 4px 0 0 rgba(145, 18, 22, .72) !important;
}

.menu-item-card.no-image:hover {
  transform: none !important;
  border-bottom-color: rgba(255, 216, 95, .58) !important;
  background: rgba(69, 15, 7, .58) !important;
  box-shadow: inset 4px 0 0 #b21f24 !important;
}

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

.menu-item-card.no-image .mi-title {
  grid-column: 1 !important;
  margin: 0 !important;
  font-size: 16px !important;
}

.menu-item-card.no-image .mi-text {
  grid-column: 1 / -1 !important;
  margin: 0 !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-duration {
  display: none !important;
}

.menu-item-card.no-image .price-in {
  font-size: 16px !important;
}

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

  .mi-img-box {
    flex-basis: 170px !important;
    width: 170px !important;
  }
}

@media (max-width: 768px) {
  .menu-grid-section {
    padding: 76px 15px 84px !important;
    background-size: 48px 100%, auto !important;
  }

  .menu-grid-section::before,
  .menu-grid-section::after {
    width: 72px !important;
    height: 72px !important;
  }

  .menu-grid-section::before {
    top: 15px !important;
    left: 15px !important;
  }

  .menu-grid-section::after {
    right: 15px !important;
    bottom: 15px !important;
  }

  .menu-section-header {
    margin-bottom: 50px !important;
    padding: 0 12px 25px !important;
  }

  .menu-main-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
  }

  .menu-sub-text {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }

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

  .menu-cat-header {
    margin-bottom: 22px !important;
    padding: 14px 20px 14px 22px !important;
  }

  .menu-cat-name {
    font-size: 21px !important;
  }

  .menu-items-grid {
    gap: 16px !important;
  }

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

  .mi-img-box {
    flex-basis: 124px !important;
    width: 124px !important;
    min-height: 116px !important;
  }

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

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

@media (max-width: 480px) {
  .menu-grid-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .menu-cat-header {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .menu-cat-name {
    font-size: 19px !important;
  }

  .menu-item-card:not(.no-image) {
    flex-direction: column !important;
  }

  .mi-img-box {
    flex: none !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }

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

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

  .menu-item-card.no-image .mi-title {
    font-size: 15px !important;
  }

  .menu-item-card.no-image .price-in {
    font-size: 15px !important;
  }
}


/* =========================================================
   Page: courses / COURSES ページ
========================================================= */

/* Block: hero_page / sec_1782110998212 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  background-color: #160602 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

/* Block: course_list / sec_1782111030011 */
/* =========================================================
   course_list に貼るCSS
========================================================= */
.course-list-section {
  position: relative !important;
  padding: 108px 20px 116px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, transparent 0, rgba(133, 20, 17, .14) 50%, transparent 100%),
    linear-gradient(180deg, #120402, #1d0804 48%, #0c0302) !important;
  color: #fff4cf !important;
  border-top: 1px solid rgba(255, 216, 95, .24) !important;
  border-bottom: 2px solid #8f1718 !important;
}

.course-list-section::before,
.course-list-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 140px !important;
  height: 140px !important;
  pointer-events: none !important;
}

.course-list-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .62) !important;
  border-left: 2px solid rgba(164, 22, 28, .88) !important;
}

.course-list-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .88) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .62) !important;
}

.course-list-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
  margin: 0 auto 62px !important;
  padding: 0 20px 30px !important;
  text-align: center !important;
}

.course-list-header::before {
  content: "宴" !important;
  display: flex !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 auto 18px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #ffd85f !important;
  outline: 1px solid rgba(164, 22, 28, .74) !important;
  outline-offset: 4px !important;
  background: #9e1518 !important;
  color: #ffe68f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.course-list-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(380px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.course-list-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
  text-shadow: 0 2px 18px rgba(255, 198, 67, .16) !important;
}

.course-list-desc {
  margin: 16px 0 0 !important;
  color: #d8bd88 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

.course-list-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.course-list-card {
  position: relative !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .46) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(51, 13, 6, .98), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(156, 19, 24, .34),
    0 18px 42px rgba(0, 0, 0, .3) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.course-list-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  z-index: 3 !important;
  border: 1px solid rgba(160, 22, 27, .42) !important;
  pointer-events: none !important;
}

.course-list-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(255, 216, 95, .84) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .52),
    0 24px 50px rgba(0, 0, 0, .42) !important;
}

.course-list-img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #210905 !important;
  color: #caa556 !important;
  font-size: 42px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .4) !important;
}

.course-list-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, transparent 62%, rgba(24, 5, 2, .42)) !important;
  pointer-events: none !important;
}

.course-list-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .5s ease, filter .5s ease !important;
}

.course-list-card:hover .course-list-img img {
  transform: scale(1.045) !important;
  filter: saturate(1.06) contrast(1.02) !important;
}

.course-list-body {
  position: relative !important;
  z-index: 2 !important;
  flex: 1 1 auto !important;
  padding: 28px 27px 30px !important;
  display: flex !important;
  flex-direction: column !important;
}

.course-list-kicker {
  margin: 0 0 10px !important;
  color: #caa45a !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.course-list-body h3 {
  margin: 0 0 15px !important;
  color: #fff1c8 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .05em !important;
  overflow-wrap: anywhere !important;
}

.course-list-text {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: #d1b681 !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  overflow-wrap: anywhere !important;
}

.course-list-price {
  margin: 22px 0 20px !important;
  padding: 15px 0 13px !important;
  color: #ffd85f !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  border-top: 1px dashed rgba(255, 216, 95, .3) !important;
  border-bottom: 1px dashed rgba(255, 216, 95, .3) !important;
  white-space: normal !important;
}

.course-list-price small {
  margin-left: 6px !important;
  color: #c9aa70 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.course-list-reserve {
  position: relative !important;
  z-index: 4 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 50px !important;
  margin-top: auto !important;
  padding: 12px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #bd2024, #8e1014) !important;
  color: #fff7dc !important;
  box-shadow: inset 0 0 0 3px rgba(73, 5, 5, .28) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease !important;
}

.course-list-reserve:hover {
  border-color: #ffe68f !important;
  background: linear-gradient(180deg, #d42a2f, #a4161c) !important;
  color: #fff !important;
  box-shadow:
    inset 0 0 0 3px rgba(73, 5, 5, .2),
    0 8px 22px rgba(164, 22, 28, .3) !important;
}

.drink-option-list {
  position: relative !important;
  z-index: 1 !important;
  max-width: 760px !important;
  margin: 62px auto 0 !important;
  padding: 28px 32px 30px !important;
  border: 1px solid rgba(255, 216, 95, .5) !important;
  border-top: 4px solid #9e1518 !important;
  background: linear-gradient(135deg, rgba(55, 14, 6, .86), rgba(17, 5, 2, .94)) !important;
  box-shadow:
    inset 0 0 0 5px rgba(20, 4, 2, .38),
    0 18px 38px rgba(0, 0, 0, .26) !important;
}

.drink-option-list::before {
  content: "飲み放題・追加オプション" !important;
  display: block !important;
  margin: 0 0 14px !important;
  padding-bottom: 14px !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(255, 216, 95, .3) !important;
}

.drink-option-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 15px 4px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .16) !important;
  color: #e1c894 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
}

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

@media (max-width: 960px) {
  .course-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

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

  .course-list-section::before,
  .course-list-section::after {
    width: 76px !important;
    height: 76px !important;
  }

  .course-list-section::before {
    top: 15px !important;
    left: 15px !important;
  }

  .course-list-section::after {
    right: 15px !important;
    bottom: 15px !important;
  }

  .course-list-header {
    margin-bottom: 48px !important;
    padding: 0 12px 26px !important;
  }

  .course-list-header::before {
    width: 38px !important;
    height: 38px !important;
    font-size: 19px !important;
  }

  .course-list-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
  }

  .course-list-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  .course-list-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    max-width: 560px !important;
  }

  .course-list-img {
    aspect-ratio: 16 / 10 !important;
  }

  .course-list-body {
    padding: 25px 24px 27px !important;
  }

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

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

  .drink-option-list {
    max-width: 560px !important;
    margin-top: 44px !important;
    padding: 24px 22px 26px !important;
  }
}

@media (max-width: 480px) {
  .course-list-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .course-list-body {
    padding: 23px 19px 24px !important;
  }

  .course-list-price {
    font-size: 21px !important;
    text-align: left !important;
  }

  .course-list-reserve {
    min-height: 48px !important;
    font-size: 12px !important;
  }

  .drink-option-list {
    padding: 22px 17px 24px !important;
  }

  .drink-option-list::before {
    font-size: 16px !important;
  }

  .drink-option-row {
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 13px 2px !important;
    font-size: 12px !important;
  }
}


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

/* Block: hero_page / sec_1782111079546 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  background-color: #160602 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

/* Block: seat_list_full / sec_1782111115207 */
/* =========================================================
   seat_list_full に貼るCSS
========================================================= */
.seat-list-full-section {
  position: relative !important;
  padding: 108px 20px 116px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(112, 16, 13, .12) 1px, transparent 1px),
    linear-gradient(180deg, #170603, #0d0302 52%, #180704) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-top: 1px solid rgba(255, 216, 95, .24) !important;
  border-bottom: 2px solid #8f1718 !important;
}

.seat-list-full-section::before,
.seat-list-full-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 132px !important;
  height: 132px !important;
  pointer-events: none !important;
}

.seat-list-full-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .64) !important;
  border-left: 2px solid rgba(164, 22, 28, .88) !important;
}

.seat-list-full-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .88) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .64) !important;
}

.slf-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
  margin: 0 auto 62px !important;
  padding: 0 20px 30px !important;
  text-align: center !important;
}

.slf-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(380px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.slf-main-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
  text-shadow: 0 2px 18px rgba(255, 198, 67, .16) !important;
}

.slf-sub-text {
  margin: 16px 0 0 !important;
  color: #d8bd88 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

.slf-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.slf-card {
  position: relative !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .44) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(51, 13, 6, .98), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(156, 19, 24, .34),
    0 18px 42px rgba(0, 0, 0, .3) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.slf-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  z-index: 3 !important;
  border: 1px solid rgba(160, 22, 27, .4) !important;
  pointer-events: none !important;
}

.slf-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(255, 216, 95, .82) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .5),
    0 24px 50px rgba(0, 0, 0, .42) !important;
}

.slf-img-wrap {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #210905 !important;
  border-bottom: 1px solid rgba(255, 216, 95, .4) !important;
}

.slf-img-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, transparent 58%, rgba(25, 5, 2, .46)) !important;
  pointer-events: none !important;
}

.slf-img-wrap img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .5s ease, filter .5s ease !important;
}

.slf-card:hover .slf-img-wrap img {
  transform: scale(1.045) !important;
  filter: saturate(1.05) contrast(1.02) !important;
}

.slf-badge {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  z-index: 2 !important;
  min-width: 76px !important;
  padding: 7px 12px !important;
  border-radius: 0 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .05em !important;
  text-align: center !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .28) !important;
}

.slf-badge.is-open {
  border: 1px solid #ffe083 !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
}

.slf-badge.is-full {
  border: 1px solid #78695b !important;
  background: rgba(35, 29, 25, .94) !important;
  color: #c8b9a1 !important;
}

.slf-body {
  position: relative !important;
  z-index: 2 !important;
  flex: 1 1 auto !important;
  padding: 28px 27px 30px !important;
  display: flex !important;
  flex-direction: column !important;
}

.slf-title {
  margin: 0 0 13px !important;
  color: #fff1c8 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .05em !important;
  overflow-wrap: anywhere !important;
}

.slf-cap {
  display: inline-block !important;
  margin-left: 7px !important;
  color: #c8a868 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.slf-desc {
  flex: 1 1 auto !important;
  margin: 0 !important;
  color: #d1b681 !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  overflow-wrap: anywhere !important;
}

.slf-reserve-btn {
  position: relative !important;
  z-index: 4 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 50px !important;
  margin-top: 23px !important;
  padding: 12px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #bd2024, #8e1014) !important;
  color: #fff7dc !important;
  box-shadow: inset 0 0 0 3px rgba(73, 5, 5, .28) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.slf-reserve-btn:hover {
  border-color: #ffe68f !important;
  background: linear-gradient(180deg, #d42a2f, #a4161c) !important;
  color: #fff !important;
}

@media (max-width: 960px) {
  .slf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .seat-list-full-section {
    padding: 78px 15px 88px !important;
    background-size: 50px 100%, auto !important;
  }

  .seat-list-full-section::before,
  .seat-list-full-section::after {
    width: 76px !important;
    height: 76px !important;
  }

  .seat-list-full-section::before {
    top: 15px !important;
    left: 15px !important;
  }

  .seat-list-full-section::after {
    right: 15px !important;
    bottom: 15px !important;
  }

  .slf-header {
    margin-bottom: 48px !important;
    padding: 0 12px 26px !important;
  }

  .slf-main-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
  }

  .slf-sub-text {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  .slf-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    max-width: 560px !important;
  }

  .slf-img-wrap {
    aspect-ratio: 16 / 10 !important;
  }

  .slf-body {
    padding: 25px 24px 27px !important;
  }
}

@media (max-width: 480px) {
  .seat-list-full-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .slf-body {
    padding: 23px 19px 24px !important;
  }

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

  .slf-reserve-btn {
    min-height: 48px !important;
    font-size: 12px !important;
  }
}

/* Block: big_calendar / sec_1782111142769 */
/* =========================================================
   big_calendar に貼るCSS
========================================================= */
.big-calendar-section {
  position: relative !important;
  padding: 104px 20px 110px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, #0d0302, #220a05 48%, #100402) !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.big-calendar-section::before {
  content: "" !important;
  position: absolute !important;
  top: 18px !important;
  right: 28px !important;
  bottom: 18px !important;
  left: 28px !important;
  z-index: 0 !important;
  border: 1px solid rgba(255, 216, 95, .28) !important;
  pointer-events: none !important;
}

.bc-container,
.calendar-card {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1040px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.calendar-card {
  padding: 38px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .56) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(52, 13, 6, .96), rgba(15, 4, 2, .98)) !important;
  box-shadow:
    inset 0 0 0 6px rgba(115, 13, 16, .22),
    0 22px 52px rgba(0, 0, 0, .36) !important;
}

.calendar-header-box,
.bc-header,
.big-calendar-section .section-header {
  position: relative !important;
  margin: 0 0 38px !important;
  padding: 0 12px 24px !important;
  text-align: center !important;
}

.calendar-header-box::after,
.bc-header::after,
.big-calendar-section .section-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(330px, 68vw) !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #a4161c, #ffd85f, transparent) !important;
}

.cal-main-title,
.bc-title,
.big-calendar-section h2 {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .12em !important;
}

.cal-sub-text,
.bc-desc,
.big-calendar-section p {
  margin: 13px 0 0 !important;
  color: #d8bd88 !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
}

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

.bc-month-label {
  min-width: 170px !important;
  color: #ffe083 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

.bc-month-btn {
  box-sizing: border-box !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 216, 95, .68) !important;
  border-radius: 0 !important;
  background: #651014 !important;
  color: #ffe083 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}

.bc-month-btn:hover:not(:disabled) {
  border-color: #ffe68f !important;
  background: #a4161c !important;
  color: #fff !important;
}

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

.bc-calendar,
.bc-grid,
.big-calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .46) !important;
  border-radius: 0 !important;
  background: #130503 !important;
}

.bc-day-head,
.bc-day {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 12px 8px !important;
  border-right: 1px solid rgba(255, 216, 95, .16) !important;
  border-bottom: 1px solid rgba(255, 216, 95, .16) !important;
}

.bc-day-head:nth-child(7n),
.bc-day:nth-child(7n) {
  border-right: 0 !important;
}

.bc-day-head {
  min-height: 38px !important;
  background: linear-gradient(180deg, #7c1115, #511013) !important;
  color: #ffe083 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
}

.bc-day {
  background: rgba(47, 12, 6, .7) !important;
  color: #fff1c8 !important;
  cursor: pointer !important;
  transition: background-color .2s ease, box-shadow .2s ease !important;
}

.bc-day.is-open {
  background: linear-gradient(145deg, rgba(126, 86, 20, .52), rgba(45, 14, 5, .94)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 216, 95, .25) !important;
}

.bc-day.is-open:hover {
  background: linear-gradient(145deg, rgba(166, 112, 22, .66), rgba(63, 17, 6, .96)) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 224, 131, .58) !important;
}

.bc-day.is-limited {
  background: linear-gradient(145deg, rgba(134, 59, 12, .5), rgba(54, 15, 5, .94)) !important;
}

.bc-day.is-full {
  background: rgba(53, 9, 8, .76) !important;
  color: #92766f !important;
  cursor: default !important;
}

.bc-empty {
  background: rgba(12, 4, 2, .76) !important;
  cursor: default !important;
}

.bc-date-num {
  color: #fff3cc !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

.bc-date-mark {
  margin-top: 10px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.mark-ok,
.bc-mark-open {
  color: #ffd85f !important;
  text-shadow: 0 0 14px rgba(255, 216, 95, .28) !important;
}

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

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

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

  .big-calendar-section::before {
    top: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
  }

  .calendar-card {
    padding: 25px 16px 22px !important;
  }

  .calendar-header-box,
  .bc-header,
  .big-calendar-section .section-header {
    margin-bottom: 28px !important;
  }

  .cal-main-title,
  .bc-title,
  .big-calendar-section h2 {
    font-size: 23px !important;
    letter-spacing: .09em !important;
  }

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

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

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

  .calendar-card {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .bc-calendar,
  .bc-grid,
  .big-calendar-grid {
    min-width: 620px !important;
  }

  .bc-day {
    min-height: 72px !important;
    padding: 9px 6px !important;
  }

  .bc-day-head {
    min-height: 34px !important;
    padding: 8px 4px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 480px) {
  .calendar-card {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .cal-main-title,
  .bc-title,
  .big-calendar-section h2 {
    font-size: 21px !important;
  }

  .cal-sub-text,
  .bc-desc,
  .big-calendar-section p {
    font-size: 12px !important;
  }
}

/* Block: reservation_policy / sec_1782111159668 */
/* =========================================================
   reservation_policy に貼るCSS
========================================================= */
.policy-section {
  position: relative !important;
  padding: 88px 20px 96px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #170603, #0b0302) !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.policy-section::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 216, 95, .7), transparent) !important;
  pointer-events: none !important;
}

.policy-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 40px 44px 42px !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-left: 6px solid #a4161c !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(52, 13, 6, .96), rgba(17, 5, 2, .98)) !important;
  color: #ead4a4 !important;
  box-shadow:
    inset 0 0 0 6px rgba(111, 13, 16, .18),
    0 20px 48px rgba(0, 0, 0, .32) !important;
}

.policy-container::after {
  content: "" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  width: 24px !important;
  border-top: 1px solid rgba(255, 216, 95, .46) !important;
  border-right: 1px solid rgba(255, 216, 95, .46) !important;
  border-bottom: 1px solid rgba(255, 216, 95, .46) !important;
  pointer-events: none !important;
}

.policy-title {
  margin: 0 0 23px !important;
  padding: 0 34px 17px 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .08em !important;
  border-bottom: 1px solid rgba(255, 216, 95, .28) !important;
}

.policy-title i,
.policy-title svg {
  margin-right: 9px !important;
  color: #d72c31 !important;
}

.policy-content {
  position: relative !important;
  z-index: 1 !important;
  color: #dec696 !important;
  font-size: 14px !important;
  line-height: 2 !important;
}

.policy-content p,
.policy-step-desc {
  overflow-wrap: anywhere !important;
}

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

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

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

.policy-step + .policy-step {
  border-top: 1px solid rgba(255, 216, 95, .12) !important;
}

.policy-step-num {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: inset 0 0 0 3px rgba(78, 5, 5, .28) !important;
}

.policy-step-title {
  margin: 0 0 5px !important;
  color: #fff0c5 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}

.policy-step-desc {
  color: #cdb17b !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
}

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

  .policy-container {
    padding: 31px 25px 33px !important;
    border-left-width: 4px !important;
  }

  .policy-title {
    padding-right: 24px !important;
    font-size: 20px !important;
  }

  .policy-content {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

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

@media (max-width: 480px) {
  .policy-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .policy-container {
    padding: 27px 19px 29px !important;
  }

  .policy-container::after {
    right: 8px !important;
  }

  .policy-title {
    font-size: 18px !important;
  }

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

  .policy-step-title {
    font-size: 14px !important;
  }

  .policy-step-desc {
    font-size: 12px !important;
  }
}


/* =========================================================
   Page: recruit / RECRUIT ページ
========================================================= */

/* Block: hero_page / sec_1782111185841 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  background-color: #160602 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

/* Block: recruit_job_list / sec_1782114313132 */
/* =========================================================
   recruit_job_list に貼るCSS
========================================================= */
.job-list-section {
  position: relative !important;
  padding: 108px 20px 116px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(109, 15, 12, .12) 1px, transparent 1px),
    linear-gradient(180deg, #170603, #0c0302 52%, #180704) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.job-list-section::before,
.job-list-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 132px !important;
  height: 132px !important;
  pointer-events: none !important;
}

.job-list-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .64) !important;
  border-left: 2px solid rgba(164, 22, 28, .88) !important;
}

.job-list-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .88) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .64) !important;
}

.job-section-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 800px !important;
  margin: 0 auto 62px !important;
  padding: 0 20px 30px !important;
  text-align: center !important;
}

.job-section-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(380px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.job-main-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
}

.job-sub-text {
  margin: 16px 0 0 !important;
  color: #d8bd88 !important;
  font-size: 14px !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

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

.job-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .48) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(51, 13, 6, .98), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(156, 19, 24, .34),
    0 20px 46px rgba(0, 0, 0, .32) !important;
}

.job-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  z-index: 3 !important;
  border: 1px solid rgba(160, 22, 27, .34) !important;
  pointer-events: none !important;
}

.job-card-header {
  position: relative !important;
  z-index: 2 !important;
  padding: 23px 30px !important;
  background: linear-gradient(90deg, rgba(145, 18, 22, .94), rgba(60, 10, 6, .94) 48%, rgba(20, 5, 2, .96)) !important;
  border-bottom: 1px solid rgba(255, 216, 95, .42) !important;
}

.job-type-badge {
  display: inline-flex !important;
  margin: 0 0 10px !important;
  padding: 5px 12px !important;
  border: 1px solid rgba(255, 224, 131, .76) !important;
  border-radius: 0 !important;
  background: rgba(32, 5, 3, .66) !important;
  color: #ffe083 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .1em !important;
}

.job-title {
  margin: 0 !important;
  color: #fff2ca !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .06em !important;
  overflow-wrap: anywhere !important;
}

.job-card-body {
  position: relative !important;
  z-index: 2 !important;
  padding: 30px !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

.job-img-box {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .42) !important;
  border-radius: 0 !important;
  background: #210905 !important;
}

.job-img-box::after {
  content: "" !important;
  position: absolute !important;
  inset: 7px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  pointer-events: none !important;
}

.job-img-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !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 solid rgba(255, 216, 95, .16) !important;
  color: #d5bb88 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-align: left !important;
  vertical-align: top !important;
  overflow-wrap: anywhere !important;
}

.job-table th {
  width: 116px !important;
  padding-right: 18px !important;
  color: #ffd85f !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
}

.job-salary {
  color: #ffe083 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.btn-job-apply {
  position: relative !important;
  z-index: 4 !important;
  min-height: 50px !important;
  margin-top: 22px !important;
  padding: 12px 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #bd2024, #8e1014) !important;
  color: #fff7dc !important;
  box-shadow: inset 0 0 0 3px rgba(73, 5, 5, .28) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.btn-job-apply:hover {
  border-color: #ffe68f !important;
  background: linear-gradient(180deg, #d42a2f, #a4161c) !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .job-list-section {
    padding: 78px 15px 88px !important;
    background-size: 50px 100%, auto !important;
  }

  .job-list-section::before,
  .job-list-section::after {
    width: 76px !important;
    height: 76px !important;
  }

  .job-section-header {
    margin-bottom: 48px !important;
    padding: 0 12px 26px !important;
  }

  .job-main-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
  }

  .job-sub-text {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  .job-card-header {
    padding: 21px 23px !important;
  }

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

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

  .job-img-box {
    max-width: 520px !important;
    aspect-ratio: 16 / 10 !important;
  }

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

  .job-table th {
    padding-top: 13px !important;
    padding-bottom: 2px !important;
    border-bottom: 0 !important;
  }

  .job-table td {
    padding-bottom: 13px !important;
  }
}

@media (max-width: 480px) {
  .job-list-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .job-card-body {
    padding: 21px 18px 23px !important;
  }

  .btn-job-apply {
    width: 100% !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}

/* Block: recruit_spot_list / sec_1782111249790 */
/* =========================================================
   recruit_spot_list に貼るCSS
========================================================= */
.recruit-spot-section {
  position: relative !important;
  padding: 102px 20px 110px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #0d0302, #210904 50%, #100402) !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.recruit-spot-section::before {
  content: "" !important;
  position: absolute !important;
  top: 18px !important;
  right: 28px !important;
  bottom: 18px !important;
  left: 28px !important;
  z-index: 0 !important;
  border: 1px solid rgba(255, 216, 95, .26) !important;
  pointer-events: none !important;
}

.main-spot-card {
  position: relative !important;
  z-index: 1 !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 48px 46px !important;
  border: 1px solid rgba(255, 216, 95, .54) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(76, 17, 7, .94), rgba(18, 5, 2, .98)) !important;
  box-shadow:
    inset 0 0 0 6px rgba(117, 13, 16, .2),
    0 22px 52px rgba(0, 0, 0, .34) !important;
  text-align: center !important;
}

.main-spot-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 12px !important;
  border: 1px solid rgba(164, 22, 28, .42) !important;
  pointer-events: none !important;
}

.spot-badge {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 22px !important;
  padding: 7px 16px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .13em !important;
}

.spot-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 18px !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 31px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: .1em !important;
}

.spot-desc {
  position: relative !important;
  z-index: 1 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  color: #ddc493 !important;
  font-size: 14px !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

.spot-btn-wrap {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 30px !important;
}

.btn-spot-link {
  min-height: 50px !important;
  padding: 12px 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #bd2024, #8e1014) !important;
  color: #fff7dc !important;
  box-shadow: inset 0 0 0 3px rgba(73, 5, 5, .28) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
}

.btn-spot-link:hover {
  transform: translateY(-2px) !important;
  border-color: #ffe68f !important;
  background: linear-gradient(180deg, #d42a2f, #a4161c) !important;
  color: #fff !important;
}

.spot-items-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1040px !important;
  margin: 58px auto 0 !important;
}

.spot-grid-title {
  display: block !important;
  width: auto !important;
  margin: 0 0 28px !important;
  padding: 0 0 15px !important;
  color: #ffd85f !important;
  border-bottom: 1px solid rgba(255, 216, 95, .34) !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

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

.spot-item-card {
  min-width: 0 !important;
  padding: 23px !important;
  border: 1px solid rgba(255, 216, 95, .38) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(53, 13, 6, .96), rgba(17, 5, 2, .98)) !important;
  color: #fff4cf !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28) !important;
}

.spot-item-card.is-full {
  opacity: .68 !important;
  border-color: rgba(167, 137, 102, .28) !important;
  background: rgba(27, 14, 10, .92) !important;
  filter: saturate(.6) !important;
}

.sic-header {
  margin: 0 0 17px !important;
  padding: 0 0 16px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 15px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .2) !important;
}

.sic-date {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

.sic-md {
  color: #ffd85f !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.sic-time {
  color: #a98b59 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.sic-status {
  min-height: 30px !important;
  padding: 5px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.status-open {
  border: 1px solid #ffd85f !important;
  background: #8f1519 !important;
  color: #fff4cf !important;
}

.status-full {
  border: 1px solid #745f56 !important;
  background: #2c211d !important;
  color: #bca99d !important;
}

.sic-title {
  margin: 0 0 12px !important;
  color: #fff1c8 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

.sic-wage {
  margin: 0 0 12px !important;
  color: #cdb17b !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

.sic-wage strong {
  color: #ffd85f !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.sic-desc {
  margin: 0 !important;
  color: #bca071 !important;
  font-size: 12px !important;
  line-height: 1.85 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
  .sig-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

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

  .recruit-spot-section::before {
    top: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
  }

  .main-spot-card {
    padding: 38px 25px !important;
  }

  .spot-title {
    font-size: 25px !important;
    letter-spacing: .07em !important;
  }

  .spot-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

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

  .spot-items-grid {
    margin-top: 44px !important;
  }

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

@media (max-width: 480px) {
  .recruit-spot-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .main-spot-card {
    padding: 34px 19px !important;
  }

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

  .spot-item-card {
    padding: 20px 18px !important;
  }

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

/* Block: contact_form / sec_1782111266170 */
/* =========================================================
   contact_form に貼るCSS
========================================================= */
.contact-form-section {
  position: relative !important;
  padding: 108px 20px 116px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(109, 15, 12, .11) 1px, transparent 1px),
    linear-gradient(180deg, #170603, #0c0302 54%, #160603) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.contact-form-section::before,
.contact-form-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 132px !important;
  height: 132px !important;
  pointer-events: none !important;
}

.contact-form-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .64) !important;
  border-left: 2px solid rgba(164, 22, 28, .88) !important;
}

.contact-form-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .88) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .64) !important;
}

.contact-section-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 800px !important;
  margin: 0 auto 56px !important;
  padding: 0 20px 28px !important;
  text-align: center !important;
}

.contact-section-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(380px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.contact-main-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
}

.contact-sub-text {
  margin: 16px 0 0 !important;
  color: #d8bd88 !important;
  font-size: 14px !important;
  line-height: 2 !important;
}

.contact-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 880px !important;
  margin: 0 auto !important;
}

.form-wrapper {
  padding: 44px !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(53, 13, 6, .96), rgba(17, 5, 2, .98)) !important;
  box-shadow:
    inset 0 0 0 6px rgba(111, 13, 16, .18),
    0 22px 52px rgba(0, 0, 0, .34) !important;
}

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

.form-group label {
  margin: 0 0 10px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  color: #fff0c5 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}

.form-group .required,
.form-group .optional {
  margin-left: 3px !important;
  padding: 3px 8px !important;
  border-radius: 0 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .06em !important;
}

.form-group .required {
  border: 1px solid #e05b5f !important;
  background: #9e1518 !important;
  color: #fff !important;
}

.form-group .optional {
  border: 1px solid rgba(255, 216, 95, .32) !important;
  background: rgba(255, 216, 95, .09) !important;
  color: #cdb17b !important;
}

.restaurant-contact-form input[type="text"],
.restaurant-contact-form input[type="email"],
.restaurant-contact-form input[type="tel"],
.restaurant-contact-form input[type="number"],
.restaurant-contact-form input[type="date"],
.restaurant-contact-form input[type="time"],
.restaurant-contact-form select,
.restaurant-contact-form textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 17px !important;
  border: 1px solid #b89a61 !important;
  border-radius: 0 !important;
  background: #fffaf0 !important;
  color: #29150e !important;
  box-shadow: inset 0 2px 5px rgba(55, 18, 8, .08) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

.restaurant-contact-form textarea {
  min-height: 150px !important;
  resize: vertical !important;
  line-height: 1.8 !important;
}

.restaurant-contact-form input::placeholder,
.restaurant-contact-form textarea::placeholder {
  color: #947e6f !important;
  opacity: 1 !important;
}

.restaurant-contact-form input:focus,
.restaurant-contact-form select:focus,
.restaurant-contact-form textarea:focus {
  outline: none !important;
  border-color: #d21f26 !important;
  background: #fffdf7 !important;
  box-shadow:
    inset 0 2px 5px rgba(55, 18, 8, .05),
    0 0 0 3px rgba(210, 31, 38, .2) !important;
}

.restaurant-contact-form input[type="checkbox"],
.restaurant-contact-form input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #a4161c !important;
}

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

.select-wrap::after {
  content: "\f107" !important;
  position: absolute !important;
  top: 50% !important;
  right: 18px !important;
  transform: translateY(-50%) !important;
  color: #8f1718 !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  pointer-events: none !important;
}

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

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

.btn-submit-contact {
  min-width: 280px !important;
  min-height: 54px !important;
  padding: 14px 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #bd2024, #8e1014) !important;
  color: #fff7dc !important;
  box-shadow:
    inset 0 0 0 3px rgba(73, 5, 5, .28),
    0 10px 26px rgba(0, 0, 0, .22) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .1em !important;
  cursor: pointer !important;
}

.btn-submit-contact:hover {
  transform: translateY(-2px) !important;
  border-color: #ffe68f !important;
  background: linear-gradient(180deg, #d42a2f, #a4161c) !important;
  color: #fff !important;
}

.contact-success-msg {
  margin: 0 0 30px !important;
  padding: 38px 28px !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(74, 17, 7, .94), rgba(20, 5, 2, .98)) !important;
  color: #fff1c8 !important;
  text-align: center !important;
}

.contact-success-msg i,
.contact-success-msg svg {
  margin-bottom: 15px !important;
  color: #ffd85f !important;
  font-size: 30px !important;
}

.contact-success-msg p {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
}

@media (max-width: 768px) {
  .contact-form-section {
    padding: 78px 15px 88px !important;
    background-size: 50px 100%, auto !important;
  }

  .contact-form-section::before,
  .contact-form-section::after {
    width: 76px !important;
    height: 76px !important;
  }

  .contact-section-header {
    margin-bottom: 46px !important;
    padding: 0 12px 26px !important;
  }

  .contact-main-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
  }

  .contact-sub-text {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  .form-wrapper {
    padding: 34px 25px !important;
  }

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

  .btn-submit-contact {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  .contact-form-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .form-wrapper {
    padding: 28px 18px !important;
  }

  .restaurant-contact-form input[type="text"],
  .restaurant-contact-form input[type="email"],
  .restaurant-contact-form input[type="tel"],
  .restaurant-contact-form input[type="number"],
  .restaurant-contact-form input[type="date"],
  .restaurant-contact-form input[type="time"],
  .restaurant-contact-form select,
  .restaurant-contact-form textarea {
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 16px !important;
  }

  .restaurant-contact-form select {
    padding-right: 44px !important;
  }

  .form-submit-wrap {
    margin-top: 38px !important;
  }
}


/* =========================================================
   Page: reviews / REVIEWS ページ
========================================================= */

/* Block: hero_page / sec_1782111350931 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  background-color: #160602 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

/* Block: ugc_ranking / sec_1782111390500 */
.ugc-section {padding: 96px 20px; background: #101718; color: #fff7ea;}
.ugc-container {max-width: 1120px; margin: 0 auto;}
.ugc-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px;}
.ugc-card {position: relative; overflow: hidden; background: rgba(255,255,255,0.06); border: 1px solid rgba(246,207,122,0.22); border-radius: 8px; box-shadow: 0 18px 45px rgba(0,0,0,0.2);}
.ugc-rank-badge {position: absolute; top: 14px; left: 14px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; min-width: 58px; height: 32px; padding: 0 12px; background: #c5a25a; color: #101718; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 900; letter-spacing: 0.08em; border-radius: 4px; box-shadow: 0 8px 20px rgba(0,0,0,0.22);}
.ugc-img-box {aspect-ratio: 4 / 3; background: #172526; overflow: hidden;}
.ugc-img-box img {width: 100%; height: 100%; object-fit: cover;}
.ugc-info {padding: 24px;}
.ugc-stars {color: #f6cf7a; letter-spacing: 0.08em; margin-bottom: 10px;}
.ugc-title {font-family: 'Shippori Mincho', serif; color: #fff7ea; font-size: 18px; margin: 0 0 10px;}
.ugc-desc {color: #e0c8a0; line-height: 1.9; font-size: 13px;}
.ugc-user {display: flex; align-items: center; gap: 8px; margin-top: 16px; color: #a79578; font-size: 12px;}
.ugc-verified {color: #f6cf7a;}
.ugc-btn-wrap {text-align: center; margin-top: 42px;}
.btn-ugc-more {display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 32px; background: #c5a25a; color: #101718; border: 1px solid #c5a25a; border-radius: 4px; font-weight: 900; text-decoration: none;}
.btn-ugc-more:hover {background: #f6cf7a; border-color: #f6cf7a; color: #101718;}
.ugc-main-title {font-family: 'Shippori Mincho', serif; color: #f6cf7a; font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 900; letter-spacing: 0.12em; margin: 0 0 14px;}
.ugc-sub-text {color: #e0c8a0; font-size: 14px; line-height: 2; margin: 0;}
@media (max-width: 768px) {
  .ugc-section {padding: 70px 15px;}
  .ugc-info {padding: 20px;}
}

/* Block: review_list_with_sidebar / sec_1782111415616 */
/* =========================================================
   review_list_with_sidebar に貼るCSS
========================================================= */
.reviews-archive-section {
  position: relative !important;
  padding: 104px 20px 112px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(109, 15, 12, .11) 1px, transparent 1px),
    linear-gradient(180deg, #170603, #0c0302 52%, #180704) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-top: 1px solid rgba(255, 216, 95, .22) !important;
  border-bottom: 2px solid #8f1718 !important;
}

.reviews-archive-section::before,
.reviews-archive-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 128px !important;
  height: 128px !important;
  pointer-events: none !important;
}

.reviews-archive-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .62) !important;
  border-left: 2px solid rgba(164, 22, 28, .86) !important;
}

.reviews-archive-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .86) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .62) !important;
}

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

.reviews-main {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.review-row-card {
  position: relative !important;
  min-width: 0 !important;
  padding: 22px !important;
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 25px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .42) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(52, 13, 6, .97), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(156, 19, 24, .3),
    0 18px 42px rgba(0, 0, 0, .28) !important;
}

.review-row-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  z-index: 3 !important;
  border: 1px solid rgba(160, 22, 27, .3) !important;
  pointer-events: none !important;
}

.review-img-box {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .4) !important;
  border-radius: 0 !important;
  background: #210905 !important;
}

.review-img-box::after {
  content: "" !important;
  position: absolute !important;
  inset: 6px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  pointer-events: none !important;
}

.review-img-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

.review-row-card:hover .review-img-box img {
  transform: scale(1.04) !important;
  filter: saturate(1.05) !important;
}

.review-body {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  padding: 2px 5px 2px 0 !important;
}

.review-meta {
  margin: 0 0 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  color: #cba967 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.review-author,
.review-date {
  color: #cba967 !important;
}

.review-stars {
  margin: 0 0 10px !important;
  color: #ffd85f !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
  text-shadow: 0 0 12px rgba(255, 216, 95, .18) !important;
}

.review-dish {
  display: inline-block !important;
  max-width: 100% !important;
  padding: 5px 11px !important;
  border: 1px solid rgba(255, 216, 95, .54) !important;
  border-radius: 0 !important;
  background: rgba(143, 21, 25, .68) !important;
  color: #ffe083 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

.review-text {
  margin: 14px 0 0 !important;
  padding-top: 13px !important;
  border-top: 1px dashed rgba(255, 216, 95, .22) !important;
  color: #d8bd88 !important;
  font-size: 13px !important;
  line-height: 2 !important;
  overflow-wrap: anywhere !important;
}

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

.side-widget {
  position: relative !important;
  padding: 25px 23px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .44) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(61, 14, 6, .97), rgba(16, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .26) !important;
}

.side-widget::before {
  content: "" !important;
  position: absolute !important;
  top: 7px !important;
  right: 7px !important;
  bottom: 7px !important;
  left: 7px !important;
  border: 1px solid rgba(157, 20, 24, .34) !important;
  pointer-events: none !important;
}

.side-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 18px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .28) !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .07em !important;
}

.rank-list {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.rank-item {
  padding: 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .14) !important;
}

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

.rank-num {
  flex: 0 0 24px !important;
  color: #ffd85f !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.rank-img {
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255, 216, 95, .34) !important;
  border-radius: 0 !important;
  background: #210905 !important;
}

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

.rank-name {
  margin: 0 !important;
  color: #fff0c5 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

.rank-votes {
  margin-top: 3px !important;
  color: #a98b59 !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

.pagination {
  margin: 34px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.page-btn {
  box-sizing: border-box !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-radius: 0 !important;
  background: rgba(40, 10, 5, .92) !important;
  color: #e3c78e !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.page-btn.active,
.page-btn:hover {
  border-color: #ffd85f !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
}

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

  .reviews-sidebar {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 768px) {
  .reviews-archive-section {
    padding: 76px 15px 86px !important;
    background-size: 50px 100%, auto !important;
  }

  .reviews-archive-section::before,
  .reviews-archive-section::after {
    width: 74px !important;
    height: 74px !important;
  }

  .review-row-card {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 19px !important;
    padding: 18px !important;
  }

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

  .review-text {
    font-size: 12px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 560px) {
  .reviews-archive-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .review-row-card {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .review-img-box {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
  }

  .review-body {
    padding: 0 2px 2px !important;
  }

  .reviews-sidebar {
    grid-template-columns: 1fr !important;
  }

  .side-widget {
    padding: 23px 20px !important;
  }

  .page-btn {
    min-width: 38px !important;
    height: 38px !important;
  }
}


/* =========================================================
   Page: news / 味のまんぷく｜千歳の本格ラーメンと手作りの味｜お知らせ
========================================================= */

/* Block: hero_page / sec_1782111458370 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */
.page-hero-wrapper {
  position: relative !important;
  min-height: 380px !important;
  margin-top: 66px !important;
  padding: 108px 20px 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  color: #fff4cf !important;
  background-color: #160602 !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 2px solid #8f1718 !important;
  isolation: isolate !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px 34px !important;
  z-index: 2 !important;
  border: 2px solid rgba(164, 22, 28, .9) !important;
  outline: 1px solid rgba(255, 216, 95, .68) !important;
  outline-offset: 8px !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(26, 7, 3, .86), rgba(88, 36, 8, .18) 35%, rgba(88, 36, 8, .14) 50%, rgba(88, 36, 8, .18) 65%, rgba(26, 7, 3, .82)),
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .26)) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 3 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ph-container::before,
.ph-container::after {
  content: "" !important;
  display: block !important;
  width: min(280px, 58vw) !important;
  height: 1px !important;
  margin: 0 auto !important;
  background: linear-gradient(90deg, transparent, #ffd85f, #9e1518, #ffd85f, transparent) !important;
}

.ph-container::before {
  margin-bottom: 24px !important;
}

.ph-container::after {
  margin-top: 24px !important;
}

.ph-title {
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .16em !important;
  text-shadow:
    0 2px 18px rgba(0, 0, 0, .55),
    0 0 18px rgba(246, 207, 122, .22) !important;
}

.ph-desc {
  margin: 18px auto 0 !important;
  max-width: 680px !important;
  color: #f4dfb4 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55) !important;
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 300px !important;
    margin-top: 64px !important;
    padding: 82px 15px 68px !important;
  }

  .page-hero-wrapper::before {
    inset: 18px 18px !important;
    outline-offset: 5px !important;
  }

  .ph-container {
    padding: 0 14px !important;
  }

  .ph-title {
    font-size: 2rem !important;
    letter-spacing: .1em !important;
  }

  .ph-desc {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }
}

@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    margin-top: 60px !important;
    padding: 74px 12px 60px !important;
  }

  .ph-title {
    font-size: 1.75rem !important;
  }
}

/* Block: news_list_grid / sec_1782114338501 */
/* =========================================================
   news_list_grid に貼るCSS
========================================================= */
.news-list-grid-section {
  position: relative !important;
  padding: 106px 20px 114px !important;
  overflow: hidden !important;
  background:
    background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-top: 1px solid rgba(255, 216, 95, .22) !important;
  border-bottom: 2px solid #8f1718 !important;
}

.news-list-grid-section::before,
.news-list-grid-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 128px !important;
  height: 128px !important;
  pointer-events: none !important;
}

.news-list-grid-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .62) !important;
  border-left: 2px solid rgba(164, 22, 28, .86) !important;
}

.news-list-grid-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .86) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .62) !important;
}

.news-section-header {
  position: relative !important;
  z-index: 1 !important;
  max-width: 800px !important;
  margin: 0 auto 62px !important;
  padding: 0 20px 30px !important;
  text-align: center !important;
}

.news-section-header::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: min(380px, 72vw) !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, #ffd85f 22%, #a4161c 50%, #ffd85f 78%, transparent) !important;
}

.news-main-title {
  margin: 0 !important;
  color: #221009 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
}

.news-sub-text {
  margin: 16px 0 0 !important;
  color: #d8bd88 !important;
  font-size: 14px !important;
  line-height: 2 !important;
  letter-spacing: .04em !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(3, minmax(0, 1fr)) !important;
  gap: 27px !important;
  align-items: stretch !important;
}

.nlg-card {
  position: relative !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .42) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(52, 13, 6, .97), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 1px rgba(156, 19, 24, .3),
    0 18px 42px rgba(0, 0, 0, .28) !important;
  text-decoration: none !important;
  transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease !important;
}

.nlg-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  z-index: 3 !important;
  border: 1px solid rgba(160, 22, 27, .3) !important;
  pointer-events: none !important;
}

a.nlg-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(255, 216, 95, .8) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .46),
    0 24px 50px rgba(0, 0, 0, .4) !important;
}

.nlg-img,
.nlg-no-img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(255, 216, 95, .38) !important;
  background: #210905 !important;
}

.nlg-img::after,
.nlg-no-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 7px !important;
  z-index: 2 !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  pointer-events: none !important;
}

.nlg-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .5s ease, filter .5s ease !important;
}

.nlg-card:hover .nlg-img img {
  transform: scale(1.045) !important;
  filter: saturate(1.05) !important;
}

.nlg-no-img {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffd85f !important;
  font-size: 38px !important;
  background:
    linear-gradient(135deg, rgba(126, 18, 21, .42), rgba(31, 7, 3, .96)) !important;
}

.nlg-body {
  position: relative !important;
  z-index: 2 !important;
  flex: 1 1 auto !important;
  padding: 25px 25px 28px !important;
}

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

.nlg-date {
  min-height: 27px !important;
  padding: 4px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-radius: 0 !important;
  background: rgba(143, 21, 25, .68) !important;
  color: #ffe083 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
}

.nlg-title {
  margin: 0 !important;
  color: #fff0c5 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
  letter-spacing: .04em !important;
  overflow-wrap: anywhere !important;
}

.news-list-grid-section .pagination {
  position: relative !important;
  z-index: 1 !important;
  margin: 38px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.news-list-grid-section .page-btn {
  box-sizing: border-box !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  border-radius: 0 !important;
  background: rgba(40, 10, 5, .92) !important;
  color: #e3c78e !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.news-list-grid-section .page-btn.active,
.news-list-grid-section .page-btn:hover {
  border-color: #ffd85f !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
}

@media (max-width: 900px) {
  .nlg-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .news-list-grid-section {
    padding: 76px 15px 86px !important;
    background-size: 50px 100%, auto !important;
  }

  .news-list-grid-section::before,
  .news-list-grid-section::after {
    width: 74px !important;
    height: 74px !important;
  }

  .news-section-header {
    margin-bottom: 48px !important;
    padding: 0 12px 26px !important;
  }

  .news-main-title {
    font-size: 27px !important;
    letter-spacing: .1em !important;
    color: #333 !important;
  }

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

  .nlg-grid {
    gap: 20px !important;
  }
}

@media (max-width: 560px) {
  .news-list-grid-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

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

  .nlg-grid {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }

  .nlg-img,
  .nlg-no-img {
    aspect-ratio: 16 / 10 !important;
  }

  .nlg-body {
    padding: 22px 21px 25px !important;
  }
}


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

/* Block: news_article_body / sec_1782114380582 */
/* =========================================================
   news_article_body に貼るCSS
========================================================= */
.news-article-body-section {
  position: relative !important;
  padding: 104px 20px 114px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(109, 15, 12, .1) 1px, transparent 1px),
    linear-gradient(180deg, #170603, #0c0302 54%, #160603) !important;
  background-size: 78px 100%, auto !important;
  color: #fff4cf !important;
  border-bottom: 2px solid #8f1718 !important;
}

.news-article-body-section::before,
.news-article-body-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  width: 128px !important;
  height: 128px !important;
  pointer-events: none !important;
}

.news-article-body-section::before {
  top: 25px !important;
  left: 25px !important;
  border-top: 2px solid rgba(255, 216, 95, .62) !important;
  border-left: 2px solid rgba(164, 22, 28, .86) !important;
}

.news-article-body-section::after {
  right: 25px !important;
  bottom: 25px !important;
  border-right: 2px solid rgba(164, 22, 28, .86) !important;
  border-bottom: 2px solid rgba(255, 216, 95, .62) !important;
}

.nab-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 48px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .5) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(51, 13, 6, .98), rgba(17, 5, 2, .99)) !important;
  color: #fff4cf !important;
  box-shadow:
    inset 0 0 0 6px rgba(111, 13, 16, .18),
    0 22px 52px rgba(0, 0, 0, .34) !important;
}

.nab-container::after {
  content: "" !important;
  position: absolute !important;
  inset: 12px !important;
  z-index: 0 !important;
  border: 1px solid rgba(158, 20, 24, .34) !important;
  pointer-events: none !important;
}

.nab-header,
.nab-main-img-box,
.nab-body-text,
.nab-footer-nav {
  position: relative !important;
  z-index: 1 !important;
}

.nab-header {
  margin: 0 0 32px !important;
  padding: 0 0 27px !important;
  border-bottom: 1px solid rgba(255, 216, 95, .3) !important;
}

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

.nab-date {
  display: inline-flex !important;
  min-height: 28px !important;
  padding: 4px 11px !important;
  align-items: center !important;
  border: 1px solid rgba(255, 216, 95, .52) !important;
  background: rgba(143, 21, 25, .68) !important;
  color: #ffe083 !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
}

.nab-title {
  margin: 0 !important;
  color: #fff0c5 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.65 !important;
  letter-spacing: .07em !important;
  overflow-wrap: anywhere !important;
}

.nab-main-img-box {
  width: 100% !important;
  margin: 0 0 38px !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 216, 95, .44) !important;
  border-radius: 0 !important;
  background: #210905 !important;
  box-shadow: none !important;
}

.nab-main-img-box::after {
  content: "" !important;
  position: absolute !important;
  inset: 8px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  pointer-events: none !important;
}

.nab-main-img-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.nab-body-text {
  color: #dfc89a !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  line-height: 2.15 !important;
  letter-spacing: .03em !important;
  overflow-wrap: anywhere !important;
}

.nab-body-text > *:first-child {
  margin-top: 0 !important;
}

.nab-body-text > *:last-child {
  margin-bottom: 0 !important;
}

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

.nab-body-text h2,
.nab-body-text h3,
.nab-body-text h4 {
  color: #fff0c5 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-weight: 900 !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
}

.nab-body-text h2 {
  margin: 2.4em 0 1em !important;
  padding: 14px 18px !important;
  border-left: 5px solid #a4161c !important;
  border-bottom: 1px solid rgba(255, 216, 95, .38) !important;
  background: linear-gradient(90deg, rgba(143, 21, 25, .42), transparent) !important;
  color: #ffd85f !important;
  font-size: 23px !important;
}

.nab-body-text h3 {
  margin: 2em 0 .9em !important;
  padding-bottom: 9px !important;
  border-bottom: 1px dashed rgba(255, 216, 95, .3) !important;
  font-size: 19px !important;
}

.nab-body-text h4 {
  margin: 1.8em 0 .8em !important;
  color: #ffd85f !important;
  font-size: 16px !important;
}

.nab-body-text a {
  color: #ffd85f !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.nab-body-text ul,
.nab-body-text ol {
  margin: 1.3em 0 1.8em !important;
  padding-left: 1.6em !important;
}

.nab-body-text li + li {
  margin-top: .55em !important;
}

.nab-body-text blockquote {
  margin: 1.8em 0 !important;
  padding: 20px 24px !important;
  border: 1px solid rgba(255, 216, 95, .34) !important;
  border-left: 5px solid #a4161c !important;
  background: rgba(86, 18, 8, .46) !important;
  color: #e8d2a5 !important;
}

.nab-body-text img {
  max-width: 100% !important;
  height: auto !important;
  margin: 1.8em auto !important;
  border: 1px solid rgba(255, 216, 95, .36) !important;
}

.nab-body-text table {
  width: 100% !important;
  margin: 1.8em 0 !important;
  border-collapse: collapse !important;
}

.nab-body-text th,
.nab-body-text td {
  padding: 12px 14px !important;
  border: 1px solid rgba(255, 216, 95, .25) !important;
  text-align: left !important;
  vertical-align: top !important;
}

.nab-body-text th {
  background: rgba(143, 21, 25, .5) !important;
  color: #ffe083 !important;
  font-weight: 900 !important;
}

.nab-footer-nav {
  margin-top: 42px !important;
  padding-top: 30px !important;
  border-top: 1px dashed rgba(255, 216, 95, .3) !important;
  text-align: center !important;
}

.btn-nab-back {
  min-height: 50px !important;
  padding: 12px 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid #ffd85f !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ffd85f !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.btn-nab-back:hover {
  border-color: #ffd85f !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .news-article-body-section {
    padding: 76px 15px 86px !important;
    background-size: 50px 100%, auto !important;
  }

  .news-article-body-section::before,
  .news-article-body-section::after {
    width: 74px !important;
    height: 74px !important;
  }

  .nab-container {
    padding: 34px 27px !important;
  }

  .nab-title {
    font-size: 25px !important;
    letter-spacing: .05em !important;
  }

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

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

  .nab-body-text h2 {
    font-size: 20px !important;
  }

  .nab-body-text h3 {
    font-size: 18px !important;
  }

  .nab-body-text table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .btn-nab-back {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .news-article-body-section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .nab-container {
    padding: 29px 19px !important;
  }

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

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

  .nab-body-text h2 {
    margin-top: 2em !important;
    padding: 12px 13px !important;
    font-size: 18px !important;
  }

  .nab-body-text blockquote {
    padding: 17px 16px !important;
  }
}


/* =========================================================
   Page: concept / 味のまんぷく｜千歳の本格ラーメンと手作りの味｜こだわり
========================================================= */

/* Block: global_header / sec_1782896676546 */
.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(--gold);
  background: var(--gold);
  color: #111;
  font-weight: 800;
  padding: 12px 22px;
  cursor: pointer;
}
.btn-header-reserve:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #111;
}
.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; }
}

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

#sec_1782896901223 .concept-content::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 40px !important;
    width: 10px !important;
    height: 10px !important;
    background: #ffd85f !important;
    box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}
@media screen and (max-width:768px) {
    #sec_1782896901223 .concept-content::after {
    top: 30px !important;
   }
}

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

#sec_1782897588729 .concept-content::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 40px !important;
    width: 10px !important;
    height: 10px !important;
    background: #ffd85f !important;
    box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}
@media screen and (max-width:768px) {
    #sec_1782897588729 .concept-content::after {
    top: 30px !important;
   }
}

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

#sec_1782897748378 .concept-content::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 40px !important;
    width: 10px !important;
    height: 10px !important;
    background: #ffd85f !important;
    box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}
@media screen and (max-width:768px) {
    #sec_1782897748378 .concept-content::after {
    top: 26px !important;
   }
    #sec_1782897748378 .concept-content h2 {
        font-size: 20px !important;
    }
}

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

#sec_1782897788576 .concept-content::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 40px !important;
    width: 10px !important;
    height: 10px !important;
    background: #ffd85f !important;
    box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}
@media screen and (max-width:768px) {
    #sec_1782897788576 .concept-content::after {
    top: 28px !important;
   }
    #sec_1782897788576 .concept-content h2 {
        font-size: 24px !important;
    }
}

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

#sec_1783918648988 .concept-content::after {
    content: "" !important;
    position: absolute !important;
    left: -4px !important;
    top: 40px !important;
    width: 10px !important;
    height: 10px !important;
    background: #ffd85f !important;
    box-shadow: 0 0 0 3px rgba(143, 23, 24, .8) !important;
}
@media screen and (max-width:768px) {
    #sec_1783918648988 .concept-content::after {
    top: 30px !important;
   }
}


/* =========================================================
   Page: gallery / 味のまんぷく｜千歳の本格ラーメンと手作りの味｜ギャラリー
========================================================= */

/* Block: hero_page / sec_1783922116947 */
.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: custom_html / sec_1783922662394 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}


#gallery_grid {
padding: 104px 20px !important;
background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
color: var(--ink) !important;
}

#gallery_grid li::marker {
    display: none;
}


#gallery_grid .gallery_img_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1500px;
    width: 90%;
    margin: 1rem auto;
    gap: 5%;
    list-style: none !important;
}
#gallery_grid .gallery_img_wrapper li {
    width: 20%;
    margin-top: 1rem;
}
@media screen and (max-width:768px) {
    #gallery_grid .gallery_img_wrapper li {
        width: 100%;
    }
}


/* =========================================================
   Page: access / ACCESS ページ
========================================================= */

/* Block: hero_page / sec_1783923405344 */
.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: custom_html / sec_1783923671997 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

#access_message {
    padding: 104px 20px !important;
    background-image: repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
}
#access_message p {
    text-align: center !important;
    color: #1F0F0B !important;
}

.message_ttl {
    font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    letter-spacing: .1em !important;
    margin-bottom: 3rem;
}
.message_txt {
    color: #221009 !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 2 !important;
    letter-spacing: .04em !important;
}

/* Block: custom_html / sec_1783924273857 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}
.custom-html-inner > *:first-child {margin-top: 0;}
.custom-html-inner > *:last-child {margin-bottom: 0;}
.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {max-width: 100%;}

#details_container {
    padding: 5rem 0;
    background-image:
        repeating-linear-gradient(90deg, #f2ebcc, #f2ebcc 10px, #f3edd1 10px, #f3edd1 14px) !important;
}
.details_ttl02 {
    font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    letter-spacing: .1em !important;
    margin-bottom: 3rem;
    color: #1E0F0A;
    text-align: center;
}
.details_flex {
    width: 90%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    gap:5%;
    flex-wrap: wrap;
    margin: auto;
 }
.details_flex .details_table,
.details_flex .details_img {
    width: 45%;
}

.details_flex .details_table li {
    padding: 10px 0;
    display: flex;
    justify-content: flex-start;
    text-align: left;
    border-bottom: 1px solid #d7d7d7;
    font-size: 14px;
    color: #333;
}
.details_flex .details_table li .details_ttl {
    width: 30%;
}
.details_flex .details_table li .details_txt {
    width: 70%;
}

@media screen and (max-width:768px) {
    .details_flex .details_table,
    .details_flex .details_img {
        width: 100%;
    }
}


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

/* Block: global_footer / sec_1782112173284 */
/* =========================================================
   global_footer に貼るCSS
========================================================= */
.global-footer {
  position: relative !important;
  padding: 96px 20px 62px !important;
  background:
    linear-gradient(180deg, #F0E9CA, #DED6B3) !important;
  color: #fff4cf !important;
  border-top: 2px solid #8f1718 !important;
  overflow: hidden !important;
}

.global-footer::before {
  display: none !important;
}

.global-footer::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 5px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 216, 95, .78), transparent) !important;
  pointer-events: none !important;
}

.info-grid {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr) !important;
  gap: 48px !important;
  align-items: start !important;
}

.footer-brand {
  position: relative !important;
  padding: 30px 30px 32px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 216, 95, .46) !important;
  background:
    linear-gradient(135deg, rgba(42, 12, 4, .94), rgba(18, 5, 2, .96)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .52),
    0 20px 48px rgba(0, 0, 0, .34) !important;
}

.footer-brand::before {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  border: 1px solid rgba(164, 22, 28, .62) !important;
  pointer-events: none !important;
}

.footer-brand h2 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: #ffd85f !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
  text-shadow: 0 0 18px rgba(246, 207, 122, .2) !important;
}

.footer-genre {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 8px !important;
  color: #caa66a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}

.footer-table {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 30px !important;
}

.footer-table th,
.footer-table td {
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255, 216, 95, .16) !important;
  text-align: left !important;
  vertical-align: top !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

.footer-table th {
  width: 92px !important;
  color: #111 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

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

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

.payment-title {
  position: relative !important;
  z-index: 1 !important;
  margin: 26px 0 12px !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.payment-icons {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  color: #E93421 !important;
}

.pay-tag {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 3px 9px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 216, 95, .36) !important;
  background: rgba(26, 7, 3, .58) !important;
  color: #d9bc83 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.gmap-wrap {
  position: relative !important;
  min-height: 340px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 216, 95, .48) !important;
  background: #120603 !important;
  box-shadow:
    inset 0 0 0 1px rgba(164, 22, 28, .55),
    0 20px 48px rgba(0, 0, 0, .34) !important;
}

.gmap-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  z-index: 2 !important;
  border: 1px solid rgba(164, 22, 28, .62) !important;
  pointer-events: none !important;
}

.gmap-wrap iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 340px !important;
  border: none !important;
  filter: grayscale(.12) sepia(.1) contrast(.95) brightness(.92) !important;
}

.gmap-placeholder {
  min-height: 340px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #d9bc83 !important;
  background: rgba(18, 6, 3, .9) !important;
}

.footer-copy-text,
.footer-copy {
  position: relative !important;
  z-index: 1 !important;
  background:
    linear-gradient(180deg, #0f0402, #080201) !important;
  color: #9d8152 !important;
  text-align: center !important;
  padding: 22px 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  border-top: 1px solid rgba(255, 216, 95, .18) !important;
}

/* PC：画面右中央のフローティング導線 */
.fc-floating-actions {
  position: fixed !important;
  top: 90% !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 1800 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 0 !important;
  /*transform: translateY(-50%) !important;*/
  background: transparent !important;
  border: 0 !important;
  pointer-events: none !important;
}

.fc-floating-action {
  pointer-events: auto !important;
  box-sizing: border-box !important;
  width: 82px !important;
  min-width: 82px !important;
  height: 82px !important;
  min-height: 82px !important;
  padding: 9px 7px !important;
  display: flex !important;
  flex: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid rgba(255, 216, 95, .72) !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: rgba(24, 6, 2, .96) !important;
  color: #fff2ca !important;
  box-shadow:
    inset 4px 0 0 rgba(157, 20, 24, .8),
    0 8px 24px rgba(0, 0, 0, .34) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  writing-mode: horizontal-tb !important;
  backdrop-filter: blur(8px) !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

.fc-floating-action i,
.fc-floating-action svg {
  flex: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.fc-floating-action:hover {
  border-color: #ffd85f !important;
  background: #9e1518 !important;
  color: #fff7dc !important;
}

.fc-floating-reserve {
  background: linear-gradient(180deg, #bd2024, #8f1014) !important;
  color: #fff7dc !important;
}

.fc-floating-reserve:hover {
  background: #d52b2f !important;
  border-color: #ffd85f !important;
  color: #fff !important;
}

.fc-floating-line {
  border-color: rgba(90, 205, 116, .72) !important;
}

.fc-floating-instagram {
  border-color: rgba(255, 216, 95, .72) !important;
}

@media (max-width: 768px) {
  .global-footer {
    padding: 76px 15px 48px !important;
  }

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

  .footer-brand {
    padding: 28px 22px 30px !important;
  }

  .footer-brand h2 {
    font-size: 23px !important;
    letter-spacing: .1em !important;
  }

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

  .footer-table th {
    padding-top: 14px !important;
    border-bottom: 0 !important;
  }

  .footer-table td {
    padding-bottom: 14px !important;
  }

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

  body.has-floating-actions {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }

  .fc-floating-actions {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
    transform: none !important;
    background: rgba(15, 4, 2, .97) !important;
    border-top: 1px solid rgba(255, 216, 95, .48) !important;
    backdrop-filter: blur(10px) !important;
  }

  .fc-floating-action {
    width: auto !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 5px 4px !important;
    flex: 1 1 0 !important;
    gap: 3px !important;
    border-right: 0 !important;
    border-left: 1px solid rgba(255, 216, 95, .34) !important;
    box-shadow: none !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .fc-floating-action:last-child {
    border-right: 1px solid rgba(255, 216, 95, .34) !important;
  }

  .fc-floating-action i,
  .fc-floating-action svg {
    font-size: 16px !important;
  }
}
