/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-10-15 10:44:41
========================================================= */

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

/* Block: global_header / sec_1782112078518 */
/* =========================================================
   りょうじの魂 | グローバルヘッダー専用CSS
   貼り付け先: 共通ヘッダー > グローバルヘッダー > カスタムCSS

   既存PHP・ナビ編集機能・電話番号・翻訳機能はそのまま利用します。
   ========================================================= */

/* ---------- PC header ---------- */
.global-header {
  --ryoji-black: #0d0b0a;
  --ryoji-black-soft: #17110f;
  --ryoji-red: #b3261e;
  --ryoji-red-deep: #741711;
  --ryoji-ivory: #f2e4c7;
  --ryoji-ivory-soft: #d9c6a5;

  min-height: 86px !important;
  padding: 10px clamp(20px, 2.6vw, 44px) !important;
  grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto !important;
  gap: clamp(18px, 2.3vw, 38px) !important;
  background:
    linear-gradient(90deg, rgba(116, 23, 17, .13), transparent 22%, transparent 78%, rgba(116, 23, 17, .10)),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 7px),
    rgba(13, 11, 10, .965) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(179, 38, 30, .72) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .24) !important;
  backdrop-filter: blur(14px) saturate(.9) !important;
  -webkit-backdrop-filter: blur(14px) saturate(.9) !important;
}

.global-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--ryoji-red) 18%, var(--ryoji-red) 82%, transparent);
  opacity: .58;
}

/* Logo: 管理画面でロゴ画像を設定した場合と、文字ロゴの両方に対応 */
.global-header .header-logo {
  position: relative;
  z-index: 1;
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0;
  color: var(--ryoji-ivory) !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(18px, 1.55vw, 23px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .16em !important;
  text-shadow: 0 1px 16px rgba(0, 0, 0, .5);
}

.global-header .header-logo:hover {
  color: #fff7e8 !important;
}

.global-header .header-logo img {
  width: 62px !important;
  height: 62px !important;
  max-height: 62px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 1px solid rgba(242, 228, 199, .26);
  box-shadow: 0 0 0 3px rgba(179, 38, 30, .12), 0 8px 22px rgba(0, 0, 0, .32);
}

/* Navigation */
.global-header .desktop-nav {
  min-width: 0;
  gap: clamp(15px, 1.65vw, 28px) !important;
}

.global-header .desktop-nav a {
  padding: 12px 0 10px;
  color: var(--ryoji-ivory-soft) !important;
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(11px, .96vw, 13px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .42);
}

.global-header .desktop-nav a::after {
  left: 50% !important;
  bottom: 2px !important;
  width: 0 !important;
  height: 2px !important;
  background: var(--ryoji-red) !important;
  transform: translateX(-50%);
  box-shadow: 0 0 10px rgba(179, 38, 30, .55);
}

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

.global-header .desktop-nav a:hover::after,
.global-header .desktop-nav a.active::after {
  width: 100% !important;
}

/* Right actions: TEL -> 予約 -> LANGUAGE の順で右端に配置 */
.global-header .header-btns {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding-left: clamp(14px, 1.6vw, 26px);
  white-space: nowrap;
}

.global-header .header-btns::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 30px;
  background: rgba(242, 228, 199, .18);
  transform: translateY(-50%);
}

.global-header .btn-header-tel {
  order: 1;
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--ryoji-ivory) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: .045em !important;
}

.global-header .btn-header-tel i {
  color: var(--ryoji-red) !important;
  font-size: 13px;
}

.global-header .btn-header-tel:hover {
  border-color: rgba(179, 38, 30, .5);
  background: rgba(179, 38, 30, .10);
  color: #fff7e8 !important;
}

.global-header .btn-header-reserve {
  order: 2;
  min-height: 38px !important;
  padding: 0 15px !important;
  border: 1px solid var(--ryoji-red) !important;
  border-radius: 3px !important;
  background: var(--ryoji-red) !important;
  color: #fff8eb !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  box-shadow: 0 7px 18px rgba(116, 23, 17, .24);
}

.global-header .btn-header-reserve:hover {
  border-color: #cb382f !important;
  background: #cb382f !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ---------- Language switcher ---------- */
.global-header .fc-language-switcher-header {
  order: 3;
  flex: 0 0 auto;
  color: var(--ryoji-ivory) !important;
}

/* Google簡易翻訳（Lite） */
.global-header .fc-polyglot-lite-switcher {
  min-height: 38px;
  gap: 7px !important;
  padding: 0 5px 0 11px;
  border: 1px solid rgba(242, 228, 199, .30);
  border-radius: 3px;
  background: rgba(255, 255, 255, .035);
}

.global-header .fc-polyglot-lite-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ryoji-ivory-soft);
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 9px !important;
  font-weight: 800;
  letter-spacing: .12em !important;
  opacity: 1 !important;
}

.global-header .fc-polyglot-lite-label::before {
  content: "\f0ac";
  color: var(--ryoji-red);
  font-family: "Font Awesome 6 Free";
  font-size: 12px;
  font-weight: 900;
}

.global-header .fc-polyglot-lite-select {
  width: 104px;
  height: 30px !important;
  padding: 0 24px 0 9px !important;
  border: 0 !important;
  border-left: 1px solid rgba(242, 228, 199, .16) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: rgba(0, 0, 0, .001) !important;
  color: #fff7e8 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

.global-header .fc-polyglot-lite-select:focus-visible {
  box-shadow: 0 0 0 2px rgba(179, 38, 30, .58);
}

.global-header .fc-polyglot-lite-select option {
  background: #f4ead7 !important;
  color: #17110f !important;
}

/* 本格多言語（Pro）を利用する場合の4言語リンク */
.global-header .fc-language-switcher-header:not(.fc-polyglot-lite-switcher) {
  gap: 2px !important;
  padding: 3px;
  border: 1px solid rgba(242, 228, 199, .26);
  border-radius: 3px;
  background: rgba(255, 255, 255, .03);
}

.global-header .fc-language-switcher-header:not(.fc-polyglot-lite-switcher) a {
  min-width: 0 !important;
  padding: 7px 8px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: var(--ryoji-ivory-soft) !important;
  font-size: 9px !important;
}

.global-header .fc-language-switcher-header:not(.fc-polyglot-lite-switcher) a:hover,
.global-header .fc-language-switcher-header:not(.fc-polyglot-lite-switcher) a.is-active {
  background: var(--ryoji-red) !important;
  color: #fff !important;
}

/* ---------- Hamburger / mobile overlay ---------- */
.global-header .menu-trigger,
.mobile-nav-overlay .menu-trigger {
  border: 1px solid rgba(242, 228, 199, .34) !important;
  border-radius: 3px !important;
  background: rgba(255, 255, 255, .025) !important;
  color: var(--ryoji-ivory, #f2e4c7) !important;
}

.global-header .menu-trigger:hover,
.mobile-nav-overlay .menu-trigger:hover {
  border-color: var(--ryoji-red, #b3261e) !important;
  background: rgba(179, 38, 30, .14) !important;
}

.mobile-nav-overlay {
  padding: 92px 24px 44px !important;
  gap: 0 !important;
  overflow-y: auto;
  background:
    radial-gradient(circle at 50% 22%, rgba(179, 38, 30, .14), transparent 32%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .016) 0 1px, transparent 1px 7px),
    rgba(13, 11, 10, .985) !important;
}

.mobile-nav-overlay > a:not(.btn-header-reserve) {
  width: min(100%, 360px);
  padding: 15px 8px;
  border-bottom: 1px solid rgba(242, 228, 199, .12);
  color: #f2e4c7 !important;
  font-family: "Shippori Mincho", "Noto Serif JP", serif !important;
  font-size: 16px !important;
  font-weight: 800;
  letter-spacing: .10em;
  text-align: center;
}

.mobile-nav-overlay > a:not(.btn-header-reserve):hover {
  color: #fff !important;
  background: rgba(179, 38, 30, .10);
}

.mobile-nav-overlay .fc-language-switcher-mobile {
  margin: 24px auto 10px !important;
  color: #f2e4c7 !important;
}

.mobile-nav-overlay .fc-polyglot-lite-switcher {
  display: flex !important;
  width: min(100%, 320px);
  justify-content: center;
  padding: 10px 12px;
  border: 1px solid rgba(242, 228, 199, .30);
  border-radius: 3px;
  background: rgba(255, 255, 255, .035);
}

.mobile-nav-overlay .fc-polyglot-lite-label {
  color: #d9c6a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .10em;
  opacity: 1;
}

.mobile-nav-overlay .fc-polyglot-lite-select {
  flex: 1;
  height: 36px;
  border: 1px solid rgba(242, 228, 199, .24);
  border-radius: 3px;
  background: #17110f;
  color: #fff7e8;
  padding: 0 10px;
  font-size: 12px;
}

.mobile-nav-overlay .fc-language-switcher-mobile:not(.fc-polyglot-lite-switcher) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 320px);
  gap: 6px !important;
}

.mobile-nav-overlay .fc-language-switcher-mobile:not(.fc-polyglot-lite-switcher) a {
  border-color: rgba(242, 228, 199, .24) !important;
  border-radius: 3px !important;
  color: #f2e4c7 !important;
}

.mobile-nav-overlay .fc-language-switcher-mobile:not(.fc-polyglot-lite-switcher) a.is-active {
  border-color: #b3261e !important;
  background: #b3261e !important;
  color: #fff !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .global-header {
    display: flex !important;
    min-height: 72px !important;
    padding: 8px 18px !important;
    gap: 10px !important;
  }

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

  .global-header .header-logo {
    margin-right: auto;
    font-size: 18px !important;
  }

  .global-header .header-logo img {
    width: 54px !important;
    height: 54px !important;
    max-height: 54px !important;
  }

  /* 既存CSSではheader-btns全体が非表示になるため、翻訳だけ再表示 */
  .global-header .header-btns {
    display: flex !important;
    margin-left: auto;
    padding-left: 0;
  }

  .global-header .header-btns::before,
  .global-header .btn-header-tel,
  .global-header .btn-header-reserve {
    display: none !important;
  }

  .global-header .fc-language-switcher-header.fc-polyglot-lite-switcher {
    display: inline-flex !important;
  }

  /* Proの4リンクはヘッダー幅を使うため、スマホメニュー内だけで表示 */
  .global-header .fc-language-switcher-header:not(.fc-polyglot-lite-switcher) {
    display: none !important;
  }

  .global-header .menu-trigger {
    display: inline-flex !important;
    flex: 0 0 42px;
    margin-left: 0 !important;
  }
}

@media (max-width: 520px) {
  .global-header {
    min-height: 66px !important;
    padding: 7px 12px !important;
  }

  .global-header .header-logo {
    max-width: min(46vw, 180px);
    font-size: 16px !important;
    letter-spacing: .10em !important;
    white-space: normal !important;
  }

  .global-header .header-logo img {
    width: 50px !important;
    height: 50px !important;
    max-height: 50px !important;
  }

  .global-header .fc-polyglot-lite-switcher {
    min-height: 36px;
    padding-left: 8px;
  }

  .global-header .fc-polyglot-lite-label {
    width: 13px;
    overflow: hidden;
    color: transparent;
    font-size: 0 !important;
  }

  .global-header .fc-polyglot-lite-label::before {
    color: var(--ryoji-red);
    font-size: 12px;
  }

  .global-header .fc-polyglot-lite-select {
    width: 82px;
    padding-left: 7px !important;
    font-size: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-header *,
  .mobile-nav-overlay * {
    transition-duration: .01ms !important;
  }
}
/*
============================================================
  りょうじの魂｜下層ページ共通ヒーロー 3点一括修正CSS

  貼り付け先：共通ヘッダー（header.php）
              ＞ グローバルヘッダー
              ＞ カスタムCSSの一番下へ追記

  修正内容
  1. スマホでヒーローのタイトル・文章が横にはみ出す問題を修正
  2. 背景に大きく表示される「MENU」を全ページから削除
  3. こだわりページを含む共通ヒーローのタイトル書体を統一

  既存CSSは削除せず、この内容を一番下へ追加してください。
============================================================
*/

/* ---------------------------------------------------------
   02｜背景装飾の大きな「MENU」を削除
   --------------------------------------------------------- */
body .page-hero-wrapper::before,
body .ryoji-menu-guide::before,
body .menu-grid-section::before,
body .ryoji-signature-menu::before {
  content: none !important;
  display: none !important;
}

/* ---------------------------------------------------------
   03｜共通ヒーローのタイトル書体を統一
   --------------------------------------------------------- */
body .page-hero-wrapper .ph-title,
body #sec_1787286672950.page-hero-wrapper .ph-title {
  font-family:
    "Yuji Syuku",
    "Noto Serif JP",
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

/* ---------------------------------------------------------
   01｜スマホ表示を全ページ共通で安定させる
   :is()内にIDを含め、各ページの既存CSSより優先させています。
   --------------------------------------------------------- */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: clamp(480px, 126vw, 570px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 210px 14px 22px !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    text-align: left !important;
  }

  /* 上部は写真を見せ、下部だけ明るくして文章を読みやすくする */
  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-overlay {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    display: block !important;
    background:
      linear-gradient(
        180deg,
        rgba(255, 250, 239, .04) 0%,
        rgba(255, 250, 239, .10) 30%,
        rgba(255, 250, 239, .64) 52%,
        rgba(255, 250, 239, .94) 70%,
        rgba(255, 250, 239, .98) 100%
      ) !important;
    pointer-events: none !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-container {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    width: min(100%, 520px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 23px 18px 20px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-left: 3px solid #bd211c !important;
    background:
      linear-gradient(
        90deg,
        rgba(255, 250, 240, .97),
        rgba(255, 250, 240, .91)
      ) !important;
    box-shadow: 0 9px 28px rgba(72, 42, 24, .10) !important;
    text-align: left !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-container::before {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 11px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
    letter-spacing: .23em !important;
    white-space: nowrap !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-title {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #382219 !important;
    font-family:
      "Yuji Syuku",
      "Noto Serif JP",
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      serif !important;
    font-size: clamp(27px, 7.5vw, 34px) !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;
    letter-spacing: .025em !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-title::after {
    width: 54px !important;
    max-width: 100% !important;
    margin-top: 13px !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-desc {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 13px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #674c3e !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
    letter-spacing: .015em !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-break: strict !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-container::after {
    box-sizing: border-box !important;
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding-top: 10px !important;
    overflow: hidden !important;
    font-size: 9px !important;
    line-height: 1.55 !important;
    letter-spacing: .04em !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  /* 短い「こだわり」「アクセス」は他ページと同じ書体のまま大きく表示 */
  body #sec_1787286672950.page-hero-wrapper .ph-title,
  body #sec_1786506646403.page-hero-wrapper .ph-title {
    font-size: clamp(40px, 13vw, 54px) !important;
    letter-spacing: .07em !important;
  }
}

@media (max-width: 370px) {
  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper {
    min-height: 500px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-container {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  body :is(
    #sec_1787286672950,
    #sec_1786506646403,
    .page-hero-wrapper
  ).page-hero-wrapper .ph-title {
    font-size: 25px !important;
    letter-spacing: .01em !important;
  }

  body #sec_1787286672950.page-hero-wrapper .ph-title,
  body #sec_1786506646403.page-hero-wrapper .ph-title {
    font-size: 39px !important;
  }
}
/*
============================================================
  りょうじの魂｜スマホ表示 追加修正CSS

  貼り付け先：共通ヘッダー（header.php）
              ＞ グローバルヘッダー
              ＞ カスタムCSSの一番下へ追記

  既存CSSは消さず、この内容を一番下へ追加してください。
============================================================
*/

/* こだわりページの共通ヒーロー見出しを、他ページと同じ明朝体へ統一 */
body #sec_1787286672950.page-hero-wrapper .ph-title {
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: .07em !important;
}

@media (max-width: 767px) {
  /* ヘッダー右上に翻訳ボタンがあるため、メニュー下部の重複表示だけ消す */
  body .mobile-nav-overlay .fc-language-switcher-mobile,
  body .mobile-nav-overlay .fc-polyglot-lite-switcher.fc-language-switcher-mobile,
  body .mobile-nav-overlay > .fc-language-switcher-mobile {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
  }

  /* フローティングは「お電話」「アクセス」だけ表示 */
  body .ryoji-mobile-floating__text strong,
  body .ryoji-mobile-floating__arrow {
    display: none !important;
  }

  body .ryoji-mobile-floating__text {
    align-items: center !important;
    justify-content: center !important;
  }

  body .ryoji-mobile-floating__label {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .13em !important;
    white-space: nowrap !important;
  }
}

/* Block: custom_html / sec_1787580202155 */
.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%;}


/* =========================================================
   Page: index / りょうじの魂｜栃木県真岡市の川崎タンタンメン・焼肉
========================================================= */

/* Block: hero_main / sec_1782110119323 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");

.hero-wrapper.hero-has-slider {
  --ryoji-red: #b51f1b;
  --ryoji-brown: #38251c;
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  height: clamp(620px, calc(100svh - 86px), 840px) !important;
  min-height: 620px !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(181,31,27,.55);
  background: url("/image/assets/asset_20260812122825_6a7be8594d720.webp") center / cover no-repeat, #efe0bd !important;
}

.hero-wrapper.hero-has-slider .hero-slider {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.hero-wrapper.hero-has-slider .hero-slide {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.hero-wrapper.hero-has-slider .hero-slide-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  clip-path: none !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  filter: saturate(1.06) contrast(1.01) brightness(1.08) !important;
}

.hero-wrapper.hero-has-slider .hero-slide::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(247,237,218,.76) 0%, rgba(247,237,218,.56) 22%, rgba(247,237,218,.18) 46%, rgba(247,237,218,.03) 66%, rgba(27,15,11,.10) 100%),
    linear-gradient(0deg, rgba(20,10,7,.14), transparent 42%) !important;
}

.hero-wrapper.hero-has-slider .hero-slide-caption {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: clamp(28px, 6vw, 94px) !important;
  width: min(880px, calc(100% - 56px)) !important;
  margin: 0 !important;
  padding: 16px 34px 18px 26px !important;
  border: 0 !important;
  border-left: 3px solid var(--ryoji-red) !important;
  background: linear-gradient(90deg, rgba(247,237,218,.60), rgba(247,237,218,.22) 70%, transparent) !important;
  box-shadow: none !important;
  color: var(--ryoji-brown) !important;
  text-align: left !important;
  text-shadow: none !important;
  transform: translateY(-50%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-wrapper.hero-has-slider .hero-slide-caption::before {
  display: none !important;
}

.hero-wrapper.hero-has-slider .hero-slide-caption::after {
  content: "RYOJI NO TAMASHII";
  display: block;
  margin-top: clamp(20px, 2.5vw, 30px);
  color: var(--ryoji-red) !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .30em;
  text-shadow: none !important;
}

.hero-wrapper.hero-has-slider .hero-slide-catch {
  max-width: none !important;
  margin: 0 0 clamp(14px, 2vw, 22px) !important;
  color: var(--ryoji-brown) !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(38px, 4.3vw, 68px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  text-wrap: nowrap !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: 0 2px 12px rgba(255,248,232,.78) !important;
}

.hero-wrapper.hero-has-slider .hero-slide-catch br {
  display: none !important;
}

.hero-wrapper.hero-has-slider .hero-slide-sub {
  display: inline-block !important;
  margin: 0 !important;
  padding: 4px 2px 7px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(181,31,27,.60) !important;
  background: transparent !important;
  color: #56372a !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: clamp(13px, 1.3vw, 17px) !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: .11em !important;
  box-shadow: none !important;
}

.hero-wrapper.hero-has-slider .hero-slider-dots {
  position: absolute !important;
  z-index: 4 !important;
  right: auto !important;
  bottom: clamp(25px, 4vw, 46px) !important;
  left: clamp(48px, 8vw, 120px) !important;
  display: flex !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

.hero-wrapper.hero-has-slider .hero-slider-dot {
  width: 28px !important;
  height: 3px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(56,37,28,.34) !important;
  box-shadow: none !important;
}

.hero-wrapper.hero-has-slider .hero-slider-dot.is-active {
  width: 46px !important;
  background: var(--ryoji-red) !important;
}

@media (max-width: 768px) {
  .hero-wrapper.hero-has-slider {
    height: clamp(540px, calc(100svh - 66px), 720px) !important;
    min-height: 540px !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide-img {
    filter: saturate(1.06) contrast(1.01) brightness(1.09) !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide::after {
    background: linear-gradient(0deg, rgba(247,237,218,.88) 0%, rgba(247,237,218,.62) 25%, rgba(247,237,218,.18) 55%, rgba(20,10,7,.05) 100%) !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide-caption {
    top: auto !important;
    right: 18px !important;
    bottom: 78px !important;
    left: 18px !important;
    width: auto !important;
    padding: 13px 12px 14px 17px !important;
    background: linear-gradient(90deg, rgba(247,237,218,.68), rgba(247,237,218,.16), transparent) !important;
    transform: none !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide-catch {
    font-size: clamp(20px, 6.4vw, 29px) !important;
    letter-spacing: 0 !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide-sub {
    font-size: clamp(12px, 3.7vw, 15px) !important;
    letter-spacing: .06em !important;
  }

  .hero-wrapper.hero-has-slider .hero-slide-caption::after {
    margin-top: 16px;
    font-size: 8px;
    letter-spacing: .22em;
  }

  .hero-wrapper.hero-has-slider .hero-slider-dots {
    right: 0 !important;
    bottom: 25px !important;
    left: 0 !important;
    justify-content: center !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-wrapper.hero-has-slider .hero-slide,
  .hero-wrapper.hero-has-slider .hero-slide-img,
  .hero-wrapper.hero-has-slider .hero-slider-dot {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
.hero-wrapper.hero-has-slider::after {
  background: none !important;
}
.hero-wrapper.hero-has-slider .hero-slide-img {
  filter: saturate(1.05) contrast(1) brightness(1.14) !important;
}

.hero-wrapper.hero-has-slider .hero-slide::after {
  background:
    linear-gradient(90deg,
      rgba(247, 237, 218, .66) 0%,
      rgba(247, 237, 218, .38) 26%,
      rgba(247, 237, 218, .08) 52%,
      rgba(247, 237, 218, 0)   72%) !important;
}

.hero-wrapper.hero-has-slider .hero-slide-caption {
  background: linear-gradient(90deg,
    rgba(255, 251, 242, .78),
    rgba(255, 251, 242, .34) 62%,
    transparent) !important;
}

/* Block: latest_news_bar / sec_1782110423653 */
.news-bar-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: 30px 20px !important;
  color: #38251c !important;
  background-color: #f3e4bf !important;
  background-image: url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center !important;
  background-size: cover !important;
}

.news-bar-section::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: rgba(255, 250, 239, 0.16) !important;
}

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

.news-bar-link {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 44px !important;
  gap: 30px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 86px !important;
  padding: 18px 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 57, 39, 0.24) !important;
  border-left: 3px solid #b51f1b !important;
  border-radius: 0 !important;
  background: rgba(255, 250, 239, 0.94) !important;
  color: #38251c !important;
  box-shadow: 0 14px 34px rgba(91, 57, 39, 0.12) !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.news-bar-link::before,
.news-bar-link::after {
  content: "" !important;
  position: absolute !important;
  width: 72px !important;
  height: 2px !important;
  background: #b51f1b !important;
}

.news-bar-link::before { top: 0 !important; left: 0 !important; }
.news-bar-link::after { right: 0 !important; bottom: 0 !important; }

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

.news-bar-link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(91, 57, 39, 0.17) !important;
}

.news-bar-left {
  display: inline-flex !important;
  align-items: center !important;
  gap: 13px !important;
  min-width: 220px !important;
}

.news-badge {
  display: inline-flex !important;
  min-width: 64px !important;
  min-height: 30px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #b51f1b !important;
  color: #fff9ea !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
}

.news-date {
  color: #795443 !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
}

.news-title {
  min-width: 0 !important;
  margin: 0 !important;
  color: #38251c !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.04em !important;
  text-align: left !important;
}

.news-arrow {
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(181, 31, 27, 0.52) !important;
  border-radius: 50% !important;
  color: #b51f1b !important;
}

.news-bar-link:focus-visible {
  outline: 2px solid #b51f1b !important;
  outline-offset: 4px !important;
}

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

  .news-bar-link {
    grid-template-columns: minmax(0, 1fr) 36px !important;
    grid-template-areas: "meta arrow" "title arrow" !important;
    gap: 8px 12px !important;
    min-height: 106px !important;
    padding: 17px 15px 17px 17px !important;
  }

  .news-bar-left { grid-area: meta !important; min-width: 0 !important; gap: 9px !important; }
  .news-title { grid-area: title !important; font-size: 14px !important; }
  .news-arrow { grid-area: arrow !important; width: 36px !important; height: 36px !important; }
  .news-badge { min-width: 56px !important; min-height: 27px !important; font-size: 9px !important; }
  .news-date { font-size: 11px !important; }
}

/* Block: custom_html / sec_1786506800673 */
.ryoji-about {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 72px 20px !important;
  color: #38251c !important;
  background-color: #f3e4bf !important;
  background-image: url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: repeat-y !important;
}

.ryoji-about *,
.ryoji-about *::before,
.ryoji-about *::after {
  box-sizing: border-box !important;
}

.ryoji-about__intro,
.ryoji-about__menu {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr) !important;
  gap: 56px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 44px !important;
  border: 1px solid rgba(91, 57, 39, 0.24) !important;
  border-top: 3px solid #b51f1b !important;
  background: rgba(255, 250, 239, 0.94) !important;
  box-shadow: 0 18px 44px rgba(91, 57, 39, 0.14) !important;
}

.ryoji-about__menu {
  margin-top: 36px !important;
}

.ryoji-about__photo {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  height: 410px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 57, 39, 0.25) !important;
  background: #e8d7b6 !important;
  box-shadow: 10px 12px 0 rgba(181, 31, 27, 0.10) !important;
}

.ryoji-about__photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, rgba(181, 31, 27, 0.03), transparent 48%, rgba(53, 34, 25, 0.18)) !important;
}

.ryoji-about__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.ryoji-about__body,
.ryoji-about__content,
.ryoji-about__menu-content {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}

.ryoji-about__heading,
.ryoji-about__menu-heading {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: 0 0 19px !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(181, 31, 27, 0.28) !important;
}

.ryoji-about__label {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #b51f1b !important;
  font-family: Arial, "Noto Sans JP", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.26em !important;
}

.ryoji-about__heading h2,
.ryoji-about__menu-heading h2 {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #38251c !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 46px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
}

.ryoji-about__heading h2 {
  white-space: nowrap !important;
}

.ryoji-about__menu-heading h2 {
  font-size: 41px !important;
}

.ryoji-about__mark {
  display: none !important;
}

.ryoji-about__content p,
.ryoji-about__menu-content p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #4d382d !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 2.05 !important;
  letter-spacing: 0.035em !important;
}

.ryoji-about__content p + p,
.ryoji-about__menu-content p + p {
  margin-top: 12px !important;
}

.ryoji-about__menu-content strong {
  color: #b51f1b !important;

  font-family: "Yu Mincho", "YuMincho", serif !important;
  font-size: 23px !important;
  font-weight: 500 !important;
}

.ryoji-about__button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 230px !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 27px 0 0 !important;
  padding: 12px 19px 12px 22px !important;
  border: 1px solid #b51f1b !important;
  border-radius: 0 !important;
  background: #b51f1b !important;
  color: #fff9ea !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.11em !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(181, 31, 27, 0.17) !important;
}

.ryoji-about__button span:last-child {
  font-family: serif !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.ryoji-about__button:hover {
  background: #8f1b17 !important;
  color: #fff9ea !important;
}

@media (max-width: 768px) {
  .ryoji-about {
    padding: 48px 14px !important;
  }

  .ryoji-about__intro,
  .ryoji-about__menu {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 25px !important;
    padding: 18px !important;
  }

  .ryoji-about__menu {
    margin-top: 24px !important;
  }

  .ryoji-about__photo {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    box-shadow: 6px 8px 0 rgba(181, 31, 27, 0.09) !important;
  }

  .ryoji-about__heading,
  .ryoji-about__menu-heading {
    margin-bottom: 21px !important;
  }

  .ryoji-about__heading h2 {
    font-size: 26px !important;
  }

  .ryoji-about__menu-heading h2 {
    font-size: 26px !important;
  }

  .ryoji-about__content p,
  .ryoji-about__menu-content p {
    font-size: 14px !important;
    line-height: 1.95 !important;
    letter-spacing: 0.02em !important;
  }

  .ryoji-about__button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 380px) {
  .ryoji-about__heading h2 {
    font-size: 26px !important;
  }

  .ryoji-about__menu-heading h2 {
    font-size: 24px !important;
  }
}

/* Block: instagram_feed / sec_1782114261680 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");

.fc-instagram-embed-section {
  --ryoji-ig-red: #b51f1b;
  --ryoji-ig-red-dark: #8f1b17;
  --ryoji-ig-brown: #38251c;
  --ryoji-ig-paper: #fffaf0;
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  padding: clamp(72px, 8vw, 122px) 20px !important;
  color: var(--ryoji-ig-brown) !important;
  background-color: #f3e4bf !important;
  background-image: url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: repeat-y !important;
}
.fc-instagram-embed-section::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(255,250,239,.22), rgba(255,250,239,.04) 55%, rgba(255,250,239,.18)),
    repeating-linear-gradient(135deg, rgba(181,31,27,.018) 0 1px, transparent 1px 10px) !important;
}

.fc-instagram-embed-inner {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) !important;
  grid-template-areas:
    "heading card"
    "action card" !important;
  gap: 28px clamp(38px, 5vw, 72px) !important;
  align-items: start !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(28px, 4vw, 52px) !important;
  border: 1px solid rgba(91,57,39,.24) !important;
  border-top: 3px solid var(--ryoji-ig-red) !important;
  background: rgba(255,250,239,.90) !important;
  box-shadow: 0 18px 44px rgba(91,57,39,.14) !important;
  text-align: left !important;
}

.fc-instagram-embed-heading {
  grid-area: heading;
  position: relative !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 0 24px !important;
  border-bottom: 1px solid rgba(181,31,27,.28) !important;
  text-align: left !important;
}

.fc-instagram-embed-heading::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 72px !important;
  height: 2px !important;
  background: var(--ryoji-ig-red) !important;
}

.fc-instagram-embed-label {
  display: block !important;
  margin: 13px 0 17px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ryoji-ig-red) !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 0 !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
}

.fc-instagram-embed-label::before {
  content: "FOLLOW US" !important;
  font-size: 10px !important;
}

.fc-instagram-embed-heading h2 {
  max-width: 100% !important;
  margin: 0 0 18px !important;
  color: var(--ryoji-ig-brown) !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(33px, 3.4vw, 49px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-wrap: nowrap !important;
  text-shadow: none !important;
}

.fc-instagram-embed-heading p {
  max-width: 290px !important;
  margin: 0 !important;
  color: #654b3d !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: .035em !important;
  word-break: auto-phrase !important;
  text-wrap: pretty !important;
}

.fc-instagram-embed-card,
.fc-instagram-post-grid,
.fc-instagram-slider {
  grid-area: card;
  min-width: 0 !important;
}

.fc-instagram-embed-card {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(91,57,39,.25) !important;
  border-radius: 0 !important;
  background: #fffdf7 !important;
  box-shadow: 10px 12px 0 rgba(181,31,27,.10), 0 18px 38px rgba(91,57,39,.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.fc-instagram-embed-card::before,
.fc-instagram-embed-card::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  width: 92px !important;
  height: 3px !important;
  pointer-events: none !important;
  background: var(--ryoji-ig-red) !important;
}

.fc-instagram-embed-card::before { top: 0 !important; left: 0 !important; }
.fc-instagram-embed-card::after { right: 0 !important; bottom: 0 !important; }

.fc-instagram-embed-card .instagram-media,
.fc-instagram-embed-card iframe {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.fc-instagram-embed-action {
  grid-area: action;
  align-self: start !important;
  margin: 0 !important;
  text-align: left !important;
}

.fc-instagram-embed-action a {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 12px 19px 12px 22px !important;
  border: 1px solid var(--ryoji-ig-red) !important;
  border-radius: 0 !important;
  background: var(--ryoji-ig-red) !important;
  color: #fff9ea !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .10em !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(181,31,27,.17) !important;
  transition: background .25s ease, transform .25s ease !important;
}

.fc-instagram-embed-action a::after {
  content: "›" !important;
  font-family: serif !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.fc-instagram-embed-action a:hover {
  background: var(--ryoji-ig-red-dark) !important;
  color: #fff9ea !important;
  opacity: 1 !important;
  transform: translateY(-2px) !important;
}

.fc-instagram-embed-action a:focus-visible {
  outline: 2px solid var(--ryoji-ig-brown) !important;
  outline-offset: 4px !important;
}

@media (max-width: 768px) {
  .fc-instagram-embed-section {
    padding: 54px 14px !important;
    background-position: center top !important;
  }

  .fc-instagram-embed-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "heading"
      "card"
      "action" !important;
    gap: 24px !important;
    padding: 22px 18px !important;
  }

  .fc-instagram-embed-heading {
    padding: 2px 0 20px !important;
    text-align: left !important;
  }

  .fc-instagram-embed-heading h2 {
    font-size: clamp(32px, 10vw, 44px) !important;
    white-space: nowrap !important;
  }

  .fc-instagram-embed-heading p {
    max-width: none !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  .fc-instagram-embed-card {
    padding: 6px !important;
    box-shadow: 6px 8px 0 rgba(181,31,27,.09), 0 14px 30px rgba(91,57,39,.10) !important;
  }

  .fc-instagram-embed-action {
    text-align: center !important;
  }

  .fc-instagram-embed-action a {
    max-width: none !important;
  }
}

@media (max-width: 380px) {
  .fc-instagram-embed-heading h2 {
    font-size: clamp(29px, 9.2vw, 35px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-instagram-embed-action a {
    transition-duration: .01ms !important;
  }
}

/* Block: custom_html / sec_1786506839256 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&family=Montserrat:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");

#sec_1786506839256.custom-html-wrapper {
  --ryoji-craft-black: #17110e;
  --ryoji-craft-red: #b51f1b;
  --ryoji-craft-cream: #ead8ad;
  --ryoji-craft-paper: #dfcda5;
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(88px, 8vw, 132px) 24px !important;
  overflow: hidden !important;
  color: var(--ryoji-craft-black) !important;
  background: radial-gradient(circle at 14% 22%, rgba(181, 31, 27, .09), transparent 28%), repeating-radial-gradient(circle at 0 0, rgba(72, 48, 32, .07) 0 1px, transparent 1.4px 13px), linear-gradient(135deg, rgba(255, 255, 255, .20), transparent 44%), var(--ryoji-craft-paper) !important;
}

#sec_1786506839256.custom-html-wrapper::before {
  content: "魂";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: -2vw;
  color: rgba(181, 31, 27, .045);
  font-family: "Yuji Syuku", "Yu Mincho", serif;
  font-size: clamp(260px, 38vw, 570px);
  line-height: .8;
  pointer-events: none;
  transform: translateY(-50%);
}

#sec_1786506839256 > .custom-html-inner {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sec_1786506839256 .ryoji-commitment {
  display: grid !important;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
  gap: 70px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  max-width: none !important;
  padding: 82px max(20px, calc((100% - 1120px) / 2)) !important;
  color: #38251c !important;
  background-color: #f3e4bf !important;
  background-image: url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center !important;
  background-size: cover !important;
}

#sec_1786506839256 .ryoji-commitment__visual {
  position: relative;
  min-width: 0;
  padding: 0 clamp(46px, 5vw, 74px) clamp(72px, 6vw, 92px) 0;
}

#sec_1786506839256 .ryoji-commitment__photo {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0;
  overflow: hidden;
  background: #cab88f;
  box-shadow: 0 22px 46px rgba(68, 43, 25, .20);
  border: 1px solid rgba(70, 44, 27, .18);
}

#sec_1786506839256 .ryoji-commitment__photo::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 64px;
  height: 3px;
  background: var(--ryoji-craft-red);
  pointer-events: none;
}

#sec_1786506839256 .ryoji-commitment__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .65, .3, 1);
}

#sec_1786506839256 .ryoji-commitment__photo--main {
  width: min(100%, 390px);
  aspect-ratio: 4 / 5;
  margin-left: 0;
}

#sec_1786506839256 .ryoji-commitment__photo--sub {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  width: clamp(190px, 20vw, 260px);
  aspect-ratio: 4 / 3;
  border: 7px solid rgba(235, 218, 178, .96);
  box-shadow: 0 18px 38px rgba(58, 37, 23, .23);
}

#sec_1786506839256 .ryoji-commitment__photo--sub::before {
  top: -7px;
  left: -7px;
  width: 62px;
}

#sec_1786506839256 .ryoji-commitment__symbol {
  position: relative !important;
  z-index: 5;
  left: clamp(34px, 4vw, 58px);
  bottom: clamp(28px, 3vw, 44px);
  display: flex !important;
  width: 100% !important;
  min-height: clamp(170px, 17vw, 215px);
  align-items: center !important;
  justify-content: center !important;
  padding: 52px 24px 28px;
  border: 1px solid rgba(91, 57, 39, 0.25) !important;
  border-top: 3px solid #b51f1b !important;
  background: rgba(255, 250, 239, 0.90) !important;
  box-shadow: 10px 12px 0 rgba(181, 31, 27, 0.10), 0 18px 40px rgba(91, 57, 39, 0.12) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  max-width: 350px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
}

#sec_1786506839256 .ryoji-commitment__symbol::before,
#sec_1786506839256 .ryoji-commitment__symbol::after {
  content: none !important;
  display: none !important;
}

#sec_1786506839256 .ryoji-commitment__symbol p {
  margin: 0 !important;
  color: #38251c !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(25px, 2.4vw, 33px)!important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  text-wrap: balance;
}

#sec_1786506839256 .ryoji-commitment__symbol-en {
  position: absolute !important;
  top: 43px !important;
  left: 26px;
  color: #b51f1b !important;
  font-family: Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1;
  letter-spacing: 0.28em !important;
}

#sec_1786506839256 .ryoji-commitment__content {
  position: relative;
  min-width: 0 !important;
  padding: 50px !important;
  border: 1px solid rgba(91, 57, 39, 0.24) !important;
  border-top: 3px solid #b51f1b !important;
  background: rgba(255, 250, 239, 0.94) !important;
  box-shadow: 0 18px 44px rgba(91, 57, 39, 0.14) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

#sec_1786506839256 .ryoji-commitment__content::after {
  content: "";
  position: absolute;
  top: 42px;
  right: 0;
  width: 1px;
  height: 82px;
  background: rgba(181, 31, 27, .34);
}

#sec_1786506839256 .ryoji-commitment__heading {
  margin: 0 0 25px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(181, 31, 27, 0.28) !important;
}

#sec_1786506839256 .ryoji-commitment__label {
  margin: 0 0 14px !important;
  color: #b51f1b !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.4;
  letter-spacing: 0.26em !important;
}

#sec_1786506839256 .ryoji-commitment__heading h2 {
  max-width: none;
  margin: 0 !important;
  color: #38251c !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
  word-break: keep-all;
}

#sec_1786506839256 .ryoji-commitment__heading::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 25px;
  background: linear-gradient(90deg, rgba(181, 31, 27, .55), rgba(181, 31, 27, .12) 60%, transparent);
}

#sec_1786506839256 .ryoji-commitment__copy p {
  max-width: 46em !important;
  margin: 0 !important;
  color: #4d382d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 2.05 !important;
  letter-spacing: 0.035em !important;
  word-break: auto-phrase;
  text-wrap: pretty;
}

#sec_1786506839256 .ryoji-commitment__copy p + p {
  margin-top: 12px !important;
}

#sec_1786506839256 .ryoji-commitment__button {
  display: inline-flex !important;
  min-width: 230px !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-top: 28px !important;
  padding: 12px 19px 12px 22px !important;
  border: 1px solid #b51f1b !important;
  background: #b51f1b !important;
  color: #fff9ea !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5;
  letter-spacing: 0.11em !important;
  text-decoration: none !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  border-radius: 0 !important;
  box-shadow: 0 8px 18px rgba(181, 31, 27, 0.17) !important;
}

#sec_1786506839256 .ryoji-commitment__button span:last-child {
  font-family: serif !important;
  font-size: 24px !important;
  line-height: 1;
}

#sec_1786506839256 .ryoji-commitment__button:hover {
  border-color: var(--ryoji-craft-red);
  background: #8f1b17 !important;
  color: #fff9ea !important;
  transform: translateY(-2px);
}

#sec_1786506839256 .ryoji-commitment__button:focus-visible {
  outline: 2px solid var(--ryoji-craft-red);
  outline-offset: 4px;
}

#sec_1786506839256 .ryoji-commitment *,
#sec_1786506839256 .ryoji-commitment *::before,
#sec_1786506839256 .ryoji-commitment *::after {
  box-sizing: border-box !important;
}

@media (max-width: 1020px) {
  #sec_1786506839256 .ryoji-commitment__visual {
    padding-right: 48px;
    padding-bottom: 72px;
  }

  #sec_1786506839256 .ryoji-commitment__photo--sub {
    width: 190px;
  }

  #sec_1786506839256 .ryoji-commitment__symbol {
    left: 20px;
    min-height: 170px;
    padding: 46px 18px 22px;
  }
}

@media (max-width: 768px) {
  #sec_1786506839256.custom-html-wrapper::before {
    top: 25%;
    right: -22vw;
    font-size: 330px;
  }

  #sec_1786506839256 .ryoji-commitment {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 25px !important;
    padding: 48px 14px !important;
  }

  #sec_1786506839256 .ryoji-commitment__visual {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 22px;
  }

  #sec_1786506839256 .ryoji-commitment__photo--main {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  #sec_1786506839256 .ryoji-commitment__photo--sub {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    aspect-ratio: 4 / 5;
    border: 0;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  #sec_1786506839256 .ryoji-commitment__photo--sub::before {
    top: 0;
    left: 0;
  }

  #sec_1786506839256 .ryoji-commitment__symbol {
    left: auto !important;
    bottom: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    padding: 24px 20px !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-column: 1 / -1;
    max-width: 290px !important;
  }

  #sec_1786506839256 .ryoji-commitment__symbol-en {
    position: static !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  #sec_1786506839256 .ryoji-commitment__symbol p {
    font-size: clamp(25px, 7vw, 30px) !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }
  #sec_1786506839256 .ryoji-commitment__content {
    padding: 28px 20px !important;
  }

  #sec_1786506839256 .ryoji-commitment__content::after {
    top: 32px;
    height: 58px;
  }

  #sec_1786506839256 .ryoji-commitment__heading h2 {
    font-size: 26px !important;
  }

  #sec_1786506839256 .ryoji-commitment__heading::after {
    margin-top: 20px;
  }

  #sec_1786506839256 .ryoji-commitment__copy p {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  #sec_1786506839256 .ryoji-commitment__button {
    min-width: 0 !important;
    width: 100% !important;
  }

  #sec_1786506839256.custom-html-wrapper {
    padding: 66px 15px 72px !important;
  }
}

@media (max-width: 420px) {
  #sec_1786506839256 .ryoji-commitment__visual {
    gap: 7px;
  }

  #sec_1786506839256 .ryoji-commitment__photo--main {
    aspect-ratio: 3 / 4;
  }

  #sec_1786506839256 .ryoji-commitment__photo--sub {
    aspect-ratio: 3 / 4;
  }
}

@media (hover: hover) {
  #sec_1786506839256 .ryoji-commitment__photo:hover img {
    transform: scale(1.035);
  }
}

@media (prefers-reduced-motion: reduce) {
  #sec_1786506839256 .ryoji-commitment__button {
    transition-duration: .01ms !important;
  }

  #sec_1786506839256 .ryoji-commitment__photo img {
    transition-duration: .01ms !important;
  }
}

/* Block: custom_html / sec_1786506973690 */
#sec_1786506903473 {
  display: none !important;
}
.ryoji-faq {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr) !important;
  gap: 64px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 82px max(20px, calc((100% - 1120px) / 2)) !important;
  color: #38251c !important;
  background-color: #f3e4bf !important;
  background-image: url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center !important;
  background-size: cover !important;
}
.ryoji-faq *, .ryoji-faq *::before, .ryoji-faq *::after {
  box-sizing: border-box !important;
}
.ryoji-faq > div.ryoji-faq__visual {
  display: none !important;
}
.ryoji-faq__visual {
  position: relative !important;
  width: 100% !important;
  height: 480px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 57, 39, 0.25) !important;
  border-top: 3px solid #b51f1b !important;
  background: #e8d7b6 !important;
  box-shadow: 10px 12px 0 rgba(181, 31, 27, 0.10), 0 18px 40px rgba(91, 57, 39, 0.12) !important;
}
.ryoji-faq__visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(1.03) brightness(1.04) !important;
}
.ryoji-faq__visual::before, .ryoji-faq__visual::after {
  content: "" !important;
  position: absolute !important;
  z-index: 3 !important;
  width: 82px !important;
  height: 2px !important;
  background: #b51f1b !important;
}
.ryoji-faq__visual::before {
  top: 25px !important;
  left: 23px !important;
}
.ryoji-faq__visual::after {
  right: 23px !important;
  bottom: 25px !important;
}
.ryoji-faq__visual figcaption {
  position: absolute !important;
  z-index: 2 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 70px 24px 23px !important;
  color: #fff9ea !important;
  background: linear-gradient(to bottom, transparent, rgba(35, 20, 15, 0.82)) !important;
  font-family: Arial, sans-serif !important;
  letter-spacing: 0.16em !important;
}
.ryoji-faq__visual figcaption span {
  color: #ef4a42 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}
.ryoji-faq__visual figcaption strong {
  font-size: 11px !important;
}
.ryoji-faq__content {
  min-width: 0 !important;
  padding: 50px !important;
  border: 1px solid rgba(91, 57, 39, 0.24) !important;
  border-top: 3px solid #b51f1b !important;
  background: rgba(255, 250, 239, 0.94) !important;
  box-shadow: 0 18px 44px rgba(91, 57, 39, 0.14) !important;
}
.ryoji-faq__heading {
  margin: 0 0 25px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(181, 31, 27, 0.28) !important;
}
.ryoji-faq__label {
  margin: 0 0 14px !important;
  color: #b51f1b !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.26em !important;
}
.ryoji-faq__heading h2 {
  margin: 0 !important;
  color: #38251c !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 50px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
}
.ryoji-faq__copy p {
  max-width: 45em !important;
  margin: 0 !important;
  color: #4d382d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 15px !important;
  line-height: 2.05 !important;
  letter-spacing: 0.035em !important;
}
.ryoji-faq__copy p + p {
  margin-top: 12px !important;
}
.ryoji-faq__button {
  display: inline-flex !important;
  min-width: 230px !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-top: 28px !important;
  padding: 12px 19px 12px 22px !important;
  border: 1px solid #b51f1b !important;
  border-radius: 0 !important;
  background: #b51f1b !important;
  color: #fff9ea !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.11em !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(181, 31, 27, 0.17) !important;
}
.ryoji-faq__button span:last-child {
  font-family: serif !important;
  font-size: 24px !important;
}
.ryoji-faq__button:hover {
  background: #8f1b17 !important;
  color: #fff9ea !important;
}
@media (max-width: 768px) {
  .ryoji-faq {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 25px !important;
    padding: 48px 14px !important;
  }
  .ryoji-faq__visual {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    box-shadow: 6px 8px 0 rgba(181, 31, 27, 0.09) !important;
  }
  .ryoji-faq__content {
    padding: 28px 20px !important;
  }
  .ryoji-faq__heading h2 {
    font-size: 26px !important;
  }
  .ryoji-faq__copy p {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }
  .ryoji-faq__button {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 380px) {
  .ryoji-faq__heading h2 {
    font-size: 26px !important;
  }
}

/* Block: store_info / sec_1786506995357 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");

#sec_1786506995357.store-info-section {
  --ryoji-shop-black: #100c0a;
  --ryoji-shop-red: #b51f1b;
  --ryoji-shop-cream: #f5e5bb;
  --ryoji-shop-paper: #d8c9a6;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(76px, 8vw, 120px) 20px;
  overflow: hidden;
  color: var(--ryoji-shop-black);
  background:
    linear-gradient(90deg, rgba(181,31,27,.045) 1px, transparent 1px),
    linear-gradient(rgba(181,31,27,.04) 1px, transparent 1px),
    radial-gradient(circle at 88% 20%, rgba(181,31,27,.13), transparent 29%),
    linear-gradient(135deg, #e1d5b7, #cdbd98);
  background-size: 34px 34px, 34px 34px, auto, auto;
}

#sec_1786506995357.store-info-section::before {
  content: "魂";
  position: absolute;
  z-index: -1;
  right: clamp(-20px, 1vw, 18px);
  bottom: -40px;
  color: rgba(16, 12, 10, .055);
  font-family: Georgia, serif;
  font-size: clamp(190px, 28vw, 420px);
  font-weight: 700;
  line-height: .8;
  pointer-events: none;
}

#sec_1786506995357 .store-info-container {
  width: min(100%, 1080px);
  max-width: none;
  margin: 0 auto;
}

#sec_1786506995357 .store-info-header {
  display: none !important;
}

#sec_1786506995357 .store-info-container::before {
  content: "SHOP INFORMATION";
  display: block;
  margin: 0 0 13px;
  color: var(--ryoji-shop-red);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .27em;
}

#sec_1786506995357 .store-info-layout,
#sec_1786506995357 .store-info-layout.has-image {
  display: block;
}

#sec_1786506995357 .store-info-table-wrap {
  position: relative;
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid rgba(16, 12, 10, .35);
  border-top: 3px solid var(--ryoji-shop-red);
  background: rgba(245, 229, 187, .72);
  box-shadow: 18px 22px 0 rgba(16, 12, 10, .10);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

#sec_1786506995357 .store-info-table-wrap::before {
  content: "店舗案内";
  display: block;
  margin: 0 0 28px;
  color: var(--ryoji-shop-black);
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(40px, 5vw, 62px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .06em;
  white-space: nowrap;
  word-break: keep-all;
}

#sec_1786506995357 .store-info-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}

#sec_1786506995357 .store-info-table tbody {
  display: block;
  border-top: 1px solid rgba(16, 12, 10, .25);
}

#sec_1786506995357 .store-info-table tr {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: start;
  border-bottom: 1px solid rgba(16, 12, 10, .18);
}

#sec_1786506995357 .store-info-table th,
#sec_1786506995357 .store-info-table td {
  width: auto;
  padding: 21px 10px;
  border: 0;
  color: var(--ryoji-shop-black);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 15px;
  line-height: 1.9;
  text-align: left;
  vertical-align: top;
}

#sec_1786506995357 .store-info-table th {
  padding-left: 0;
  color: var(--ryoji-shop-red);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  white-space: nowrap;
}

#sec_1786506995357 .store-info-table td {
  padding-right: 0;
  font-weight: 500;
  letter-spacing: .03em;
  word-break: keep-all;
  overflow-wrap: normal;
}

#sec_1786506995357 .store-info-table tr:nth-child(3),
#sec_1786506995357 .store-info-table tr:nth-child(6),
#sec_1786506995357 .store-info-table tr:nth-child(7),
#sec_1786506995357 .store-info-table tr:nth-child(8) {
  display: none !important;
}

#sec_1786506995357 .store-info-table tr:nth-child(4) td {
  position: relative;
  font-size: 0 !important;
}

#sec_1786506995357 .store-info-table tr:nth-child(4) td::before,
#sec_1786506995357 .store-info-table tr:nth-child(4) td::after {
  display: block;
  margin: 0;
  color: var(--ryoji-shop-black);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  white-space: pre;
  font-variant-numeric: tabular-nums;
}


#sec_1786506995357 .store-info-table tr:nth-child(4) td::before {
  content: "平日\A\A土日祝";
  position: absolute;
  top: 21px;
  left: 10px;
  width: 45px;
}

#sec_1786506995357 .store-info-table tr:nth-child(4) td::after {
  margin-left: 61px;
  content: "昼 11:30～14:30（L.O.14:00）\A夜 17:30～22:00（L.O.21:30）\A昼 11:30～15:00（L.O.14:30）\A夜 17:00～22:00（L.O.21:30）";
}
#sec_1786506995357 .store-info-image {
  display: none !important;
}

@media (max-width: 768px) {
  #sec_1786506995357.store-info-section {
    padding: 62px 15px;
  }

  #sec_1786506995357.store-info-section::before {
    right: -32px;
    bottom: -10px;
    font-size: 190px;
  }

  #sec_1786506995357 .store-info-table-wrap {
    padding: 32px 20px;
    box-shadow: 9px 12px 0 rgba(16, 12, 10, .10);
  }

  #sec_1786506995357 .store-info-table-wrap::before {
    margin-bottom: 23px;
    font-size: clamp(20px, 10vw, 30px);
  }

  #sec_1786506995357 .store-info-table tr {
    grid-template-columns: minmax(0, 1fr);
    padding: 17px 0;
  }

  #sec_1786506995357 .store-info-table th,
  #sec_1786506995357 .store-info-table td {
    padding: 0;
  }

  #sec_1786506995357 .store-info-table th {
    margin-bottom: 7px;
    font-size: 14px;
  }

  #sec_1786506995357 .store-info-table td {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0;
  }
}


@media (max-width: 768px) {
  #sec_1786506995357 .store-info-table tr:nth-child(4) td::before {
    top: 0;
    left: 0;
    width: 39px;
  }

  #sec_1786506995357 .store-info-table tr:nth-child(4) td::after {
    margin-left: 47px;
  }

  #sec_1786506995357 .store-info-table tr:nth-child(4) td::before,
  #sec_1786506995357 .store-info-table tr:nth-child(4) td::after {
    font-size: clamp(12px, 3.3vw, 14px);
    line-height: 2;
    letter-spacing: 0;
  }
}

/* Block: custom_html / sec_1786507018075 */
body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link {
  position: relative !important;
  display: flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 230px !important;
  min-height: 56px !important;
  height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px 19px 12px 22px !important;
  overflow: hidden !important;
  border: 1px solid var(--tel-red) !important;
  border-radius: 0 !important;
  background: var(--tel-red) !important;
  color: #fff9ea !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(181, 31, 27, .17) !important;
  transform: none !important;
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link::before,
body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link::after {
  content: none !important;
  display: none !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__label::after {
  content: none !important;
  display: none !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__number {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #fff9ea !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .075em !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__icon {
  display: grid !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff9ea !important;
  box-shadow: none !important;
  transform: none !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link:hover {
  border-color: var(--tel-red-dark) !important;
  background: var(--tel-red-dark) !important;
  color: #fff9ea !important;
  box-shadow: 0 10px 22px rgba(143, 27, 23, .22) !important;
  transform: translateY(-2px) !important;
}

body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link:focus-visible {
  outline: 3px solid rgba(181, 31, 27, .38) !important;
  outline-offset: 4px !important;
}

@media (prefers-reduced-motion: reduce) {
  body :is(#ryoji-tel-css-priority, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link {
    transition-duration: .01ms !important;
  }
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) {
  --tel-red: #b51f1b;
  --tel-red-dark: #8f1b17;
  --tel-panel-red: #bf211c;
  --tel-panel-ink: #3c271e;
  --tel-panel-paper: #eee7dc;
  position: relative !important;
  z-index: 0 !important;
  display: block !important;
  isolation: isolate !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 72px 22px 78px !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 12% 35%, rgba(191, 33, 28, .08), transparent 24%),
    linear-gradient(90deg, rgba(74, 52, 42, .028) 1px, transparent 1px),
    linear-gradient(rgba(74, 52, 42, .024) 1px, transparent 1px),
    linear-gradient(135deg, #f2eee7 0%, #e4ded5 54%, #eee8df 100%) !important;
  background-size: auto, 38px 38px, 38px 38px, auto !important;
  box-shadow: 0 0 0 100vmax var(--tel-panel-paper) !important;
  clip-path: inset(0 -100vmax) !important;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta))::before {
  display: none !important;
  content: none !important;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta))::after {
  position: absolute !important;
  z-index: -1 !important;
  inset: 0 auto 0 50% !important;
  display: block !important;
  width: 100vw !important;
  background:
    radial-gradient(circle at 12% 35%, rgba(191, 33, 28, .08), transparent 24%),
    linear-gradient(90deg, rgba(74, 52, 42, .028) 1px, transparent 1px),
    linear-gradient(rgba(74, 52, 42, .024) 1px, transparent 1px),
    linear-gradient(135deg, #f2eee7 0%, #e4ded5 54%, #eee8df 100%) !important;
  background-size: auto, 38px 38px, 38px 38px, auto !important;
  content: "" !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) > .custom-html-inner {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4vw, 43px) clamp(26px, 5vw, 62px) !important;
  overflow: visible !important;
  border: 1px solid rgba(82, 57, 44, .16) !important;
  border-top: 4px solid var(--tel-panel-red) !important;
  background:
    linear-gradient(115deg, rgba(255, 252, 246, .95), rgba(248, 241, 232, .89)) !important;
  box-shadow: 15px 17px 0 rgba(80, 57, 43, .08), 0 18px 38px rgba(72, 47, 35, .08) !important;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) > .custom-html-inner::before {
  position: absolute;
  top: -4px;
  right: clamp(24px, 5vw, 64px);
  width: 84px;
  height: 4px;
  background: #7e1512;
  content: "";
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta {
  display: grid !important;
  grid-template-areas:
    "eyebrow button"
    "message button" !important;
  grid-template-columns: minmax(0, 1fr) 230px !important;
  column-gap: clamp(30px, 6vw, 72px) !important;
  row-gap: 10px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: center !important;
  background: transparent !important;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta::before {
  grid-area: eyebrow;
  display: block;
  margin: 0;
  color: var(--tel-panel-red);
  content: "RESERVATION / CONTACT";
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .24em;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta::after {
  grid-area: message;
  display: block;
  margin: 0;
  color: var(--tel-panel-ink);
  content: "ご予約・お問い合わせはお電話で";
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(19px, 2.1vw, 28px);
  font-weight: 500;

  line-height: 1.55;
  letter-spacing: .055em;
  white-space: nowrap;
}

body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link {
  grid-area: button;
  align-self: center !important;
  width: 230px !important;
  min-width: 230px !important;
  min-height: 56px !important;
  height: 56px !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) {
    padding: 48px 18px 54px !important;
    background-size: auto, 30px 30px, 30px 30px, auto !important;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) > .custom-html-inner {
    padding: 30px 22px 32px !important;
    box-shadow: 8px 10px 0 rgba(80, 57, 43, .08) !important;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta {
    grid-template-areas:
      "eyebrow"
      "message"
      "button" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 12px !important;
    text-align: center !important;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta::before {
    font-size: 9px;
    letter-spacing: .20em;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta::after {
    margin-bottom: 5px;
    font-size: clamp(17px, 4.4vw, 23px);
    line-height: 1.55;
    white-space: normal;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) .ryoji-tel-cta__link {
    width: min(340px, 100%) !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 360px) {
  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }

  body :is(#ryoji-tel-css-priority, #sec_1786507018075.custom-html-wrapper, .custom-html-wrapper:has(.ryoji-tel-cta)) > .custom-html-inner {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Block: gmap / sec_1786507040509 */
body #sec_1786507018075.custom-html-wrapper:has(.ryoji-tel-cta),
body .custom-html-wrapper:has(.ryoji-tel-cta),
body #sec_1786507040509.gmap-section,
body .gmap-section {
  --ryoji-shared-gray: #deddda;
  background-color: var(--ryoji-shared-gray) !important;
  background-image:
    radial-gradient(circle at 12% 28%, rgba(181, 31, 27, .08), transparent 25%),
    radial-gradient(circle at 88% 78%, rgba(67, 75, 76, .09), transparent 27%),
    repeating-linear-gradient(135deg, rgba(55, 60, 60, .030) 0 1px, transparent 1px 11px),
    linear-gradient(90deg, rgba(56, 62, 62, .035) 1px, transparent 1px),
    linear-gradient(rgba(56, 62, 62, .030) 1px, transparent 1px),
    linear-gradient(135deg, #eeedea 0%, #d7d6d2 52%, #e5e3df 100%) !important;
  background-size: auto, auto, auto, 40px 40px, 40px 40px, auto !important;
  box-shadow: 0 0 0 100vmax var(--ryoji-shared-gray) !important;
  clip-path: inset(0 -100vmax) !important;
}


body #sec_1786507018075.custom-html-wrapper:has(.ryoji-tel-cta)::after,
body .custom-html-wrapper:has(.ryoji-tel-cta)::after {
  background-color: var(--ryoji-shared-gray) !important;
  background-image:
    radial-gradient(circle at 12% 28%, rgba(181, 31, 27, .08), transparent 25%),
    radial-gradient(circle at 88% 78%, rgba(67, 75, 76, .09), transparent 27%),
    repeating-linear-gradient(135deg, rgba(55, 60, 60, .030) 0 1px, transparent 1px 11px),
    linear-gradient(90deg, rgba(56, 62, 62, .035) 1px, transparent 1px),
    linear-gradient(rgba(56, 62, 62, .030) 1px, transparent 1px),
    linear-gradient(135deg, #eeedea 0%, #d7d6d2 52%, #e5e3df 100%) !important;
  background-size: auto, auto, auto, 40px 40px, 40px 40px, auto !important;
}


body #sec_1786507040509.gmap-section,
body .gmap-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
}


@media (max-width: 768px) {
  body #sec_1786507018075.custom-html-wrapper:has(.ryoji-tel-cta),
  body .custom-html-wrapper:has(.ryoji-tel-cta),
  body #sec_1786507040509.gmap-section,
  body .gmap-section,
  body #sec_1786507018075.custom-html-wrapper:has(.ryoji-tel-cta)::after,
  body .custom-html-wrapper:has(.ryoji-tel-cta)::after {
    background-size: auto, auto, auto, 30px 30px, 30px 30px, auto !important;
  }
}


/* =========================================================
   Page: menu / メニュー｜川崎タンタンメン・焼肉・ランチ｜真岡市のりょうじの魂
========================================================= */

/* Block: hero_page / sec_1782110792533 */
#sec_1782110792533.page-hero-wrapper .ph-container::before {
  content: "OUR MENU" !important;
}

#sec_1782110792533.page-hero-wrapper .ph-container::after {
  content: "RYOJI NO TAMASHII" !important;
}

/* Block: menu_category_grid / sec_1782110885267 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&family=Yuji+Syuku&display=swap");

/* ---------- 全ブロック共通 ---------- */
body > .menu-grid-section {
  --mm-paper: #fffaf0;
  --mm-paper-deep: #f3e7cd;
  --mm-card: rgba(255, 251, 242, .96);
  --mm-ink: #382219;
  --mm-soft: #74594c;
  --mm-red: #c6241f;
  --mm-line: rgba(112, 78, 57, .20);
  position: relative !important;
  isolation: isolate !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(74px, 7vw, 116px) clamp(18px, 5vw, 74px) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  color: var(--mm-ink) !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
}


body > .menu-grid-section::before {
  content: none !important;
  display: none !important;
}

body > .menu-grid-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

body > .menu-grid-section .menu-section-header {
  position: relative !important;
  width: min(920px, 100%) !important;
  max-width: none !important;
  margin: 0 auto clamp(40px, 5vw, 64px) !important;
  text-align: center !important;
}

body > .menu-grid-section .menu-section-header::before {
  content: "OUR MENU";
  display: block !important;
  margin: 0 0 13px !important;
  color: var(--mm-red) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .32em !important;
}

body > .menu-grid-section .menu-main-title {
  margin: 0 !important;
  color: var(--mm-title, var(--mm-ink)) !important;
  font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(40px, 5.2vw, 68px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body > .menu-grid-section .menu-cat-container {
  counter-reset: ryoji-menu-category;
  position: relative !important;
  width: min(1220px, 100%) !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body > .menu-grid-section .menu-cat-block {
  counter-increment: ryoji-menu-category;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 clamp(42px, 5vw, 68px) !important;
  padding: clamp(28px, 4vw, 50px) clamp(22px, 4vw, 52px) !important;
  overflow: visible !important;
  border: 1px solid rgba(91, 59, 34, .20) !important;
  border-top: 4px solid var(--mm-accent, var(--mm-red)) !important;
  border-radius: var(--mm-radius, 0) !important;
  background: var(--mm-card) !important;
  box-shadow: var(--mm-shadow, 13px 16px 0 rgba(91, 59, 34, .10)) !important;
}

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

body > .menu-grid-section .menu-cat-header {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: 22px !important;
  margin: 0 0 clamp(24px, 3vw, 36px) !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(189, 32, 27, .28) !important;
}

body > .menu-grid-section .menu-cat-header::after {
  content: "CATEGORY " counter(ryoji-menu-category, decimal-leading-zero);
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: var(--mm-accent, var(--mm-red));
  opacity: .66;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .2em;
  white-space: nowrap;
}

body > .menu-grid-section .menu-cat-name {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  color: var(--mm-ink) !important;
  font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(28px, 3.5vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body > .menu-grid-section .menu-cat-desc {
  grid-column: 1 / -1;
  margin: 12px 0 0 !important;
  color: var(--mm-soft) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: .03em !important;
}

body > .menu-grid-section .menu-items-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(28px, 5vw, 70px) !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body > .menu-grid-section .menu-item-card,
body > .menu-grid-section .menu-item-card.no-image,
body > .menu-grid-section .menu-item-card.has-image {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px 0 !important;
  gap: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mm-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--mm-ink) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: border-color .2s ease, background .2s ease !important;
}

body > .menu-grid-section .menu-item-card:hover {
  border-bottom-color: rgba(189, 32, 27, .52) !important;
  background: linear-gradient(90deg, rgba(189, 32, 27, .04), transparent) !important;
}

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

body > .menu-grid-section .mi-title,
body > .menu-grid-section .menu-item-card.no-image .mi-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--mm-ink) !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: clamp(14px, 1.4vw, 17px) !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
  letter-spacing: .025em !important;
  overflow-wrap: anywhere !important;
}

body > .menu-grid-section .mi-text,
body > .menu-grid-section .menu-item-card.no-image .mi-text {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  color: var(--mm-soft) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  letter-spacing: .02em !important;
}

body > .menu-grid-section .mi-meta,
body > .menu-grid-section .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  align-self: baseline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body > .menu-grid-section .mi-price {
  margin: 0 !important;
  color: var(--mm-accent, var(--mm-red)) !important;
  font-family: Georgia, "Times New Roman", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body > .menu-grid-section .price-in {
  color: var(--mm-accent, var(--mm-red)) !important;
  font-size: clamp(16px, 1.7vw, 20px) !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
}

/* 管理画面で商品画像を表示した場合 */
body > .menu-grid-section .menu-item-card.has-image {
  grid-template-columns: 112px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  align-items: center !important;
}

body > .menu-grid-section .menu-item-card.has-image .mi-img-box {
  position: relative !important;
  display: block !important;
  width: 112px !important;
  height: 86px !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 59, 34, .20) !important;
  border-radius: 2px !important;
  background: var(--mm-paper-deep) !important;
}

body > .menu-grid-section .menu-item-card.has-image .mi-img-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}

body > .menu-grid-section .menu-item-card.has-image:hover .mi-img-box img {
  transform: scale(1.035) !important;
}

body > .menu-grid-section .mi-sold-out {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(56, 34, 25, .70) !important;
  color: #fffaf0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}
body > #sec_1782110885267 {
  --mm-accent: #c6241f;
  --mm-card: rgba(255, 252, 245, .97);
  --mm-shadow: 13px 16px 0 rgba(110, 70, 36, .11);
  background-color: #efe0b1 !important;
  background-image:
    linear-gradient(115deg, rgba(255, 249, 229, .94) 0 64%, rgba(239, 215, 163, .72) 64% 100%),
    repeating-linear-gradient(0deg, transparent 0 32px, rgba(120, 72, 36, .055) 32px 33px),
    repeating-linear-gradient(90deg, transparent 0 32px, rgba(120, 72, 36, .04) 32px 33px) !important;
}

body > #sec_1782110885267 .menu-section-header::before { content: "RAMEN MENU"; }

body > #sec_1782110885267::after {
  width: clamp(180px, 25vw, 430px);
  aspect-ratio: 1;
  right: -7%;
  top: -14%;
  border: clamp(28px, 4vw, 60px) solid rgba(198, 36, 31, .055);
  border-radius: 50%;
}
body > #sec_1787289029450 {
  --mm-title: #fff7e8;
  --mm-accent: #d39b42;
  --mm-card: rgba(255, 248, 235, .98);
  --mm-shadow: none;
  background-color: #7a2923 !important;
  background-image:
    radial-gradient(circle at 82% 20%, rgba(244, 190, 105, .17), transparent 30%),
    linear-gradient(135deg, rgba(74, 22, 20, .24), transparent 50%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px) !important;
}

body > #sec_1787289029450 .menu-section-header::before {
  content: "TOPPINGS";
  color: #f1c56c !important;
}

body > #sec_1787289029450 .menu-cat-block {
  border-top-width: 1px !important;
  border-left: 7px solid #c6241f !important;
  background: linear-gradient(90deg, #fff7e8, #fffdf8) !important;
}

body > #sec_1787289029450::after {
  inset: 22px;
  border: 1px solid rgba(255, 238, 202, .20);
}


body > #sec_1787289058147 {
  --mm-accent: #a56816;
  --mm-radius: 22px;
  --mm-card: rgba(255, 252, 238, .94);
  --mm-shadow: 0 20px 48px rgba(101, 72, 23, .13);
  background-color: #ead9a6 !important;
  background-image:
    radial-gradient(circle at 16% 25%, rgba(255, 255, 243, .96) 0 10%, transparent 38%),
    radial-gradient(circle at 86% 82%, rgba(181, 112, 34, .14), transparent 30%),
    repeating-linear-gradient(0deg, transparent 0 54px, rgba(120, 80, 26, .045) 54px 55px) !important;
}

body > #sec_1787289058147 .menu-section-header::before { content: "LUNCH SET"; }

body > #sec_1787289058147 .menu-cat-block {
  border-top: 0 !important;
  outline: 1px solid rgba(151, 99, 25, .24) !important;
  outline-offset: -10px !important;
}




body > #sec_1787289142910 {
  --mm-accent: #b73a2d;
  --mm-card: rgba(255, 251, 242, .92);
  --mm-shadow: 11px 13px 0 rgba(122, 65, 51, .10);
  background-color: #ead7cd !important;
  background-image:
    radial-gradient(circle at 92% 12%, transparent 0 120px, rgba(183, 58, 45, .09) 121px 162px, transparent 163px),
    linear-gradient(145deg, rgba(255, 250, 237, .88), rgba(230, 199, 187, .78)),
    repeating-linear-gradient(135deg, rgba(90, 42, 35, .035) 0 1px, transparent 1px 12px) !important;
}

body > #sec_1787289142910 .menu-section-header::before { content: "A LA CARTE"; }

body > #sec_1787289142910 .menu-cat-block:nth-child(even) {
  transform: translateX(-10px) !important;
}

body > #sec_1787289142910 .menu-cat-block:nth-child(odd) {
  transform: translateX(10px) !important;
}


body > #sec_1787289182712 {
  --mm-title: #fff7df;
  --mm-accent: #b9782d;
  --mm-card: rgba(255, 251, 240, .97);
  --mm-radius: 4px;
  --mm-shadow: 0 22px 52px rgba(26, 43, 32, .20);
  background-color: #3d5545 !important;
  background-image:
    radial-gradient(circle at 9% 18%, rgba(243, 197, 108, .15) 0 18px, transparent 19px),
    radial-gradient(circle at 87% 27%, rgba(255,255,255,.09) 0 42px, transparent 43px),
    radial-gradient(circle at 78% 74%, rgba(243, 197, 108, .11) 0 74px, transparent 75px),
    linear-gradient(135deg, #334b3c, #4f6653) !important;
}

body > #sec_1787289182712 .menu-section-header::before {
  content: "DRINKS";
  color: #efc878 !important;
}

body > #sec_1787289182712 .menu-cat-block { border-top-color: #b9782d !important; }

/* ---------- スマートフォン ---------- */
@media (max-width: 760px) {
  body > .menu-grid-section {
    padding: 50px 15px !important;
  }

  body > .menu-grid-section .menu-section-header {
    margin-bottom: 31px !important;
  }

  body > .menu-grid-section .menu-section-header::before {
    margin-bottom: 9px !important;
    font-size: 8px !important;
  }

  body > .menu-grid-section .menu-main-title {
    font-size: clamp(34px, 11vw, 47px) !important;
    letter-spacing: .035em !important;
  }

  body > .menu-grid-section .menu-cat-block {
    margin-bottom: 34px !important;
    padding: 23px 17px 27px !important;
    border-top-width: 3px !important;
    box-shadow: 6px 8px 0 rgba(91, 59, 34, .09) !important;
  }

  body > #sec_1787289029450 .menu-cat-block {
    border-top-width: 1px !important;
    border-left-width: 5px !important;
    box-shadow: none !important;
  }

  body > #sec_1787289058147 .menu-cat-block {
    border-radius: 14px !important;
    outline-offset: -7px !important;
    box-shadow: 0 14px 30px rgba(101, 72, 23, .12) !important;
  }

  body > #sec_1787289142910 .menu-cat-block:nth-child(n) {
    transform: none !important;
  }

  body > .menu-grid-section .menu-cat-header {
    grid-template-columns: 1fr !important;
    row-gap: 7px !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
  }

  body > .menu-grid-section .menu-cat-header::after {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    font-size: 8px;
  }

  body > .menu-grid-section .menu-cat-name {
    font-size: clamp(27px, 9vw, 37px) !important;
    letter-spacing: .04em !important;
  }

  body > .menu-grid-section .menu-cat-desc {
    grid-row: 3;
    margin-top: 4px !important;
    font-size: 11px !important;
  }

  body > .menu-grid-section .menu-items-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  body > .menu-grid-section .menu-item-card,
  body > .menu-grid-section .menu-item-card.no-image,
  body > .menu-grid-section .menu-item-card.has-image {
    padding: 16px 0 !important;
  }

  body > .menu-grid-section .menu-item-card .mi-info,
  body > .menu-grid-section .menu-item-card.no-image .mi-info {
    column-gap: 11px !important;
  }

  body > .menu-grid-section .mi-title,
  body > .menu-grid-section .menu-item-card.no-image .mi-title {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body > .menu-grid-section .price-in {
    font-size: 16px !important;
  }

  body > .menu-grid-section .menu-item-card.has-image {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  body > .menu-grid-section .menu-item-card.has-image .mi-img-box {
    width: 84px !important;
    height: 70px !important;

  }
}

@media (max-width: 380px) {
  body > .menu-grid-section .menu-cat-block {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }

  body > .menu-grid-section .mi-title,
  body > .menu-grid-section .menu-item-card.no-image .mi-title {
    font-size: 13px !important;
  }

  body > .menu-grid-section .price-in {
    font-size: 15px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body > .menu-grid-section *,
  body > .menu-grid-section *::before,
  body > .menu-grid-section *::after {
    transition: none !important;
  }
}
#sec_1782110885267 .menu-sub-text {
    color: #4b391b;
}

/* Block: custom_html / sec_1787407001198 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@500;600;700&family=Yuji+Syuku&display=swap");

  .ryoji-spice,
  .ryoji-spice * {
    box-sizing: border-box;
  }

  .ryoji-spice {
    --sp-paper: #fffaf0;
    --sp-ink: #382219;
    --sp-soft: #755a4d;
    --sp-red: #bd201b;
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: clamp(70px, 8vw, 118px) clamp(18px, 5vw, 74px);
    overflow: hidden;
    background-color: #eadcaf;
    background-image:
      linear-gradient(rgba(250, 240, 209, .78), rgba(250, 240, 209, .78)),
      url("image/assets/asset_20260812122826_6a7be85a70b3e.webp");
    background-position: center;
    background-size: cover;
    color: var(--sp-ink);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  }

  .ryoji-spice::before {
    content: "SPICE";
    position: absolute;
    z-index: -1;
    right: -1%;
    bottom: -5%;
    color: rgba(137, 35, 27, .04);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(120px, 20vw, 330px);
    font-weight: 700;
    line-height: .8;
    white-space: nowrap;
    pointer-events: none;
  }

  .ryoji-spice__inner {
    width: min(1220px, 100%);
    margin: 0 auto;
  }

  .ryoji-spice__heading {
    max-width: 790px;
    margin: 0 auto clamp(42px, 6vw, 68px);
    text-align: center;
  }

  .ryoji-spice__eyebrow {
    margin: 0 0 13px;
    color: var(--sp-red);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .28em;
  }

  .ryoji-spice__heading h2 {
    margin: 0;
    color: var(--sp-ink);
    font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif;
    font-size: clamp(38px, 5vw, 66px);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: .07em;
    white-space: nowrap;
    word-break: keep-all;
  }

  .ryoji-spice__lead {
    max-width: 700px;
    margin: 20px auto 0;
    color: var(--sp-soft);
    font-size: clamp(14px, 1.25vw, 16px);
    font-weight: 500;
    line-height: 2;
    letter-spacing: .03em;
  }

  .ryoji-spice__levels {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .ryoji-spice__level {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 184px;
    place-content: center;
    padding: 27px 10px 22px;
    border-top: 3px solid var(--level-color);
    border-right: 1px solid rgba(91, 59, 34, .15);
    border-bottom: 1px solid rgba(91, 59, 34, .21);
    background: var(--level-bg);
    color: var(--level-text, var(--sp-ink));
    text-align: center;
  }

  .ryoji-spice__level:first-child {
    border-left: 1px solid rgba(91, 59, 34, .21);
  }

  .ryoji-spice__level:not(:last-child)::after {
    content: "›";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -12px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid rgba(91, 59, 34, .18);
    border-radius: 50%;
    background: #fffaf0;
    color: var(--sp-red);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
  }

  .ryoji-spice__step {
    display: block;
    margin: 0 0 9px;
    color: var(--level-accent, var(--sp-red));
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .12em;
  }

  .ryoji-spice__level strong {
    display: block;
    color: inherit;
    font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif;
    font-size: clamp(24px, 2.5vw, 34px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .04em;
    white-space: nowrap;
  }

  .ryoji-spice__fee {
    display: block;
    min-height: 1.4em;
    margin: 11px 0 0;
    color: var(--level-accent, var(--sp-red));
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .08em;
    white-space: nowrap;
  }

  .ryoji-spice__popular {
    position: absolute;
    z-index: 2;
    top: -16px;
    left: 50%;
    min-width: 82px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--sp-red);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .08em;
    white-space: nowrap;
    transform: translateX(-50%);
    box-shadow: 0 5px 12px rgba(128, 30, 24, .18);
  }

  .ryoji-spice__level--0 {
    --level-color: #c8b78f;
    --level-bg: #fffdf7;
    --level-accent: #8a745d;
  }

  .ryoji-spice__level--1 {
    --level-color: #dcaa7e;
    --level-bg: #fff5e8;
    --level-accent: #a56b46;
  }

  .ryoji-spice__level--2 {
    --level-color: #dd7e57;
    --level-bg: #ffede1;
    --level-accent: #b44a2c;
  }

  .ryoji-spice__level--3 {
    --level-color: #cf3e2d;
    --level-bg: #fde0d5;
    --level-accent: #ad251d;
  }

  .ryoji-spice__level--4 {
    --level-color: #bd201b;
    --level-bg: #f8d3ca;
    --level-accent: #971913;
  }

  .ryoji-spice__level--5 {
    --level-color: #991b17;
    --level-bg: #b92c25;
    --level-text: #fff8ec;
    --level-accent: #fff0c9;
  }

  .ryoji-spice__level--6 {
    --level-color: #75140f;
    --level-bg: #842019;
    --level-text: #fff8ec;
    --level-accent: #ffe0a3;
  }

  .ryoji-spice__charge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 3vw, 34px);
    width: fit-content;
    max-width: 100%;
    margin: 34px auto 0;
    padding: 15px 24px;
    border: 1px solid rgba(189, 32, 27, .32);
    background: rgba(255, 250, 240, .91);
    color: var(--sp-ink);
  }

  .ryoji-spice__charge > span {
    color: var(--sp-red);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .12em;
    white-space: nowrap;
  }

  .ryoji-spice__charge p {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--sp-ink);
    font-family: Georgia, "Noto Serif JP", serif;
    font-size: 14px;
    line-height: 1.6;
    white-space: nowrap;
  }

  .ryoji-spice__charge p strong {
    font-family: "Noto Serif JP", "Yu Mincho", serif;
    font-weight: 700;
  }

  .ryoji-spice__charge i {
    display: block;
    width: 1px;
    height: 20px;
    margin: 0 4px;
    background: rgba(91, 59, 34, .22);
  }

  @media (max-width: 760px) {
    .ryoji-spice {
      padding: 50px 16px;
    }

    .ryoji-spice::before {
      right: -27%;
      bottom: 0;
      font-size: 125px;
    }

    .ryoji-spice__heading {
      margin-bottom: 40px;
    }

    .ryoji-spice__heading h2 {
      font-size: clamp(34px, 10.5vw, 46px);
      letter-spacing: .04em;
    }

    .ryoji-spice__lead {
      margin-top: 16px;
      font-size: 13px;
      line-height: 1.9;
      text-align: left;
    }

    .ryoji-spice__levels {
      grid-template-columns: 1fr;
      gap: 12px;
      width: min(100%, 440px);
      margin: 0 auto;
    }

    .ryoji-spice__level {
      min-height: 0;
      grid-template-columns: 46px minmax(0, 1fr) auto;
      align-items: center;
      place-content: initial;
      padding: 16px 18px;
      border-top-width: 2px;
      border-left: 1px solid rgba(91, 59, 34, .21);
      text-align: left;
    }

    .ryoji-spice__level:not(:last-child)::after {
      content: "↓";
      top: auto;
      right: auto;
      bottom: -19px;
      left: 50%;
      width: 26px;
      height: 26px;
      font-size: 13px;
      transform: translateX(-50%);
    }

    .ryoji-spice__step {
      grid-column: 1;
      margin: 0;
      font-size: 11px;
    }

    .ryoji-spice__level strong {
      grid-column: 2;
      font-size: 28px;
    }

    .ryoji-spice__fee {
      grid-column: 3;
      min-height: 0;
      margin: 0;
      font-size: 14px;
      text-align: right;
    }

    .ryoji-spice__popular {
      top: -10px;
      right: 12px;
      left: auto;
      min-width: 72px;
      padding: 4px 8px;
      font-size: 9px;
      transform: none;
    }

    .ryoji-spice__charge {
      display: block;
      width: min(100%, 440px);
      margin-top: 30px;
      padding: 16px 18px;
      text-align: center;
    }

    .ryoji-spice__charge > span {
      display: block;
      margin-bottom: 8px;
    }

    .ryoji-spice__charge p {
      justify-content: center;
      font-size: 13px;
    }
  }

  @media (max-width: 370px) {
    .ryoji-spice__level {
      grid-template-columns: 38px minmax(0, 1fr) auto;
      padding-right: 12px;
      padding-left: 12px;
    }

    .ryoji-spice__level strong {
      font-size: 25px;
    }

    .ryoji-spice__charge p {
      gap: 7px;
      font-size: 12px;
    }
  }

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

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

#sec_1787289058147 .menu-sub-text {
    color: #755a4d;
}

/* Block: menu_category_grid / sec_1787289091595 */
body > #sec_1787289091595 {
  --mm-title: #fff4dc;
  --mm-accent: #c6241f;
  --mm-card: rgba(255, 247, 231, .98);
  --mm-shadow: 14px 16px 0 rgba(24, 8, 6, .22);
  background-color: #4d211d !important;
  background-image:
    radial-gradient(circle at 78% 18%, rgba(197, 74, 47, .30), transparent 34%),
    linear-gradient(120deg, #391916 0%, #642923 55%, #3d1a18 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 40px) !important;
}

body > #sec_1787289091595 .menu-section-header::before {
  content: "YAKINIKU MENU";
  color: #efb75c !important;
}

body > #sec_1787289091595 .menu-cat-block { border-top-color: #d7a345 !important; }

body > #sec_1787289091595::after {
  width: clamp(280px, 34vw, 560px);
  height: clamp(280px, 34vw, 560px);
  right: -10%;
  bottom: -24%;
  border: 1px solid rgba(255, 232, 189, .13);
  border-radius: 50%;
  box-shadow: inset 0 0 0 36px rgba(255, 232, 189, .025);
}
.menu-main-title {
  font-family: 'Shippori Mincho', serif;
  font-size: 26px;
  font-weight: 800;
  color: #f6cf7a;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}
.menu-sub-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  color: #e0c8a0;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
/* =========================================================
SECTION
========================================================= */
.menu-grid-section {
  padding: 100px 20px;
  background: #101718;
  color: #fff7ea;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
/* =========================================================
夜MENUのみ
下のギャラリーと連結するため下余白を調整
========================================================= */
#sec_1787289091595.menu-grid-section {
  position: relative;
  margin: 0 !important;
  padding:
    100px 20px 42px !important;
  background: #101718 !important;
}
/* =========================================================
HEADER
========================================================= */
.menu-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.menu-main-title {
  margin: 0 0 15px;
  color: #f6cf7a;
  font-family:
    'Montserrat', 'Shippori Mincho', serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .12em;
}
.menu-sub-text {
  margin-top: 14px;
  color: #e0c8a0;
  font-family:
    'Noto Sans JP', sans-serif;
  font-size: 14px;
  line-height: 2;
  letter-spacing: .05em;
}
/* =========================================================
CATEGORY
========================================================= */
.menu-cat-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.menu-cat-block {
  margin-bottom: 80px;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
/* 夜MENUの最後だけ余白を抑える */
#sec_1787289091595 .menu-cat-block:last-child {
  margin-bottom: 0 !important;
}
.menu-cat-header {
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom:
    1px solid rgba(246, 207, 122, .22);
}
.menu-cat-name {
  margin: 0 0 10px;
  color: #f6cf7a;
  font-family:
    'Shippori Mincho', serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
}
.menu-cat-desc {
  margin: 0;
  color: #e0c8a0;
  font-size: 13px;
  line-height: 1.6;
}
/* =========================================================
GRID
========================================================= */
.menu-items-grid {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(450px, 1fr));
  gap: 30px;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
/* =========================================================
MENU CARD
========================================================= */
.menu-item-card {
  display: flex;
  gap: 20px;
  padding: 20px;
  border:
    1px solid rgba(246, 207, 122, .22);
  border-radius: 8px;
  background:
    rgba(255, 255, 255, .06);
  color: #fff7ea;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, .18);
  transition:
    transform .3s ease, box-shadow .3s ease;
}
.menu-item-card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 12px 35px rgba(246, 207, 122, .16);
}
/* =========================================================
画像なしメニュー
========================================================= */
.menu-item-card.no-image {
  display: grid;
  grid-template-columns: 1fr;
  padding: 14px 0;
  border: 0;
  border-bottom:
    1px solid rgba(246, 207, 122, .18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.menu-item-card.no-image:hover {
  transform: none;
  box-shadow: none;
}
.menu-item-card.no-image .mi-info {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) auto;
  column-gap: 18px;
  row-gap: 4px;
  align-items: baseline;
}
.menu-item-card.no-image .mi-title {
  grid-column: 1;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
.menu-item-card.no-image .mi-text {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 12px;
}
.menu-item-card.no-image .mi-meta {
  grid-column: 2;
  grid-row: 1;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
.menu-item-card.no-image .mi-price {
  margin: 0;
  white-space: nowrap;
  text-align: right;
}
.menu-item-card.no-image .price-in {
  font-size: 15px;
}
/* =========================================================
IMAGE
========================================================= */
.mi-img-box {
  position: relative;
  width: 120px;
  height: auto;
  aspect-ratio: 4 / 3;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #172526;
}
.mi-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform .5s ease;
}
.menu-item-card:hover .mi-img-box img {
  transform: scale(1.05);
}
.mi-sold-out {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    rgba(0, 0, 0, .5);
  color: #fff;
  font-family:
    'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: .1em;
}
/* =========================================================
INFO
========================================================= */
.mi-info {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.mi-title {
  margin: 0 0 8px;
  color: #fff7ea;
  font-family:
    'Shippori Mincho', serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.mi-text {
  flex-grow: 1;
  margin: 0 0 15px;
  color: #e0c8a0;
  font-size: 12px;
  line-height: 1.6;
}
.mi-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 12px;
  border-top:
    1px dashed rgba(246, 207, 122, .22);
}
.mi-duration {
  color: #a79578;
  font-family:
    'Montserrat', 'Noto Sans JP', sans-serif;
  font-size: 11px;
}
.mi-price {
  text-align: right;
}
/* =========================================================
SP
========================================================= */
@media (max-width: 768px) {
  .menu-grid-section {
    padding: 50px 15px!important;
  }
  #sec_1787289091595.menu-grid-section {
    padding:
      50px 15px !important;
  }
  .menu-section-header {
    margin-bottom: 38px;
  }
  .menu-main-title {
    font-size: 24px;
  }
  .menu-items-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .menu-item-card {
    gap: 15px;
    padding: 15px;
  }
  .mi-img-box {
    width: 100px;
    height: 100px;
  }
  .mi-title {
    font-size: 15px;
  }
}
#sec_1787289091595 .menu-sub-text {
    color: #fff4dc;
}

/* Block: image_grid / sec_1789014127287 */
/* =========================================================
SECTION
========================================================= */
#sec_1789014127287.image-grid-section {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding:
    0 20px 100px !important;
  overflow: hidden !important;
  background:
    #101718 !important;
  color: #fff7ea !important;
  opacity: 1 !important;
  transform: none !important;
}
#sec_1787289091595 + #sec_1789014127287 {
  margin-top: 0 !important;
  border-top: 0 !important;
}
/* =========================================================
CONTAINER
========================================================= */
#sec_1789014127287 .image-grid-container {
  position: relative;
  z-index: 1;
  width: min(100%, 1000px) !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding:
    34px 0 0 !important;
  border-top:
    1px solid rgba(246, 207, 122, .18);
}
#sec_1789014127287 .image-grid-container::before {
  content: "NIGHT SCENE";
  position: absolute;
  top: -5px;
  left: 50%;
  padding:
    0 16px;
  transform:
    translate(-50%, -50%);
  background:
    #101718;
  color:
    #f6cf7a;
  font-family:
    'Montserrat', sans-serif;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .28em;
  white-space: nowrap;
}
/* =========================================================
GRID
========================================================= */
#sec_1789014127287 .image-grid {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  gap:
    clamp(8px, 1.4vw, 16px) !important;
  width: 100% !important;
  margin: 0 !important;
}
/* =========================================================
ITEM
========================================================= */
#sec_1789014127287 .image-grid-item {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
  border:
    1px solid rgba(246, 207, 122, .24) !important;
  border-radius: 0 !important;
  background:
    #172526 !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, .16) !important;
}
#sec_1789014127287 .image-grid-item::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 44px;
  height: 2px;
  background:
    #f6cf7a;
  pointer-events: none;
}
/* =========================================================
IMAGE
========================================================= */
#sec_1789014127287 .image-grid-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  filter:
    brightness(.94) saturate(.95);
  transition:
    transform .55s ease, filter .55s ease;
}
/* =========================================================
HOVER
========================================================= */
@media (hover: hover) {
  #sec_1789014127287 .image-grid-item:hover img {
    transform:
      scale(1.035);
    filter:
      brightness(1) saturate(1);
  }
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 900px) {
  #sec_1789014127287.image-grid-section {
    padding:
      0 18px 80px !important;
  }
  #sec_1789014127287 .image-grid {
    gap: 10px !important;
  }
}
/* =========================================================
SMARTPHONE
========================================================= */
@media (max-width: 768px) {
  #sec_1789014127287.image-grid-section {
    padding:
      0 15px 50px !important;
  }
  #sec_1789014127287 .image-grid-container {
    padding-top:
      28px !important;
  }
  #sec_1789014127287 .image-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  #sec_1789014127287 .image-grid-item {
    aspect-ratio:
      1 / 1 !important;
    box-shadow:
      0 7px 15px rgba(0, 0, 0, .14) !important;
  }
  #sec_1789014127287 .image-grid-item::before {
    width: 30px;
  }
  #sec_1789014127287 .image-grid-container::before {
    padding:
      0 11px;
    font-size: 7px;
    letter-spacing: .2em;
  }
}
/* =========================================================
REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {
  #sec_1789014127287 .image-grid-item img {
    transition-duration:
      .01ms !important;
  }
}

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

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


/* =========================================================
   Page: news / お知らせ｜営業日・店舗の最新情報｜真岡市のりょうじの魂
========================================================= */

/* Block: hero_page / sec_1787575627165 */
#sec_1787575627165.page-hero-wrapper .ph-container::before {
  content: "NEWS" !important;
}

#sec_1787575627165.page-hero-wrapper .ph-container::after {
  content: "RYOJI NO TAMASHII" !important;
}

/* Block: news_list_grid / sec_1787573819870 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&family=Yuji+Syuku&display=swap");

#sec_1787573819870.news-list-grid-section {
  --nl-paper: #fffaf0;
  --nl-ink: #382219;
  --nl-soft: #765c4e;
  --nl-red: #c6241f;
  position: relative !important;
  isolation: isolate !important;
  display: block !important;
  width: 100% !important;
  min-height: 520px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(78px, 8vw, 124px) clamp(18px, 6vw, 90px) clamp(100px, 10vw, 154px) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  background-color: #eadcb4 !important;
  background-image:
    linear-gradient(135deg, rgba(255, 249, 226, .90), rgba(233, 211, 166, .82)),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(108, 69, 34, .048) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(108, 69, 34, .037) 39px 40px) !important;
  color: var(--nl-ink) !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
}

#sec_1787573819870.news-list-grid-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -1%;
  top: 3%;
  color: rgba(198, 36, 31, .045);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(120px, 19vw, 310px);
  font-weight: 700;
  line-height: .8;
  letter-spacing: -.03em;
  pointer-events: none;
}

#sec_1787573819870.news-list-grid-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -120px;
  bottom: -170px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(198, 36, 31, .12);
  border-radius: 50%;
  box-shadow: inset 0 0 0 52px rgba(198, 36, 31, .025);
  pointer-events: none;
}

#sec_1787573819870 .news-section-header {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px) !important;
  gap: 28px 60px !important;
  align-items: end !important;
  width: min(1260px, 100%) !important;
  max-width: none !important;
  margin: 0 auto clamp(46px, 6vw, 78px) !important;
  padding: 0 0 30px 34px !important;
  border: 0 !important;
  border-left: 5px solid var(--nl-red) !important;
  border-bottom: 1px solid rgba(198, 36, 31, .32) !important;
  text-align: left !important;
}

#sec_1787573819870 .news-section-header::before {
  content: "INFORMATION";
  position: absolute;
  top: -23px;
  left: 34px;
  color: var(--nl-red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .31em;
}

#sec_1787573819870 .news-main-title {
  grid-column: 1 !important;
  margin: 0 !important;
  color: var(--nl-ink) !important;
  font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(42px, 5vw, 67px) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

#sec_1787573819870 .news-sub-text {
  grid-column: 2 !important;
  margin: 0 0 4px !important;
  color: var(--nl-soft) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: .035em !important;
  text-align: left !important;
}

#sec_1787573819870 .nlg-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 38px) !important;
  width: min(1260px, 100%) !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

#sec_1787573819870 .nlg-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(190px, .78fr) minmax(0, 1.22fr) !important;
  min-width: 0 !important;
  min-height: 260px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(99, 64, 39, .20) !important;
  border-top: 4px solid var(--nl-red) !important;
  border-radius: 0 !important;
  background: rgba(255, 251, 242, .97) !important;
  color: var(--nl-ink) !important;
  box-shadow: 11px 13px 0 rgba(99, 64, 39, .10) !important;
  opacity: 1 !important;
  transform: none !important;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

/* 記事が1件だけなら余白を持たせた横長の特集カード */
#sec_1787573819870 .nlg-card:only-child {
  grid-column: 1 / -1 !important;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr) !important;
  width: min(980px, 100%) !important;
  min-height: 320px !important;
  justify-self: center !important;
}

#sec_1787573819870 .nlg-card:hover {
  border-color: rgba(198, 36, 31, .42) !important;
  transform: translateY(-5px) !important;
  box-shadow: 15px 19px 0 rgba(99, 64, 39, .12) !important;
}

#sec_1787573819870 .nlg-img {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  background-color: #5a201d !important;
  background-image:
    radial-gradient(circle at 70% 42%, transparent 0 48px, rgba(239, 187, 93, .24) 49px 67px, transparent 68px),
    linear-gradient(145deg, rgba(80, 21, 18, .86), rgba(177, 47, 35, .72)),
    repeating-linear-gradient(120deg, rgba(255,255,255,.035) 0 1px, transparent 1px 13px) !important;
  background-position: center !important;
  background-size: cover !important;
}

#sec_1787573819870 .nlg-img::before {
  content: "RYOJI NO TAMASHII";
  position: absolute;
  z-index: 1;
  left: 22px;
  bottom: 21px;
  color: #fff0cf;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .22em;
}

#sec_1787573819870 .nlg-img::after {
  content: "お知らせ";
  position: absolute;
  z-index: 0;
  right: -15px;
  top: 50%;
  color: rgba(255, 244, 217, .10);
  font-family: "Yuji Syuku", "Noto Serif JP", serif;
  font-size: 72px;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(-50%) rotate(-7deg);
}

#sec_1787573819870 .nlg-img img {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px !important;
  object-fit: cover !important;
  transition: transform .4s ease !important;
}

#sec_1787573819870 .nlg-card:hover .nlg-img img {
  transform: scale(1.035) !important;
}

#sec_1787573819870 .nlg-body {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 22px !important;
  padding: clamp(28px, 4vw, 48px) !important;
  background: transparent !important;
}

#sec_1787573819870 .nlg-body::after {
  content: "›";
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-top: 5px;
  border: 1px solid rgba(198, 36, 31, .42);
  border-radius: 50%;
  color: var(--nl-red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  line-height: 1;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

#sec_1787573819870 .nlg-card:hover .nlg-body::after {
  background: var(--nl-red);
  color: #fff;
  transform: translateX(4px);
}

#sec_1787573819870 .nlg-meta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#sec_1787573819870 .nlg-meta::before {
  content: "UPDATE";
  color: var(--nl-red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .18em;
}

#sec_1787573819870 .nlg-date {
  color: #8a6959 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}

#sec_1787573819870 .nlg-title {
  margin: 0 !important;
  color: var(--nl-ink) !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(20px, 2.2vw, 29px) !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: .035em !important;
  overflow-wrap: anywhere !important;
}

@media (min-width: 761px) {
  /* 複数記事では左右を交互にして単調さを軽減 */
  #sec_1787573819870 .nlg-card:nth-child(4n + 3) .nlg-img,
  #sec_1787573819870 .nlg-card:nth-child(4n + 4) .nlg-img {
    grid-column: 2;
    grid-row: 1;
  }

  #sec_1787573819870 .nlg-card:nth-child(4n + 3) .nlg-body,
  #sec_1787573819870 .nlg-card:nth-child(4n + 4) .nlg-body {
    grid-column: 1;
    grid-row: 1;
  }
}

@media (max-width: 980px) {
  #sec_1787573819870 .nlg-grid {
    grid-template-columns: 1fr !important;
  }

  #sec_1787573819870 .nlg-card,
  #sec_1787573819870 .nlg-card:only-child {
    grid-column: auto !important;
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  #sec_1787573819870.news-list-grid-section {
    min-height: 420px !important;
    padding: 70px 15px 92px !important;
  }

  #sec_1787573819870.news-list-grid-section::before {
    right: -16%;
    top: 2%;
    font-size: 110px;
  }

  #sec_1787573819870.news-list-grid-section::after {
    right: -150px;
    bottom: -190px;
    width: 340px;
    height: 340px;
  }

  #sec_1787573819870 .news-section-header {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    margin-bottom: 36px !important;
    padding: 0 0 20px 18px !important;
    border-left-width: 4px !important;
  }

  #sec_1787573819870 .news-section-header::before {
    top: -19px;
    left: 18px;
    font-size: 7px;
  }

  #sec_1787573819870 .news-main-title {
    grid-column: 1 !important;
    font-size: clamp(32px, 8vw, 48px) !important;
    letter-spacing: .04em !important;
  }

  #sec_1787573819870 .news-sub-text {
    grid-column: 1 !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
  }

  #sec_1787573819870 .nlg-grid {
    gap: 28px !important;
  }

  #sec_1787573819870 .nlg-card,
  #sec_1787573819870 .nlg-card:only-child {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    border-top-width: 3px !important;
    box-shadow: 7px 9px 0 rgba(99, 64, 39, .09) !important;
  }

  #sec_1787573819870 .nlg-img {
    min-height: 180px !important;
    aspect-ratio: 16 / 8.8 !important;
  }

  #sec_1787573819870 .nlg-img img {
    min-height: 180px !important;
  }

  #sec_1787573819870 .nlg-body {
    gap: 15px !important;
    padding: 25px 20px 28px !important;
  }

  #sec_1787573819870 .nlg-title {
    font-size: 18px !important;
    line-height: 1.65 !important;
  }

  #sec_1787573819870 .nlg-body::after {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #sec_1787573819870 *,
  #sec_1787573819870 *::before,
  #sec_1787573819870 *::after {
    transition: none !important;
  }
}


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

/* Block: news_article_body / sec_1782114380582 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");
.news-article-body-section {
  --nab-red: #c72520;
  --nab-red-dark: #961a16;
  --nab-ink: #352118;
  --nab-brown: #705545;
  --nab-line: rgba(95, 68, 48, .20);
  --nab-paper: #fffaf0;
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(54px, 7vw, 108px) clamp(18px, 5vw, 72px) !important;
  background:
    radial-gradient(circle at 91% 10%, rgba(199, 37, 32, .09) 0 145px, transparent 147px),
    radial-gradient(circle at 91% 10%, transparent 0 188px, rgba(199, 37, 32, .06) 190px 192px, transparent 194px),
    linear-gradient(rgba(117, 88, 57, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(117, 88, 57, .045) 1px, transparent 1px),
    linear-gradient(135deg, #f5e7c5 0%, #fff9ec 46%, #ead3a9 100%) !important;
  background-size: auto, auto, 34px 34px, 34px 34px, auto !important;
  color: var(--nab-ink) !important;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
}

.news-article-body-section,
.news-article-body-section *,
.news-article-body-section *::before,
.news-article-body-section *::after {
  box-sizing: border-box !important;
}

.news-article-body-section::before {
  position: absolute;
  z-index: -1;
  top: clamp(30px, 4vw, 65px);
  right: clamp(-30px, 1vw, 20px);
  content: "NEWS";
  color: rgba(199, 37, 32, .045);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(110px, 19vw, 320px);
  font-weight: 700;
  line-height: .78;
  letter-spacing: -.07em;
  pointer-events: none;
}
.news-article-body-section .nab-container {
  position: relative !important;
  z-index: 1;
  display: block !important;
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: clamp(38px, 5vw, 76px) !important;
  border: 1px solid var(--nab-line) !important;
  border-top: 5px solid var(--nab-red) !important;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .87), rgba(255, 250, 239, .97)),
    var(--nab-paper) !important;
  box-shadow: 18px 20px 0 rgba(105, 77, 43, .10), 0 20px 55px rgba(70, 42, 22, .08) !important;
}

.news-article-body-section .nab-container::before {
  position: absolute;
  top: 30px;
  left: -1px;
  width: 5px;
  height: clamp(75px, 10vw, 126px);
  background: var(--nab-red);
  content: "";
}

/* ---------- 日付・タイトル ---------- */
.news-article-body-section .nab-header {
  position: relative;
  display: block !important;
  margin: 0 0 clamp(34px, 4vw, 58px) !important;
  padding: 0 0 clamp(27px, 3vw, 42px) !important;
  border-bottom: 1px solid rgba(199, 37, 32, .27) !important;
}

.news-article-body-section .nab-header::before {
  display: block;
  margin: 0 0 18px;
  color: var(--nab-red);
  content: "LATEST NEWS";
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .30em;
}

.news-article-body-section .nab-meta {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 0 19px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(199, 37, 32, .24) !important;
  background: rgba(199, 37, 32, .055) !important;
  color: var(--nab-red-dark) !important;
  font-family: Arial, "Helvetica Neue", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
}

.news-article-body-section .nab-date {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: inherit !important;
}

.news-article-body-section .nab-title {
  display: block !important;
  width: min(930px, 100%) !important;
  margin: 0 !important;
  color: var(--nab-ink) !important;
  font-family: "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(31px, 4.2vw, 58px) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .025em !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
  word-break: keep-all;
}

/* ---------- 記事画像 ---------- */
.news-article-body-section .nab-main-img-box {
  position: relative !important;
  display: block !important;
  width: min(920px, 100%) !important;
  margin: 0 auto clamp(36px, 5vw, 66px) !important;
  padding: clamp(7px, 1vw, 12px) !important;
  border: 1px solid var(--nab-line) !important;
  background: #fffaf1 !important;
  box-shadow: 14px 16px 0 rgba(115, 80, 45, .10) !important;
}

.news-article-body-section .nab-main-img-box::before {
  position: absolute;
  z-index: 2;
  top: -1px;
  left: -1px;
  width: clamp(74px, 10vw, 132px);
  height: 4px;
  background: var(--nab-red);
  content: "";
}

.news-article-body-section .nab-main-img-box img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 760px !important;
  margin: 0 !important;
  object-fit: contain !important;
  background: #f6eedf;
}

/* ---------- 記事本文 ---------- */
.news-article-body-section .nab-body-text {
  display: block !important;
  width: min(820px, 100%) !important;
  margin: 0 auto !important;
  color: #4a362b !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  font-weight: 400 !important;
  line-height: 2.12 !important;
  letter-spacing: .035em !important;
  overflow-wrap: break-word;
  word-break: normal;
}

.news-article-body-section .nab-body-text::before {
  display: block;
  margin: 0 0 20px;
  color: var(--nab-red);
  content: "INFORMATION";
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .28em;
}

.news-article-body-section .nab-body-text p {
  margin: 0 0 1.45em !important;
}

.news-article-body-section .nab-body-text a {
  color: var(--nab-red-dark) !important;
  text-decoration-color: rgba(199, 37, 32, .45) !important;
  text-underline-offset: 4px;
}

/* ---------- 記事一覧に戻る ---------- */
.news-article-body-section .nab-footer-nav {
  display: block !important;
  width: min(820px, 100%) !important;
  margin: clamp(42px, 6vw, 76px) auto 0 !important;
  padding-top: clamp(26px, 3vw, 38px) !important;
  border-top: 1px solid rgba(83, 57, 40, .16) !important;
}

.news-article-body-section .btn-nab-back {
  display: inline-flex !important;
  width: min(330px, 100%) !important;
  min-height: 62px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px;
  padding: 16px 25px !important;
  border: 1px solid var(--nab-red) !important;
  border-radius: 0 !important;
  background: var(--nab-red) !important;
  box-shadow: 9px 10px 0 rgba(94, 62, 39, .12) !important;
  color: #fffaf0 !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .10em !important;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.news-article-body-section .btn-nab-back:hover {
  background: var(--nab-red-dark) !important;
  box-shadow: 5px 6px 0 rgba(94, 62, 39, .15) !important;
  transform: translate(3px, 3px);
}

/* ---------- スマホ ---------- */
@media (max-width: 760px) {
  .news-article-body-section {
    padding: 34px 14px 82px !important;
    background-size: auto, auto, 26px 26px, 26px 26px, auto !important;
  }

  .news-article-body-section::before {
    top: 58px;
    right: -14px;
    font-size: 116px;
  }

  .news-article-body-section .nab-container {
    padding: 29px 19px 36px !important;
    border-top-width: 4px !important;
    box-shadow: 7px 9px 0 rgba(105, 77, 43, .09) !important;
  }

  .news-article-body-section .nab-container::before {
    top: 24px;
    width: 3px;
    height: 68px;
  }

  .news-article-body-section .nab-header {
    margin-bottom: 28px !important;
    padding-bottom: 24px !important;
  }

  .news-article-body-section .nab-header::before {
    margin-bottom: 15px;
    font-size: 9px;
    letter-spacing: .23em;
  }

  .news-article-body-section .nab-meta {
    margin-bottom: 16px !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
  }

  .news-article-body-section .nab-title {
    font-size: clamp(24px, 7.4vw, 34px) !important;
    line-height: 1.48 !important;
    letter-spacing: .01em !important;
  }

  .news-article-body-section .nab-main-img-box {
    margin-bottom: 34px !important;
    padding: 6px !important;
    box-shadow: 7px 8px 0 rgba(115, 80, 45, .09) !important;
  }

  .news-article-body-section .nab-main-img-box img {
    max-height: none !important;
  }

  .news-article-body-section .nab-body-text {
    font-size: 15px !important;
    line-height: 2 !important;
    letter-spacing: .02em !important;
  }

  .news-article-body-section .nab-footer-nav {
    margin-top: 38px !important;
  }

  .news-article-body-section .btn-nab-back {
    width: 100% !important;
    min-height: 58px !important;
    padding: 14px 18px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 380px) {
  .news-article-body-section .nab-container {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  .news-article-body-section .nab-title {
    font-size: 23px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-article-body-section *,
  .news-article-body-section *::before,
  .news-article-body-section *::after {
    transition: none !important;
  }
}


/* =========================================================
   Page: concept / こだわり｜川崎タンタンメンと焼肉への想い｜真岡市のりょうじの魂
========================================================= */

/* Block: hero_page / sec_1787578819976 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Yuji+Syuku&display=swap");

.page-hero-wrapper,
.page-hero-wrapper *,
.page-hero-wrapper::before,
.page-hero-wrapper::after {
  box-sizing: border-box !important;
}

.page-hero-wrapper {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  width: 100% !important;
  min-height: clamp(390px, 38vw, 540px) !important;
  margin: 0 !important;
  padding: 76px 0 0 !important;
  overflow: hidden !important;
  place-items: start center !important;
  text-align: left !important;
  color: #382319 !important;
  background-color: #ead7a8 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-top: 1px solid rgba(183, 35, 29, .55) !important;
  border-bottom: 4px solid #b7231d !important;
}

.page-hero-wrapper::before {
  content: none !important;
  display: none !important;
}

.page-hero-wrapper .ph-overlay {
  position: absolute !important;
  z-index: -1 !important;
  inset: 0 !important;
  display: block !important;
  background: linear-gradient(
    90deg,
    rgba(255, 250, 237, .96) 0%,
    rgba(255, 248, 230, .88) 38%,
    rgba(255, 245, 221, .48) 67%,
    rgba(116, 37, 27, .10) 100%
  ) !important;
  background-size: auto !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: 50% !important;
  right: clamp(-150px, -7vw, -55px) !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(300px, 35vw, 540px) !important;
  aspect-ratio: 1 !important;
  border: clamp(24px, 3vw, 46px) solid rgba(183, 35, 29, .14) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

.page-hero-wrapper .ph-container {
  position: relative !important;
  z-index: 2 !important;
  width: min(calc(100% - 48px), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 42px 0 44px clamp(22px, 4vw, 54px) !important;
  border: 0 !important;
  border-left: 4px solid #b7231d !important;
  background: linear-gradient(
    90deg,
    rgba(255, 250, 240, .88),
    rgba(255, 250, 240, .58) 72%,
    transparent
  ) !important;
  box-shadow: none !important;
  text-align: left !important;
}

.page-hero-wrapper .ph-container::before {
  content: "" !important;
  display: block !important;
  margin: 0 0 20px !important;
  color: #b7231d !important;
  font-family: Arial, "Noto Sans JP", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .30em !important;
  white-space: nowrap !important;
}

.page-hero-wrapper .ph-container::after {
  content: "RYOJI NO TAMASHII" !important;
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 24px 0 0 !important;
  padding-top: 15px !important;
  border-top: 2px solid #b7231d !important;
  color: #765b48 !important;
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .26em !important;
  white-space: nowrap !important;
}

.page-hero-wrapper .ph-title {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #382319 !important;
  font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(48px, 7vw, 92px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.14 !important;
  letter-spacing: .09em !important;
  text-indent: .09em !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.page-hero-wrapper .ph-desc {
  max-width: none !important;
  margin: 22px 0 0 !important;
  color: #5d4332 !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: clamp(14px, 1.25vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: .08em !important;
  text-shadow: none !important;
  text-wrap: pretty !important;
  overflow-wrap: break-word !important;
}

@media (max-width: 900px) {
  .page-hero-wrapper {
    min-height: 410px !important;
    background-position: 58% center !important;
  }

  .page-hero-wrapper .ph-overlay {
    background: linear-gradient(
      90deg,
      rgba(255, 250, 237, .95) 0%,
      rgba(255, 248, 230, .82) 52%,
      rgba(255, 245, 221, .42) 100%
    ) !important;
  }
}

@media (max-width: 600px) {
  .page-hero-wrapper {
    min-height: 330px !important;
    padding-top: 40px !important;
    background-position: 64% center !important;
    border-bottom-width: 3px !important;
  }

  .page-hero-wrapper .ph-overlay {
    background: linear-gradient(
      90deg,
      rgba(255, 250, 237, .94) 0%,
      rgba(255, 248, 230, .83) 68%,
      rgba(255, 245, 221, .54) 100%
    ) !important;
  }

  .page-hero-wrapper::after {
    right: -115px !important;
    width: 290px !important;
    border-width: 24px !important;
  }

  .page-hero-wrapper .ph-container {
    width: calc(100% - 32px) !important;
    padding: 34px 0 36px 18px !important;
    border-left-width: 3px !important;
    background: linear-gradient(
      90deg,
      rgba(255, 250, 240, .92),
      rgba(255, 250, 240, .68) 78%,
      transparent
    ) !important;
  }

  .page-hero-wrapper .ph-container::before {
    margin-bottom: 16px !important;
    font-size: 10px !important;
    letter-spacing: .24em !important;
  }

  .page-hero-wrapper .ph-container::after {
    margin-top: 19px !important;
    padding-top: 12px !important;
    font-size: 8px !important;
    letter-spacing: .20em !important;
  }

  .page-hero-wrapper .ph-title {
    font-size: clamp(42px, 16vw, 62px) !important;
    letter-spacing: .08em !important;
    text-indent: .08em !important;
    -webkit-text-stroke-width: .7px !important;
  }

  .page-hero-wrapper .ph-desc {
    width: min(100%, 19em) !important;
    margin-top: 17px !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    letter-spacing: .04em !important;
  }
}

#sec_1787578819976.page-hero-wrapper .ph-container::before {
  content: "OUR CRAFT" !important;
}
.page-hero-wrapper {
  padding: 0 !important;
  place-items: center !important;
}

@media (max-width: 600px) {
  .page-hero-wrapper {
    padding: 0 !important;
    place-items: center !important;
  }
}

/* Block: custom_html / sec_1787286675446 */
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");

#sec_1787286675446.custom-html-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #efe0b7 !important;
  color: #382319 !important;
}
#sec_1787286675446 .custom-html-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#sec_1787286675446, #sec_1787286675446 * {
  box-sizing: border-box !important;
}
#sec_1787286675446 .ryoji-story {
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(78px, 9vw, 132px) 24px !important;
  overflow: hidden !important;
  color: #382319 !important;
  background-color: #efe0b7 !important;
  background-image:
    linear-gradient(rgba(255, 250, 237, .56), rgba(255, 250, 237, .56)), url("/image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center !important;
  background-size: cover !important;
}

#sec_1787286675446 .ryoji-story::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: -220px !important;
  right: -180px !important;
  width: 480px !important;
  height: 480px !important;
  border: 44px solid rgba(183, 35, 29, .07) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
#sec_1787286675446 .ryoji-story__inner {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: clamp(54px, 7vw, 104px) !important;
  align-items: center !important;
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
}

#sec_1787286675446 .ryoji-story__visual {
  position: relative !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 clamp(42px, 5vw, 62px) !important;
}
#sec_1787286675446 .ryoji-story__visual::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: 22px !important;
  right: -22px !important;
  bottom: 38px !important;
  left: 22px !important;
  border: 1px solid rgba(118, 74, 48, .22) !important;
  background: rgba(255, 250, 237, .62) !important;
  box-shadow: 18px 20px 0 rgba(83, 52, 35, .08) !important;
}
#sec_1787286675446 .ryoji-story__photo {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-top: 4px solid #b7231d !important;
  background: #6e4a35 !important;
  box-shadow: 0 18px 40px rgba(71, 42, 26, .16) !important;
}
#sec_1787286675446 .ryoji-story__photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 58%, rgba(39, 22, 14, .30)) !important;
  pointer-events: none !important;
}
#sec_1787286675446 .ryoji-story__photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.01) !important;
}
#sec_1787286675446 .ryoji-story__visual figcaption {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(82%, 380px) !important;
  padding: 18px 22px 17px !important;
  border-left: 3px solid #b7231d !important;
  background: #fffaf0 !important;
  box-shadow: 0 10px 24px rgba(71, 42, 26, .12) !important;
}
#sec_1787286675446 .ryoji-story__visual figcaption span, #sec_1787286675446 .ryoji-story__visual figcaption strong {
  display: block !important;
  margin: 0 !important;
  font-family: Arial, sans-serif !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
#sec_1787286675446 .ryoji-story__visual figcaption span {
  color: #b7231d !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .21em !important;
}
#sec_1787286675446 .ryoji-story__visual figcaption strong {
  margin-top: 7px !important;
  color: #4e3325 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .17em !important;
}

#sec_1787286675446 .ryoji-story__content {
  position: relative !important;
  min-width: 0 !important;
  padding: 10px 0 !important;
}
#sec_1787286675446 .ryoji-story__number {
  position: absolute !important;
  z-index: -1 !important;
  top: -58px !important;
  right: 0 !important;
  color: rgba(183, 35, 29, .065) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(120px, 14vw, 210px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  pointer-events: none !important;
}
#sec_1787286675446 .ryoji-story__label {
  margin: 0 0 23px !important;
  color: #b7231d !important;
  font-family: Arial, "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .30em !important;
  white-space: nowrap !important;
}
#sec_1787286675446 .ryoji-story__title {
  margin: 0 !important;
  color: #382319 !important;
  font-family: "Yuji Syuku", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(34px, 3.7vw, 46px) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  letter-spacing: .055em !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
#sec_1787286675446 .ryoji-story__title span {
  color: #8f211c !important;
  white-space: nowrap !important;
}
#sec_1787286675446 .ryoji-story__rule {
  position: relative !important;
  width: min(100%, 430px) !important;
  height: 1px !important;
  margin: 31px 0 32px !important;
  background: rgba(118, 74, 48, .25) !important;
}
#sec_1787286675446 .ryoji-story__rule::before {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  width: 82px !important;
  height: 3px !important;
  background: #b7231d !important;
}
#sec_1787286675446 .ryoji-story__text {
  width: 100% !important;
  color: #5b4334 !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: clamp(14px, 1.15vw, 16px) !important;
  font-weight: 400 !important;
  line-height: 2.05 !important;
  letter-spacing: .035em !important;
  text-align: left !important;
}
#sec_1787286675446 .ryoji-story__text p {
  margin: 0 !important;
  text-wrap: pretty !important;
  overflow-wrap: break-word !important;
    font-size: 16px;
}
#sec_1787286675446 .ryoji-story__text p + p {
  margin-top: 24px !important;
}

@media (max-width: 900px) {
  #sec_1787286675446 .ryoji-story {
    padding: 78px 22px 88px !important;
  }
  #sec_1787286675446 .ryoji-story__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 58px !important;
    width: min(100%, 720px) !important;
  }
  #sec_1787286675446 .ryoji-story__content {
    padding: 0 8px !important;
  }
  #sec_1787286675446 .ryoji-story__number {
    top: -34px !important;
    font-size: 132px !important;
  }
}

@media (max-width: 600px) {
  #sec_1787286675446 .ryoji-story {
    padding: 50px 16px!important;
  }
  #sec_1787286675446 .ryoji-story::before {
    top: -120px !important;
    right: -150px !important;
    width: 300px !important;
    height: 300px !important;
    border-width: 28px !important;
  }
  #sec_1787286675446 .ryoji-story__inner {
    gap: 46px !important;
  }
  #sec_1787286675446 .ryoji-story__visual {
    padding-bottom: 38px !important;
  }
  #sec_1787286675446 .ryoji-story__visual::before {
    top: 12px !important;
    right: -8px !important;
    bottom: 28px !important;
    left: 10px !important;
    box-shadow: 10px 12px 0 rgba(83, 52, 35, .07) !important;
  }
  #sec_1787286675446 .ryoji-story__photo {
    aspect-ratio: 4 / 3 !important;
  }
  #sec_1787286675446 .ryoji-story__visual figcaption {
    width: calc(100% - 24px) !important;
    padding: 14px 16px 13px !important;
  }
  #sec_1787286675446 .ryoji-story__visual figcaption span {
    font-size: 8px !important;
    letter-spacing: .15em !important;
  }
  #sec_1787286675446 .ryoji-story__visual figcaption strong {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }
  #sec_1787286675446 .ryoji-story__content {
    padding: 0 4px !important;
  }
  #sec_1787286675446 .ryoji-story__label {
    margin-bottom: 18px !important;
    font-size: 9px !important;
    letter-spacing: .24em !important;
  }
  #sec_1787286675446 .ryoji-story__title {
    font-size: clamp(20px, 6.5vw, 26px) !important;
    line-height: 1.5 !important;
    letter-spacing: .025em !important;
  }
  #sec_1787286675446 .ryoji-story__rule {
    margin: 24px 0 25px !important;
  }
  #sec_1787286675446 .ryoji-story__text {
    font-size: 14px !important;
    line-height: 1.95 !important;
    letter-spacing: .015em !important;
  }
  #sec_1787286675446 .ryoji-story__text br {
    display: none !important;
  }
    #sec_1787286675446 .ryoji-story__text p {
    font-size: 14px;
}
  #sec_1787286675446 .ryoji-story__text p + p {
    margin-top: 21px !important;
  }
}

/* Block: custom_html / sec_1787286846091 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&family=Yuji+Syuku&display=swap");
section.custom-html-wrapper:has(.ryoji-features) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #eadcaf !important;
}
section.custom-html-wrapper:has(.ryoji-features) > .custom-html-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ryoji-features, .ryoji-features * {
  box-sizing: border-box;
}
.ryoji-features {
  --paper: #fffaf0;
  --paper-deep: #f4e7c7;
  --ink: #352118;
  --ink-soft: #665044;
  --red: #bd201b;
  --gold: #b69150;
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  padding: clamp(72px, 8vw, 132px) clamp(20px, 5vw, 80px);
  background-color: #eadcaf;
  background-image:
    linear-gradient(rgba(250, 240, 209, .68), rgba(250, 240, 209, .68)), url("image/assets/asset_20260812122826_6a7be85a70b3e.webp");
  background-position: center;
  background-size: cover;
  color: var(--ink);
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
.ryoji-features::before {
  content: "魂";
  position: absolute;
  z-index: -1;
  top: 1%;
  right: -1.5%;
  color: rgba(144, 32, 25, .045);
  font-family: "Yuji Syuku", serif;
  font-size: clamp(180px, 28vw, 500px);
  line-height: 1;
  transform: rotate(-7deg);
  pointer-events: none;
}
.ryoji-features__inner {
  width: min(1380px, 100%);
  margin: 0 auto;
}
.ryoji-features__heading {
  margin: 0 auto clamp(46px, 6vw, 88px);
  text-align: center;
}
.ryoji-features__eyebrow, .ryoji-feature__label {
  margin: 0;
  color: var(--red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .3em;
}
.ryoji-features__heading h2 {
  margin: 16px 0 18px;
  color: var(--ink);
  font-family: "Yuji Syuku", "Noto Serif JP", serif;
  font-size: clamp(38px, 5vw, 70px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .08em;
  white-space: nowrap;
}
.ryoji-features__heading-line {
  display: block;
  width: 68px;
  height: 3px;
  margin: 0 auto;
  background: var(--red);
}
.ryoji-features__list {
  display: grid;
  gap: clamp(36px, 6vw, 92px);
}
.ryoji-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 540px;
  overflow: hidden;
  border-top: 4px solid var(--red);
  background: rgba(255, 250, 240, .94);
  box-shadow: 18px 22px 0 rgba(90, 61, 36, .12);
}
.ryoji-feature--reverse {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}
.ryoji-feature--reverse .ryoji-feature__visual {
  order: 2;
}
.ryoji-feature--reverse .ryoji-feature__content {
  order: 1;
}
.ryoji-feature__visual {
  position: relative;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #3d241c;
}
.ryoji-feature__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 250, 238, .42);
  pointer-events: none;
}
.ryoji-feature__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
  transition: transform .7s ease;
}
.ryoji-feature:hover .ryoji-feature__visual img {
  transform: scale(1.025);
}
.ryoji-feature__visual figcaption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  max-width: calc(100% - 28px);
  padding: 12px 18px;
  background: rgba(61, 33, 25, .88);
  color: #fff3d5;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .22em;
}
.ryoji-feature__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 6vw, 92px);
}
.ryoji-feature__content::before {
  content: "";
  position: absolute;
  top: clamp(30px, 4vw, 58px);
  left: 0;
  width: 38px;
  height: 1px;
  background: var(--red);
}
.ryoji-feature__number {
  position: absolute;
  z-index: -1;
  top: 20px;
  right: 28px;
  color: rgba(189, 32, 27, .055);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(100px, 12vw, 190px);
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}
.ryoji-feature__label {
  margin-bottom: 18px;
}
.ryoji-feature h3 {
  margin: 0 0 clamp(24px, 3vw, 38px);
  color: var(--ink);
  font-family: "Yuji Syuku", "Noto Serif JP", serif;
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .045em;
  text-wrap: balance;
}
.ryoji-feature h3 span {
  white-space: nowrap;
}
.ryoji-feature:nth-child(3) h3 span {
  display: block;
  max-width: 100%;
  font-size: .72em;
  letter-spacing: .02em;
}
.ryoji-feature__text {
  position: relative;
  padding-top: 26px;
  border-top: 1px solid rgba(189, 32, 27, .28);
}
.ryoji-feature__text p {
  margin: 0;
  color: var(--ink-soft);
  font-size: clamp(14px, 1.25vw, 16px);
  font-weight: 500;
  line-height: 2.05;
  letter-spacing: .035em;
  overflow-wrap: anywhere;
}
.ryoji-feature__text p + p {
  margin-top: 12px;
}
@media (max-width: 980px) {
  .ryoji-feature, .ryoji-feature--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
    box-shadow: 10px 14px 0 rgba(90, 61, 36, .11);
  }
  .ryoji-feature--reverse .ryoji-feature__visual, .ryoji-feature--reverse .ryoji-feature__content {
    order: initial;
  }
  .ryoji-feature__visual {
    min-height: clamp(300px, 58vw, 500px);
  }
  .ryoji-feature__visual img {
    min-height: clamp(300px, 58vw, 500px);
  }
  .ryoji-feature__content {
    padding: clamp(38px, 7vw, 64px);
  }
}
@media (max-width: 600px) {
  .ryoji-features {
    padding: 50px 16px;
    background-attachment: scroll;
  }
  .ryoji-features__heading {
    margin-bottom: 40px;
  }
  .ryoji-features__heading h2 {
    font-size: clamp(34px, 11vw, 48px);
    letter-spacing: .045em;
  }
  .ryoji-features__list {
    gap: 34px;
  }
  .ryoji-feature {
    border-top-width: 3px;
    box-shadow: 7px 9px 0 rgba(90, 61, 36, .1);
  }
  .ryoji-feature__visual, .ryoji-feature__visual img {
    min-height: 260px;
    height: 260px;
  }
  .ryoji-feature__content {
    padding: 36px 24px 40px;
  }
  .ryoji-feature__content::before {
    top: 28px;
    width: 24px;
  }
  .ryoji-feature__number {
    top: 16px;
    right: 14px;
    font-size: 92px;
  }
  .ryoji-feature__label {
    margin-bottom: 14px;
    font-size: 10px;
  }
  .ryoji-feature h3 {
    margin-bottom: 22px;
    font-size: 20px;
    line-height: 1.55;
    letter-spacing: .025em;
  }
  .ryoji-feature h3 span {
    white-space: normal;
  }
  .ryoji-feature:nth-child(3) h3 span {
    font-size: .9em;
    overflow-wrap: anywhere;
  }
  .ryoji-feature__text {
    padding-top: 20px;
  }
  .ryoji-feature__text p {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: .02em;
  }
  .ryoji-feature__text p + p {
    margin-top: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ryoji-feature__visual img {
    transition: none;
  }
}
#sec_1787286846091 .ryoji-feature__text p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
}

/* Block: custom_html / sec_1787286870167 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&family=Yuji+Syuku&display=swap");

section.custom-html-wrapper:has(.ryoji-signature-menu) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #eadcaf !important;
}

section.custom-html-wrapper:has(.ryoji-signature-menu) > .custom-html-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ryoji-signature-menu,
.ryoji-signature-menu * {
  box-sizing: border-box;
}

.ryoji-signature-menu {
  --paper: #fffaf0;
  --paper-deep: #f2e3bc;
  --ink: #352118;
  --ink-soft: #685247;
  --red: #bd201b;
  --gold: #b69150;
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  padding: clamp(72px, 8vw, 132px) clamp(20px, 5vw, 80px) clamp(84px, 9vw, 150px);
  background-color: #eadcaf;
  background-image:
    linear-gradient(rgba(250, 240, 209, .7), rgba(250, 240, 209, .7)),
    url("image/assets/asset_20260812122826_6a7be85a70b3e.webp");
  background-position: center;
  background-size: cover;
  color: var(--ink);
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.ryoji-signature-menu::before {
  content: "MENU";
  position: absolute;
  z-index: -1;
  top: 4%;
  left: 50%;
  color: rgba(137, 35, 27, .04);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(110px, 19vw, 330px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  transform: translateX(-50%);
  white-space: nowrap;
  pointer-events: none;
}

.ryoji-signature-menu__inner {
  width: min(1380px, 100%);
  margin: 0 auto;
}

.ryoji-signature-menu__heading {
  margin: 0 auto clamp(44px, 6vw, 84px);
  text-align: center;
}

.ryoji-signature-menu__eyebrow,
.ryoji-menu-card__category {
  margin: 0;
  color: var(--red);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .3em;
}

.ryoji-signature-menu__heading h2 {
  margin: 16px 0 14px;
  color: var(--ink);
  font-family: "Yuji Syuku", "Noto Serif JP", serif;
  font-size: clamp(38px, 5vw, 70px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .08em;
  white-space: nowrap;
}

.ryoji-signature-menu__lead {
  margin: 0;
  color: var(--ink-soft);
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .08em;
}

.ryoji-signature-menu__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(26px, 4vw, 58px);
}

.ryoji-menu-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-top: 4px solid var(--red);
  background: rgba(255, 250, 240, .96);
  box-shadow: 14px 18px 0 rgba(91, 59, 34, .12);
}

.ryoji-menu-card--yakiniku {
  margin-top: clamp(36px, 5vw, 76px);
}

.ryoji-menu-card__visual {
  position: relative;
  height: clamp(310px, 31vw, 470px);
  margin: 0;
  overflow: hidden;
  background: #4d2b20;
}

.ryoji-menu-card__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(39, 21, 16, .28), transparent 48%);
  pointer-events: none;
}

.ryoji-menu-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.ryoji-menu-card:hover .ryoji-menu-card__visual img {
  transform: scale(1.025);
}

.ryoji-menu-card__time {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  padding: 12px 20px;
  background: var(--red);
  color: #fff8e9;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .26em;
}

.ryoji-menu-card__body {
  position: relative;
  padding: clamp(34px, 4.4vw, 62px);
}

.ryoji-menu-card__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(34px, 4.4vw, 62px);
  width: 72px;
  height: 3px;
  background: var(--gold);
}

.ryoji-menu-card__category {
  margin-bottom: 14px;
}

.ryoji-menu-card__title-row {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.ryoji-menu-card h3 {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-family: "Yuji Syuku", "Noto Serif JP", serif;
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: .035em;
  white-space: nowrap;
}

.ryoji-menu-card__price {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 5px;
  margin: 0;
  color: var(--red);
  white-space: nowrap;
}

.ryoji-menu-card__price strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 3.3vw, 50px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .02em;
}

.ryoji-menu-card__price span {
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 600;
}

.ryoji-menu-card__rule {
  display: block;
  width: 100%;
  height: 1px;
  margin: clamp(22px, 2.5vw, 32px) 0;
  background: linear-gradient(90deg, var(--red) 0 72px, rgba(126, 92, 60, .2) 72px 100%);
}

.ryoji-menu-card__description p {
  margin: 0;
  color: var(--ink-soft);
  font-size: clamp(14px, 1.18vw, 16px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .025em;
  overflow-wrap: anywhere;
}

.ryoji-menu-card__description p + p {
  margin-top: 10px;
}

@media (max-width: 1100px) {
  .ryoji-menu-card__title-row {
    display: block;
  }

  .ryoji-menu-card__price {
    margin-top: 12px;
  }
}

@media (max-width: 800px) {
  .ryoji-signature-menu__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .ryoji-menu-card--yakiniku {
    margin-top: 0;
  }

  .ryoji-menu-card__visual {
    height: clamp(280px, 67vw, 440px);
  }

  .ryoji-menu-card__title-row {
    display: flex;
  }
}

@media (max-width: 520px) {
  .ryoji-signature-menu {
    padding: 50px 16px;
  }

  .ryoji-signature-menu__heading {
    margin-bottom: 38px;
  }

  .ryoji-signature-menu__heading h2 {
    font-size: clamp(34px, 11vw, 48px);
    letter-spacing: .045em;
  }

  .ryoji-signature-menu__lead {
    font-size: 14px;
    letter-spacing: .035em;
  }

  .ryoji-menu-card {
    border-top-width: 3px;
    box-shadow: 7px 9px 0 rgba(91, 59, 34, .1);
  }

  .ryoji-menu-card__visual {
    height: 260px;
  }

  .ryoji-menu-card__body {
    padding: 34px 22px 38px;
  }

  .ryoji-menu-card__body::before {
    left: 22px;
    width: 54px;
  }

  .ryoji-menu-card__title-row {
    display: block;
  }

  .ryoji-menu-card h3 {
    font-size: clamp(27px, 8vw, 36px);
  }

  .ryoji-menu-card__price {
    margin-top: 12px;
  }

  .ryoji-menu-card__price strong {
    font-size: 38px;
  }

  .ryoji-menu-card__rule {
    margin: 22px 0;
  }

  .ryoji-menu-card__description p {
    font-size: 15px;
    line-height: 1.9;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ryoji-menu-card__visual img {
    transition: none;
  }
}
#sec_1787286870167 .ryoji-menu-card__description p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
}


/* =========================================================
   Page: q-and-a / よくある質問｜予約・駐車場・貸切について｜真岡市のりょうじの魂
========================================================= */

/* Block: hero_page / sec_1786504520827 */
#sec_1786504520827.page-hero-wrapper .ph-container::before {
  content: "FAQ" !important;
}
#sec_1786504520827.page-hero-wrapper .ph-container::after {
  content: "RYOJI NO TAMASHII" !important;
}

/* スマホ：長いページタイトルのサイズ調整 */
@media (max-width: 600px) {
  #sec_1786504520827.page-hero-wrapper .ph-title {
    font-size: clamp(24px, 7.5vw, 45px) !important;
    letter-spacing: .04em !important;
    text-indent: .04em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* Block: custom_html / sec_1786504523159 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&family=Yuji+Syuku&display=swap");

  .ryoji-qa-list {
    --qa-paper: #f8efd9;
    --qa-card: rgba(255, 251, 242, .94);
    --qa-ink: #38241b;
    --qa-copy: #684b3c;
    --qa-red: #bd211c;
    --qa-line: rgba(111, 78, 56, .20);
    box-sizing: border-box !important;
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(58px, 7vw, 104px) max(16px, calc((100% - 1180px) / 2)) !important;
    overflow: hidden !important;
    background-color: #ead9b8 !important;
    background-image:
      linear-gradient(rgba(248,239,217,.82), rgba(248,239,217,.82)),
      url("image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    color: var(--qa-ink) !important;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  }

  .ryoji-qa-list *,
  .ryoji-qa-list *::before,
  .ryoji-qa-list *::after {
    box-sizing: border-box !important;
  }

  .ryoji-qa-list::before {
    content: "FAQ" !important;
    position: absolute !important;
    z-index: -1 !important;
    right: -2vw !important;
    top: 2vw !important;
    color: rgba(189,33,28,.045) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(180px, 28vw, 430px) !important;
    font-weight: 700 !important;
    line-height: .8 !important;
    pointer-events: none !important;
  }

  .ryoji-qa-list__inner {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
  }

  .ryoji-qa-list__heading {
    margin: 0 0 clamp(30px, 4vw, 50px) !important;
    padding-left: 24px !important;
    border-left: 4px solid var(--qa-red) !important;
  }

  .ryoji-qa-list__eyebrow {
    margin: 0 0 9px !important;
    color: var(--qa-red) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: .28em !important;
  }

  .ryoji-qa-list__heading h2 {
    margin: 0 !important;
    color: var(--qa-ink) !important;
    font-family: "Yuji Syuku", "Noto Serif JP", "Yu Mincho", serif !important;
    font-size: clamp(36px, 5vw, 58px) !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }

  .ryoji-qa-list__lead {
    margin: 13px 0 0 !important;
    color: #806151 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
    letter-spacing: .035em !important;
  }

  .ryoji-qa-list__items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 14px 18px !important;
    width: 100% !important;
  }

  .ryoji-qa-item {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--qa-line) !important;
    border-radius: 0 !important;
    background: var(--qa-card) !important;
    box-shadow: 5px 6px 0 rgba(98,65,43,.055) !important;
    overflow: hidden !important;
  }

  .ryoji-qa-item[open] {
    border-color: rgba(189,33,28,.44) !important;
    border-top: 3px solid var(--qa-red) !important;
  }

  .ryoji-qa-item summary {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 22px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 17px 20px !important;
    color: var(--qa-ink) !important;
    cursor: pointer !important;
    list-style: none !important;
    user-select: none !important;
  }

  .ryoji-qa-item summary::-webkit-details-marker {
    display: none !important;
  }

  .ryoji-qa-item summary::after {
    content: "+" !important;
    display: grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    color: var(--qa-red) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: transform .2s ease !important;
  }

  .ryoji-qa-item[open] summary::after {
    transform: rotate(45deg) !important;
  }

  .ryoji-qa-item summary:hover {
    background: rgba(189,33,28,.04) !important;
  }

  .ryoji-qa-item summary:focus-visible {
    outline: 2px solid var(--qa-red) !important;
    outline-offset: -3px !important;
  }

  .ryoji-qa-item__number {
    display: inline-grid !important;
    width: 48px !important;
    height: 36px !important;
    place-items: center !important;
    border-right: 1px solid rgba(189,33,28,.35) !important;
    color: var(--qa-red) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
  }

  .ryoji-qa-item__question {
    min-width: 0 !important;
    color: var(--qa-ink) !important;
    font-family: "Noto Serif JP", "Yu Mincho", serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.65 !important;
    letter-spacing: .025em !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: pretty !important;
  }

  .ryoji-qa-item__answer {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    margin: 0 20px !important;
    padding: 18px 0 22px !important;
    border-top: 1px solid rgba(111,78,56,.14) !important;
  }

  .ryoji-qa-item:not([open]) > .ryoji-qa-item__answer {
    display: none !important;
  }
  .ryoji-qa-item__a {
    display: inline-grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: var(--qa-red) !important;
    color: #fffaf0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .ryoji-qa-item__answer p {
    min-width: 0 !important;
    margin: 1px 0 0 !important;
    color: var(--qa-copy) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    letter-spacing: .025em !important;
    overflow-wrap: anywhere !important;
    text-wrap: pretty !important;
  }

  .ryoji-qa-item__answer a {
    color: var(--qa-red) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
  }

  .ryoji-qa-list__contact {
    display: flex !important;
    justify-content: space-between !important;
    gap: 28px !important;
    align-items: center !important;
    margin: clamp(34px, 5vw, 58px) 0 0 !important;
    padding: clamp(24px, 3vw, 34px) clamp(22px, 4vw, 46px) !important;
    border-top: 3px solid var(--qa-red) !important;
    background: rgba(67,39,27,.95) !important;
    color: #fff6df !important;
    box-shadow: 8px 9px 0 rgba(189,33,28,.09) !important;
  }

  .ryoji-qa-list__contact > div {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .ryoji-qa-list__contact > div span {
    color: #e6cab0 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: .06em !important;
  }

  .ryoji-qa-list__contact > div strong {
    color: #fff6df !important;
    font-family: "Noto Serif JP", "Yu Mincho", serif !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: .05em !important;
    white-space: nowrap !important;
  }

  .ryoji-qa-list__contact > a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 12px 24px !important;
    border: 1px solid rgba(255,246,223,.34) !important;
    background: var(--qa-red) !important;
    color: #fffaf0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(18px, 2.2vw, 25px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .ryoji-qa-list__phone-icon {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
  }

  .ryoji-qa-list__contact > a:hover {
    background: #981b17 !important;
    color: #fffaf0 !important;
  }

  @media (max-width: 860px) {
    .ryoji-qa-list__items {
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 12px !important;
    }

    .ryoji-qa-list__contact {
      align-items: stretch !important;
      flex-direction: column !important;
    }

    .ryoji-qa-list__contact > a {
      justify-content: center !important;
      width: 100% !important;
    }
  }

  @media (max-width: 560px) {
    .ryoji-qa-list {
      padding: 50px 13px 58px !important;
      background-attachment: scroll !important;
    }

    .ryoji-qa-list__heading {
      margin-bottom: 27px !important;
      padding-left: 15px !important;
      border-left-width: 3px !important;
    }

    .ryoji-qa-list__heading h2 {
      font-size: clamp(29px, 9vw, 39px) !important;
      letter-spacing: .035em !important;
    }

    .ryoji-qa-list__lead {
      margin-top: 9px !important;
      font-size: 12px !important;
    }

    .ryoji-qa-item summary {
      grid-template-columns: 38px minmax(0, 1fr) 20px !important;
      gap: 10px !important;
      min-height: 70px !important;
      padding: 14px 13px !important;
    }

    .ryoji-qa-item__number {
      width: 38px !important;
      height: 32px !important;
      font-size: 14px !important;
    }

    .ryoji-qa-item__question {
      font-size: 14px !important;
      line-height: 1.6 !important;
      letter-spacing: .01em !important;
    }

    .ryoji-qa-item__answer {
      grid-template-columns: 30px minmax(0, 1fr) !important;
      gap: 10px !important;
      margin: 0 13px !important;
      padding: 15px 0 18px !important;
    }
  .ryoji-qa-item__a {
      width: 28px !important;
      height: 28px !important;
      font-size: 13px !important;
    }

    .ryoji-qa-item__answer p {
      font-size: 13px !important;
      line-height: 1.85 !important;
    }

    .ryoji-qa-list__contact {
      gap: 18px !important;
      padding: 22px 17px !important;
    }

    .ryoji-qa-list__contact > div strong {
      font-size: 17px !important;
      white-space: normal !important;
    }

    .ryoji-qa-list__contact > a {
      min-height: 54px !important;
      padding: 12px 14px !important;
      font-size: 19px !important;
    }
  }


/* =========================================================
   Page: access / アクセス・営業時間｜駐車場のご案内｜真岡市のりょうじの魂
========================================================= */

/* Block: hero_page / sec_1786506646403 */
#sec_1786506646403.page-hero-wrapper .ph-container::before {
  content: "ACCESS" !important;
}

#sec_1786506646403.page-hero-wrapper .ph-container::after {
  content: "RYOJI NO TAMASHII" !important;
}

/* Block: concept_split / sec_1791606374008 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Yuji+Syuku&display=swap");

/* CONCEPT SECTION */

#sec_1791606374008.concept-section {
  --concept-paper: #fffaf0;
  --concept-ink: #38241c;
  --concept-muted: #765d4d;
  --concept-red: #be241d;

  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding:
    clamp(76px, 8vw, 118px)
    max(18px, calc((100% - 1200px) / 2)) !important;
  overflow: hidden;
  background: #f7f1e5 !important;
  color: var(--concept-ink);
  font-family: "Noto Sans JP", sans-serif;
}

#sec_1791606374008 *,
#sec_1791606374008 *::before,
#sec_1791606374008 *::after {
  box-sizing: border-box;
}

/* CONTAINER */

#sec_1791606374008 .concept-container {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: center !important;
  gap: clamp(40px, 6vw, 85px);
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* TEXT CONTENT */

#sec_1791606374008 .concept-content {
  position: relative;
  min-width: 0;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 0 clamp(20px, 3vw, 34px) !important;
  border-left: 4px solid var(--concept-red);
  background: transparent !important;
  text-align: left !important;
}

/* ENGLISH EYEBROW */

#sec_1791606374008 .concept-content::before {
  content: "OUR SPACE";
  display: block;
  margin-bottom: 17px;
  color: var(--concept-red);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .3em;
}

/* HEADING */

#sec_1791606374008 .concept-title {
  margin: 0 0 25px !important;
  padding: 0 !important;
  color: var(--concept-ink) !important;
  font-family:
    "Yuji Syuku",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size: clamp(30px, 3.4vw, 35px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: .065em;
  text-align: left !important;
  word-break: normal;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* BODY TEXT */

#sec_1791606374008 .concept-text {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--concept-muted) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(13px, 1.15vw, 15px) !important;
  font-weight: 400 !important;
  line-height: 2.1 !important;
  letter-spacing: .035em;
  text-align: left !important;
  overflow-wrap: anywhere;
}

#sec_1791606374008 .concept-text br {
  display: block;
  content: "";
  margin-bottom: 8px;
}

/* IMAGE */

#sec_1791606374008 .concept-img-wrapper {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(105, 69, 44, .22);
  border-top: 4px solid var(--concept-red);
  border-radius: 0 !important;
  background: #e8dbc1;
  box-shadow: 12px 15px 0 rgba(91, 58, 36, .10);
}

#sec_1791606374008 .concept-img-wrapper img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* DECORATIVE CORNER */

#sec_1791606374008 .concept-img-wrapper::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  width: 34px;
  height: 34px;
  border-right: 1px solid rgba(255, 250, 240, .75);
  border-bottom: 1px solid rgba(255, 250, 240, .75);
  pointer-events: none;
}

/* TABLET */

@media (max-width: 900px) {
  #sec_1791606374008 .concept-container {
    grid-template-columns: 1fr !important;
    gap: 38px;
  }

  #sec_1791606374008 .concept-content {
    max-width: 760px;
  }

  #sec_1791606374008 .concept-title {
    font-size: clamp(32px, 5vw, 42px) !important;
  }

  #sec_1791606374008 .concept-img-wrapper {
    width: 100% !important;
    aspect-ratio: 16 / 9;
  }
}

/* SMARTPHONE */

@media (max-width: 600px) {
  #sec_1791606374008.concept-section {
    padding: 50px 15px!important;
  }

  #sec_1791606374008 .concept-container {
    grid-template-columns: 1fr !important;
    gap: 30px;
  }

  #sec_1791606374008 .concept-content {
    padding-left: 16px !important;
    border-left-width: 3px;
  }

  #sec_1791606374008 .concept-content::before {
    margin-bottom: 13px;
    font-size: 9px;
    letter-spacing: .22em;
  }

  #sec_1791606374008 .concept-title {
    margin-bottom: 19px !important;
    font-size: clamp(24px, 6vw, 37px) !important;
    line-height: 1.5 !important;
    letter-spacing: .04em;
  }

  #sec_1791606374008 .concept-text {
    font-size: 13px !important;
    line-height: 1.95 !important;
    letter-spacing: .025em;
  }

  #sec_1791606374008 .concept-img-wrapper {
    aspect-ratio: 4 / 3;
    border-top-width: 3px;
    box-shadow: 7px 9px 0 rgba(91, 58, 36, .09);
  }

  #sec_1791606374008 .concept-img-wrapper::after {
    right: 8px;
    bottom: 8px;
    width: 24px;
    height: 24px;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  #sec_1791606374008,
  #sec_1791606374008 * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* Block: custom_html / sec_1787288496191 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Yuji+Syuku&display=swap");
/* =========================================================
CUSTOM HTML RESET
========================================================= */
.custom-html-wrapper:has(#ryoji-before-visit), .custom-html-wrapper:has(#ryoji-before-visit) > .custom-html-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
/* =========================================================
SECTION
========================================================= */
#ryoji-before-visit {
  --bv-paper: #fffaf0;
  --bv-ink: #38241c;
  --bv-muted: #765d4d;
  --bv-red: #be241d;
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  padding:
    clamp(76px, 8vw, 118px) max(18px, calc((100% - 1200px) / 2));
  color: var(--bv-ink);
  background: #f7edd6;
  font-family:
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
}
#ryoji-before-visit *, #ryoji-before-visit *::before, #ryoji-before-visit *::after {
  box-sizing: border-box;
}
/* =========================================================
BACKGROUND DECORATION
========================================================= */
#ryoji-before-visit::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -.04em;
  top: -.08em;
  color: rgba(190, 36, 29, .038);
  font-family:
    Georgia, "Times New Roman", serif;
  font-size: clamp(130px, 20vw, 300px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
  pointer-events: none;
}
/* =========================================================
INNER
========================================================= */
#ryoji-before-visit .ryoji-before-visit__inner {
  width: min(100%, 1200px);
  margin: 0 auto;
}
/* =========================================================
HEADING
========================================================= */
#ryoji-before-visit .ryoji-before-visit__heading {
  max-width: 760px;
  margin:
    0 0 clamp(38px, 5vw, 58px);
  padding-left: clamp(20px, 3vw, 34px);
  border-left: 4px solid var(--bv-red);
}
#ryoji-before-visit .ryoji-before-visit__eyebrow {
  margin: 0 0 14px;
  color: var(--bv-red);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .3em;
  white-space: nowrap;
}
#ryoji-before-visit .ryoji-before-visit__heading h2 {
  width: max-content;
  max-width: 100%;
  margin: 0;
  color: var(--bv-ink);
  font-family:
    "Yuji Syuku", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(42px, 5.5vw, 68px);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: .08em;
  white-space: nowrap;
  word-break: keep-all;
}
#ryoji-before-visit .ryoji-before-visit__heading > p:last-child {
  margin: 18px 0 0;
  color: var(--bv-muted);
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 2;
  letter-spacing: .04em;
  text-wrap: pretty;
}
/* =========================================================
INFO LAYOUT
========================================================= */
#ryoji-before-visit .ryoji-before-visit__layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: clamp(18px, 2.5vw, 30px);
  align-items: stretch;
}
/* =========================================================
INFO CARDS
========================================================= */
#ryoji-before-visit .ryoji-visit-hours, #ryoji-before-visit .ryoji-visit-notes {
  min-width: 0;
  padding: clamp(26px, 3.5vw, 46px);
  border: 1px solid rgba(105, 69, 44, .22);
  border-top: 4px solid var(--bv-red);
  background: rgba(255, 250, 240, .96);
  box-shadow:
    12px 15px 0 rgba(91, 58, 36, .09);
}
/* =========================================================
OPENING HOURS HEADER
========================================================= */
#ryoji-before-visit .ryoji-visit-hours__head {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 25px;
}
#ryoji-before-visit .ryoji-visit-hours__head > span {
  color: rgba(190, 36, 29, .18);
  font-family:
    Georgia, serif;
  font-size: 48px;
  font-weight: 700;
  line-height: .9;
}
#ryoji-before-visit .ryoji-visit-hours__head p, #ryoji-before-visit .ryoji-visit-notes__head p {
  margin: 0 0 9px;
  color: var(--bv-red);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .25em;
  white-space: nowrap;
}
#ryoji-before-visit .ryoji-visit-hours__head h3, #ryoji-before-visit .ryoji-visit-notes__head h3 {
  margin: 0;
  color: var(--bv-ink);
  font-family:
    "Yuji Syuku", "Yu Mincho", serif;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .07em;
  white-space: nowrap;
}
/* =========================================================
OPENING HOURS LIST
========================================================= */
#ryoji-before-visit .ryoji-visit-hours__list {
  margin: 0;
}
#ryoji-before-visit .ryoji-visit-hours__list > div {
  display: grid;
  grid-template-columns:
    74px minmax(0, 1fr);
  gap: 17px;
  padding: 17px 0;
  border-top: 1px solid rgba(105, 69, 44, .17);
}
#ryoji-before-visit .ryoji-visit-hours__list dt {
  padding-top: 2px;
  color: var(--bv-red);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
  white-space: nowrap;
}
#ryoji-before-visit .ryoji-visit-hours__list dd {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
  color: #594136;
}
#ryoji-before-visit .ryoji-visit-hours__list dd span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  font-family:
    Georgia, "Times New Roman", "Noto Sans JP", serif;
  font-size: clamp(15px, 1.55vw, 18px);
  line-height: 1.6;
  letter-spacing: .03em;
}
#ryoji-before-visit .ryoji-visit-hours__list dd b {
  margin-right: 4px;
  color: var(--bv-ink);
  font-family:
    "Noto Sans JP", sans-serif;
  font-size: 11px;
}
#ryoji-before-visit .ryoji-visit-hours__list dd small {
  color: var(--bv-muted);
  font-family:
    "Noto Sans JP", sans-serif;
  font-size: 11px;
  white-space: nowrap;
}
/* =========================================================
CLOSED
========================================================= */
#ryoji-before-visit .ryoji-visit-hours__closed {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px 22px;
  margin-top: 3px;
  padding: 17px 0 0;
  border-top: 1px solid rgba(190, 36, 29, .34);
  text-align: left;
}
#ryoji-before-visit .ryoji-visit-hours__closed span {
  color: var(--bv-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
#ryoji-before-visit .ryoji-visit-hours__closed strong {
  color: var(--bv-ink);
  font-family:
    "Yuji Syuku", "Yu Mincho", serif;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 400;
  letter-spacing: .04em;
}
/* 定休日：名称と補足文を縦に配置 */
#ryoji-before-visit .ryoji-visit-hours__closed-detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}
#ryoji-before-visit .ryoji-visit-hours__closed-note {
  display: block;
  color: var(--bv-muted);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}
/* =========================================================
INFORMATION
========================================================= */
#ryoji-before-visit .ryoji-visit-notes__head {
  margin-bottom: 22px;
}
#ryoji-before-visit .ryoji-visit-notes ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
#ryoji-before-visit .ryoji-visit-notes li {
  display: grid;
  grid-template-columns:
    43px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid rgba(105, 69, 44, .16);
}
#ryoji-before-visit .ryoji-visit-notes__mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(190, 36, 29, .5);
  border-radius: 50%;
  color: var(--bv-red);
  font-family:
    Georgia, "Noto Sans JP", serif;
  font-size: 14px;
  font-weight: 700;
}
#ryoji-before-visit .ryoji-visit-notes li div {
  display: grid;
  gap: 5px;
  min-width: 0;
}
#ryoji-before-visit .ryoji-visit-notes li small {
  color: var(--bv-muted);
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .17em;
  white-space: nowrap;
}
#ryoji-before-visit .ryoji-visit-notes li strong {
  color: var(--bv-ink);
  font-size: clamp(13px, 1.3vw, 15px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .03em;
  text-wrap: pretty;
}
/* =========================================================
IMAGE GALLERY
========================================================= */
#ryoji-before-visit .ryoji-before-visit__gallery {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 22px);
  width: 100%;
  margin-top: clamp(30px, 4vw, 48px);
}
#ryoji-before-visit .ryoji-before-visit__photo {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(105, 69, 44, .22);
  border-top: 3px solid var(--bv-red);
  background: #e8dbc1;
  box-shadow:
    8px 10px 0 rgba(91, 58, 36, .08);
}
#ryoji-before-visit .ryoji-before-visit__photo::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  width: 34px;
  height: 34px;
  border-right:
    1px solid rgba(255, 250, 240, .75);
  border-bottom:
    1px solid rgba(255, 250, 240, .75);
  pointer-events: none;
}
#ryoji-before-visit .ryoji-before-visit__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition:
    transform .5s ease;
}
@media (hover: hover) {
  #ryoji-before-visit .ryoji-before-visit__photo:hover img {
    transform: scale(1.025);
  }
}
/* =========================================================
CONTACT
========================================================= */
#ryoji-before-visit .ryoji-before-visit__contact {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: clamp(32px, 4vw, 46px);
  padding: clamp(22px, 3vw, 34px);
  border-left: 4px solid var(--bv-red);
  background: #3b241c;
  color: #fff8e8;
}
#ryoji-before-visit .ryoji-before-visit__contact > div p {
  margin: 0 0 7px;
  color: #efb3a4;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .24em;
  white-space: nowrap;
}
#ryoji-before-visit .ryoji-before-visit__contact > div span {
  color: #f4e7d0;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .035em;
}
#ryoji-before-visit .ryoji-before-visit__contact a {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 20px;
  border:
    1px solid rgba(255, 248, 232, .32);
  color: #fff8e8;
  text-decoration: none;
  transition:
    background-color .2s ease, transform .2s ease;
}
#ryoji-before-visit .ryoji-before-visit__contact a:hover {
  transform: translateY(-2px);
  background: var(--bv-red);
}
#ryoji-before-visit .ryoji-before-visit__contact a small {
  color: #efb3a4;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}
#ryoji-before-visit .ryoji-before-visit__contact a strong {
  font-family:
    Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 2.3vw, 29px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .08em;
  white-space: nowrap;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 860px) {
  #ryoji-before-visit .ryoji-before-visit__layout {
    grid-template-columns: 1fr;
  }
  #ryoji-before-visit .ryoji-before-visit__gallery {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  #ryoji-before-visit .ryoji-before-visit__contact {
    grid-template-columns: 1fr;
  }
  #ryoji-before-visit .ryoji-before-visit__contact a {
    width: max-content;
    max-width: 100%;
  }
}
/* =========================================================
SMARTPHONE
========================================================= */
@media (max-width: 600px) {
  #ryoji-before-visit {
    padding:
      50px 15px;
  }
  #ryoji-before-visit::before {
    right: -16%;
    font-size: 120px;
  }
  /* -------------------------
  HEADING
  ------------------------- */
  #ryoji-before-visit .ryoji-before-visit__heading {
    margin-bottom: 29px;
    padding-left: 16px;
    border-left-width: 3px;
  }
  #ryoji-before-visit .ryoji-before-visit__eyebrow {
    margin-bottom: 11px;
    font-size: 9px;
    letter-spacing: .22em;
  }
  #ryoji-before-visit .ryoji-before-visit__heading h2 {
    font-size: clamp(36px, 11.5vw, 47px);
    letter-spacing: .05em;
  }
  #ryoji-before-visit .ryoji-before-visit__heading > p:last-child {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.85;
  }
  /* -------------------------
  CARDS
  ------------------------- */
  #ryoji-before-visit .ryoji-visit-hours, #ryoji-before-visit .ryoji-visit-notes {
    padding: 24px 19px;
    border-top-width: 3px;
    box-shadow:
      6px 7px 0 rgba(91, 58, 36, .08);
  }
  #ryoji-before-visit .ryoji-visit-hours__head {
    gap: 12px;
    margin-bottom: 19px;
  }
  #ryoji-before-visit .ryoji-visit-hours__head > span {
    font-size: 38px;
  }
  #ryoji-before-visit .ryoji-visit-hours__head h3, #ryoji-before-visit .ryoji-visit-notes__head h3 {
    font-size: 29px;
  }
  #ryoji-before-visit .ryoji-visit-hours__list > div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 15px 0;
  }
  #ryoji-before-visit .ryoji-visit-hours__list dt {
    padding: 0;
  }
  #ryoji-before-visit .ryoji-visit-hours__list dd span {
    font-size: 15px;
  }
  #ryoji-before-visit .ryoji-visit-hours__closed {
    align-items: flex-start;
    flex-direction: column;
  }
  #ryoji-before-visit .ryoji-visit-hours__closed-note {
    font-size: 11px;
  }
  /* -------------------------
  GALLERY
  ------------------------- */
  #ryoji-before-visit .ryoji-before-visit__gallery {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 22px;
  }
  #ryoji-before-visit .ryoji-before-visit__photo {
    aspect-ratio: 1 / 1;
    border-top-width: 2px;
    box-shadow:
      4px 5px 0 rgba(91, 58, 36, .07);
  }
  #ryoji-before-visit .ryoji-before-visit__photo--main {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 10;
  }
  #ryoji-before-visit .ryoji-before-visit__photo::after {
    right: 8px;
    bottom: 8px;
    width: 24px;
    height: 24px;
  }
  /* -------------------------
  CONTACT
  ------------------------- */
  #ryoji-before-visit .ryoji-before-visit__contact {
    gap: 18px;
    margin-top: 28px;
    padding: 22px 18px;
    border-left-width: 3px;
  }
  #ryoji-before-visit .ryoji-before-visit__contact > div p {
    font-size: 8px;
    letter-spacing: .18em;
  }
  #ryoji-before-visit .ryoji-before-visit__contact > div span {
    font-size: 14px;
  }
  #ryoji-before-visit .ryoji-before-visit__contact a {
    width: 100%;
    min-height: 55px;
    justify-content: space-between;
    gap: 9px;
    padding: 10px 14px;
  }
  #ryoji-before-visit .ryoji-before-visit__contact a strong {
    font-size: clamp(20px, 7vw, 26px);
    letter-spacing: .04em;
  }
}
/* =========================================================
REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {
  #ryoji-before-visit .ryoji-before-visit__photo img, #ryoji-before-visit .ryoji-before-visit__contact a {
    transition-duration: .01ms !important;
  }
}
#ryoji-before-visit .ryoji-contact-break {
  display: none;
}

#ryoji-before-visit .ryoji-before-visit__contact-copy {
  word-break: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 600px) {
  #ryoji-before-visit .ryoji-contact-break {
    display: inline;
  }
}

/* Block: gmap / sec_1787288506741 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600;700&family=Yuji+Syuku&display=swap");

#sec_1787288506741.gmap-section {
  --gm-paper: #fffaf0;
  --gm-ink: #38241c;
  --gm-red: #be241d;
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(70px, 8vw, 116px) max(18px, calc((100% - 1200px) / 2)) clamp(86px, 9vw, 132px) !important;
  overflow: hidden !important;
  color: var(--gm-ink) !important;
  background-color: #f4e7c7 !important;
  background-image:
    linear-gradient(rgba(255, 248, 228, .82), rgba(248, 238, 213, .88)),
    url("image/assets/asset_20260812122826_6a7be85a70b3e.webp") !important;
  background-position: center !important;
  background-size: cover !important;
  font-family: "Noto Sans JP", sans-serif !important;
}

#sec_1787288506741.gmap-section::before {
  content: "MAP";
  position: absolute;
  z-index: -1;
  right: -0.04em;
  bottom: -0.08em;
  color: rgba(190, 36, 29, .04);
  font-family: Georgia, serif;
  font-size: clamp(150px, 24vw, 360px);
  font-weight: 700;
  line-height: .8;
  pointer-events: none;
}

#sec_1787288506741 .gmap-container {
  position: relative !important;
  width: min(100%, 1200px) !important;
  max-width: none !important;
  margin: 0 auto !important;
}

#sec_1787288506741 .gmap-container::before {
  content: "LOCATION";
  display: block;
  margin: 0 0 13px;
  color: var(--gm-red);
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .3em;
  white-space: nowrap;
}

#sec_1787288506741 .gmap-frame-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: clamp(10px, 1.5vw, 18px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(105, 69, 44, .23) !important;
  border-top: 4px solid var(--gm-red) !important;
  border-radius: 0 !important;
  background: rgba(255, 250, 240, .96) !important;
  box-shadow: 14px 18px 0 rgba(91, 58, 36, .11) !important;
}

#sec_1787288506741 .gmap-frame-wrap::before {
  content: "〒321-4341  栃木県真岡市高勢町1丁目202-2";
  display: block;
  margin: 0;
  padding: 2px 3px clamp(12px, 1.5vw, 17px);
  color: #664a3a;
  font-size: clamp(12px, 1.15vw, 14px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .05em;
}

#sec_1787288506741 .gmap-frame-wrap::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: -1px;
  bottom: -1px;
  width: 82px;
  height: 82px;
  border-right: 1px solid rgba(190, 36, 29, .48);
  border-bottom: 1px solid rgba(190, 36, 29, .48);
  pointer-events: none;
}

#sec_1787288506741 .gmap-frame-wrap iframe {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: clamp(410px, 46vw, 570px) !important;
  min-height: 0 !important;
  border: 1px solid rgba(105, 69, 44, .17) !important;
  border-radius: 0 !important;
  filter: saturate(.88) contrast(1.02) brightness(1.04) !important;
  box-shadow: 0 8px 22px rgba(91, 58, 36, .1) !important;
}

#sec_1787288506741 .gmap-placeholder {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  min-height: 410px !important;
  place-items: center !important;
  padding: 24px !important;
  color: #664a3a !important;
  background: #f8f0df !important;
  text-align: center !important;
}

@media (max-width: 600px) {
  #sec_1787288506741.gmap-section {
    padding: 50px 15px!important;
  }

  #sec_1787288506741.gmap-section::before {
    right: -18%;
    bottom: 0;
    font-size: 140px;
  }

  #sec_1787288506741 .gmap-container::before {
    margin-bottom: 10px;
    font-size: 9px;
    letter-spacing: .24em;
  }

  #sec_1787288506741 .gmap-container::after {
    margin-bottom: 25px;
    font-size: clamp(36px, 11vw, 46px);
    letter-spacing: .05em;
  }

  #sec_1787288506741 .gmap-frame-wrap {
    padding: 8px !important;
    border-top-width: 3px !important;
    box-shadow: 7px 9px 0 rgba(91, 58, 36, .09) !important;
  }

  #sec_1787288506741 .gmap-frame-wrap::before {
    padding: 4px 3px 10px;
    font-size: 11px;
    line-height: 1.65;
    white-space: normal;
  }

  #sec_1787288506741 .gmap-frame-wrap::after {
    width: 50px;
    height: 50px;
  }

  #sec_1787288506741 .gmap-frame-wrap iframe {
    height: 350px !important;
  }

  #sec_1787288506741 .gmap-placeholder {
    min-height: 350px !important;
  }
}
#sec_1787288506741 .gmap-header {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 clamp(30px, 4vw, 48px);
  padding-left: clamp(20px, 3vw, 34px);
  border-left: 4px solid var(--gm-red);
}

#sec_1787288506741 .gmap-title {
  display: block !important;
  margin: 0 !important;
  color: var(--gm-ink) !important;
  font-family:
    "Yuji Syuku",
    "Yu Mincho",
    serif !important;
  font-size: clamp(36px, 5vw, 60px) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: .08em;
}

#sec_1787288506741 .gmap-desc {
  display: block !important;
  margin: 0 !important;
  color: var(--gm-red) !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .25em;
}

#sec_1787288506741 .gmap-container::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 600px) {
  #sec_1787288506741 .gmap-header {
    gap: 9px;
    margin-bottom: 28px;
    padding-left: 16px;
    border-left-width: 3px;
  }

  #sec_1787288506741 .gmap-title {
    font-size: clamp(32px, 9vw, 42px) !important;
  }

  #sec_1787288506741 .gmap-desc {
    font-size: 9px !important;
    letter-spacing: .2em;
  }
}


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

/* Block: global_footer / sec_1787381675075 */
.global-footer {
  padding: 88px 20px 56px;
  background: #081011;
  color: var(--text-main);
  border-top: 1px solid var(--line);
}
.info-grid { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(280px, .9fr) 1.1fr; gap: 48px; }
.footer-brand h2 { font-family: var(--font-serif); color: var(--gold-light); font-size: 28px; letter-spacing: .14em; }
.footer-genre { color: var(--text-sub); font-size: 12px; margin-top: 6px; letter-spacing: .1em; }
.footer-table { width: 100%; border-collapse: collapse; margin-top: 28px; }
.footer-table th,
.footer-table td { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; vertical-align: top; font-size: 13px; }
.footer-table th { width: 92px; color: var(--gold); }
.footer-table td { color: var(--text-sub); }
.footer-tel strong { color: var(--text-main); font-size: 22px; }
.payment-title { margin: 24px 0 10px; color: var(--gold); font-size: 12px; font-weight: 800; }
.payment-icons { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--text-sub); }
.pay-tag { border: 1px solid var(--line); padding: 3px 8px; border-radius: 4px; font-size: 11px; }
.gmap-wrap { min-height: 320px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--bg-paper); }
.gmap-wrap iframe { width: 100%; height: 100%; min-height: 320px; border: none; filter: grayscale(.15) contrast(.95); }
.gmap-placeholder { min-height: 320px; display: flex; align-items: center; justify-content: center; color: var(--text-sub); }
.footer-copy-text {
  background: #081011;
  color: var(--text-muted);
  text-align: center;
  padding: 20px;
  font-size: 11px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.fc-floating-actions {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1800;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.fc-floating-action {
  pointer-events: auto;
  min-width: 136px;
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  border: 1px solid var(--gold);
  background: rgba(16, 23, 24, .92);
  color: var(--text-main);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  backdrop-filter: blur(10px);
}
.fc-floating-action:hover {
  background: var(--gold);
  color: #101718;
}
.fc-floating-reserve {
  background: var(--gold);
  color: #101718;
}
.fc-floating-reserve:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #101718;
}
.fc-floating-line {
  border-color: rgba(6, 199, 85, .75);
}
.fc-floating-instagram {
  border-color: rgba(246, 207, 122, .8);
}
@media (max-width: 768px) {
  .info-grid { grid-template-columns: 1fr; }
  .fc-floating-actions {
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: row;
    gap: 0;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(8, 16, 17, .94);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(12px);
  }
  .fc-floating-action {
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
    padding: 0 8px;
    flex-direction: column;
    gap: 2px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 11px;
    line-height: 1.2;
  }
  .fc-floating-action i {
    font-size: 15px;
  }
}

/* Block: custom_html / sec_1787575405731 */
/* ---- 下層ヒーロー：全ページ高さ統一 ---- */
body :is(#fc-hero-force, .page-hero-wrapper).page-hero-wrapper {
  min-height: clamp(430px, 52vw, 660px) !important;
  padding: clamp(72px, 9vw, 126px) clamp(22px, 8vw, 130px) !important;
}
@media (max-width: 767px) {
  body :is(#fc-hero-force, .page-hero-wrapper).page-hero-wrapper {
    min-height: clamp(480px, 126vw, 570px) !important;
    padding: 210px 14px 22px !important;
  }
}
