/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-10-09 23:46:46
========================================================= */

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

/* Block: global_header / sec_1782112078518 */
.global-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  min-height: 78px;
  padding: 14px 34px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: center;
  background: /*rgba(16, 23, 24, .88)*/ rgb(21 53 42 / 90%);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.header-logo {
  font-family: var(--font-serif);
  color: var(--gold-light);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .14em;
  white-space: nowrap;
}
.header-logo img { max-height: 46px; width: auto; object-fit: contain; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: 22px; }
.desktop-nav a {
  color: var(--text-on-dark-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  position: relative;
  white-space: nowrap;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 1px;
  background: var(--gold-light);
  transition: width .25s ease;
}
.desktop-nav a:hover::after, .desktop-nav a.active::after { width: 100%; }
.header-btns { display: flex; align-items: center; gap: 12px; }
.btn-header-tel { color: var(--text-on-dark); font-weight: 800; font-size: 13px; }
.btn-header-reserve, .course-list-reserve, .slf-reserve-btn, .btn-menu-more, .btn-recruit-link, .btn-job-apply, .btn-submit-contact, .btn-nab-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 4px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #111;
  font-weight: 800;
  padding: 12px 22px;
  cursor: pointer;
}
.btn-header-reserve:hover, .course-list-reserve:hover, .slf-reserve-btn:hover, .btn-menu-more:hover, .btn-recruit-link:hover, .btn-job-apply:hover, .btn-submit-contact:hover, .btn-nab-back:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #111;
}
.menu-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--gold-light);
  width: 42px;
  height: 42px;
  border-radius: 4px;
}
.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(16, 23, 24, .96);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.mobile-nav-overlay.active { opacity: 1; visibility: visible; }
.mobile-nav-overlay a { font-size: 18px; color: var(--text-main); }
@media (max-width: 992px) {
  .global-header { display: flex; min-height: 68px; padding: 12px 18px; }
  .desktop-nav, .header-btns { display: none; }
  .menu-trigger { display: inline-flex; margin-left: auto; }
  .header-logo { font-size: 18px; }
}


/* =========================================================
   Page: index / アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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




.a-mv {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-soft: #5E7F70;
  --c-beige: #EFE6D2;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;   /* サイトで読み込み済み（400／800） */
  --f-en: "Shippori Mincho", "Yu Mincho", serif;
  --lattice: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1.2'%3E%3Cpath d='M4 4h48v48H4z'/%3E%3Cpath d='M14 14h28v28H14z'/%3E%3Cpath d='M28 4v10M28 42v10M4 28h10M42 28h10'/%3E%3Cpath d='M21 21h14v14H21z'/%3E%3C/g%3E%3C/svg%3E");
  --header-h: 78px;                         /* CMSの固定ヘッダーの高さ（重ならないように空ける） */
  --slide-time: 6s;                         /* 1枚あたりの表示時間 */
  --cycle: calc(var(--slide-time) * 3);     /* 3枚で1周 */
  position: relative;
  padding: calc(var(--header-h) + 24px) 24px 0;
  background-color: var(--c-beige);
  background-image: var(--lattice);
  background-size: 56px 56px;
  background-blend-mode: multiply;
}
.a-mv, .a-mv *, .a-mv *::before, .a-mv *::after { box-sizing: border-box; }
.a-mv ul, .a-mv ol, .a-mv li, .a-mv h1, .a-mv p { margin: 0; padding: 0; list-style: none; }
.a-mv img { display: block; max-width: none; }

/* 四隅の格子飾り */
.a-mv .a-corner {
  position: absolute;
  width: 56px;
  height: 56px;
  color: var(--c-green);
  pointer-events: none;
}
.a-mv .a-corner--tl { top: 0; left: 0; }
.a-mv .a-corner--tr { top: 0; right: 0; transform: scaleX(-1); }
.a-mv .a-corner--bl { bottom: 0; left: 0; transform: scaleY(-1); }
.a-mv .a-corner--br { bottom: 0; right: 0; transform: scale(-1, -1); }

.a-mv::before {                             /* 格子柄を薄くするベール */
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(239, 230, 210, .9);
  pointer-events: none;
}

/* 写真の額縁：深緑の二重線 */
.a-mv__frame {
  position: relative;
  z-index: 1;
  height: min(calc(100vh - 110px - var(--header-h)), 820px);
  min-height: 480px;
  padding: 14px;
  border: 2px solid var(--c-green);
  background: var(--c-white);
}
.a-mv__frame::after {                       /* 内側の細線 */
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid var(--c-green);
  pointer-events: none;
}
.a-mv .a-mv__frame > .a-corner { z-index: 2; margin: -2px; }

.a-mv__slides {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--c-green-deep);
}
.a-mv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: aMvFade var(--cycle) infinite;
}
.a-mv__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: aMvZoom var(--cycle) infinite linear;
}
.a-mv__slide:nth-child(2),
.a-mv__slide:nth-child(2) img { animation-delay: var(--slide-time); }
.a-mv__slide:nth-child(3),
.a-mv__slide:nth-child(3) img { animation-delay: calc(var(--slide-time) * 2); }

/* 1枚目は読み込み直後から表示し、3枚目の後にフェードで戻る */
.a-mv__slide:first-child { opacity: 1; animation-name: aMvFadeFirst; }

@keyframes aMvFade {
  0%    { opacity: 0; }
  6%    { opacity: 1; }
  33.3% { opacity: 1; }
  40%   { opacity: 0; }
  100%  { opacity: 0; }
}
@keyframes aMvFadeFirst {
  0%    { opacity: 1; }
  33.3% { opacity: 1; }
  40%   { opacity: 0; }
  94%   { opacity: 0; }
  100%  { opacity: 1; }
}
@keyframes aMvZoom {
  0%   { transform: scale(1.08); }
  40%  { transform: scale(1); }
  100% { transform: scale(1); }
}

/* ---------- キャッチコピー（左に縦書きの扁額） ---------- */
.a-mv__copy {
  position: absolute;
  left: 64px;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 48px 36px 36px;
  background: var(--c-beige-light);
  border: 2px solid var(--c-green);
  color: var(--c-green);
  box-shadow: 0 0 0 6px rgba(247, 242, 231, .45);
}
.a-mv__copy::after {                         /* 内側の細線 */
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--c-green);
  pointer-events: none;
}
.a-mv .a-mv__copy .a-corner { width: 32px; height: 32px; margin: -2px; }
.a-mv__catch {
  writing-mode: vertical-rl;
  display: flex;
  flex-direction: column;      /* 縦書きでは column が「右から左へ行を並べる」向き */
  gap: 0.35em;
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(28px, 4.6vh, 44px);
  line-height: 1.3;
  letter-spacing: 0.18em;
  color: var(--c-green-deep);
}
.a-mv__catch span:last-child { margin-top: 2.2em; }   /* 2行目を下げてリズムを出す */
.a-mv__catch-en {
  writing-mode: vertical-rl;
  font-family: var(--f-en);
  font-size: 14px;
  letter-spacing: 0.1em;
  color: var(--c-green-soft);
  display: none;                                        /* 英文を出す場合は block に */
}

/* スタンプ（右下・ゆっくり回転） */
.a-mv__stamp {
  position: absolute;
  right: 56px;
  bottom: 56px;
  z-index: 3;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  background: var(--c-beige-light);
  color: var(--c-green);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 6px rgba(247, 242, 231, .5);
}
.a-mv__stamp-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: aMvSpin 30s linear infinite;
}
.a-mv__stamp-ring text {
  font-family: var(--f-en);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.12em;
  fill: currentColor;
}
.a-mv__stamp-mark { width: 40px; height: 40px; }
@keyframes aMvSpin { to { transform: rotate(360deg); } }

/* 下部：スライド番号＋進行バー */
.a-mv__foot {
  position: relative;
  z-index: 1;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
}
.a-mv__dots { display: flex; gap: 28px; margin: 0; padding: 0; list-style: none; }
.a-mv__dots li { display: flex; align-items: center; gap: 12px; }
.a-mv__num { font-family: var(--f-en); font-size: 15px; font-weight: 400; letter-spacing: 0.1em; color: var(--c-green); }
.a-mv__bar {
  position: relative;
  width: 64px;
  height: 2px;
  background: rgba(31, 74, 58, .2);
  overflow: hidden;
}
.a-mv__bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-green);
  transform: scaleX(0);
  transform-origin: left;
  animation: aMvBar var(--cycle) infinite linear;
}
.a-mv__dots li:nth-child(2) .a-mv__bar::after { animation-delay: var(--slide-time); }
.a-mv__dots li:nth-child(3) .a-mv__bar::after { animation-delay: calc(var(--slide-time) * 2); }
@keyframes aMvBar {
  0%     { transform: scaleX(0); opacity: 1; }
  33.3%  { transform: scaleX(1); opacity: 1; }
  36%    { transform: scaleX(1); opacity: 0; }
  100%   { transform: scaleX(0); opacity: 0; }
}
.a-mv__scroll {
  font-family: var(--f-en);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--c-green);
  display: flex;
  align-items: center;
  gap: 14px;
}
.a-mv__scroll::after { content: ""; width: 48px; height: 1px; background: var(--c-green); }

@media (max-width: 767px) {
  .a-mv { --header-h: 64px; padding: calc(var(--header-h) + 12px) 12px 0; }
  .a-mv__frame { height: 72vh; min-height: 420px; padding: 10px; }
  .a-mv__frame::after { inset: 5px; }
  .a-mv .a-mv__frame > .a-corner { width: 36px; height: 36px; }
  .a-mv__copy { left: 24px; top: 24px; transform: none; padding: 32px 22px 24px; }
  .a-mv .a-mv__copy .a-corner { width: 22px; height: 22px; }
  .a-mv__catch { font-size: 24px; }
  .a-mv__stamp { width: 112px; height: 112px; right: 24px; bottom: 24px; }
  .a-mv__stamp-mark { width: 28px; height: 28px; }
  .a-mv__foot { height: 64px; }
  .a-mv__dots { gap: 16px; }
  .a-mv__bar { width: 32px; }
  .a-mv__scroll { display: none; }
}

/* 動きを減らす設定の人には1枚目だけ表示 */
@media (prefers-reduced-motion: reduce) {
  .a-mv__slide, .a-mv__slide img, .a-mv__bar::after, .a-mv__stamp-ring { animation: none; }
  .a-mv__slide:not(:first-child) { opacity: 0; }
}

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





.b-about {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-about, .b-about *, .b-about *::before, .b-about *::after) { box-sizing: border-box; }
.b-about h1, .b-about h2, .b-about h3, .b-about p, .b-about ul, .b-about ol, .b-about li, .b-about figure { margin: 0; padding: 0; list-style: none; }
.b-about img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-about .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-about .b-deco--cloud2 { --m: url("/image/assets/asset_20260930202733_6abcf225df04d.webp"); width: 360px; aspect-ratio: 700 / 241; }
.b-about .b-deco--cloud3 { --m: url("/image/assets/asset_20260930202733_6abcf225ef20d.webp"); width: 360px; aspect-ratio: 420 / 201; }
.b-about { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-about .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-about .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-about .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-about .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-about .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-about .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-about .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-about .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-about .b-ribbon::before, .b-about .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-about .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-about .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-about .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-about .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-about .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; font-weight: 900; }

/* 区切り線（◆入り） */
.b-about .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-about .b-rule::before, .b-about .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-about .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-about .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-about .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-about .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-about .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-about .b-btn:hover svg { transform: translateX(4px); }
.b-about .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-about .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-about .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-about .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-about .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* ---------- ③ 本場仕込みの味（B案） ---------- */
.b-about {
  padding: 150px 24px;
  background-color: var(--c-beige-light);
  background-image: var(--shippo-green);
  background-size: 48px 48px;
  overflow: hidden;
}
.b-about::before { content: ""; position: absolute; inset: 0; background: rgba(247, 242, 231, .9); pointer-events: none; }
.b-about .b-about__inner {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 500px) minmax(0, 560px);
  justify-content: space-between;
  align-items: center;
  gap: 72px;
}

/* アーチ型の写真＋丸い写真 */
.b-about .b-about__visual { position: relative; padding: 0 0 60px 0; }
.b-about .b-about__arch {
  position: relative;
  width: 84%;
  aspect-ratio: 420 / 540;
  border-radius: 999px 999px 0 0;
  overflow: hidden;
  background: #CFC5B0;
}
.b-about .b-about__visual::before {                   /* アーチの外側の点線 */
  z-index: 1;
  content: "";
  position: absolute;
  left: -14px;
  top: -14px;
  width: calc(84% + 28px);
  aspect-ratio: 448 / 568;
  border: 1px dashed var(--c-green);
  border-radius: 999px 999px 0 0;
  pointer-events: none;
}
.b-about .b-about__round {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 44%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: #CFC5B0;
  box-shadow: 0 0 0 8px var(--c-beige-light), 0 0 0 9px var(--c-green), 0 0 0 14px var(--c-beige-light), 0 0 0 15px var(--c-green);
}

.b-about .b-about__body { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.b-about .b-about__body .b-ribbon { margin-left: 24px; }

/* 修業先：装飾枠の中に◆区切りで並べる */
.b-about .b-about__career { position: relative; align-self: stretch; padding: 30px 32px 26px; color: var(--c-green); text-align: center; }
.b-about .b-about__career-title { font-family: var(--f-title); font-weight: 800; font-size: 16px; letter-spacing: 0.24em; color: var(--c-green-deep); }
.b-about .b-about__countries { margin-top: 12px; display: flex; flex-wrap: wrap; justify-content: center; row-gap: 6px; }
.b-about .b-about__countries li { display: flex; align-items: center; font-size: 16px; letter-spacing: 0.1em; color: var(--c-ink); }
.b-about .b-about__countries li + li::before { content: ""; width: 6px; height: 6px; margin: 0 16px; background: var(--c-green); transform: rotate(45deg); }

.b-about .b-about__cloud1 { left: -40px; top: 60px; width: 360px; color: var(--c-green); opacity: .16; }
.b-about .b-about__cloud2 { right: -20px; bottom: 50px; width: 240px; color: var(--c-green); opacity: .16; }

@media (max-width: 900px) {
  .b-about { padding: 96px 20px; }
  .b-about .b-about__inner { grid-template-columns: 1fr; gap: 64px; }
  .b-about .b-about__career { padding: 28px 18px 22px; }
  .b-about .b-about__cloud1 { width: 220px; top: 20px; }
  .b-about .b-about__cloud2 { width: 160px; }
}

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




.b-menu {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-menu, .b-menu *, .b-menu *::before, .b-menu *::after) { box-sizing: border-box; }
.b-menu h1, .b-menu h2, .b-menu h3, .b-menu p, .b-menu ul, .b-menu ol, .b-menu li, .b-menu figure { margin: 0; padding: 0; list-style: none; }
.b-menu img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-menu .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-menu .b-deco--cloud1 { --m: url("/image/assets/asset_20260930202733_6abcf225cee73.webp"); width: 360px; aspect-ratio: 600 / 162; }
.b-menu .b-deco--cloud4 { --m: url("/image/assets/asset_20260930202734_6abcf226089c5.webp"); width: 360px; aspect-ratio: 700 / 188; }
.b-menu { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-menu .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-menu .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-menu .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-menu .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-menu .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-menu .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-menu .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-menu .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-menu .b-ribbon::before, .b-menu .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-menu .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-menu .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-menu .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-menu .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-menu .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; font-weight: 800;}

/* 区切り線（◆入り） */
.b-menu .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-menu .b-rule::before, .b-menu .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-menu .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-menu .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-menu .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-menu .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-menu .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-menu .b-btn:hover svg { transform: translateX(4px); }
.b-menu .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-menu .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-menu .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-menu .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-menu .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* セクション上端の飾り線（太線＋細線＋点線の三重ライン） */
.b-menu::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 14px;
  pointer-events: none;
  color: var(--edge, var(--c-green));
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
    linear-gradient(currentColor, currentColor) 0 7px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 10px) 0 12px / 100% 1px no-repeat;
}

/* ---------- ④ バラエティー豊かなメニュー（B案・深緑） ---------- */
.b-menu {
  --edge: var(--c-beige-dark);         /* 深緑の背景なので上端の線はベージュ */
  padding: 150px 24px;
  background-color: var(--c-green);
  background-image: var(--shippo-light);
  background-size: 48px 48px;
  color: var(--c-beige-light);
  overflow: hidden;
}
.b-menu::before { content: ""; position: absolute; inset: 0; background: rgba(31, 74, 58, .92); pointer-events: none; }
.b-menu .b-menu__inner {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.b-menu .b-menu__head { display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; }
.b-menu .b-title { color: var(--c-beige-light); }
.b-menu .b-text { color: #DDE6DF; }

/* ひし形の写真 */
.b-menu .b-menu__items {
  margin-top: 96px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 65px;
}
.b-menu .b-menu__item { display: flex; flex-direction: column; align-items: center; gap: 65px; }
.b-menu .b-menu__diamond {
  position: relative;
  width: 70%;
  aspect-ratio: 1;
  transform: rotate(45deg);
  overflow: hidden;
  background: var(--c-green-deep);
  outline: 1px solid var(--c-beige-dark);
  outline-offset: 10px;
}
.b-menu .b-menu__diamond img { transform: rotate(-45deg) scale(1.42); transition: transform .8s ease; }
.b-menu .b-menu__item:hover .b-menu__diamond img { transform: rotate(-45deg) scale(1.5); }
.b-menu .b-menu__name {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: 0.12em;
  color: var(--c-beige-light);
}
.b-menu .b-menu__name span { font-weight: 400; font-size: 16px; color: var(--c-beige-dark); }

/* ほかのメニュー */
.b-menu .b-menu__more { position: relative; margin-top: 88px; padding: 30px 48px; color: var(--c-beige-dark); }
.b-menu .b-menu__list { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 8px; max-width: 820px; }
.b-menu .b-menu__list li { display: flex; align-items: center; font-size: 16px; letter-spacing: 0.12em; color: var(--c-beige-light); }
.b-menu .b-menu__list li + li::before { content: ""; width: 6px; height: 6px; margin: 0 18px; background: var(--c-beige-dark); transform: rotate(45deg); }
.b-menu .b-menu__btn { align-self: center; margin-top: 64px; }

.b-menu .b-menu__cloud1 { left: -30px; top: 60px; width: 380px; color: var(--c-beige); opacity: .22; }
.b-menu .b-menu__orn { color: var(--c-beige-dark); }
.b-menu .b-menu__cloud2 { right: -40px; bottom: 80px; width: 460px; color: var(--c-beige); opacity: .22; }

@media (max-width: 900px) {
  .b-menu { padding: 96px 20px; }
  .b-menu .b-menu__head .b-text { text-align: left; }
  .b-menu .b-menu__cloud1 { width: 220px; }
  .b-menu .b-menu__cloud2 { width: 260px; }
  .b-menu .b-menu__head .b-text br { display: none; }
  .b-menu .b-menu__items { grid-template-columns: 1fr; gap: 64px; margin-top: 72px; }
  .b-menu .b-menu__diamond { width: 58%; }
  .b-menu .b-menu__more { padding: 26px 16px; }
  .b-menu .b-menu__list li + li::before { margin: 0 10px; }
}

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




.b-pk {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-pk, .b-pk *, .b-pk *::before, .b-pk *::after) { box-sizing: border-box; }
.b-pk h1, .b-pk h2, .b-pk h3, .b-pk p, .b-pk ul, .b-pk ol, .b-pk li, .b-pk figure { margin: 0; padding: 0; list-style: none; }
.b-pk img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-pk .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-pk .b-deco--cloud3 { --m: url("/image/assets/asset_20260930202733_6abcf225ef20d.webp"); width: 360px; aspect-ratio: 420 / 201; }
.b-pk .b-deco--cloud4 { --m: url("/image/assets/asset_20260930202734_6abcf226089c5.webp"); width: 360px; aspect-ratio: 700 / 188; }
.b-pk { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-pk .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-pk .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-pk .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-pk .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-pk .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-pk .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-pk .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-pk .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-pk .b-ribbon::before, .b-pk .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-pk .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-pk .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-pk .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-pk .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-pk .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; font-weight: 800;}

/* 区切り線（◆入り） */
.b-pk .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-pk .b-rule::before, .b-pk .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-pk .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-pk .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-pk .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-pk .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-pk .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-pk .b-btn:hover svg { transform: translateX(4px); }
.b-pk .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-pk .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-pk .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-pk .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-pk .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* セクション上端の飾り線（太線＋細線＋点線の三重ライン） */
.b-pk::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 14px;
  pointer-events: none;
  color: var(--edge, var(--c-green));
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
    linear-gradient(currentColor, currentColor) 0 7px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 10px) 0 12px / 100% 1px no-repeat;
}

/* ---------- ⑤ スパイス香る、本場パキスタンの味（B案・ベージュ） ---------- */
.b-pk {
  padding: 150px 24px;
  background-color: var(--c-beige);
  background-image: var(--shippo-green);
  background-size: 48px 48px;
  overflow: hidden;
}
.b-pk::before { content: ""; position: absolute; inset: 0; background: rgba(239, 230, 210, .9); pointer-events: none; }
.b-pk .b-pk__bg-word {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(56px, 7vw, 104px);
  letter-spacing: 0.12em;
  line-height: 1;
  color: rgba(31, 74, 58, .07);
  pointer-events: none;
}
.b-pk .b-pk__inner {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 500px) minmax(0, 520px);
  justify-content: space-between;
  align-items: center;
  gap: 72px;
}
.b-pk .b-pk__body { display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.b-pk .b-pk__body .b-ribbon { margin-left: 24px; }


/* 丸いお皿のような写真＋同心円の線 */
.b-pk .b-pk__visual { position: relative; padding: 28px; }
.b-pk .b-pk__visual::before, .b-pk .b-pk__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.b-pk .b-pk__visual::before { inset: 0; border: 1px solid var(--c-green); }
.b-pk .b-pk__visual::after { inset: 12px; border: 1px dashed var(--c-green); opacity: .6; }
.b-pk .b-pk__plate {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: #CFC5B0;
  box-shadow: 0 0 0 6px var(--c-beige-light);
}

/* 日曜ビュッフェの印 */
.b-pk .b-pk__seal {
  position: absolute;
  left: -20px;
  bottom: 24px;
  z-index: 3;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--c-green);
  color: var(--c-beige-light);
  text-align: center;
  box-shadow: 0 0 0 5px var(--c-beige), 0 0 0 6px var(--c-green);
}
.b-pk .b-pk__seal::before { content: ""; position: absolute; inset: 7px; border: 1px dashed var(--c-beige-dark); border-radius: 50%; opacity: .7; }
.b-pk .b-pk__seal-en { font-size: 10px; letter-spacing: 0.2em; text-indent: 0.2em; color: var(--c-beige-dark); }
.b-pk .b-pk__seal-jp { font-family: var(--f-title); font-weight: 800; font-size: 18px; line-height: 1.45; letter-spacing: 0.08em; }

.b-pk .b-pk__cloud1 { left: -60px; bottom: 40px; width: 420px; color: var(--c-green); opacity: .18; }
.b-pk .b-pk__cloud2 { right: 90px; top: 40px; width: 220px; color: var(--c-green); opacity: .18; transform: scaleX(-1); }

@media (max-width: 900px) {
  .b-pk { padding: 96px 20px; }
  .b-pk .b-pk__bg-word { display: none; }
  .b-pk .b-pk__inner { grid-template-columns: 1fr; gap: 56px; }
  .b-pk .b-pk__visual { padding: 18px; }
  .b-pk .b-pk__visual::after { inset: 8px; }
  .b-pk .b-pk__seal { width: 116px; height: 116px; left: -8px; bottom: 0; }
  .b-pk .b-pk__seal-jp { font-size: 16px; }
}


#pakistan > div > div.b-pk__body > p.b-ribbon
{
    text-align: center;

}

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




.b-party {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-party, .b-party *, .b-party *::before, .b-party *::after) { box-sizing: border-box; }
.b-party h1, .b-party h2, .b-party h3, .b-party p, .b-party ul, .b-party ol, .b-party li, .b-party figure { margin: 0; padding: 0; list-style: none; }
.b-party img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-party .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-party .b-deco--cloud1 { --m: url("/image/assets/asset_20260930202733_6abcf225cee73.webp"); width: 360px; aspect-ratio: 600 / 162; }
.b-party .b-deco--cloud2 { --m: url("/image/assets/asset_20260930202733_6abcf225df04d.webp"); width: 360px; aspect-ratio: 700 / 241; }
.b-party { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-party .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-party .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-party .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-party .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-party .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-party .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-party .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-party .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-party .b-ribbon::before, .b-party .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-party .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-party .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-party .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-party .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-party .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; font-weight: 800;}

/* 区切り線（◆入り） */
.b-party .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-party .b-rule::before, .b-party .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-party .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-party .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-party .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-party .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-party .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-party .b-btn:hover svg { transform: translateX(4px); }
.b-party .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-party .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-party .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-party .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-party .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* セクション上端の飾り線（太線＋細線＋点線の三重ライン） */
.b-party::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 14px;
  pointer-events: none;
  color: var(--edge, var(--c-green));
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
    linear-gradient(currentColor, currentColor) 0 7px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 10px) 0 12px / 100% 1px no-repeat;
}

/* ---------- ⑥ 大切なひとときを、華やかな料理とともに（B案・深緑） ---------- */
.b-party {
  --edge: var(--c-beige-dark);         /* 深緑の背景なので上端の線はベージュ */
  padding: 150px 24px 160px;
  background-color: var(--c-green);
  background-image: var(--shippo-light);
  background-size: 48px 48px;
  overflow: hidden;
}
.b-party::before { content: ""; position: absolute; inset: 0; background: rgba(31, 74, 58, .93); pointer-events: none; }
.b-party .b-party__inner {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
}
/* 写真（左8列・大きな角丸の窓）にカード（右5列）を重ねる */
.b-party .b-party__photo {
  grid-column: 1 / 9;
  grid-row: 1;
  aspect-ratio: 16 / 11;
  border-radius: 18px 200px 18px 200px;
  overflow: hidden;
  background: var(--c-green-deep);
  outline: 1px dashed rgba(239, 230, 210, .6);
  outline-offset: 12px;
}
.b-party .b-party__card {
  grid-column: 7 / 13;
  grid-row: 1;
  position: relative;
  z-index: 3;
  margin-top: 160px;
  padding: 64px 44px 44px;
  display: flex;
  flex-direction: column;
  gap: 26px;
  background: var(--c-beige-light);
  color: var(--c-green);
}
.b-party .b-party__card .b-frame { inset: 10px; }
.b-party .b-party__card .b-text { font-size: 16px; color: var(--c-ink); }
.b-party .b-party__ribbon { position: absolute; top: -75px; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 16px; }

.b-party .b-party__cloud1 { right: -40px; top: 40px; width: 420px; color: var(--c-beige); opacity: .22; }
.b-party .b-party__cloud2 { left: 30%; bottom: 30px; width: 320px; color: var(--c-beige); opacity: .2; transform: scaleX(-1); }

@media (max-width: 900px) {
  .b-party { padding: 96px 10px; }
  .b-party .b-party__inner { display: block; }
  .b-party .b-party__photo { border-radius: 14px 120px 14px 120px; outline-offset: 8px; }
  .b-party .b-party__card { margin: 40px 8px 0; padding: 52px 24px 34px; }
  .b-party .b-party__cloud1 { width: 240px; }
  .b-party .b-party__cloud2 { width: 200px; left: 10%; }
}
.b-party .b-party__card .b-title { font-size: clamp(24px, 2.2vw, 32px); }

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

@charset "UTF-8";
/* ==========================================================
   gallery.css — B案 ギャラリー（無限ループ）
   このCSSだけで完結します（色・フォント・飾りも同梱）
   ========================================================== */
/* ---------- B案 共通の土台（このセクションだけで完結させるため各CSSに同梱） ---------- */
.b-gallery {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-gallery, .b-gallery *, .b-gallery *::before, .b-gallery *::after) { box-sizing: border-box; }
.b-gallery h1, .b-gallery h2, .b-gallery h3, .b-gallery p, .b-gallery ul, .b-gallery ol, .b-gallery li, .b-gallery figure { margin: 0; padding: 0; list-style: none; }
.b-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-gallery .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-gallery .b-deco--cloud1 { --m: url("/image/assets/asset_20260930202733_6abcf225cee73.webp"); width: 360px; aspect-ratio: 600 / 162; }
.b-gallery .b-deco--cloud3 { --m: url("/image/assets/asset_20260930202733_6abcf225ef20d.webp"); width: 360px; aspect-ratio: 420 / 201; }
.b-gallery { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-gallery .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-gallery .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-gallery .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-gallery .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-gallery .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-gallery .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-gallery .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-gallery .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-gallery .b-ribbon::before, .b-gallery .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-gallery .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-gallery .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-gallery .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-gallery .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-gallery .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }

/* 区切り線（◆入り） */
.b-gallery .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-gallery .b-rule::before, .b-gallery .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-gallery .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-gallery .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-gallery .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-gallery .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-gallery .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-gallery .b-btn:hover svg { transform: translateX(4px); }
.b-gallery .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-gallery .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-gallery .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-gallery .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-gallery .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* ---------- ギャラリー（B案・青海波の背景／写真が左へ無限ループ） ---------- */
.b-gallery {
  --loop-time: 40s;                         /* 1周の時間（大きいほどゆっくり） */
  padding: 140px 0 130px;
  background-color: #F3ECDC;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'%3E%3Crect width='40' height='20' fill='%23F3ECDC'/%3E%3Ccircle cx='0' cy='0' r='20' fill='%23F3ECDC'/%3E%3Ccircle cx='0' cy='0' r='19' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='0' r='14' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='0' r='9' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='0' r='4' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='0' r='20' fill='%23F3ECDC'/%3E%3Ccircle cx='40' cy='0' r='19' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='0' r='14' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='0' r='9' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='0' r='4' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='20' cy='10' r='20' fill='%23F3ECDC'/%3E%3Ccircle cx='20' cy='10' r='19' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='20' cy='10' r='14' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='20' cy='10' r='9' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='20' cy='10' r='4' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='20' r='20' fill='%23F3ECDC'/%3E%3Ccircle cx='0' cy='20' r='19' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='20' r='14' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='20' r='9' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='0' cy='20' r='4' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='20' r='20' fill='%23F3ECDC'/%3E%3Ccircle cx='40' cy='20' r='19' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='20' r='14' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='20' r='9' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3Ccircle cx='40' cy='20' r='4' fill='none' stroke='%231F4A3A' stroke-opacity='.2' stroke-width='1.2'/%3E%3C/svg%3E");
  background-size: 40px 20px;
  overflow: hidden;
}
.b-gallery .b-gallery__head {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 0 24px;
  text-align: center;
}

/* 無限ループ：余白なしで横いっぱい */
.b-gallery .b-gallery__loop {
  position: relative;
  z-index: 2;
  margin: 72px 0 0;
  padding: 0;
  overflow: hidden;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
}
.b-gallery .b-gallery__track {
  display: flex;
  width: max-content;
  margin: 0;
  padding: 0;
  animation: bGalleryLoop var(--loop-time) linear infinite;
}
.b-gallery .b-gallery__loop:hover .b-gallery__track { animation-play-state: paused; }
.b-gallery .b-gallery__item {
  flex: 0 0 25vw;                           /* PC：画面幅に4枚 */
  width: 25vw;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #CFC5B0;
}
.b-gallery .b-gallery__item img { transition: transform .8s ease; }
.b-gallery .b-gallery__item:hover img { transform: scale(1.06); }
@keyframes bGalleryLoop { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.b-gallery .b-gallery__foot { position: relative; z-index: 2; display: flex; justify-content: center; margin-top: 56px; }
.b-gallery .b-gallery__foot .b-btn { align-self: center; }

.b-gallery .b-gallery__cloud1 { left: -30px; top: 50px; width: 260px; color: var(--c-green); opacity: .18; }
.b-gallery .b-gallery__cloud2 { right: -40px; top: 90px; width: 340px; color: var(--c-green); opacity: .16; transform: scaleX(-1); }

@media (max-width: 900px) {
  .b-gallery { padding: 96px 0; }
  .b-gallery .b-gallery__item { flex-basis: 50vw; width: 50vw; }   /* スマホ：2枚 */
  .b-gallery { --loop-time: 30s; }
  .b-gallery .b-gallery__cloud1 { width: 160px; }
  .b-gallery .b-gallery__cloud2 { width: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .b-gallery .b-gallery__track { animation: none; }
  .b-gallery .b-gallery__loop { overflow-x: auto; }
}

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





.b-access {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-access, .b-access *, .b-access *::before, .b-access *::after) { box-sizing: border-box; }
.b-access h1, .b-access h2, .b-access h3, .b-access p, .b-access ul, .b-access ol, .b-access li, .b-access figure { margin: 0; padding: 0; list-style: none; }
.b-access img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-access .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-access .b-deco--cloud1 { --m: url("/image/assets/asset_20260930202733_6abcf225cee73.webp"); width: 360px; aspect-ratio: 600 / 162; }
.b-access .b-deco--cloud3 { --m: url("/image/assets/asset_20260930202733_6abcf225ef20d.webp"); width: 360px; aspect-ratio: 420 / 201; }
.b-access { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-access .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-access .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-access .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-access .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-access .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-access .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-access .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-access .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-access .b-ribbon::before, .b-access .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-access .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-access .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-access .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-access .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-access .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }

/* 区切り線（◆入り） */
.b-access .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-access .b-rule::before, .b-access .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-access .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-access .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-access .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-access .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-access .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-access .b-btn:hover svg { transform: translateX(4px); }
.b-access .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-access .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-access .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-access .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-access .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* セクション上端の飾り線（太線＋細線＋点線の三重ライン） */
.b-access::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 14px;
  pointer-events: none;
  color: var(--edge, var(--c-green));
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
    linear-gradient(currentColor, currentColor) 0 7px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 10px) 0 12px / 100% 1px no-repeat;
}

/* ---------- 店舗案内・アクセス（B案・深緑） ---------- */
.b-access {
  --edge: var(--c-beige-dark);         /* 深緑の背景なので上端の線はベージュ */
  padding: 140px 24px 150px;
  background-color: var(--c-green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1.2'%3E%3Cpath d='M4 4h48v48H4z'/%3E%3Cpath d='M14 14h28v28H14z'/%3E%3Cpath d='M28 4v10M28 42v10M4 28h10M42 28h10'/%3E%3Cpath d='M21 21h14v14H21z'/%3E%3C/g%3E%3C/svg%3E");   /* MVと同じ格子窓の柄 */
  background-size: 56px 56px;
  overflow: hidden;
}
.b-access::before { content: ""; position: absolute; inset: 0; background: rgba(31, 74, 58, .92); pointer-events: none; }  /* 柄を薄くするベール */
.b-access .b-access__inner { position: relative; z-index: 2; max-width: 1160px; margin-inline: auto; }
.b-access .b-title { color: var(--c-beige-light); }
.b-access .b-orn { color: var(--c-beige-dark); }
.b-access .b-access__head { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }

.b-access .b-access__body {
  margin-top: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: stretch;
}

/* 店舗情報 */
.b-access .b-access__info { position: relative; padding: 44px 48px; background: var(--c-white); color: var(--c-green); }
.b-access .b-access__info .b-frame { inset: 10px; }
.b-access .b-access__table { position: relative; z-index: 3; margin: 0; }
.b-access .b-access__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px dashed rgba(31, 74, 58, .35);
}
.b-access .b-access__row:first-child { border-top: 1px dashed rgba(31, 74, 58, .35); }
.b-access .b-access__row dt { margin: 0; font-family: var(--f-title); font-weight: 800; font-size: 16px; letter-spacing: 0.14em; color: var(--c-green-deep); }
.b-access .b-access__row dd { margin: 0; font-size: 16px; line-height: 1.9; letter-spacing: 0.06em; color: var(--c-ink); }
.b-access .b-access__row a { color: var(--c-green); text-decoration: underline; text-underline-offset: 4px; }

/* イラストマップ */
.b-access .b-access__map { position: relative; margin: 0; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.b-access .b-access__map img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9.4;                   /* 画像読み込み前も高さを確保 */
  object-fit: contain;
  background: #1c1c1c;
  box-shadow: 0 0 0 6px var(--c-green), 0 0 0 7px var(--c-beige-dark);
}
.b-access .b-access__caption { text-align: center; font-size: 16px; letter-spacing: 0.16em; color: var(--c-beige); }

/* Googleマップ（横いっぱい） */
.b-access .b-access__gmap {
  margin-top: 64px;
  aspect-ratio: 1160 / 420;
  border: 1px solid var(--c-beige-dark);
  outline: 1px dashed rgba(239, 230, 210, .5);
  outline-offset: 6px;
  background: #D5CEC2;
}
.b-access .b-access__gmap iframe { display: block; width: 100%; height: 100%; border: 0; }

.b-access .b-access__cloud1 { left: -40px; top: 60px; width: 320px; color: var(--c-beige); opacity: .2; }
.b-access .b-access__cloud2 { right: -20px; top: 120px; width: 220px; color: var(--c-beige); opacity: .2; transform: scaleX(-1); }

@media (max-width: 900px) {
  .b-access { padding: 96px 16px; }
  .b-access .b-access__body { grid-template-columns: 1fr; gap: 48px; margin-top: 48px; }
  .b-access .b-access__info { padding: 32px 22px; }
  .b-access .b-access__row { grid-template-columns: 92px 1fr; gap: 10px; }
  .b-access .b-access__gmap { aspect-ratio: 4 / 3; margin-top: 48px; }
  .b-access .b-access__cloud1 { width: 200px; }
  .b-access .b-access__cloud2 { width: 140px; }
}


/* =========================================================
   Page: menu / MENU｜アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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

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


.b-mp {
  --c-green: #1F4A3A;
  --c-green-deep: #15352A;
  --c-green-mid: #2C5C49;
  --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2;
  --c-beige-dark: #D9CBAE;
  --c-beige-light: #F7F2E7;
  --c-white: #FFFFFF;
  --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --f-body: "Shippori Mincho", "Yu Mincho", serif;
  --shippo-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  --shippo-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='24'/%3E%3Ccircle cx='48' cy='0' r='24'/%3E%3Ccircle cx='0' cy='48' r='24'/%3E%3Ccircle cx='48' cy='48' r='24'/%3E%3Ccircle cx='24' cy='24' r='24'/%3E%3C/g%3E%3C/svg%3E");
  position: relative;
  font-family: var(--f-body);
  color: var(--c-ink);
}
:where(.b-mp, .b-mp *, .b-mp *::before, .b-mp *::after) { box-sizing: border-box; }
.b-mp h1, .b-mp h2, .b-mp h3, .b-mp p, .b-mp ul, .b-mp ol, .b-mp li, .b-mp figure { margin: 0; padding: 0; list-style: none; }
.b-mp img { display: block; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* 飾り画像（透過PNGをマスクにして currentColor で塗る＝色を自由に変えられる） */
.b-mp .b-deco { position: absolute; display: block; pointer-events: none; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; z-index: 1; }
.b-mp { --m-orn: url("/image/assets/asset_20260930202748_6abcf23410ea2.webp"); }

/* 装飾枠：細線＋点線＋四隅の飾り */
.b-mp .b-frame { position: absolute; inset: 0; pointer-events: none; border: 1px solid currentColor; z-index: 2; }
.b-mp .b-frame::before { content: ""; position: absolute; inset: 6px; border: 1px dashed currentColor; opacity: .6; }
.b-mp .b-frame i { position: absolute; width: 44px; height: 44px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M2 46V2h44'/%3E%3Cpath d='M8 46V8h38' stroke-dasharray='2 3'/%3E%3Cpath d='M2 18c8 0 16-8 16-16'/%3E%3Ccircle cx='14' cy='14' r='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.b-mp .b-frame i:nth-child(1) { top: -1px; left: -1px; }
.b-mp .b-frame i:nth-child(2) { top: -1px; right: -1px; transform: scaleX(-1); }
.b-mp .b-frame i:nth-child(3) { bottom: -1px; left: -1px; transform: scaleY(-1); }
.b-mp .b-frame i:nth-child(4) { bottom: -1px; right: -1px; transform: scale(-1, -1); }

/* リボン見出し（両端が折り返したリボン） */
.b-mp .b-ribbon {
  position: relative;
  isolation: isolate;
  display: inline-block;
  padding: 12px 44px;
  background: var(--c-beige-light);
  color: var(--c-green-deep);
  font-family: var(--f-title);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  line-height: 1.4;
  border-top: 1px solid var(--c-green);
  border-bottom: 1px solid var(--c-green);
  box-shadow: inset 0 3px 0 var(--c-beige-light), inset 0 4px 0 var(--c-green), inset 0 -3px 0 var(--c-beige-light), inset 0 -4px 0 var(--c-green);
}
.b-mp .b-ribbon::before, .b-mp .b-ribbon::after {
  content: "";
  position: absolute;
  top: 10px;
  z-index: -1;
  width: 36px;
  height: 100%;
  background: var(--c-beige-dark);
}
.b-mp .b-ribbon::before { left: -24px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); }
.b-mp .b-ribbon::after { right: -24px; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%); }

/* 見出し・本文 */
.b-mp .b-en { font-family: var(--f-title); font-size: 16px; letter-spacing: 0.4em; color: var(--c-green-soft); }
.b-mp .b-title {
  font-family: var(--f-title);
  font-weight: 800;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--c-green-deep);
}
.b-mp .b-text { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }

/* 区切り線（◆入り） */
.b-mp .b-rule { display: flex; align-items: center; gap: 14px; color: var(--c-green); }
.b-mp .b-rule::before, .b-mp .b-rule::after { content: ""; flex: 1; height: 1px; background: currentColor; }
.b-mp .b-rule span { width: 8px; height: 8px; background: currentColor; transform: rotate(45deg); }

/* VIEW MORE ボタン */
.b-mp .b-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  align-self: flex-start;
  gap: 32px;
  min-width: 240px;
  height: 58px;
  padding: 0 28px;
  border: 1px solid var(--c-green);
  background: transparent;
  color: var(--c-green);
  font-family: var(--f-title);
  font-size: 16px;
  letter-spacing: 0.24em;
  text-decoration: none;
  transition: background .3s, color .3s;
}
.b-mp .b-btn::before { content: ""; position: absolute; inset: 4px; border: 1px dashed currentColor; opacity: .5; pointer-events: none; }
.b-mp .b-btn svg { width: 22px; height: 22px; transition: transform .3s; }
.b-mp .b-btn:hover { background: var(--c-green); color: var(--c-beige-light); }
.b-mp .b-btn:hover svg { transform: translateX(4px); }
.b-mp .b-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.b-mp .b-btn--light { border-color: var(--c-beige-light); color: var(--c-beige-light); }
.b-mp .b-btn--light:hover { background: var(--c-beige-light); color: var(--c-green-deep); }
@media (max-width: 900px) {
  .b-mp .b-title { font-size: 23px; letter-spacing: 0.06em; }
}

/* 見出し下の飾り罫 */
.b-mp .b-orn { display: block; width: 190px; aspect-ratio: 560 / 190; background: currentColor; -webkit-mask: var(--m-orn) center / contain no-repeat; mask: var(--m-orn) center / contain no-repeat; color: var(--c-green); }

/* セクション上端の飾り線（太線＋細線＋点線の三重ライン） */
.b-mp::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 14px;
  pointer-events: none;
  color: var(--edge, var(--c-green));
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 3px no-repeat,
    linear-gradient(currentColor, currentColor) 0 7px / 100% 1px no-repeat,
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 10px) 0 12px / 100% 1px no-repeat;
}

/* ---------- メニューページ（下層用：TOPと差別化） ----------
   ・背景は柄なしの生成り1色（セクションごとにごく薄く濃淡）
   ・見出しは左揃えの「番号＋英字」、下に二重罫
   ・TOPの上端ライン・リボン・飾り罫は使わない */
.b-mp { padding: 96px 24px 88px; overflow: hidden; color: var(--c-ink); }
.b-mp::after { display: none; }                         /* TOPの上端ラインを無効化 */
.b-mp--plain { background: #FCFAF5; }
.b-mp--tint  { background: #F3EDE1; }
.b-mp .b-mp__inner { position: relative; z-index: 2; max-width: 1200px; margin-inline: auto; }
.b-mp .u-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.b-mp [lang="en"] { letter-spacing: 0.02em; }

/* 表紙＋目次 */
.b-mp--intro { padding: 120px 24px 96px; background: #FCFAF5; border-bottom: 1px solid var(--c-green); }
.b-mp .b-mp__cover { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.b-mp .b-mp__cover-en { font-family: var(--f-title); font-size: clamp(40px, 5vw, 40px) !important; line-height: 1; letter-spacing: 0.2em; text-indent: 0.2em; color: var(--c-green); }
.b-mp .b-mp__cover-jp { font-family: var(--f-title); font-weight: 800; font-size: 20px; letter-spacing: 0.5em; text-indent: 0.5em; color: var(--c-green-deep); }
.b-mp .b-mp__cover .b-mp__lead { margin-top: 20px; }
.b-mp .b-mp__index { max-width: 900px; margin: 64px auto 0; padding: 36px 48px; border-top: 3px double var(--c-green); border-bottom: 3px double var(--c-green); }

/* カテゴリ見出し：左に番号、右に営業時間、下に二重罫 */
.b-mp .b-mp__head {
  display: flex;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 56px;
  padding-bottom: 22px;
  border-bottom: 3px double var(--c-green);
  text-align: left;
}
.b-mp .b-mp__num { font-family: var(--f-title); font-size: clamp(56px, 6vw, 88px); line-height: .85; color: transparent; -webkit-text-stroke: 1.5px var(--c-green); }
.b-mp .b-mp__titles { display: flex; flex-direction: column; gap: 6px; }
.b-mp .b-mp__h { font-family: var(--f-title); font-weight: 800; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; letter-spacing: 0.04em; color: var(--c-green-deep); }
.b-mp .b-mp__hjp { font-size: 16px; letter-spacing: 0.2em; color: var(--c-green-soft); }
.b-mp .b-mp__hours { margin-left: auto; padding: 6px 16px; background: var(--c-green); color: var(--c-beige-light); font-size: 16px; letter-spacing: 0.06em; white-space: nowrap; }
.b-mp .b-mp__head + .b-mp__lead { margin: -32px 0 48px; }
.b-mp .b-mp__lead { font-size: 16px; line-height: 2; letter-spacing: 0.04em; }

/* 商品グリッド */
.b-mp .b-mp__grid { display: grid; gap: 48px 32px; }
.b-mp .b-mp__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; margin-inline: auto; gap: 48px 64px; }
.b-mp .b-mp__grid--2 .b-mp__photo { width: 78%; }
.b-mp .b-mp__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; margin-inline: auto; }
.b-mp .b-mp__grid--3 .b-mp__photo { width: 76%; }
.b-mp .b-mp__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.b-mp .b-mp__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 44px 24px; }
.b-mp .b-mp__item { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.b-mp .b-mp__photo {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(31, 74, 58, .2);
}
.b-mp .b-mp__photo img { object-fit: contain; padding: 8%; }
.b-mp .b-mp__photo--round img { object-fit: cover; padding: 0; }   /* カレーの具材写真は円いっぱい */
.b-mp .b-mp__info { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.b-mp .b-mp__name { display: flex; flex-direction: column; gap: 2px; }
.b-mp .b-mp__en { font-family: var(--f-title); font-weight: 800; font-size: 19px; line-height: 1.4; }
.b-mp .b-mp__jp { font-size: 16px; line-height: 1.6; opacity: .85; }
.b-mp .b-mp__en { color: var(--c-green-deep); }
.b-mp .b-mp__desc { font-size: 16px; line-height: 1.8; opacity: .85; }
.b-mp .b-mp__price { font-family: var(--f-title); font-weight: 800; font-size: 22px; letter-spacing: 0.04em; }
.b-mp .b-mp__price { color: var(--c-green); }
.b-mp .b-mp__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.b-mp .b-mp__tags li { padding: 2px 12px; font-size: 16px; line-height: 1.6; background: var(--c-green); color: var(--c-beige-light); }

/* サブ見出し */
.b-mp .b-mp__sub { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 14px; margin: 80px 0 40px; font-family: var(--f-title); font-weight: 800; font-size: 22px; letter-spacing: 0.1em; }
.b-mp .b-mp__head + .b-mp__sub { margin-top: 0; }
.b-mp .b-mp__sub-hours { font-family: var(--f-body); font-weight: 400; font-size: 16px; opacity: .8; }

/* 枠つきボックス */
.b-mp .b-mp__box { position: relative; margin-top: 64px; padding: 40px 48px 36px; background: #FFFFFF; border-top: 3px solid var(--c-green); color: var(--c-ink); }
.b-mp .b-mp__box .b-frame { display: none; }
.b-mp .b-mp__box > *:not(.b-frame) { position: relative; z-index: 3; }
.b-mp .b-mp__box-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin: 28px 0 16px; font-family: var(--f-title); font-weight: 800; font-size: 20px; letter-spacing: 0.08em; color: var(--c-green-deep); }
.b-mp .b-mp__box-title:first-of-type, .b-mp .b-mp__box > .b-frame + .b-mp__box-title { margin-top: 0; }
.b-mp .b-mp__box-title [lang="en"] { font-weight: 400; font-size: 16px; color: var(--c-green-soft); }
.b-mp .b-mp__box-title .b-mp__opt-price { margin-left: auto; }
.b-mp .b-mp__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.b-mp .b-mp__cols .b-mp__box { margin-top: 72px; }

.b-mp .b-mp__addons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.b-mp .b-mp__addons li { display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 16px; padding: 12px 0; border-bottom: 1px dashed rgba(31, 74, 58, .3); }
.b-mp .b-mp__addons .b-mp__jp { grid-column: 1; opacity: 1; }
.b-mp .b-mp__addons .b-mp__en { grid-column: 1; grid-row: 2; font-weight: 400; font-size: 16px; color: var(--c-green-soft); }
.b-mp .b-mp__addons .b-mp__opt-price { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.b-mp .b-mp__addons--list { grid-template-columns: 1fr; }
.b-mp .b-mp__opt-price { font-family: var(--f-title); font-weight: 800; font-size: 18px; color: var(--c-green); white-space: nowrap; }
.b-mp .b-mp__facts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-bottom: 28px; }
.b-mp .b-mp__facts li { position: relative; padding-left: 18px; font-size: 16px; }
.b-mp .b-mp__facts li::before { content: ""; position: absolute; left: 0; top: .65em; width: 7px; height: 7px; background: var(--c-green); transform: rotate(45deg); }
.b-mp .b-mp__facts [lang="en"], .b-mp .b-mp__pills [lang="en"] { color: var(--c-green-soft); }

.b-mp .b-mp__pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.b-mp .b-mp__pills li { padding: 6px 16px; border: 1px solid var(--c-green); background: var(--c-white); font-size: 16px; color: var(--c-green-deep); }
.b-mp .b-mp__opts { display: flex; flex-direction: column; gap: 8px; }
.b-mp .b-mp__opts li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; font-size: 16px; }
.b-mp .b-mp__arrow { color: var(--c-green-soft); }

/* カレーセット */
.b-mp .b-mp__set { padding: 40px; background: var(--c-green); color: var(--c-beige-light); display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); align-items: center; gap: 56px; max-width: 1000px; margin: 0 auto 48px; }
.b-mp .b-mp__set-photo img { object-fit: contain; padding: 6%; }
.b-mp .b-mp__set-photo { aspect-ratio: 1; max-width: 440px; justify-self: center; width: 100%; border-radius: 50%; overflow: hidden; background: var(--c-green-deep); }
.b-mp .b-mp__set-price { font-family: var(--f-title); font-weight: 800; font-size: 72px; line-height: 1; color: var(--c-beige); }
.b-mp .b-mp__set-inc { margin-top: 20px; font-size: 16px; line-height: 2; }
.b-mp .b-mp__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; counter-reset: none; }
.b-mp .b-mp__step { position: relative; padding: 36px 36px 32px; background: #FFFFFF; border: 1px solid rgba(31, 74, 58, .25); color: var(--c-ink); }
.b-mp .b-mp__step:first-child, .b-mp .b-mp__step:last-child { grid-column: 1 / -1; }

.b-mp .b-mp__step-title { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 24px; font-family: var(--f-title); font-weight: 800; font-size: 20px; color: var(--c-green-deep); }
.b-mp .b-mp__step-title [lang="en"] { font-weight: 400; font-size: 16px; color: var(--c-green-soft); }
.b-mp .b-mp__step-no { padding: 2px 12px; background: var(--c-green); color: var(--c-beige-light); font-size: 16px; letter-spacing: 0.12em; }
.b-mp .b-mp__choices { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.b-mp .b-mp__choice { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.b-mp .b-mp__choice .b-mp__en { font-size: 17px; color: var(--c-green-deep); }
.b-mp .b-mp__spice { display: flex; flex-wrap: wrap; gap: 16px; }
.b-mp .b-mp__spice li { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 96px; padding: 12px 16px; border: 1px solid var(--c-green); background: var(--c-white); font-size: 16px; }
.b-mp .b-mp__spice [lang="en"] { color: var(--c-green-soft); }
.b-mp .b-mp__chili { display: flex; color: #B23A2B; }
.b-mp .b-mp__chili svg { width: 22px; height: 22px; }

/* コーヒー表 */
.b-mp .b-mp__table { width: 100%; border-collapse: collapse; font-size: 16px; }
.b-mp .b-mp__table th, .b-mp .b-mp__table td { padding: 12px 8px; border-bottom: 1px dashed rgba(31, 74, 58, .3); text-align: left; vertical-align: top; }
.b-mp .b-mp__table thead th { font-family: var(--f-title); font-weight: 800; color: var(--c-green); text-align: right; }
.b-mp .b-mp__table td { text-align: right; font-family: var(--f-title); font-weight: 800; font-size: 18px; color: var(--c-green); white-space: nowrap; }
.b-mp .b-mp__table tbody th { display: flex; flex-direction: column; font-weight: 400; }
.b-mp .b-mp__table .b-mp__en { font-size: 17px; }
.b-mp .b-mp__table small { font-size: 16px; line-height: 1.6; color: var(--c-green-soft); }

/* 注意書き・戻るリンク */
.b-mp .b-mp__note { margin-top: 48px; font-size: 16px; line-height: 1.9; text-align: center; opacity: .9; }


@media (max-width: 1100px) {
  .b-mp .b-mp__grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .b-mp .b-mp__choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .b-mp { padding: 72px 16px 64px; }
  .b-mp .b-mp__head { flex-wrap: wrap; gap: 12px 18px; }
  .b-mp .b-mp__hours { margin-left: 0; flex-basis: 100%; text-align: center; }
  .b-mp .b-mp__index { padding: 16px 4px; }
  .b-mp .b-mp__set { padding: 24px; }
  .b-mp .b-mp__grid--3, .b-mp .b-mp__grid--4, .b-mp .b-mp__grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; }
  .b-mp .b-mp__grid--2 { grid-template-columns: 1fr; }
  .b-mp .b-mp__en { font-size: 17px; }
  .b-mp .b-mp__price { font-size: 19px; }
  .b-mp .b-mp__set { grid-template-columns: 1fr; gap: 32px; }
  .b-mp .b-mp__set-price { font-size: 56px; }
  .b-mp .b-mp__steps, .b-mp .b-mp__cols { grid-template-columns: 1fr; }
  .b-mp .b-mp__step, .b-mp .b-mp__box { padding: 32px 20px 28px; }
  .b-mp .b-mp__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-mp .b-mp__addons { grid-template-columns: 1fr; }
  .b-mp .b-mp__lead br, .b-mp .b-mp__note br { display: none; }
}

/* ==========================================================
   アジアン・カジュアルの味付け（下層MENU専用）
   ========================================================== */
/* 表紙：吊り提灯＋印章スタンプ */
.b-mp--intro { position: relative; }
.b-mp .b-mp__lanterns { position: absolute; inset: 0 0 auto; height: 0; pointer-events: none; }
.b-mp .b-mp__lantern { position: absolute; top: -120px; color: var(--c-green); transform-origin: top center; animation: bMpSwing 5s ease-in-out infinite; }
.b-mp .b-mp__lantern svg { position: absolute; left: 0; bottom: 0; display: block; width: 100%; height: auto; aspect-ratio: 40 / 72; }
.b-mp .b-mp__lantern--1 { left: 5%;  width: 64px; height: 300px; }
.b-mp .b-mp__lantern--2 { left: 12%; width: 46px; height: 230px; animation-delay: -1.6s; color: var(--c-green-soft); }
.b-mp .b-mp__lantern--3 { right: 12%; width: 46px; height: 230px; animation-delay: -2.8s; color: var(--c-green-soft); }
.b-mp .b-mp__lantern--4 { right: 5%; width: 64px; height: 300px; animation-delay: -.8s; }
.b-mp .b-mp__lantern::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 20px; width: 1px; background: currentColor; }
@keyframes bMpSwing { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
.b-mp .b-mp__stamp {
  position: absolute; right: 18%; top: 90px; z-index: 3;
  width: 120px; height: 120px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  border: 3px double var(--c-green); color: var(--c-green);
  transform: rotate(-14deg); font-family: var(--f-title); text-align: center;
  background: rgba(252, 250, 245, .8);
}
.b-mp .b-mp__stamp span { font-size: 12px; letter-spacing: 0.3em; text-indent: 0.3em; }
.b-mp .b-mp__stamp strong { font-weight: 800; font-size: 20px; letter-spacing: 0.06em; padding: 2px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }

/* 目次：番号を丸い判子に */

/* 見出し番号：印鑑風の角判 */
.b-mp .b-mp__num {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 96px; height: 96px; flex-shrink: 0;
  -webkit-text-stroke: 0; color: var(--c-beige-light); background: var(--c-green);
  border-radius: 14px; box-shadow: inset 0 0 0 4px var(--c-green), inset 0 0 0 5px rgba(247, 242, 231, .7);
  font-size: 44px; line-height: 1; transform: rotate(-6deg);
}
/* 日本語見出しに筆で引いたような下線 */
.b-mp .b-mp__hjp span {
  padding: 0 6px 4px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 12c30-6 60-8 98-6s70 4 98-1l-2 6c-28 5-60 3-96 1S30 11 4 17z' fill='%23D9CBAE'/%3E%3C/svg%3E") left bottom / 100% 12px no-repeat;
  color: var(--c-green-deep);
}
/* 営業時間：札（ふだ）型 */
.b-mp .b-mp__hours { position: relative; padding: 6px 20px 6px 30px; clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 50%); }
.b-mp .b-mp__hours::before { content: ""; position: absolute; left: 12px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: #FCFAF5; }

/* 価格：荷札タグ */
.b-mp .b-mp__price {
  position: relative; display: inline-block; margin-top: 4px;
  padding: 2px 16px 2px 26px; background: var(--c-beige); color: var(--c-green-deep) !important;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%);
  transform: rotate(-2deg);
}
.b-mp .b-mp__price::before { content: ""; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: #FCFAF5; }
.b-mp .b-mp__item:nth-child(even) .b-mp__price { transform: rotate(2deg); }

/* タグ：スタンプ風に少し傾ける */
.b-mp .b-mp__tags li { transform: rotate(-3deg); border-radius: 3px; }
.b-mp .b-mp__tags li:nth-child(2) { transform: rotate(2deg); background: var(--c-green-soft); }

/* 写真：点線の輪＋ホバーでくるっと */
.b-mp .b-mp__photo { outline: 1px dashed rgba(31, 74, 58, .35); outline-offset: 6px; }

/* カレーセット：価格に「SET」の丸シール */
.b-mp .b-mp__set-info { position: relative; }
.b-mp .b-mp__set-price::after { content: "SET"; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-left: 14px; border-radius: 50%; background: var(--c-beige); color: var(--c-green-deep); font-size: 16px; letter-spacing: 0.1em; vertical-align: middle; transform: rotate(12deg); }
.b-mp .b-mp__step-no { border-radius: 999px; transform: rotate(-4deg); }

@media (max-width: 900px) {
  .b-mp .b-mp__lantern--2, .b-mp .b-mp__lantern--3 { display: none; }
  .b-mp .b-mp__lantern--1, .b-mp .b-mp__lantern--4 { width: 36px; height: 200px; }
  .b-mp .b-mp__stamp { right: 4%; top: auto; bottom: 24px; width: 88px; height: 88px; }
  .b-mp .b-mp__stamp strong { font-size: 16px; }
  .b-mp .b-mp__num { width: 72px; height: 72px; font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) { .b-mp .b-mp__lantern { animation: none; } }


/* ==========================================================
   もっとアジアン（参考：Denny's×ERICK SOUTH／Asian Fair／中華系フライヤー）
   ・背景を幾何学の格子紋（八芒星）で埋める
   ・セクション上下に民族柄のトリム帯
   ・見出しは装飾カルトゥーシュ（飾り枠のバッジ）
   ========================================================== */
.b-mp { position: relative; }
.b-mp--plain { background: #EFE6D2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-opacity='.08' stroke-width='1.6'%3E%3Cpath d='M20 20h40v40H20zM40 10l30 30-30 30-30-30z'/%3E%3Cpath d='M40 0v10M40 70v10M0 40h10M70 40h10M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60'/%3E%3Cpath d='M33 26h14l7 7v14l-7 7H33l-7-7V33z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 80px 80px; }
.b-mp--tint  { background: #1F4A3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M20 20h40v40H20zM40 10l30 30-30 30-30-30z'/%3E%3Cpath d='M40 0v10M40 70v10M0 40h10M70 40h10M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60'/%3E%3Cpath d='M33 26h14l7 7v14l-7 7H33l-7-7V33z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 80px 80px; color: #F7F2E7; }
.b-mp .b-mp__trim { position: absolute; left: 0; right: 0; top: 0; height: 22px; z-index: 3; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22' viewBox='0 0 40 22'%3E%3Crect width='40' height='3' fill='%23D9CBAE'/%3E%3Crect y='19' width='40' height='3' fill='%23D9CBAE'/%3E%3Cpath d='M0 17L10 6l10 11L30 6l10 11' fill='none' stroke='%23D9CBAE' stroke-width='1.6'/%3E%3Cpath d='M20 6l3 3-3 3-3-3z M0 6l3 3-3 3-3-3z M40 6l3 3-3 3-3-3z' fill='%23F7F2E7'/%3E%3Ccircle cx='10' cy='13' r='1.8' fill='%23F7F2E7'/%3E%3Ccircle cx='30' cy='13' r='1.8' fill='%23F7F2E7'/%3E%3C/svg%3E") 0 0 / 40px 22px repeat-x; }
.b-mp--plain .b-mp__trim { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22' viewBox='0 0 40 22'%3E%3Crect width='40' height='3' fill='%231F4A3A'/%3E%3Crect y='19' width='40' height='3' fill='%231F4A3A'/%3E%3Cpath d='M0 17L10 6l10 11L30 6l10 11' fill='none' stroke='%231F4A3A' stroke-width='1.6'/%3E%3Cpath d='M20 6l3 3-3 3-3-3z M0 6l3 3-3 3-3-3z M40 6l3 3-3 3-3-3z' fill='%23D9CBAE'/%3E%3Ccircle cx='10' cy='13' r='1.8' fill='%23D9CBAE'/%3E%3Ccircle cx='30' cy='13' r='1.8' fill='%23D9CBAE'/%3E%3C/svg%3E"); }
.b-mp { padding-top: 118px; }

/* 見出し：カルトゥーシュ */
.b-mp .b-mp__head { flex-direction: column; align-items: center; gap: 18px; border: 0; padding: 0; margin-bottom: 64px; text-align: center; }
.b-mp .b-mp__badge {
  width: min(560px, 100%); aspect-ratio: 400 / 220;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  padding: 0 48px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 220' preserveAspectRatio='none'%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='%231F4A3A'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%23D9CBAE' stroke-width='2' transform='translate(200 110) scale(.93 .9) translate(-200 -110)'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%23D9CBAE' stroke-width='1' stroke-dasharray='3 4' transform='translate(200 110) scale(.88 .82) translate(-200 -110)'/%3E%3C/svg%3E") center / 100% 100% no-repeat; color: #F7F2E7;
}
.b-mp--tint .b-mp__badge { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 220' preserveAspectRatio='none'%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='%23F7F2E7'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%231F4A3A' stroke-width='2' transform='translate(200 110) scale(.93 .9) translate(-200 -110)'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%231F4A3A' stroke-width='1' stroke-dasharray='3 4' transform='translate(200 110) scale(.88 .82) translate(-200 -110)'/%3E%3C/svg%3E"); color: #1F4A3A; }
.b-mp .b-mp__num { width: auto; height: auto; background: none; box-shadow: none; transform: none; font-size: 16px; letter-spacing: 0.3em; text-indent: 0.3em; color: #D9CBAE; }
.b-mp--tint .b-mp__num { color: #6E8F80; }
.b-mp .b-mp__h { font-size: clamp(30px, 3.6vw, 50px); line-height: 1.1; color: inherit; }
.b-mp .b-mp__hjp { font-family: var(--f-title); font-weight: 800; font-size: 18px; letter-spacing: 0.3em; color: inherit; }
.b-mp .b-mp__hjp span { background: none; color: inherit; padding: 0; }
.b-mp .b-mp__hours { margin: 0; background: #D9CBAE; color: #1F4A3A; font-weight: 800; }
.b-mp .b-mp__hours::before { background: #EFE6D2; }
.b-mp--tint .b-mp__hours::before { background: #1F4A3A; }
.b-mp .b-mp__head + .b-mp__lead { margin: -40px 0 48px; text-align: center; }

/* 濃い緑セクションの文字色 */
.b-mp--tint .b-mp__en, .b-mp--tint .b-mp__sub { color: #F7F2E7; }
.b-mp--tint .b-mp__jp, .b-mp--tint .b-mp__desc, .b-mp--tint .b-mp__lead, .b-mp--tint .b-mp__note { color: #E3E9E1; }
.b-mp--tint .b-mp__photo { outline-color: rgba(239, 230, 210, .5); }
.b-mp--tint .b-mp__tags li { background: #D9CBAE; color: #1F4A3A; }
.b-mp--tint .b-mp__tags li:nth-child(2) { background: #F7F2E7; }
.b-mp--tint .b-mp__box, .b-mp--tint .b-mp__step { color: var(--c-ink); }
.b-mp--tint .b-mp__box .b-mp__en, .b-mp--tint .b-mp__step .b-mp__en { color: #6E8F80; }
.b-mp--tint .b-mp__choice .b-mp__en { color: #1F4A3A; }
.b-mp--tint .b-mp__box .b-mp__jp, .b-mp--tint .b-mp__step .b-mp__jp { color: var(--c-ink); }

/* 価格：黄土色のラベル帯（Asian Fair風） */
.b-mp .b-mp__price { background: #D9CBAE; clip-path: none; padding: 2px 14px; transform: none; border-left: 6px solid #1F4A3A; }
.b-mp--tint .b-mp__price { border-left-color: #F7F2E7; }
.b-mp .b-mp__price::before { display: none; }
.b-mp .b-mp__item:nth-child(even) .b-mp__price { transform: none; }

/* 白いカードに格子の角飾り（中華フライヤー風の線画フレーム） */
.b-mp .b-mp__box, .b-mp .b-mp__step { border: 1px solid rgba(31, 74, 58, .35); outline: 1px solid rgba(31, 74, 58, .35); outline-offset: -8px; }
.b-mp .b-mp__box { border-top-width: 1px; }
.b-mp .b-mp__box::before, .b-mp .b-mp__box::after, .b-mp .b-mp__step::after {
  content: ""; position: absolute; width: 40px; height: 40px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none' stroke='%231F4A3A' stroke-width='1.6'%3E%3Cpath d='M2 38V2h36'/%3E%3Cpath d='M8 38V8h30'/%3E%3Cpath d='M14 14h8v8h-8z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.b-mp .b-mp__box::before { top: 4px; left: 4px; }
.b-mp .b-mp__box::after { bottom: 4px; right: 4px; transform: rotate(180deg); }
.b-mp .b-mp__step::after { bottom: 4px; right: 4px; transform: rotate(180deg); }

/* 表紙：深緑＋ボーダー枠（Denny's風） */
.b-mp--intro { background: #1F4A3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M20 20h40v40H20zM40 10l30 30-30 30-30-30z'/%3E%3Cpath d='M40 0v10M40 70v10M0 40h10M70 40h10M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60'/%3E%3Cpath d='M33 26h14l7 7v14l-7 7H33l-7-7V33z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 80px 80px; color: #F7F2E7; border-bottom: 0; padding-bottom: 110px; }
.b-mp--intro::after { display: block; content: ""; position: absolute; inset: 20px; border: 2px solid #D9CBAE; outline: 1px solid #D9CBAE; outline-offset: -8px; pointer-events: none; z-index: 1; }
.b-mp--intro .b-mp__cover-en { color: #D9CBAE; font-weight: 800; text-shadow: 3px 3px 0 #15352A; }
.b-mp--intro .b-mp__cover-jp { color: #F7F2E7; }
.b-mp--intro .b-mp__cover-jp::before, .b-mp--intro .b-mp__cover-jp::after { content: "◆"; margin: 0 .8em; font-size: 12px; vertical-align: 3px; color: #D9CBAE; }
.b-mp--intro .b-mp__lead { color: #E3E9E1; }
.b-mp--intro .b-mp__lantern { color: #D9CBAE; }
.b-mp--intro .b-mp__lantern--2, .b-mp--intro .b-mp__lantern--3 { color: #EFE6D2; }
.b-mp--intro .b-mp__stamp { border-color: #D9CBAE; color: #D9CBAE; background: rgba(21, 53, 42, .85); }
.b-mp--intro .b-mp__index { position: relative; z-index: 2; background: #F7F2E7; border: 0; outline: 2px solid #D9CBAE; outline-offset: 6px; color: var(--c-ink); }
.b-mp--intro .b-mp__index::before, .b-mp--intro .b-mp__index::after { content: ""; position: absolute; width: 40px; height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none' stroke='%231F4A3A' stroke-width='1.6'%3E%3Cpath d='M2 38V2h36'/%3E%3Cpath d='M8 38V8h30'/%3E%3Cpath d='M14 14h8v8h-8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.b-mp--intro .b-mp__index::before { top: 6px; left: 6px; }
.b-mp--intro .b-mp__index::after { bottom: 6px; right: 6px; transform: rotate(180deg); }

@media (max-width: 900px) {
  .b-mp .b-mp__badge { padding: 0 28px; aspect-ratio: 400 / 240; }
  .b-mp .b-mp__h { font-size: 26px; }
  .b-mp .b-mp__hjp { font-size: 16px; letter-spacing: 0.16em; }
  .b-mp--intro::after { inset: 10px; }
  .b-mp { padding-top: 96px; }
}
.b-mp--intro .b-mp__index { max-width: 1000px; padding: 36px 40px; }
.b-mp--tint .b-mp__set { background: #15352A; outline: 1px solid #D9CBAE; outline-offset: -10px; }
@media (max-width: 900px) { .b-mp--intro .b-mp__index { padding: 20px 8px; } }
@media (max-width: 900px) {
}

/* ==========================================================
   baseline-ui：文字サイズ・余白のプロポーション統一
   ・文字スケール  16 / 18 / 20 / 24 / 見出しclamp（最小16px）
   ・余白スケール  4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 / 128
   ・z-index      1 装飾 / 2 本文 / 3 前面装飾
   ========================================================== */
.b-mp {
  --fs-body: 16px; --fs-md: 18px; --fs-lg: 20px; --fs-xl: 24px;
  --fs-h: clamp(32px, 3.6vw, 48px); --fs-cover: clamp(64px, 8vw, 112px); --fs-set: 64px;
  --lh-body: 1.9; --lh-tight: 1.2; --lh-name: 1.4;
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --z-deco: 1; --z-content: 2; --z-front: 3;
  padding: var(--s-10) var(--s-5) var(--s-9);
}
.b-mp .b-mp__inner { z-index: var(--z-content); }
.b-mp .b-mp__trim, .b-mp .b-mp__stamp { z-index: var(--z-front); }
.b-mp--intro::after { z-index: var(--z-deco); }

/* 見出しは balance、本文は pretty */
.b-mp :is(.b-mp__h, .b-mp__hjp, .b-mp__cover-jp, .b-mp__sub, .b-mp__box-title, .b-mp__step-title, .b-mp__name) { text-wrap: balance; }
.b-mp :is(.b-mp__lead, .b-mp__desc, .b-mp__note, .b-mp__set-inc, .b-mp__table small) { text-wrap: pretty; }
.b-mp .b-mp__name .b-mp__jp { word-break: keep-all; overflow-wrap: anywhere; }
/* 価格・数値は等幅数字 */
.b-mp :is(.b-mp__price, .b-mp__opt-price, .b-mp__set-price, .b-mp__table td, .b-mp__hours, .b-mp__sub-hours, .b-mp__num) { font-variant-numeric: tabular-nums; }

/* --- 文字サイズ --- */
.b-mp :is(.b-mp__lead, .b-mp__desc, .b-mp__note, .b-mp__set-inc) { font-size: var(--fs-body); line-height: var(--lh-body); }
.b-mp :is(.b-mp__jp, .b-mp__tags li, .b-mp__hours, .b-mp__num, .b-mp__sub-hours, .b-mp__table, .b-mp__table small, .b-mp__pills li, .b-mp__opts li, .b-mp__facts li, .b-mp__spice li, .b-mp__step-no) { font-size: var(--fs-body); }
.b-mp .b-mp__en, .b-mp .b-mp__choice .b-mp__en, .b-mp .b-mp__table .b-mp__en { font-size: var(--fs-md); line-height: var(--lh-name); }
.b-mp .b-mp__addons .b-mp__en, .b-mp .b-mp__box-title [lang="en"], .b-mp .b-mp__step-title [lang="en"] { font-size: var(--fs-body); }
.b-mp :is(.b-mp__opt-price, .b-mp__table td, .b-mp__hjp) { font-size: var(--fs-md); }
.b-mp :is(.b-mp__price, .b-mp__box-title, .b-mp__step-title, .b-mp__cover-jp, .b-mp__stamp strong) { font-size: var(--fs-lg); }
.b-mp .b-mp__sub { font-size: var(--fs-xl); line-height: var(--lh-tight); }
.b-mp .b-mp__h { font-size: var(--fs-h); line-height: var(--lh-tight); }
.b-mp .b-mp__cover-en { font-size: var(--fs-cover); }
.b-mp .b-mp__set-price { font-size: var(--fs-set); }
/* 12pxだった装飾文字も16pxへ（スタンプを一回り大きく） */
.b-mp .b-mp__stamp { width: 136px; height: 136px; gap: var(--s-1); }
.b-mp .b-mp__stamp span { font-size: var(--fs-body); }
/* ◆は文字ではなく図形で描く（読み上げ・最小サイズ対象外に） */
.b-mp--intro .b-mp__cover-jp::before, .b-mp--intro .b-mp__cover-jp::after { content: ""; display: inline-block; width: 8px; height: 8px; margin: 0 var(--s-4); background: #D9CBAE; transform: rotate(45deg); vertical-align: middle; font-size: 0; }

/* --- 余白 --- */
.b-mp--intro { padding: var(--s-10) var(--s-5) 112px; }
.b-mp .b-mp__cover { gap: var(--s-4); }
.b-mp .b-mp__cover .b-mp__lead { margin-top: var(--s-5); }
.b-mp--intro .b-mp__index { margin-top: var(--s-8); padding: var(--s-6) var(--s-7); }

.b-mp .b-mp__head { gap: var(--s-4); margin-bottom: var(--s-8); }
.b-mp .b-mp__badge { gap: var(--s-2); }
.b-mp .b-mp__head + .b-mp__lead { max-width: 46em; margin: calc(var(--s-6) * -1) auto var(--s-7); }

.b-mp .b-mp__grid { gap: var(--s-7) var(--s-6); }
.b-mp .b-mp__grid--2 { gap: var(--s-7) var(--s-8); }
.b-mp .b-mp__grid--5 { gap: var(--s-7) var(--s-5); }
.b-mp .b-mp__item { gap: var(--s-4); }
.b-mp .b-mp__info { gap: var(--s-2); }
.b-mp .b-mp__name { gap: var(--s-1); }
.b-mp .b-mp__tags { gap: var(--s-2); }
.b-mp .b-mp__price { margin-top: var(--s-1); padding: var(--s-1) var(--s-4) var(--s-1) var(--s-3); }

.b-mp .b-mp__sub { gap: var(--s-4); margin: var(--s-9) 0 var(--s-7); }
.b-mp .b-mp__head + .b-mp__sub { margin-top: 0; }

.b-mp .b-mp__box { margin-top: var(--s-8); padding: var(--s-7); }
.b-mp .b-mp__cols { gap: var(--s-6); }
.b-mp .b-mp__cols .b-mp__box { margin-top: var(--s-8); }
.b-mp .b-mp__box-title { gap: var(--s-3); margin: var(--s-6) 0 var(--s-4); }
.b-mp .b-mp__addons { gap: 0 var(--s-7); }
.b-mp .b-mp__addons li { column-gap: var(--s-4); padding: var(--s-3) 0; }
.b-mp .b-mp__facts { gap: var(--s-2) var(--s-6); margin-bottom: var(--s-6); }
.b-mp .b-mp__pills { gap: var(--s-2); margin-bottom: var(--s-4); }
.b-mp .b-mp__pills li { padding: var(--s-2) var(--s-4); }
.b-mp .b-mp__opts { gap: var(--s-2); }
.b-mp .b-mp__opts li { gap: var(--s-3); }

.b-mp .b-mp__set { padding: var(--s-7); gap: var(--s-8); margin-bottom: var(--s-8); }
.b-mp .b-mp__set-inc { margin-top: var(--s-5); }
.b-mp .b-mp__steps { gap: var(--s-5); }
.b-mp .b-mp__step { padding: var(--s-7) var(--s-7) var(--s-6); }
.b-mp .b-mp__step-title { gap: var(--s-3); margin-bottom: var(--s-5); }
.b-mp .b-mp__choices { gap: var(--s-5); }
.b-mp .b-mp__choice { gap: var(--s-4); }
.b-mp .b-mp__spice { gap: var(--s-4); }
.b-mp .b-mp__spice li { gap: var(--s-1); padding: var(--s-3) var(--s-4); }
.b-mp .b-mp__table th, .b-mp .b-mp__table td { padding: var(--s-3) var(--s-2); }

.b-mp .b-mp__note { margin-top: var(--s-7); }

/* 提灯の揺れは画面外で停止（IntersectionObserverで .is-offscreen を付与） */
.b-mp--intro.is-offscreen .b-mp__lantern { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .b-mp .b-mp__lantern { animation: none; } }

/* ==========================================================
   ホバーアニメーション（fixing-motion-performance 準拠）
   ・動かすのは transform / opacity のみ（レイアウト・再描画を起こさない）
   ・ボタンの塗りは背景色を変えず、塗りレイヤーを scale で出す
   ・入り 200ms / 戻り 150ms、ease-out。will-change は常時付けない
   ・マウス操作の端末だけで有効（スマホでホバーが残らない）
   ========================================================== */
.b-mp { --dur-in: 200ms; --dur-out: 150ms; }

/* 戻りのトランジション（通常時に定義） */
.b-mp :is(.b-mp__item, .b-mp__choice) .b-mp__photo,
.b-mp :is(.b-mp__item, .b-mp__choice) .b-mp__photo img,
.b-mp .b-mp__item .b-mp__price,
.b-mp .b-mp__set-photo img { transition: transform var(--dur-out) ease-out; }

@media (hover: hover) and (pointer: fine) {
  /* 料理カード・カレー選択：写真がふわっと浮いて、料理がくるっと */
  .b-mp :is(.b-mp__item, .b-mp__choice):hover .b-mp__photo { transform: translateY(-6px); transition-duration: var(--dur-in); }
  .b-mp :is(.b-mp__item, .b-mp__choice):hover .b-mp__photo img { transform: rotate(-6deg) scale(1.06); transition-duration: var(--dur-in); }
  .b-mp .b-mp__item:hover .b-mp__price { transform: translateY(-2px); transition-duration: var(--dur-in); }
  /* カレーセット：大きい写真なので控えめに */
  .b-mp .b-mp__set:hover .b-mp__set-photo img { transform: rotate(-3deg) scale(1.03); transition-duration: var(--dur-in); }
}

/* ==========================================================
   ページ内リンクのボタン
   ① 目次ボタン（.b-mp__jump）  ② 目次へ戻るボタン（.b-mp__back）
   ========================================================== */
/* ① 目次ボタン：PC 4列 → タブレット 2列 → スマホ 1列 */
.b-mp .b-mp__jump-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-4); }
.b-mp .b-mp__jump {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "no . arrow" "en en en" "jp jp jp"; grid-template-rows: auto 1fr auto;
  align-items: center; row-gap: var(--s-2); column-gap: var(--s-3);
  height: 100%; padding: var(--s-4) var(--s-4) var(--s-5);
  background: #FFFFFF; color: var(--c-green-deep); text-decoration: none;
  border: 1px solid rgba(31, 74, 58, .35); border-bottom: 4px solid var(--c-green);
  transition: color var(--dur-out) ease-out;
}
.b-mp .b-mp__jump::before {   /* 塗りレイヤー（下からせり上がる） */
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--c-green);
  transform: scaleY(0); transform-origin: bottom center; transition: transform var(--dur-out) ease-out;
}
.b-mp .b-mp__jump-no {
  grid-area: no; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%;
  background: var(--c-green); color: var(--c-beige-light); font-family: var(--f-title); font-size: var(--fs-body); font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 2px #FFFFFF;
  transform: rotate(-8deg); transition: transform var(--dur-out) ease-out;
}
.b-mp .b-mp__jump-en { grid-area: en; font-family: var(--f-title); font-weight: 800; font-size: var(--fs-lg); line-height: var(--lh-tight); text-wrap: balance; }
.b-mp .b-mp__jump-jp { grid-area: jp; font-size: var(--fs-body); line-height: 1.5; color: var(--c-green-soft); transition: color var(--dur-out) ease-out; }
.b-mp .b-mp__jump-arrow {
  grid-area: arrow; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid currentColor; transition: transform var(--dur-out) ease-out;
}
.b-mp .b-mp__jump-arrow svg { display: block; }
.b-mp .b-mp__jump-en { align-self: start; }
.b-mp .b-mp__jump:focus-visible { outline: 3px solid #D9CBAE; outline-offset: 3px; }

/* ② 目次へ戻るボタン */
.b-mp .b-mp__top { margin-top: var(--s-8); text-align: center; }
.b-mp .b-mp__back {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: var(--s-3);
  min-height: 56px; padding: var(--s-3) var(--s-6) var(--s-3) var(--s-3);
  background: var(--c-green); color: var(--c-beige-light); text-decoration: none;
  border: 1px solid var(--c-green); border-radius: 999px;
  font-size: var(--fs-body); line-height: 1.4;
  transition: color var(--dur-out) ease-out;
}
.b-mp .b-mp__back::before {   /* 塗りレイヤー（左から伸びる） */
  content: ""; position: absolute; inset: 0; z-index: -1; background: #D9CBAE;
  transform: scaleX(0); transform-origin: left center; transition: transform var(--dur-out) ease-out;
}
.b-mp .b-mp__back-arrow {
  display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%;
  background: var(--c-beige-light); color: var(--c-green); transition: transform var(--dur-out) ease-out;
}
.b-mp .b-mp__back [lang="en"] { opacity: .8; }
.b-mp .b-mp__back:focus-visible { outline: 3px solid #D9CBAE; outline-offset: 3px; }
/* 濃い緑のセクションでは色を反転 */
.b-mp--tint .b-mp__back { background: #D9CBAE; color: var(--c-green-deep); border-color: #D9CBAE; }
.b-mp--tint .b-mp__back::before { background: #F7F2E7; }
.b-mp--tint .b-mp__back-arrow { background: var(--c-green); color: #F7F2E7; }
.b-mp--tint .b-mp__back:focus-visible { outline-color: #F7F2E7; }

/* ボタンのホバー／キーボード選択時 */
@media (hover: hover) and (pointer: fine) {
  .b-mp .b-mp__jump:hover, .b-mp .b-mp__back:hover { transition-duration: var(--dur-in); }
  .b-mp .b-mp__jump:hover::before, .b-mp .b-mp__back:hover::before { transform: none; transition-duration: var(--dur-in); }
  .b-mp .b-mp__jump:hover { color: #F7F2E7; }
  .b-mp .b-mp__jump:hover .b-mp__jump-jp { color: #D9CBAE; transition-duration: var(--dur-in); }
  .b-mp .b-mp__jump:hover .b-mp__jump-no { transform: rotate(8deg) scale(1.08); transition-duration: var(--dur-in); }
  .b-mp .b-mp__jump:hover .b-mp__jump-arrow { transform: translateY(4px); transition-duration: var(--dur-in); }
  .b-mp .b-mp__back:hover { color: var(--c-green-deep); }
  .b-mp .b-mp__back:hover .b-mp__back-arrow { transform: translateY(-3px); transition-duration: var(--dur-in); }
}
.b-mp .b-mp__jump:focus-visible::before, .b-mp .b-mp__back:focus-visible::before { transform: none; }
.b-mp .b-mp__jump:focus-visible { color: #F7F2E7; }
.b-mp .b-mp__jump:focus-visible .b-mp__jump-jp { color: #D9CBAE; }
.b-mp .b-mp__back:focus-visible { color: var(--c-green-deep); }
/* 押した瞬間は少し沈む */
.b-mp .b-mp__jump:active, .b-mp .b-mp__back:active { transform: translateY(1px); }

@media (max-width: 1100px) {
  .b-mp .b-mp__jump-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* HALALスタンプは本文・目次に重ならないよう、タイトルの上に置く */
  .b-mp--intro .b-mp__stamp { position: relative; right: auto; top: auto; bottom: auto; margin: 0 auto var(--s-5); }
}
@media (max-width: 560px) {
  .b-mp .b-mp__jump-list { grid-template-columns: 1fr; gap: var(--s-3); }
  .b-mp .b-mp__jump { grid-template-areas: "no en arrow" "no jp arrow"; grid-template-rows: auto auto; row-gap: 0; padding: var(--s-3) var(--s-4); }
  .b-mp .b-mp__jump-en { font-size: var(--fs-md); }
  .b-mp .b-mp__back { padding-right: var(--s-5); }
}

/* 視差効果を減らす設定：動き（transform）は止め、色の変化だけ残す */
@media (prefers-reduced-motion: reduce) {
  .b-mp :is(.b-mp__photo, .b-mp__photo img, .b-mp__price, .b-mp__set-photo img, .b-mp__jump-no, .b-mp__jump-arrow, .b-mp__back-arrow, .b-mp__jump::before, .b-mp__back::before) { transition: none; }
  .b-mp :is(.b-mp__item, .b-mp__choice):hover :is(.b-mp__photo, .b-mp__photo img),
  .b-mp .b-mp__item:hover .b-mp__price,
  .b-mp .b-mp__set:hover .b-mp__set-photo img,
  .b-mp .b-mp__jump:is(:hover, :focus-visible) .b-mp__jump-arrow,
  .b-mp .b-mp__back:is(:hover, :focus-visible) .b-mp__back-arrow,
  .b-mp :is(.b-mp__jump, .b-mp__back):active { transform: none; }
  .b-mp .b-mp__jump:is(:hover, :focus-visible) .b-mp__jump-no { transform: rotate(-8deg); }
}

/* --- スマホ --- */
@media (max-width: 900px) {
  .b-mp { --fs-h: 28px; --fs-set: 48px; --fs-xl: 20px; padding: var(--s-9) var(--s-4) var(--s-8); }
  .b-mp--intro { padding: var(--s-9) var(--s-4) var(--s-9); }
  .b-mp--intro .b-mp__index { padding: var(--s-4) var(--s-2); }
  .b-mp .b-mp__head { margin-bottom: var(--s-7); }
  .b-mp .b-mp__head + .b-mp__lead { margin: calc(var(--s-5) * -1) auto var(--s-6); }
  .b-mp .b-mp__grid, .b-mp .b-mp__grid--3, .b-mp .b-mp__grid--4, .b-mp .b-mp__grid--5 { gap: var(--s-6) var(--s-4); }
  .b-mp .b-mp__grid--2 { gap: var(--s-6); }
  .b-mp .b-mp__sub { margin: var(--s-8) 0 var(--s-6); }
  .b-mp .b-mp__box, .b-mp .b-mp__step { padding: var(--s-6) var(--s-5); }
  .b-mp .b-mp__box, .b-mp .b-mp__cols .b-mp__box { margin-top: var(--s-7); }
  .b-mp .b-mp__set { padding: var(--s-5); gap: var(--s-6); margin-bottom: var(--s-7); }
  .b-mp .b-mp__stamp { width: 112px; height: 112px; }
  .b-mp .b-mp__stamp strong { font-size: var(--fs-body); }
  .b-mp .b-mp__top { margin-top: var(--s-7); }
}

#sec_1790776899178
{
opacity: 1 !important;
    transform: translateY(0px) !important;
}


/* =========================================================
   Page: seats / GALLERY｜アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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

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


/* =========================================================
   Page: news / NEWS｜アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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

/* Block: news_list_grid / sec_1790775249737 */
.news-list-grid-section {
padding: 104px 20px !important;
background:
linear-gradient(180deg, rgb(22 58 32), rgb(21 55 31)), var(--bg-base) !important;
color: var(--text-main) !important;
}
.news-section-header {
max-width: 760px !important;
margin: 0 auto 56px !important;
text-align: center !important;
}
.news-main-title {
margin: 0 0 14px !important;
color: var(--gold-light) !important;
font-family: var(--font-serif) !important;
font-size: clamp(1.7rem, 3vw, 2.35rem) !important;
font-weight: 900 !important;
letter-spacing: .12em !important;
}
.news-sub-text {
margin: 0 !important;
color: var(--text-sub) !important;
font-size: 14px !important;
line-height: 2 !important;
}
.nlg-grid {
max-width: 1120px !important;
margin: 0 auto !important;
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
gap: 26px !important;
}
.nlg-card {
overflow: hidden !important;
background: rgba(255, 255, 255, .055) !important;
color: var(--text-main) !important;
border: 1px solid rgba(246, 207, 122, .22) !important;
border-radius: 6px !important;
box-shadow: 0 18px 48px rgba(0, 0, 0, .23) !important;
}
a.nlg-card:hover {
transform: translateY(-4px) !important;
border-color: rgba(246, 207, 122, .48) !important;
box-shadow: 0 24px 56px rgba(0, 0, 0, .3) !important;
}
.nlg-img,
.nlg-no-img {
background: var(--bg-paper) !important;
}
.nlg-img {
aspect-ratio: 4 / 3 !important;
}
.nlg-img img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
}
.nlg-no-img {
color: var(--gold-light) !important;
}
.nlg-body {
padding: 24px !important;
}
.nlg-meta {
margin-bottom: 12px !important;
}
.nlg-date {
display: inline-flex !important;
align-items: center !important;
background: rgba(197, 162, 90, .16) !important;
color: var(--gold-light) !important;
border: 1px solid rgba(246, 207, 122, .22) !important;
border-radius: 4px !important;
font-family: var(--font-en) !important;
font-size: 11px !important;
font-weight: 900 !important;
letter-spacing: .08em !important;
}
.nlg-title {
color: var(--text-sub) !important;
font-family: var(--font-serif) !important;
font-size: 16px !important;
font-weight: 800 !important;
line-height: 1.65 !important;
}
.news-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.news-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;
}
.news-sub-text {
  margin-top: 14px;
  color: var(--text-sub);
  font-size: 14px;
  line-height: 2;
}
@media (max-width: 768px) {
  .news-list-grid-section {
padding: 70px 15px !important;
}
  .nlg-grid {
grid-template-columns: 1fr !important;
}
}


#sec_1790775268186
{
    background: linear-gradient(180deg, rgb(28 68 42), rgb(26 62 39)), var(--bg-base) !important;
}


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

/* Block: news_article_body / sec_1790775268186 */
.news-article-body-section {
padding: 104px 20px !important;
background:
linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
var(--bg-base) !important;
color: var(--text-main) !important;
}
.nab-meta {
margin-bottom: 12px !important;
}
.nab-container {
max-width: 900px !important;
margin: 0 auto !important;
padding: 46px !important;
background: rgba(255, 255, 255, .055) !important;
color: var(--text-main) !important;
border: 1px solid rgba(246, 207, 122, .22) !important;
border-radius: 6px !important;
box-shadow: 0 20px 54px rgba(0, 0, 0, .25) !important;
}
.nab-header {
border-bottom: 1px solid rgba(246, 207, 122, .22) !important;
}
.nab-date {
color: var(--gold-light) !important;
font-family: var(--font-en) !important;
font-weight: 900 !important;
}
.nab-title {
color: var(--text-main) !important;
font-family: var(--font-serif) !important;
font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
line-height: 1.6 !important;
letter-spacing: .08em !important;
}
.nab-main-img-box {
aspect-ratio: 16 / 9 !important;
border: 1px solid rgba(246, 207, 122, .22) !important;
border-radius: 6px !important;
box-shadow: none !important;
background: var(--bg-paper) !important;
}
.nab-main-img-box img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
}
.nab-body-text {
color: var(--text-sub) !important;
font-family: var(--font-serif) !important;
font-size: 16px !important;
line-height: 2.25 !important;
letter-spacing: .04em !important;
}
.nab-footer-nav {
border-top: 1px dashed rgba(246, 207, 122, .3) !important;
}
.btn-nab-back {
background: transparent !important;
color: var(--gold-light) !important;
border: 1px solid var(--gold) !important;
border-radius: 4px !important;
}
.btn-nab-back:hover {
background: var(--gold) !important;
color: #101718 !important;
box-shadow: none !important;
}
.btn-nab-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 4px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #111;
  font-weight: 800;
  padding: 12px 22px;
  cursor: pointer;
}
.btn-nab-back:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #111;
}
@media (max-width: 768px) {
  .news-article-body-section {
padding: 70px 15px !important;
}
  .nab-container {
padding: 28px 22px !important;
}
  .nab-main-img-box {
aspect-ratio: 4 / 3 !important;
}
  .btn-nab-back {
width: 100% !important;
justify-content: center !important;
}
}


/* =========================================================
   Page: pakistan / パキスタン料理について｜アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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

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



.b-pkpg {
  --c-green: #1F4A3A; --c-green-deep: #15352A; --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2; --c-beige-dark: #D9CBAE; --c-beige-light: #F7F2E7; --c-white: #FFFFFF; --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --fs-body: 16px; --fs-md: 18px; --fs-lg: 20px; --fs-xl: 24px; --fs-h: clamp(32px, 3.6vw, 48px);
  --lh-body: 2; --lh-tight: 1.2;
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --z-deco: 1; --z-content: 2; --z-front: 3;
  --lat-plain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-opacity='.08' stroke-width='1.6'%3E%3Cpath d='M20 20h40v40H20zM40 10l30 30-30 30-30-30z'/%3E%3Cpath d='M40 0v10M40 70v10M0 40h10M70 40h10M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60'/%3E%3Cpath d='M33 26h14l7 7v14l-7 7H33l-7-7V33z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");
  --lat-tint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M20 20h40v40H20zM40 10l30 30-30 30-30-30z'/%3E%3Cpath d='M40 0v10M40 70v10M0 40h10M70 40h10M0 0l20 20M80 0L60 20M0 80l20-20M80 80L60 60'/%3E%3Cpath d='M33 26h14l7 7v14l-7 7H33l-7-7V33z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");
  --badge-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 220' preserveAspectRatio='none'%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='%231F4A3A'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%23D9CBAE' stroke-width='2' transform='translate(200 110) scale(.93 .9) translate(-200 -110)'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%23D9CBAE' stroke-width='1' stroke-dasharray='3 4' transform='translate(200 110) scale(.88 .82) translate(-200 -110)'/%3E%3C/svg%3E");
  --badge-beige: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 220' preserveAspectRatio='none'%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='%23F7F2E7'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%231F4A3A' stroke-width='2' transform='translate(200 110) scale(.93 .9) translate(-200 -110)'/%3E%3Cpath d='M200 4C215 24 235 30 260 30H360Q380 30 380 50V60C392 62 396 70 396 80V140C396 150 392 158 380 160V170Q380 190 360 190H260C235 190 215 196 200 216C185 196 165 190 140 190H40Q20 190 20 170V160C8 158 4 150 4 140V80C4 70 8 62 20 60V50Q20 30 40 30H140C165 30 185 24 200 4Z' fill='none' stroke='%231F4A3A' stroke-width='1' stroke-dasharray='3 4' transform='translate(200 110) scale(.88 .82) translate(-200 -110)'/%3E%3C/svg%3E");
  --corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none' stroke='%231F4A3A' stroke-width='1.6'%3E%3Cpath d='M2 38V2h36'/%3E%3Cpath d='M8 38V8h30'/%3E%3Cpath d='M14 14h8v8h-8z'/%3E%3C/svg%3E");
  position: relative; overflow: hidden;
  padding: var(--s-10) var(--s-5) var(--s-9);
  font-family: var(--f-title); color: var(--c-ink);
}
:where(.b-pkpg, .b-pkpg *, .b-pkpg *::before, .b-pkpg *::after) { box-sizing: border-box; }
.b-pkpg h2, .b-pkpg p, .b-pkpg ul, .b-pkpg li, .b-pkpg figure { margin: 0; padding: 0; list-style: none; }
.b-pkpg img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 100%; max-width: none; }
.b-pkpg .b-pkpg__inner { position: relative; z-index: var(--z-content); max-width: 1200px; margin-inline: auto; }

/* 背景：格子紋（ベージュ／深緑） */
.b-pkpg--plain { background: #EFE6D2 var(--lat-plain) 0 0 / 80px 80px; }
.b-pkpg--tint  { background: #1F4A3A var(--lat-tint) 0 0 / 80px 80px; color: #F7F2E7; }

/* セクション上端の民族柄トリム */
.b-pkpg .b-pkpg__trim { position: absolute; left: 0; right: 0; top: 0; height: 22px; z-index: var(--z-front); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22' viewBox='0 0 40 22'%3E%3Crect width='40' height='3' fill='%23D9CBAE'/%3E%3Crect y='19' width='40' height='3' fill='%23D9CBAE'/%3E%3Cpath d='M0 17L10 6l10 11L30 6l10 11' fill='none' stroke='%23D9CBAE' stroke-width='1.6'/%3E%3Cpath d='M20 6l3 3-3 3-3-3z M0 6l3 3-3 3-3-3z M40 6l3 3-3 3-3-3z' fill='%23F7F2E7'/%3E%3Ccircle cx='10' cy='13' r='1.8' fill='%23F7F2E7'/%3E%3Ccircle cx='30' cy='13' r='1.8' fill='%23F7F2E7'/%3E%3C/svg%3E") 0 0 / 40px 22px repeat-x; }
.b-pkpg--plain .b-pkpg__trim { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22' viewBox='0 0 40 22'%3E%3Crect width='40' height='3' fill='%231F4A3A'/%3E%3Crect y='19' width='40' height='3' fill='%231F4A3A'/%3E%3Cpath d='M0 17L10 6l10 11L30 6l10 11' fill='none' stroke='%231F4A3A' stroke-width='1.6'/%3E%3Cpath d='M20 6l3 3-3 3-3-3z M0 6l3 3-3 3-3-3z M40 6l3 3-3 3-3-3z' fill='%23D9CBAE'/%3E%3Ccircle cx='10' cy='13' r='1.8' fill='%23D9CBAE'/%3E%3Ccircle cx='30' cy='13' r='1.8' fill='%23D9CBAE'/%3E%3C/svg%3E"); }

/* ---------- 見出し：カルトゥーシュ ---------- */
.b-pkpg .b-pkpg__head { display: flex; flex-direction: column; align-items: center; gap: var(--s-5); margin-bottom: var(--s-8); text-align: center; }
.b-pkpg .b-pkpg__badge {
  width: min(600px, 100%); aspect-ratio: 400 / 220;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s-2);
  padding: 0 var(--s-8); background: var(--badge-green) center / 100% 100% no-repeat; color: #F7F2E7;
}
.b-pkpg--tint .b-pkpg__badge { background-image: var(--badge-beige); color: var(--c-green); }
.b-pkpg .b-pkpg__num { font-size: var(--fs-body); letter-spacing: 0.3em; text-indent: 0.3em; color: #D9CBAE; font-variant-numeric: tabular-nums; }
.b-pkpg--tint .b-pkpg__num { color: var(--c-green-soft); }
.b-pkpg .b-pkpg__h { display: flex; flex-direction: column; align-items: center; gap: var(--s-2); font-weight: 800; }
.b-pkpg .b-pkpg__h-en { font-size: var(--fs-h); line-height: var(--lh-tight); letter-spacing: 0.04em; text-wrap: balance; }
.b-pkpg .b-pkpg__h-jp { font-size: var(--fs-lg); line-height: 1.5; letter-spacing: 0.16em; text-wrap: balance; }

/* ---------- 本文 ---------- */
.b-pkpg .b-pkpg__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--s-8); }
.b-pkpg .b-pkpg__copy { display: flex; flex-direction: column; gap: var(--s-5); }
.b-pkpg .b-pkpg__text { display: flex; flex-direction: column; gap: var(--s-4); }
.b-pkpg .b-pkpg__text p { font-size: var(--fs-md); line-height: var(--lh-body); letter-spacing: 0.04em; text-wrap: pretty; }
.b-pkpg .b-pkpg__quote {
  display: flex; flex-direction: column; gap: var(--s-1);
  padding: var(--s-4) var(--s-5); background: #D9CBAE; color: var(--c-green-deep);
  border-left: 6px solid var(--c-green);
  font-weight: 800; font-size: var(--fs-lg); line-height: 1.6; text-wrap: balance;
}
.b-pkpg--tint .b-pkpg__quote { border-left-color: #F7F2E7; }
.b-pkpg .b-pkpg__quote--center { width: fit-content; max-width: 100%; margin: var(--s-7) auto 0; text-align: center; align-items: center; border-left: 0; border-top: 6px solid #F7F2E7; }

.b-pkpg :is(.b-pkpg__quote, .b-pkpg__h-jp, .b-pkpg__ticket strong) { word-break: keep-all; overflow-wrap: anywhere; }

/* 料理写真（切り抜き）共通 */
.b-pkpg .b-pkpg__dish { position: absolute; aspect-ratio: 1; }

/* ---------- ① シェフ：料理＋パスポートスタンプ ---------- */
.b-pkpg .b-pkpg__visual { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1; justify-self: center; }
.b-pkpg .b-pkpg__visual--chef::before {   /* 皿の下の丸い台座 */
  content: ""; position: absolute; inset: 12%; border-radius: 50%;
  border: 2px solid #D9CBAE; outline: 1px dashed rgba(217, 203, 174, .6); outline-offset: 12px;
}
.b-pkpg .b-pkpg__dish--main { left: 14%; top: 14%; width: 72%; }
.b-pkpg .b-pkpg__stamps { position: absolute; inset: 0; }
.b-pkpg .b-pkpg__stamp {
  position: absolute; z-index: var(--z-front);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s-1);
  padding: var(--s-3) var(--s-4) var(--s-3);
  background: var(--c-green-deep); color: #D9CBAE;
  border: 3px double #D9CBAE; border-radius: 6px;
  text-align: center; line-height: 1.3;
}
.b-pkpg .b-pkpg__stamp::before {   /* スタンプ上部の星3つ（図形） */
  content: ""; width: 44px; height: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 8'%3E%3Cg fill='%23D9CBAE'%3E%3Cpath d='M4 0l1 3h3l-2.5 2 1 3L4 6.2 1.5 8l1-3L0 3h3z'/%3E%3Cpath d='M22 0l1 3h3l-2.5 2 1 3L22 6.2 19.5 8l1-3L18 3h3z'/%3E%3Cpath d='M40 0l1 3h3l-2.5 2 1 3L40 6.2 37.5 8l1-3L36 3h3z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.b-pkpg .b-pkpg__stamp [lang="en"] { font-weight: 800; font-size: var(--fs-body); letter-spacing: 0.1em; }
.b-pkpg .b-pkpg__stamp span:not([lang]) { font-size: var(--fs-body); }
.b-pkpg .b-pkpg__stamp--round { width: 128px; height: 128px; padding: 0; border-radius: 50%; }
.b-pkpg .b-pkpg__stamp--1 { left: -2%; top: 4%; transform: rotate(-10deg); }
.b-pkpg .b-pkpg__stamp--2 { right: 0; top: 0; transform: rotate(9deg); background: #D9CBAE; color: var(--c-green-deep); border-color: var(--c-green-deep); }
.b-pkpg .b-pkpg__stamp--2::before { filter: brightness(.3); }
.b-pkpg .b-pkpg__stamp--3 { right: -4%; top: 56%; transform: rotate(-6deg); }
.b-pkpg .b-pkpg__stamp--4 { left: 0; bottom: 4%; transform: rotate(8deg); background: #D9CBAE; color: var(--c-green-deep); border-color: var(--c-green-deep); }
.b-pkpg .b-pkpg__stamp--4::before { filter: brightness(.3); }
.b-pkpg .b-pkpg__stamp--5 { right: 22%; bottom: -2%; transform: rotate(-12deg); }

/* ---------- ② スパイス：円形の文字リング＋料理 ---------- */
.b-pkpg .b-pkpg__grid--rev { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.b-pkpg .b-pkpg__ring { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--c-green); overflow: visible; }
.b-pkpg .b-pkpg__ring-text { fill: var(--c-green); font-family: var(--f-title); font-weight: 800; font-size: 28px; letter-spacing: 0.06em; }
.b-pkpg .b-pkpg__dish--spice { left: 19%; top: 19%; width: 62%; }
.b-pkpg .b-pkpg__dish--sat1 { left: -10%; bottom: -10%; width: 24%; transform: rotate(-8deg); }
.b-pkpg .b-pkpg__dish--sat2 { right: -9%; top: -9%; width: 22%; transform: rotate(10deg); }

/* ---------- ③ ビュッフェ ---------- */
.b-pkpg .b-pkpg__ticket {
  position: relative; display: inline-flex; align-items: center; gap: var(--s-4);
  padding: var(--s-3) var(--s-7); background: #D9CBAE; color: var(--c-green-deep);
  -webkit-mask: radial-gradient(circle 10px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 10px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 10px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 10px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
}
.b-pkpg .b-pkpg__ticket [lang="en"] { font-size: var(--fs-body); letter-spacing: 0.2em; padding-right: var(--s-4); border-right: 1px dashed currentColor; }
.b-pkpg .b-pkpg__ticket strong { font-size: var(--fs-xl); letter-spacing: 0.12em; }
.b-pkpg .b-pkpg__center { display: flex; flex-direction: column; gap: var(--s-5); max-width: 760px; margin-inline: auto; text-align: center; }

/* 料理の行列：テーブルランナーの上に並べる */
.b-pkpg .b-pkpg__parade { position: relative; display: flex; justify-content: center; margin: var(--s-8) 0 var(--s-7); padding: var(--s-5) 0; }
.b-pkpg .b-pkpg__parade::before {
  content: ""; position: absolute; left: 50%; top: 30%; bottom: 30%; width: 100vw; transform: translateX(-50%);
  background: #D9CBAE; border-top: 3px double var(--c-green-deep); border-bottom: 3px double var(--c-green-deep);
}
.b-pkpg .b-pkpg__parade li { position: relative; width: 200px; aspect-ratio: 1; margin-left: -20px; }
.b-pkpg .b-pkpg__parade li:first-child { margin-left: 0; }
.b-pkpg .b-pkpg__parade li:nth-child(odd) { transform: translateY(-16px) rotate(-4deg); }
.b-pkpg .b-pkpg__parade li:nth-child(even) { transform: translateY(16px) rotate(4deg); }


/* ---------- タブレット ---------- */
@media (max-width: 1100px) {
  .b-pkpg .b-pkpg__parade li { width: 160px; }
}
/* ---------- スマホ ---------- */
@media (max-width: 900px) {
  .b-pkpg { padding: var(--s-9) var(--s-4) var(--s-8); --fs-h: 28px; }
  .b-pkpg .b-pkpg__head { margin-bottom: var(--s-7); }
  .b-pkpg .b-pkpg__badge { aspect-ratio: 400 / 250; padding: 0 var(--s-6); }
  .b-pkpg .b-pkpg__h-jp { font-size: var(--fs-body); letter-spacing: 0.1em; }
  .b-pkpg .b-pkpg__grid, .b-pkpg .b-pkpg__grid--rev { grid-template-columns: 1fr; gap: var(--s-7); }
  .b-pkpg .b-pkpg__visual { order: -1; max-width: 440px; }
  .b-pkpg .b-pkpg__visual--spice { width: 84%; margin-block: var(--s-5); }
  .b-pkpg .b-pkpg__text p { font-size: var(--fs-body); }
  .b-pkpg .b-pkpg__quote { font-size: var(--fs-md); }
  /* スタンプは写真の下に横並び */
  .b-pkpg .b-pkpg__visual--chef { aspect-ratio: auto; }
  .b-pkpg .b-pkpg__visual--chef::before { inset: 0; bottom: auto; aspect-ratio: 1; margin: 12%; }
  .b-pkpg .b-pkpg__dish--main { position: relative; left: auto; top: auto; width: 76%; margin: 12%; margin-bottom: 0; }
  .b-pkpg .b-pkpg__stamps { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-4); margin-top: var(--s-5); }
  .b-pkpg .b-pkpg__stamp { position: relative; inset: auto; }
  .b-pkpg .b-pkpg__stamp--round { width: 112px; height: 112px; }
  .b-pkpg .b-pkpg__parade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-2); padding: 0; }
  .b-pkpg .b-pkpg__parade li { width: auto; margin: 0; }
  .b-pkpg .b-pkpg__parade li:nth-child(odd), .b-pkpg .b-pkpg__parade li:nth-child(even) { transform: none; }
  .b-pkpg .b-pkpg__parade::before { top: 20%; bottom: 20%; }
  .b-pkpg .b-pkpg__ticket { flex-direction: column; gap: var(--s-1); padding: var(--s-3) var(--s-7); }
  .b-pkpg .b-pkpg__ticket [lang="en"] { padding: 0 0 var(--s-1); border-right: 0; border-bottom: 1px dashed currentColor; white-space: nowrap; }
  .b-pkpg .b-pkpg__dish--sat1, .b-pkpg .b-pkpg__dish--sat2 { display: none; }
}


/* =========================================================
   Page: wedding / 結婚式・二次会｜アラジン｜茨城県古河市のパキスタン料理・ハラールレストラン
========================================================= */

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

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



.b-wdpg {
  --c-green: #1F4A3A; --c-green-deep: #15352A; --c-green-soft: #6E8F80;
  --c-beige: #EFE6D2; --c-ochre: #D9CBAE; --c-cream: #F7F2E7; --c-ink: #26312B;
  --f-title: "Shippori Mincho", "Yu Mincho", serif;
  --fs-body: 16px; --fs-md: 18px; --fs-lg: 20px; --fs-xl: 24px; --fs-h: clamp(26px, 3vw, 40px);
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --z-deco: 1; --z-content: 2; --z-front: 3;
  position: relative; overflow: hidden;
  padding: var(--s-10) var(--s-5);
  font-family: var(--f-title); color: var(--c-ink);
}
:where(.b-wdpg, .b-wdpg *, .b-wdpg *::before, .b-wdpg *::after) { box-sizing: border-box; }
.b-wdpg h2, .b-wdpg p, .b-wdpg ul, .b-wdpg li, .b-wdpg figure { margin: 0; padding: 0; list-style: none; }
.b-wdpg img { display: block; width: 100%; height: 100%; object-fit: contain; max-width: none; }
.b-wdpg .b-wdpg__inner { position: relative; z-index: var(--z-content); max-width: 1120px; margin-inline: auto; }

/* 背景：まばらな星紋 */
.b-wdpg--light { background: var(--c-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-opacity='.08' stroke-width='1.4'%3E%3Cpath d='M60 44l4.6 11 11.4-4.6-4.6 11.4 11 4.6-11 4.6 4.6 11.4-11.4-4.6L60 89l-4.6-11-11.4 4.6 4.6-11.4-11-4.6 11-4.6-4.6-11.4 11.4 4.6z' transform='translate(0 -6)'/%3E%3Ccircle cx='60' cy='60' r='4'/%3E%3C/g%3E%3Cg fill='%231F4A3A' fill-opacity='.08'%3E%3Ccircle cx='0' cy='0' r='2.4'/%3E%3Ccircle cx='120' cy='0' r='2.4'/%3E%3Ccircle cx='0' cy='120' r='2.4'/%3E%3Ccircle cx='120' cy='120' r='2.4'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 120px; }
.b-wdpg--green { background: var(--c-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23F7F2E7' stroke-opacity='.08' stroke-width='1.4'%3E%3Cpath d='M60 44l4.6 11 11.4-4.6-4.6 11.4 11 4.6-11 4.6 4.6 11.4-11.4-4.6L60 89l-4.6-11-11.4 4.6 4.6-11.4-11-4.6 11-4.6-4.6-11.4 11.4 4.6z' transform='translate(0 -6)'/%3E%3Ccircle cx='60' cy='60' r='4'/%3E%3C/g%3E%3Cg fill='%23F7F2E7' fill-opacity='.08'%3E%3Ccircle cx='0' cy='0' r='2.4'/%3E%3Ccircle cx='120' cy='0' r='2.4'/%3E%3Ccircle cx='0' cy='120' r='2.4'/%3E%3Ccircle cx='120' cy='120' r='2.4'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 120px; color: var(--c-cream); }

/* セクション上端：レースの縁飾り（上のセクションの色が垂れ下がる） */
.b-wdpg .b-wdpg__lace { position: absolute; left: 0; right: 0; top: 0; height: 18px; z-index: var(--z-front); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='18' viewBox='0 0 32 18'%3E%3Cpath d='M0 0h32v2a16 16 0 0 1-32 0z' fill='%23F7F2E7'/%3E%3Ccircle cx='16' cy='7' r='2' fill='%231F4A3A'/%3E%3C/svg%3E") 0 0 / 32px 18px repeat-x; }

/* ---------- 見出し ---------- */
.b-wdpg .b-wdpg__head { display: flex; flex-direction: column; align-items: center; gap: var(--s-4); margin-bottom: var(--s-9); text-align: center; }
.b-wdpg .b-wdpg__label {
  display: inline-flex; align-items: center; gap: var(--s-3);
  font-size: var(--fs-body); letter-spacing: 0.24em; text-transform: uppercase; color: var(--c-green-soft);
}
.b-wdpg--green .b-wdpg__label { color: var(--c-ochre); }
.b-wdpg .b-wdpg__label::before, .b-wdpg .b-wdpg__label::after { content: ""; width: 40px; height: 1px; background: currentColor; }
.b-wdpg .b-wdpg__label-no {
  display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid currentColor; letter-spacing: 0; font-variant-numeric: tabular-nums;
}
.b-wdpg .b-wdpg__h {
  font-weight: 800; font-size: var(--fs-h); line-height: 1.5; letter-spacing: 0.08em; color: var(--c-green-deep);
  text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere;
}
.b-wdpg--green .b-wdpg__h { color: var(--c-cream); }
.b-wdpg .b-wdpg__orn { width: 160px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 24'%3E%3Cg fill='none' stroke='%231F4A3A' stroke-width='1.4'%3E%3Cpath d='M0 12h56M104 12h56'/%3E%3Cpath d='M56 12c6-8 14-8 18 0-4 8-12 8-18 0zM104 12c-6-8-14-8-18 0 4 8 12 8 18 0z'/%3E%3C/g%3E%3Cpath d='M80 4l8 8-8 8-8-8z' fill='%23D9CBAE' stroke='%231F4A3A' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; }
.b-wdpg--green .b-wdpg__orn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 24'%3E%3Cg fill='none' stroke='%23D9CBAE' stroke-width='1.4'%3E%3Cpath d='M0 12h56M104 12h56'/%3E%3Cpath d='M56 12c6-8 14-8 18 0-4 8-12 8-18 0zM104 12c-6-8-14-8-18 0 4 8 12 8 18 0z'/%3E%3C/g%3E%3Cpath d='M80 4l8 8-8 8-8-8z' fill='%23F7F2E7'/%3E%3C/svg%3E"); }

/* ---------- ① アーチ窓＋本文 ---------- */
.b-wdpg .b-wdpg__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: var(--s-9); }
.b-wdpg .b-wdpg__photo { position: relative; overflow: hidden; background: var(--c-beige); }
.b-wdpg .b-wdpg__photo img { object-fit: cover; }
.b-wdpg .b-wdpg__photos { position: relative; width: 100%; max-width: 440px; justify-self: center; padding: 0 var(--s-8) var(--s-8) 0; }
.b-wdpg .b-wdpg__photo--main { aspect-ratio: 4 / 5; }
.b-wdpg .b-wdpg__photos::before {   /* 写真の後ろにずらした額縁 */
  content: ""; position: absolute; top: var(--s-5); left: var(--s-5); right: var(--s-6); bottom: var(--s-7); border: 1px solid var(--c-ochre); outline: 1px solid var(--c-ochre); outline-offset: 6px;
}
.b-wdpg .b-wdpg__photo--sub { position: absolute; z-index: var(--z-front); right: 0; bottom: 0; width: 46%; aspect-ratio: 1; border: 6px solid var(--c-cream); }
.b-wdpg .b-wdpg__copy { display: flex; flex-direction: column; gap: var(--s-5); }
.b-wdpg .b-wdpg__copy p:not(.b-wdpg__sign) { font-size: var(--fs-md); line-height: 2.1; letter-spacing: 0.04em; text-wrap: pretty; }
.b-wdpg .b-wdpg__sign {
  display: flex; align-items: center; gap: var(--s-4); margin-top: var(--s-4); padding-top: var(--s-5);
  border-top: 1px solid var(--c-ochre);
  font-weight: 800; font-size: var(--fs-lg); line-height: 1.6; color: var(--c-green);
  word-break: keep-all; overflow-wrap: anywhere;
}
.b-wdpg .b-wdpg__sign::before { content: ""; flex-shrink: 0; width: 12px; height: 12px; background: var(--c-ochre); outline: 1px solid var(--c-green); outline-offset: 3px; transform: rotate(45deg); }

/* ---------- ② 招待状パネル＋宴卓 ---------- */
.b-wdpg .b-wdpg__panel {
  position: relative; max-width: 860px; margin: var(--s-7) auto 0;
  display: flex; flex-direction: column; gap: var(--s-4);
  padding: var(--s-8) var(--s-8) var(--s-7); background: var(--c-cream); color: var(--c-ink); text-align: center;
}
.b-wdpg .b-wdpg__panel::before {   /* 上辺のとんがり屋根（アーチの頂） */
  content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 40px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40C120 40 160 30 180 16C192 8 197 4 200 0C203 4 208 8 220 16C240 30 280 40 400 40Z' fill='%23F7F2E7'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.b-wdpg .b-wdpg__panel::after { content: ""; position: absolute; inset: 12px; border: 1px solid var(--c-ochre); pointer-events: none; }
.b-wdpg .b-wdpg__panel p:not(.b-wdpg__call) { font-size: var(--fs-md); line-height: 2.1; letter-spacing: 0.04em; text-wrap: pretty; }
.b-wdpg .b-wdpg__call {
  display: flex; align-items: center; justify-content: center; gap: var(--s-4); margin-top: var(--s-4);
  font-weight: 800; font-size: var(--fs-lg); line-height: 1.6; color: var(--c-green);
  word-break: keep-all; overflow-wrap: anywhere;
}
.b-wdpg .b-wdpg__call::before, .b-wdpg .b-wdpg__call::after { content: ""; flex-shrink: 0; width: 32px; height: 1px; background: var(--c-green); }

.b-wdpg .b-wdpg__gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); margin-top: var(--s-8); }
.b-wdpg .b-wdpg__gallery .b-wdpg__photo { aspect-ratio: 4 / 3; outline: 1px solid var(--c-ochre); outline-offset: 6px; background: var(--c-green-deep); }

/* ---------- タブレット・スマホ ---------- */
@media (max-width: 900px) {
  .b-wdpg { padding: var(--s-9) var(--s-4); }
  .b-wdpg .b-wdpg__head { margin-bottom: var(--s-7); }
  .b-wdpg .b-wdpg__label::before, .b-wdpg .b-wdpg__label::after { width: 24px; }
  .b-wdpg .b-wdpg__grid { grid-template-columns: 1fr; gap: var(--s-7); }
  .b-wdpg .b-wdpg__photos { max-width: 340px; padding: 0 var(--s-7) var(--s-7) 0; }
  .b-wdpg .b-wdpg__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); margin-top: var(--s-7); }
  .b-wdpg .b-wdpg__gallery li:first-child { grid-column: 1 / -1; }
  .b-wdpg .b-wdpg__copy p:not(.b-wdpg__sign), .b-wdpg .b-wdpg__panel p:not(.b-wdpg__call) { font-size: var(--fs-body); line-height: 2; }
  .b-wdpg .b-wdpg__sign, .b-wdpg .b-wdpg__call { font-size: var(--fs-md); }
  .b-wdpg .b-wdpg__panel { margin-top: var(--s-6); padding: var(--s-7) var(--s-5) var(--s-6); text-align: left; }
  .b-wdpg .b-wdpg__panel::before { height: 28px; }
  .b-wdpg .b-wdpg__call { justify-content: flex-start; }
  .b-wdpg .b-wdpg__call::before, .b-wdpg .b-wdpg__call::after { display: none; }
}


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

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

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

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

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

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

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

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

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