/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-09-16 19:44:58
========================================================= */

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

/* Block: custom_html / sec_1789538875037 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}


/* =========================================================
   Page: index / 日本橋 すし 釣りきん｜本格寿司を楽しめる寿司店
========================================================= */

/* Block: custom_html / sec_1789539062898 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: latest_news_bar / sec_1789539065982 */
/* 新着ニュースバー（latest_news_bar）— 分岐ページ下段（Figma 7:944）。
   左に「お知らせ ／ News」、右（554 幅）に日付＋タイトルの行。バッジ・矢印は出さない。
   ★見出しは直前のカスタムHTML（branch/01_stores.html）のスクリプトが .tk-news-head として差し込む。 */
.news-bar-section {
  padding: 27px 20px 26px max(20px, calc(50% - 601px)) !important;   /* Figma: 見出しの左端 x=119（1440 幅） */
  background: transparent !important;
  color: var(--tk-fg, #000) !important;
  display: flex !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 0 !important;
}
/* 見出し 148 幅 → 499 空けて → 行 554 幅（Figma: x=119 / x=766） */
.news-bar-section .tk-news-head { flex: 0 0 148px; margin-right: 499px; min-height: 185px; display: flex; flex-direction: column; justify-content: center; text-align: center; white-space: nowrap; }
.news-bar-section .tk-news-head b { display: block; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 36px; line-height: 72px; letter-spacing: .03em; color: var(--tk-head, #000); }
.news-bar-section .tk-news-head span { display: block; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 24px; line-height: 48px; letter-spacing: .03em; color: var(--tk-accent, #738DA2); }
.news-bar-container { flex: 0 0 554px; max-width: 554px !important; margin: 0 !important; }
.news-bar-link {
  display: block !important; width: 100% !important; grid-template-columns: none !important;
  padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; color: var(--tk-fg, #000) !important;
}
.news-bar-link:hover { background: transparent !important; border: 0 !important; box-shadow: none !important; transform: none !important; opacity: .7; }
.news-bar-link + .news-bar-link { margin-top: 10px !important; }
/* blocks.css の「中央寄せパッチ」が残るので、幅と高さは明示する（Figma: 554×50・枠線は内側） */
.news-bar-left {
  display: flex !important; width: 100% !important; height: 50px !important;
  align-items: center !important; justify-content: flex-start !important;
  gap: 0 !important; margin: 0 !important; padding: 10px 10px 9px !important;
  border-bottom: 1px solid var(--tk-fg, #000) !important;
}
.news-badge { display: none !important; }
.news-date {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important; color: var(--tk-fg, #000) !important;
  background: transparent !important; border: 0 !important; padding: 0 !important;
}
.news-title {
  margin-top: 7px !important; width: 100% !important; padding: 0 !important; flex: none !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important; color: var(--tk-fg, #000) !important;
  text-align: left !important;
}
.news-arrow { display: none !important; }
@media (max-width: 992px) {
  /* SP（Figma 7:975）：見出しは中央・その下に行（350 幅）。上 27・下 39 */
  .news-bar-section { flex-direction: column !important; align-items: center !important; padding: 27px 13px 39px 12px !important; }
  .news-bar-section .tk-news-head { flex: 0 0 auto; min-height: 0; margin: 0 0 7px; }
  .news-bar-section .tk-news-head b { font-size: 24px; line-height: 48px; }
  .news-bar-section .tk-news-head span { font-size: 16px; line-height: 32px; }
  .news-bar-container { flex: 0 0 auto; width: 100%; max-width: 350px !important; }
  .news-bar-link + .news-bar-link { margin-top: 7px !important; }
}


/* =========================================================
   Page: news / 日本橋 すし 釣りきん｜本格寿司を楽しめる寿司店｜NEWS
========================================================= */

/* Block: news_list_grid / sec_1789542824957 */
/* お知らせ一覧グリッド（news_list_grid）— Figma にデザインは無い。
   分岐ページのお知らせ（日付＋下線＋タイトル）と同じ行リストに揃える。写真があればタイトルの左に小さく出す。 */
.news-list-grid-section {
  padding: 60px 20px 0 !important;
  background: transparent !important;
  color: var(--tk-fg, #000) !important;
}
.news-section-header { max-width: 1120px !important; margin: 0 auto 25px !important; text-align: center !important; }
.news-main-title { font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.news-sub-text { margin-top: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.nlg-grid {
  max-width: 1120px !important; margin: 0 auto !important;
  display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 10px !important;
}
.nlg-card {
  display: grid !important; grid-template-columns: 120px minmax(0, 1fr) !important; gap: 0 20px !important;
  overflow: visible !important; background: transparent !important; color: var(--tk-fg, #000) !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
a.nlg-card:hover { transform: none !important; border: 0 !important; box-shadow: none !important; opacity: .7; }
.nlg-img { grid-row: 1 / span 2; aspect-ratio: 4 / 3 !important; background: transparent !important; }
.nlg-no-img { display: none !important; }
.nlg-card:has(.nlg-no-img) { grid-template-columns: minmax(0, 1fr) !important; }
.nlg-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.nlg-body { padding: 0 !important; }
.nlg-meta { margin: 0 !important; padding: 10px !important; border-bottom: 1px solid var(--tk-fg, #000) !important; }
.nlg-date {
  display: inline-flex !important; align-items: center !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important; color: var(--tk-fg, #000) !important;
}
.nlg-title {
  margin-top: 7px !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important; color: var(--tk-fg, #000) !important;
}
@media (max-width: 992px) {
  .news-list-grid-section { padding: 40px 20px 0 !important; }
  .news-main-title { font-size: 24px !important; line-height: 48px !important; }
  .news-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .nlg-card { grid-template-columns: 90px minmax(0, 1fr) !important; gap: 0 12px !important; }
}


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

/* Block: news_article_body / sec_1789547832197 */
/* お知らせ記事の本文（news_article_body）— Figma にデザインは無い。
   和紙の地・明朝・水色の罫線という TOP と同じ世界観に合わせる。
   日付 → 見出し（下線）→ 写真 → 本文 → 「記事一覧に戻る」（朱のボタン）。 */
.news-article-body-section {
  padding: 60px 20px 0 !important;
  background: transparent !important;
  color: var(--tk-fg, #000) !important;
}
.nab-container {
  max-width: 800px !important; width: min(800px, 100% - 40px) !important; margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.nab-header { margin-bottom: 25px !important; padding-bottom: 15px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important; }
.nab-meta { margin-bottom: 8px !important; }
.nab-date {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important;
}
.nab-date i { display: none !important; }
.nab-title {
  margin: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 32px !important;
  line-height: 58px !important; letter-spacing: .06em !important; color: var(--tk-head, #000) !important;
}
.nab-main-img-box { margin: 0 0 25px !important; border-radius: 0 !important; overflow: hidden !important; background: transparent !important; }
.nab-main-img-box img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important; display: block !important; }
.nab-body-text {
  margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 16px !important;
  line-height: 32px !important; letter-spacing: .03em !important; color: var(--tk-fg, #000) !important;
}
.nab-footer-nav { margin-top: 40px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.btn-nab-back {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
  width: 204px !important; min-height: 54px !important; padding: 12px 20px !important;
  border: 1px solid var(--tk-red, #C0282A) !important; border-radius: 0 !important;
  background: var(--tk-red, #C0282A) !important; color: #FFFFFF !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important;
  line-height: 30px !important; letter-spacing: .03em !important;
}
.btn-nab-back:hover { background: #A21F21 !important; border-color: #A21F21 !important; color: #FFFFFF !important; opacity: 1; }
.btn-nab-back i { font-size: 12px !important; }
/* 引用元などの任意ボタン（使わなければ出ない） */
.news-article-body-section .fc-block-btn-wrap { margin-top: 25px !important; text-align: center !important; }
@media (max-width: 992px) {
  .news-article-body-section { padding: 40px 20px 0 !important; }
  .nab-title { font-size: 20px !important; line-height: 36px !important; }
  .nab-body-text { font-size: 14px !important; line-height: 28px !important; }
  .btn-nab-back { width: 200px !important; min-height: 46px !important; font-size: 14px !important; }
}


/* =========================================================
   Page: nihonbashi / 日本橋 すし 釣りきん｜三越前駅直結・旬の鮮魚と本格寿司を楽しめる寿司店
========================================================= */

/* Block: hero_main / sec_1789539330000 */
/* ヒーロー（hero_main）— Figma: 1440×807 の動画。キャッチは中央（40/80・白・影 blur12 #000@0.57）。
   ★キャッチは「導入」カスタムHTML のスクリプトが差し込む（背景動画モードだとブロックがキャプションを出さないため）。
     ブロックのスライド欄のキャッチ・サブは空のままでよい。 */
/* position: relative と overflow: hidden は旧テンプレの style.css にあったものを引き継ぐ
   （キャッチとボタンを中に重ねるので必須） */
.hero-wrapper { position: relative; overflow: hidden; width: 100%; height: 807px; min-height: 0; background: #000; }
.hero-wrapper::after { display: none; }
.hero-img-window, .hero-img-window img, .hero-img-window video { width: 100%; height: 100%; object-fit: cover; }
.hero-slider { position: absolute; inset: 0; }
.hero-slide-img { background-size: cover; background-position: center; }
.hero-slider-dots { display: none; }
/* スクリプトが差し込むキャッチ（.tk-hero-catch）。Figma: x=424 w=592 y=324（＝上下中央） */
.hero-wrapper .tk-hero-catch {
  position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: auto; max-width: calc(100% - 40px);
  margin: 0; text-align: center; white-space: nowrap;   /* Figma の改行位置（<br>）で 2 行にする。折り返させない */
  font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 40px; line-height: 80px; letter-spacing: .06em;
  color: #FFFFFF; text-shadow: 0 0 12px rgba(0, 0, 0, .57);
}
/* SP: ヒーロー 375×603・キャッチ 24/48（y=254＝上下中央）。直下（y=577）に電話・WEB予約のボタン 160×46 ×2（間 6） */
@media (max-width: 992px) {
  /* SP はヒーローの下端にボタンがはみ出して重なる（Figma 92:8）ので、枠の外を隠さない。
     写真のはみ出しは .hero-img-window 側で隠す */
  .hero-wrapper { height: 603px; overflow: visible; }
  .hero-img-window, .hero-slider { overflow: hidden; }
  .hero-wrapper .tk-hero-catch { max-width: calc(100% - 20px); font-size: 24px; line-height: 48px; letter-spacing: .06em; }
}
@media (max-width: 374px) {
  /* 320px 幅の端末では 24px だと 1 行に収まらない */
  .hero-wrapper .tk-hero-catch { font-size: 21px; line-height: 42px; }
}

/* Block: custom_html / sec_1789539433332 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539435547 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539437931 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539440238 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539442430 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539681261 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539736707 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: gmap / sec_1789539770540 */
/* Googleマップ（gmap）— Figma: 1440×468 の全幅。左上（x=140 y=5）に「店舗案内 ／ Information」が地図に重なる。
   見出しは大見出し欄に「店舗案内」、説明文欄に「Information」を入れる（英字は CSS で水色＝神田は白）。
   地図の操作を邪魔しないよう見出しは pointer-events: none。 */
.gmap-section { position: relative; padding: 0; background: transparent; color: inherit; margin-top: 106px; }
/* 神田は店舗案内の表が長いぶん、地図までの余白が Figma で狭い */
html[data-store="kanda"] .gmap-section { margin-top: 42px; }
.gmap-container { max-width: none; margin: 0; }
.gmap-header {
  position: absolute; z-index: 2; left: max(20px, calc(50% - 580px)); top: 5px;
  max-width: none; margin: 0; text-align: center; pointer-events: none;
}
.gmap-title { margin: 0 0 0; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 36px; line-height: 72px; letter-spacing: .03em; color: var(--tk-head, #000); }
.gmap-desc { margin: 0; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 24px; line-height: 48px; letter-spacing: .03em; color: var(--tk-accent, #738DA2); }
.gmap-frame-wrap { position: relative; width: 100%; aspect-ratio: auto; height: 468px; min-height: 0; border: 0; border-radius: 0; background: #E8EAED; overflow: hidden; }
.gmap-frame-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: none; }
.gmap-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #666; font-size: 13px; }
@media (max-width: 992px) {
  .gmap-section { margin-top: 52px; }
  .gmap-header { left: 20px; top: 5px; }
  .gmap-title { font-size: 24px; line-height: 48px; }
  .gmap-desc { font-size: 16px; line-height: 32px; }
  .gmap-frame-wrap { height: 468px; }
}

/* Block: custom_html / sec_1789539841056 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}


/* =========================================================
   Page: kanda / 神田 鮨酒処 釣りきん｜旬魚の鮨・刺身と希少な地酒
========================================================= */

/* Block: hero_main / sec_1789539933705 */
/* ヒーロー（hero_main）— Figma: 1440×807 の動画。キャッチは中央（40/80・白・影 blur12 #000@0.57）。
   ★キャッチは「導入」カスタムHTML のスクリプトが差し込む（背景動画モードだとブロックがキャプションを出さないため）。
     ブロックのスライド欄のキャッチ・サブは空のままでよい。 */
/* position: relative と overflow: hidden は旧テンプレの style.css にあったものを引き継ぐ
   （キャッチとボタンを中に重ねるので必須） */
.hero-wrapper { position: relative; overflow: hidden; width: 100%; height: 807px; min-height: 0; background: #000; }
.hero-wrapper::after { display: none; }
.hero-img-window, .hero-img-window img, .hero-img-window video { width: 100%; height: 100%; object-fit: cover; }
.hero-slider { position: absolute; inset: 0; }
.hero-slide-img { background-size: cover; background-position: center; }
.hero-slider-dots { display: none; }
/* スクリプトが差し込むキャッチ（.tk-hero-catch）。Figma: x=424 w=592 y=324（＝上下中央） */
.hero-wrapper .tk-hero-catch {
  position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: auto; max-width: calc(100% - 40px);
  margin: 0; text-align: center; white-space: nowrap;   /* Figma の改行位置（<br>）で 2 行にする。折り返させない */
  font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 40px; line-height: 80px; letter-spacing: .06em;
  color: #FFFFFF; text-shadow: 0 0 12px rgba(0, 0, 0, .57);
}
/* SP: ヒーロー 375×603・キャッチ 24/48（y=254＝上下中央）。直下（y=577）に電話・WEB予約のボタン 160×46 ×2（間 6） */
@media (max-width: 992px) {
  /* SP はヒーローの下端にボタンがはみ出して重なる（Figma 92:8）ので、枠の外を隠さない。
     写真のはみ出しは .hero-img-window 側で隠す */
  .hero-wrapper { height: 603px; overflow: visible; }
  .hero-img-window, .hero-slider { overflow: hidden; }
  .hero-wrapper .tk-hero-catch { max-width: calc(100% - 20px); font-size: 24px; line-height: 48px; letter-spacing: .06em; }
}
@media (max-width: 374px) {
  /* 320px 幅の端末では 24px だと 1 行に収まらない */
  .hero-wrapper .tk-hero-catch { font-size: 21px; line-height: 42px; }
}

/* Block: custom_html / sec_1789539973755 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539976235 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539978101 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789539980501 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789540090500 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789540099365 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: custom_html / sec_1789540101316 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}

/* Block: gmap / sec_1789540172397 */
/* Googleマップ（gmap）— Figma: 1440×468 の全幅。左上（x=140 y=5）に「店舗案内 ／ Information」が地図に重なる。
   見出しは大見出し欄に「店舗案内」、説明文欄に「Information」を入れる（英字は CSS で水色＝神田は白）。
   地図の操作を邪魔しないよう見出しは pointer-events: none。 */
.gmap-section { position: relative; padding: 0; background: transparent; color: inherit; margin-top: 106px; }
/* 神田は店舗案内の表が長いぶん、地図までの余白が Figma で狭い */
html[data-store="kanda"] .gmap-section { margin-top: 42px; }
.gmap-container { max-width: none; margin: 0; }
.gmap-header {
  position: absolute; z-index: 2; left: max(20px, calc(50% - 580px)); top: 5px;
  max-width: none; margin: 0; text-align: center; pointer-events: none;
}
.gmap-title { margin: 0 0 0; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 36px; line-height: 72px; letter-spacing: .03em; color: var(--tk-head, #000); }
.gmap-desc { margin: 0; font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 24px; line-height: 48px; letter-spacing: .03em; color: var(--tk-accent, #738DA2); }
.gmap-frame-wrap { position: relative; width: 100%; aspect-ratio: auto; height: 468px; min-height: 0; border: 0; border-radius: 0; background: #E8EAED; overflow: hidden; }
.gmap-frame-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: none; }
.gmap-placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #666; font-size: 13px; }
@media (max-width: 992px) {
  .gmap-section { margin-top: 52px; }
  .gmap-header { left: 20px; top: 5px; }
  .gmap-title { font-size: 24px; line-height: 48px; }
  .gmap-desc { font-size: 16px; line-height: 32px; }
  .gmap-frame-wrap { height: 468px; }
}

/* Block: custom_html / sec_1789540233129 */
.custom-html-wrapper {padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; color: inherit !important;}
.custom-html-wrapper > .custom-html-inner {width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;}


/* =========================================================
   Page: kanda-menu / 神田 鮨酒処 釣りきん｜旬魚の鮨・刺身と希少な地酒｜MENU
========================================================= */

/* Block: hero_page / sec_1789542657129 */
/* 下層ページ共通ヒーロー（hero_page）— Figma お品書き: 1440×603 の写真＋黒 38%、
   「お品書き」40/80・字間 2.4・白・影 blur12 #000@0.57（y=324＝上下中央） */
.page-hero-wrapper {
  position: relative;
  min-height: 0; height: 603px;
  padding: 324px 0 0;                          /* Figma: 見出しは上から 324（中央ではない） */
  display: flex; align-items: flex-start; justify-content: center;
  text-align: center;
  color: #FFFFFF;
  background-size: cover; background-position: center;
}
.page-hero-wrapper::after { display: none; }
.ph-overlay { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .38); }
.ph-container { position: relative; z-index: 1; max-width: 1040px; margin: 0; padding: 0 20px; }
.ph-title {
  font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 40px; line-height: 80px; letter-spacing: .06em;
  color: #FFFFFF; text-shadow: 0 0 12px rgba(0, 0, 0, .57);
}
.ph-desc { margin-top: 10px; color: #FFFFFF; font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; letter-spacing: .03em; text-shadow: 0 0 12px rgba(0, 0, 0, .57); }
@media (max-width: 992px) {
  .page-hero-wrapper { height: 320px; padding-top: 170px; }
  .ph-title { font-size: 24px; line-height: 48px; }
  .ph-desc { font-size: 14px; line-height: 28px; }
}

/* Block: menu_category_grid / sec_1789542705277 */
/* お品書きカテゴリーグリッド（menu_category_grid）— Figma お品書き（日本橋 5:167／神田 97:166）。
   1 ブロック＝大区分（コースメニュー／お料理／お飲み物）。大見出し欄に区分名、説明文欄に「Menu」。
   カテゴリー（管理画面の「カテゴリー」）＝ 小区分（地酒・ハイボール等）→ 中央 24/48 の水色見出し。空なら出ない。
   品目＝「品名 ───── 価格」の行（1280×78・下線 1px）＋その 16px 下に説明（20/40）。品目の間 25。
   ※ 商品の写真は Figma に無い → 管理画面の「画像を表示」は OFF のまま（ON にすると左に写真が出る）。 */
/* セクションの間隔（Figma）：ヒーローの下は 120、2 つ目以降のブロックは 45 */
.menu-grid-section {
  padding: 0 !important; margin-top: 45px !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
}
.page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 120px !important; }
.menu-section-header { max-width: none !important; margin: 0 auto 25px !important; text-align: center !important; }
.menu-main-title { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.menu-sub-text { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.menu-cat-container { max-width: 1280px !important; width: min(1280px, 100% - 40px) !important; margin: 0 auto !important; }
.menu-cat-block { margin-bottom: 25px !important; }
.menu-cat-block:last-child { margin-bottom: 0 !important; }
/* 小区分の見出し（カテゴリー名）。説明文があれば下に小さく */
.menu-cat-header { margin: 0 0 25px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.menu-cat-name {
  margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important;
  font-size: 24px !important; line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-cat-name:empty { display: none !important; }
.menu-cat-header:has(.menu-cat-name:empty):not(:has(.menu-cat-desc)) { display: none !important; }
.menu-cat-desc { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important; line-height: 30px !important; color: var(--tk-fg, #000) !important; }
/* 品目：1 列に並べる */
.menu-items-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 25px !important; }
.menu-item-card, .menu-item-card.no-image {
  display: block !important; padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--tk-fg, #000) !important;
}
.menu-item-card:hover, .menu-item-card.no-image:hover { transform: none !important; box-shadow: none !important; }
.menu-item-card .mi-info, .menu-item-card.no-image .mi-info {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; align-items: center !important;
}
.mi-title {
  grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important;
  padding: 15px 10px 14px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important; grid-row: 1 !important; display: block !important;
  margin: 0 !important; padding: 15px 10px 14px !important;
  border-top: 0 !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
}
.mi-price { margin: 0 !important; text-align: right !important; white-space: nowrap !important; }
.price-in, .mi-tax {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
/* Figma は「3,850円 (税込)」。括弧は CSS で付ける（金額の「円」は blocks/menu_category_grid.php で付けている） */
.mi-tax { margin-left: 4px !important; }
.mi-tax::before { content: "("; }
.mi-tax::after { content: ")"; }
.mi-text {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin: 16px 0 0 !important; flex-grow: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 20px !important;
  line-height: 40px !important; letter-spacing: .06em !important; color: var(--tk-fg, #000) !important;
}
/* コースの説明は先頭行が「コース内容」で 24px（Figma の mixed 書式）。
   コース用のブロックだけ、セクション個別 CSS の最後にこの 1 行を足す：
   .mi-text::first-line { font-size: 24px; line-height: 46px; } */
/* 品目に写真を出す場合（既定は OFF）。Figma に無いので小さく左に */
.mi-img-box { width: 120px !important; margin: 0 20px 0 0 !important; float: left; }
.menu-cat-empty { margin: 0 !important; text-align: center; }
.menu-empty-text { font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; color: var(--tk-fg, #000); }
@media (max-width: 992px) {
  .menu-grid-section { margin-top: 40px !important; }
  .page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 60px !important; }
  .menu-main-title { font-size: 24px !important; line-height: 48px !important; }
  .menu-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .menu-cat-name { font-size: 18px !important; line-height: 36px !important; }
  .mi-title { padding: 8px 0 !important; font-size: 16px !important; line-height: 30px !important; }
  .menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta { padding: 8px 0 !important; }
  .price-in, .mi-tax { font-size: 16px !important; line-height: 30px !important; }
  .mi-text { margin-top: 10px !important; font-size: 14px !important; line-height: 28px !important; }
  .menu-items-grid { gap: 20px !important; }
}

/* Block: menu_category_grid / sec_1789542770692 */
/* お品書きカテゴリーグリッド（menu_category_grid）— Figma お品書き（日本橋 5:167／神田 97:166）。
   1 ブロック＝大区分（コースメニュー／お料理／お飲み物）。大見出し欄に区分名、説明文欄に「Menu」。
   カテゴリー（管理画面の「カテゴリー」）＝ 小区分（地酒・ハイボール等）→ 中央 24/48 の水色見出し。空なら出ない。
   品目＝「品名 ───── 価格」の行（1280×78・下線 1px）＋その 16px 下に説明（20/40）。品目の間 25。
   ※ 商品の写真は Figma に無い → 管理画面の「画像を表示」は OFF のまま（ON にすると左に写真が出る）。 */
/* セクションの間隔（Figma）：ヒーローの下は 120、2 つ目以降のブロックは 45 */
.menu-grid-section {
  padding: 0 !important; margin-top: 45px !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
}
.page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 120px !important; }
.menu-section-header { max-width: none !important; margin: 0 auto 25px !important; text-align: center !important; }
.menu-main-title { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.menu-sub-text { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.menu-cat-container { max-width: 1280px !important; width: min(1280px, 100% - 40px) !important; margin: 0 auto !important; }
.menu-cat-block { margin-bottom: 25px !important; }
.menu-cat-block:last-child { margin-bottom: 0 !important; }
/* 小区分の見出し（カテゴリー名）。説明文があれば下に小さく */
.menu-cat-header { margin: 0 0 25px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.menu-cat-name {
  margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important;
  font-size: 24px !important; line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-cat-name:empty { display: none !important; }
.menu-cat-header:has(.menu-cat-name:empty):not(:has(.menu-cat-desc)) { display: none !important; }
.menu-cat-desc { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important; line-height: 30px !important; color: var(--tk-fg, #000) !important; }
/* 品目：1 列に並べる */
.menu-items-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 25px !important; }
.menu-item-card, .menu-item-card.no-image {
  display: block !important; padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--tk-fg, #000) !important;
}
.menu-item-card:hover, .menu-item-card.no-image:hover { transform: none !important; box-shadow: none !important; }
.menu-item-card .mi-info, .menu-item-card.no-image .mi-info {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; align-items: center !important;
}
.mi-title {
  grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important;
  padding: 15px 10px 14px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important; grid-row: 1 !important; display: block !important;
  margin: 0 !important; padding: 15px 10px 14px !important;
  border-top: 0 !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
}
.mi-price { margin: 0 !important; text-align: right !important; white-space: nowrap !important; }
.price-in, .mi-tax {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
/* Figma は「3,850円 (税込)」。括弧は CSS で付ける（金額の「円」は blocks/menu_category_grid.php で付けている） */
.mi-tax { margin-left: 4px !important; }
.mi-tax::before { content: "("; }
.mi-tax::after { content: ")"; }
.mi-text {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin: 16px 0 0 !important; flex-grow: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 20px !important;
  line-height: 40px !important; letter-spacing: .06em !important; color: var(--tk-fg, #000) !important;
}
/* コースの説明は先頭行が「コース内容」で 24px（Figma の mixed 書式）。
   コース用のブロックだけ、セクション個別 CSS の最後にこの 1 行を足す：
   .mi-text::first-line { font-size: 24px; line-height: 46px; } */
/* 品目に写真を出す場合（既定は OFF）。Figma に無いので小さく左に */
.mi-img-box { width: 120px !important; margin: 0 20px 0 0 !important; float: left; }
.menu-cat-empty { margin: 0 !important; text-align: center; }
.menu-empty-text { font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; color: var(--tk-fg, #000); }
@media (max-width: 992px) {
  .menu-grid-section { margin-top: 40px !important; }
  .page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 60px !important; }
  .menu-main-title { font-size: 24px !important; line-height: 48px !important; }
  .menu-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .menu-cat-name { font-size: 18px !important; line-height: 36px !important; }
  .mi-title { padding: 8px 0 !important; font-size: 16px !important; line-height: 30px !important; }
  .menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta { padding: 8px 0 !important; }
  .price-in, .mi-tax { font-size: 16px !important; line-height: 30px !important; }
  .mi-text { margin-top: 10px !important; font-size: 14px !important; line-height: 28px !important; }
  .menu-items-grid { gap: 20px !important; }
}


/* =========================================================
   Page: nihonbashi-menu / 日本橋 すし 釣りきん｜三越前駅直結・旬の鮮魚と本格寿司を楽しめる寿司店｜MENU
========================================================= */

/* Block: hero_page / sec_1789541033555 */
/* 下層ページ共通ヒーロー（hero_page）— Figma お品書き: 1440×603 の写真＋黒 38%、
   「お品書き」40/80・字間 2.4・白・影 blur12 #000@0.57（y=324＝上下中央） */
.page-hero-wrapper {
  position: relative;
  min-height: 0; height: 603px;
  padding: 324px 0 0;                          /* Figma: 見出しは上から 324（中央ではない） */
  display: flex; align-items: flex-start; justify-content: center;
  text-align: center;
  color: #FFFFFF;
  background-size: cover; background-position: center;
}
.page-hero-wrapper::after { display: none; }
.ph-overlay { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .38); }
.ph-container { position: relative; z-index: 1; max-width: 1040px; margin: 0; padding: 0 20px; }
.ph-title {
  font-family: "Shippori Mincho", serif; font-weight: 600; font-size: 40px; line-height: 80px; letter-spacing: .06em;
  color: #FFFFFF; text-shadow: 0 0 12px rgba(0, 0, 0, .57);
}
.ph-desc { margin-top: 10px; color: #FFFFFF; font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; letter-spacing: .03em; text-shadow: 0 0 12px rgba(0, 0, 0, .57); }
@media (max-width: 992px) {
  .page-hero-wrapper { height: 320px; padding-top: 170px; }
  .ph-title { font-size: 24px; line-height: 48px; }
  .ph-desc { font-size: 14px; line-height: 28px; }
}

/* Block: menu_category_grid / sec_1789541093921 */
/* お品書きカテゴリーグリッド（menu_category_grid）— Figma お品書き（日本橋 5:167／神田 97:166）。
   1 ブロック＝大区分（コースメニュー／お料理／お飲み物）。大見出し欄に区分名、説明文欄に「Menu」。
   カテゴリー（管理画面の「カテゴリー」）＝ 小区分（地酒・ハイボール等）→ 中央 24/48 の水色見出し。空なら出ない。
   品目＝「品名 ───── 価格」の行（1280×78・下線 1px）＋その 16px 下に説明（20/40）。品目の間 25。
   ※ 商品の写真は Figma に無い → 管理画面の「画像を表示」は OFF のまま（ON にすると左に写真が出る）。 */
/* セクションの間隔（Figma）：ヒーローの下は 120、2 つ目以降のブロックは 45 */
.menu-grid-section {
  padding: 0 !important; margin-top: 45px !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
}
.page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 120px !important; }
.menu-section-header { max-width: none !important; margin: 0 auto 25px !important; text-align: center !important; }
.menu-main-title { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.menu-sub-text { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.menu-cat-container { max-width: 1280px !important; width: min(1280px, 100% - 40px) !important; margin: 0 auto !important; }
.menu-cat-block { margin-bottom: 25px !important; }
.menu-cat-block:last-child { margin-bottom: 0 !important; }
/* 小区分の見出し（カテゴリー名）。説明文があれば下に小さく */
.menu-cat-header { margin: 0 0 25px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.menu-cat-name {
  margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important;
  font-size: 24px !important; line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-cat-name:empty { display: none !important; }
.menu-cat-header:has(.menu-cat-name:empty):not(:has(.menu-cat-desc)) { display: none !important; }
.menu-cat-desc { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important; line-height: 30px !important; color: var(--tk-fg, #000) !important; }
/* 品目：1 列に並べる */
.menu-items-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 25px !important; }
.menu-item-card, .menu-item-card.no-image {
  display: block !important; padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--tk-fg, #000) !important;
}
.menu-item-card:hover, .menu-item-card.no-image:hover { transform: none !important; box-shadow: none !important; }
.menu-item-card .mi-info, .menu-item-card.no-image .mi-info {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; align-items: center !important;
}
.mi-title {
  grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important;
  padding: 15px 10px 14px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important; grid-row: 1 !important; display: block !important;
  margin: 0 !important; padding: 15px 10px 14px !important;
  border-top: 0 !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
}
.mi-price { margin: 0 !important; text-align: right !important; white-space: nowrap !important; }
.price-in, .mi-tax {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
/* Figma は「3,850円 (税込)」。括弧は CSS で付ける（金額の「円」は blocks/menu_category_grid.php で付けている） */
.mi-tax { margin-left: 4px !important; }
.mi-tax::before { content: "("; }
.mi-tax::after { content: ")"; }
.mi-text {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin: 16px 0 0 !important; flex-grow: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 20px !important;
  line-height: 40px !important; letter-spacing: .06em !important; color: var(--tk-fg, #000) !important;
}
/* コースの説明は先頭行が「コース内容」で 24px（Figma の mixed 書式）。
   コース用のブロックだけ、セクション個別 CSS の最後にこの 1 行を足す：
   .mi-text::first-line { font-size: 24px; line-height: 46px; } */
/* 品目に写真を出す場合（既定は OFF）。Figma に無いので小さく左に */
.mi-img-box { width: 120px !important; margin: 0 20px 0 0 !important; float: left; }
.menu-cat-empty { margin: 0 !important; text-align: center; }
.menu-empty-text { font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; color: var(--tk-fg, #000); }
@media (max-width: 992px) {
  .menu-grid-section { margin-top: 40px !important; }
  .page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 60px !important; }
  .menu-main-title { font-size: 24px !important; line-height: 48px !important; }
  .menu-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .menu-cat-name { font-size: 18px !important; line-height: 36px !important; }
  .mi-title { padding: 8px 0 !important; font-size: 16px !important; line-height: 30px !important; }
  .menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta { padding: 8px 0 !important; }
  .price-in, .mi-tax { font-size: 16px !important; line-height: 30px !important; }
  .mi-text { margin-top: 10px !important; font-size: 14px !important; line-height: 28px !important; }
  .menu-items-grid { gap: 20px !important; }
}
.menu-cat-header { display: none !important; }
.mi-text::first-line { font-size: 24px; line-height: 46px; }

/* Block: menu_category_grid / sec_1789542434916 */
/* お品書きカテゴリーグリッド（menu_category_grid）— Figma お品書き（日本橋 5:167／神田 97:166）。
   1 ブロック＝大区分（コースメニュー／お料理／お飲み物）。大見出し欄に区分名、説明文欄に「Menu」。
   カテゴリー（管理画面の「カテゴリー」）＝ 小区分（地酒・ハイボール等）→ 中央 24/48 の水色見出し。空なら出ない。
   品目＝「品名 ───── 価格」の行（1280×78・下線 1px）＋その 16px 下に説明（20/40）。品目の間 25。
   ※ 商品の写真は Figma に無い → 管理画面の「画像を表示」は OFF のまま（ON にすると左に写真が出る）。 */
/* セクションの間隔（Figma）：ヒーローの下は 120、2 つ目以降のブロックは 45 */
.menu-grid-section {
  padding: 0 !important; margin-top: 45px !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
}
.page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 120px !important; }
.menu-section-header { max-width: none !important; margin: 0 auto 25px !important; text-align: center !important; }
.menu-main-title { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.menu-sub-text { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.menu-cat-container { max-width: 1280px !important; width: min(1280px, 100% - 40px) !important; margin: 0 auto !important; }
.menu-cat-block { margin-bottom: 25px !important; }
.menu-cat-block:last-child { margin-bottom: 0 !important; }
/* 小区分の見出し（カテゴリー名）。説明文があれば下に小さく */
.menu-cat-header { margin: 0 0 25px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.menu-cat-name {
  margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important;
  font-size: 24px !important; line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-cat-name:empty { display: none !important; }
.menu-cat-header:has(.menu-cat-name:empty):not(:has(.menu-cat-desc)) { display: none !important; }
.menu-cat-desc { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important; line-height: 30px !important; color: var(--tk-fg, #000) !important; }
/* 品目：1 列に並べる */
.menu-items-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 25px !important; }
.menu-item-card, .menu-item-card.no-image {
  display: block !important; padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--tk-fg, #000) !important;
}
.menu-item-card:hover, .menu-item-card.no-image:hover { transform: none !important; box-shadow: none !important; }
.menu-item-card .mi-info, .menu-item-card.no-image .mi-info {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; align-items: center !important;
}
.mi-title {
  grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important;
  padding: 15px 10px 14px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important; grid-row: 1 !important; display: block !important;
  margin: 0 !important; padding: 15px 10px 14px !important;
  border-top: 0 !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
}
.mi-price { margin: 0 !important; text-align: right !important; white-space: nowrap !important; }
.price-in, .mi-tax {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
/* Figma は「3,850円 (税込)」。括弧は CSS で付ける（金額の「円」は blocks/menu_category_grid.php で付けている） */
.mi-tax { margin-left: 4px !important; }
.mi-tax::before { content: "("; }
.mi-tax::after { content: ")"; }
.mi-text {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin: 16px 0 0 !important; flex-grow: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 20px !important;
  line-height: 40px !important; letter-spacing: .06em !important; color: var(--tk-fg, #000) !important;
}
/* コースの説明は先頭行が「コース内容」で 24px（Figma の mixed 書式）。
   コース用のブロックだけ、セクション個別 CSS の最後にこの 1 行を足す：
   .mi-text::first-line { font-size: 24px; line-height: 46px; } */
/* 品目に写真を出す場合（既定は OFF）。Figma に無いので小さく左に */
.mi-img-box { width: 120px !important; margin: 0 20px 0 0 !important; float: left; }
.menu-cat-empty { margin: 0 !important; text-align: center; }
.menu-empty-text { font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; color: var(--tk-fg, #000); }
@media (max-width: 992px) {
  .menu-grid-section { margin-top: 40px !important; }
  .page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 60px !important; }
  .menu-main-title { font-size: 24px !important; line-height: 48px !important; }
  .menu-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .menu-cat-name { font-size: 18px !important; line-height: 36px !important; }
  .mi-title { padding: 8px 0 !important; font-size: 16px !important; line-height: 30px !important; }
  .menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta { padding: 8px 0 !important; }
  .price-in, .mi-tax { font-size: 16px !important; line-height: 30px !important; }
  .mi-text { margin-top: 10px !important; font-size: 14px !important; line-height: 28px !important; }
  .menu-items-grid { gap: 20px !important; }
}
.menu-cat-header { display: none !important; }

/* Block: menu_category_grid / sec_1789542507582 */
/* お品書きカテゴリーグリッド（menu_category_grid）— Figma お品書き（日本橋 5:167／神田 97:166）。
   1 ブロック＝大区分（コースメニュー／お料理／お飲み物）。大見出し欄に区分名、説明文欄に「Menu」。
   カテゴリー（管理画面の「カテゴリー」）＝ 小区分（地酒・ハイボール等）→ 中央 24/48 の水色見出し。空なら出ない。
   品目＝「品名 ───── 価格」の行（1280×78・下線 1px）＋その 16px 下に説明（20/40）。品目の間 25。
   ※ 商品の写真は Figma に無い → 管理画面の「画像を表示」は OFF のまま（ON にすると左に写真が出る）。 */
/* セクションの間隔（Figma）：ヒーローの下は 120、2 つ目以降のブロックは 45 */
.menu-grid-section {
  padding: 0 !important; margin-top: 45px !important;
  background: transparent !important; color: var(--tk-fg, #000) !important;
}
.page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 120px !important; }
.menu-section-header { max-width: none !important; margin: 0 auto 25px !important; text-align: center !important; }
.menu-main-title { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 36px !important; line-height: 72px !important; letter-spacing: .03em !important; color: var(--tk-head, #000) !important; }
.menu-sub-text { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important; line-height: 48px !important; letter-spacing: .03em !important; color: var(--tk-accent, #738DA2) !important; }
.menu-cat-container { max-width: 1280px !important; width: min(1280px, 100% - 40px) !important; margin: 0 auto !important; }
.menu-cat-block { margin-bottom: 25px !important; }
.menu-cat-block:last-child { margin-bottom: 0 !important; }
/* 小区分の見出し（カテゴリー名）。説明文があれば下に小さく */
.menu-cat-header { margin: 0 0 25px !important; padding: 0 !important; border: 0 !important; text-align: center !important; }
.menu-cat-name {
  margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 600 !important;
  font-size: 24px !important; line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-cat-name:empty { display: none !important; }
.menu-cat-header:has(.menu-cat-name:empty):not(:has(.menu-cat-desc)) { display: none !important; }
.menu-cat-desc { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 500 !important; font-size: 15px !important; line-height: 30px !important; color: var(--tk-fg, #000) !important; }
/* 品目：1 列に並べる */
.menu-items-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; gap: 25px !important; }
.menu-item-card, .menu-item-card.no-image {
  display: block !important; padding: 0 !important; gap: 0 !important;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--tk-fg, #000) !important;
}
.menu-item-card:hover, .menu-item-card.no-image:hover { transform: none !important; box-shadow: none !important; }
.menu-item-card .mi-info, .menu-item-card.no-image .mi-info {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; align-items: center !important;
}
.mi-title {
  grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important;
  padding: 15px 10px 14px !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
.menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column: 2 !important; grid-row: 1 !important; display: block !important;
  margin: 0 !important; padding: 15px 10px 14px !important;
  border-top: 0 !important; border-bottom: 1px solid var(--tk-accent, #738DA2) !important;
}
.mi-price { margin: 0 !important; text-align: right !important; white-space: nowrap !important; }
.price-in, .mi-tax {
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 24px !important;
  line-height: 48px !important; letter-spacing: .06em !important; color: var(--tk-accent, #738DA2) !important;
}
/* Figma は「3,850円 (税込)」。括弧は CSS で付ける（金額の「円」は blocks/menu_category_grid.php で付けている） */
.mi-tax { margin-left: 4px !important; }
.mi-tax::before { content: "("; }
.mi-tax::after { content: ")"; }
.mi-text {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin: 16px 0 0 !important; flex-grow: 0 !important;
  font-family: "Shippori Mincho", serif !important; font-weight: 600 !important; font-size: 20px !important;
  line-height: 40px !important; letter-spacing: .06em !important; color: var(--tk-fg, #000) !important;
}
/* コースの説明は先頭行が「コース内容」で 24px（Figma の mixed 書式）。
   コース用のブロックだけ、セクション個別 CSS の最後にこの 1 行を足す：
   .mi-text::first-line { font-size: 24px; line-height: 46px; } */
/* 品目に写真を出す場合（既定は OFF）。Figma に無いので小さく左に */
.mi-img-box { width: 120px !important; margin: 0 20px 0 0 !important; float: left; }
.menu-cat-empty { margin: 0 !important; text-align: center; }
.menu-empty-text { font-family: "Shippori Mincho", serif; font-size: 16px; line-height: 32px; color: var(--tk-fg, #000); }
@media (max-width: 992px) {
  .menu-grid-section { margin-top: 40px !important; }
  .page-hero-wrapper + .menu-grid-section, .page-hero-wrapper + * + .menu-grid-section { margin-top: 60px !important; }
  .menu-main-title { font-size: 24px !important; line-height: 48px !important; }
  .menu-sub-text { font-size: 16px !important; line-height: 32px !important; }
  .menu-cat-name { font-size: 18px !important; line-height: 36px !important; }
  .mi-title { padding: 8px 0 !important; font-size: 16px !important; line-height: 30px !important; }
  .menu-item-card .mi-meta, .menu-item-card.no-image .mi-meta { padding: 8px 0 !important; }
  .price-in, .mi-tax { font-size: 16px !important; line-height: 30px !important; }
  .mi-text { margin-top: 10px !important; font-size: 14px !important; line-height: 28px !important; }
  .menu-items-grid { gap: 20px !important; }
}
