/* ==========================================================================
   バルチカ03店 LP 専用スタイル（/barchica03, /barchica03/en）
   - テーマ共通CSSは読み込まない前提の独立スタイル
   - PC: デザイン幅 737pt → コンテナ 1100px（cqw = コンテナ幅の1%）
   - SP: 767px 以下で縦積みレイアウト
   ========================================================================== */

:root {
  --lp-max: 1100px;
  --lp-brown: #40220f;
  --lp-cream: #fcd691;
  --lp-cream-light: #fef1da;
  --lp-red: #c30e23;
  --lp-red-deep: #9c0216;
  --lp-navy: #1d2088;
  --lp-navy-deep: #003874;
  --lp-navy-dark: #00325a;
  --lp-yellow: #fff100;
  --lp-text: #000;
  --lp-white: #fff;
  --lp-font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --lp-font-kaisho: "Kaisei Tokumin", "Noto Serif JP", "Hiragino Mincho ProN", serif;
  --lp-font-brush: "Yuji Syuku", "Kaisei Tokumin", "Noto Serif JP", serif;
}

/* ---- リセット（:where() で詳細度ゼロにし、各コンポーネントの余白指定を優先させる） ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.lp-barchica03 {
  margin: 0;
  background: var(--lp-white);
  color: var(--lp-text);
  font-family: var(--lp-font-sans);
  font-weight: 700;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
:where(.lp-barchica03 h1, .lp-barchica03 h2, .lp-barchica03 h3, .lp-barchica03 p,
       .lp-barchica03 ul, .lp-barchica03 dl, .lp-barchica03 dd, .lp-barchica03 figure) { margin: 0; padding: 0; }
:where(.lp-barchica03 ul) { list-style: none; }
:where(.lp-barchica03 img) { max-width: 100%; height: auto; display: block; }
:where(.lp-barchica03 a) { color: inherit; text-decoration: none; }
:where(.lp-barchica03 em) { font-style: normal; color: var(--lp-red); }
.u-sp-only { display: none; }
@media (max-width: 767px) { .u-sp-only { display: inline; } }
.u-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap;
}

/* ---- 共通レイアウト ------------------------------------------------------ */
.lp-main { display: block; width: 100%; }

/* ---- ヘッダー（金色バー＋言語切替） -------------------------------------- */
.lp-header {
  position: relative;
  background: #d4ae55 url("/wp-content/themes/mantaro/images/barchica03/common/header-bar.webp") center / 100% 100% no-repeat;
}
.lp-header__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  height: clamp(48px, 7.1vw, 78px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 clamp(16px, 5.6%, 60px);
}
.lp-header__lang {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  color: var(--lp-brown);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: clamp(13px, 1.55vw, 17px);
  letter-spacing: .06em;
  line-height: 1;
  transition: opacity .2s;
}
.lp-header__lang:hover { opacity: .7; }
.lp-header__globe { width: clamp(22px, 2.7vw, 30px); height: auto; }

/* ---- ヒーロー ------------------------------------------------------------ */
.lp-hero {
  position: relative;
  background: linear-gradient(to bottom, var(--lp-brown) 0, var(--lp-brown) 64.7%, var(--lp-white) 64.7%);
}
.lp-hero__visual { max-width: var(--lp-max); margin: 0 auto; }
.lp-hero__img { width: 100%; }
.lp-intro { position: absolute; inset: 0; max-width: var(--lp-max); margin: 0 auto; pointer-events: none; container-type: inline-size; }
.lp-intro__lead,
.lp-intro__text {
  position: absolute;
  color: var(--lp-text);
  font-size: clamp(14px, 2.45cqw, 27px);
  line-height: 1.25;
  letter-spacing: .02em;
  white-space: nowrap;
}
.lp-intro__lead { left: 4.9%; top: 70.4%; }
.lp-intro__text { left: 14.4%; top: 90.5%; width: 34.4%; text-align: center; }
.lp-intro__logo { display: none; }   /* PCはヒーロー画像にロゴを含む */

/* ---- 3つのポイント -------------------------------------------------------- */
.lp-points { background: var(--lp-white); }
.lp-points__list {
  max-width: var(--lp-max);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 1%;
  padding: 2.5% 11.5% 4.8%;
}
.lp-points__item { width: 24.9%; flex: 0 0 auto; }
.lp-points__item img { width: 100%; }

/* ---- セクション見出し（帯） --------------------------------------------- */
.lp-section-title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: .32em 0;
  font-family: var(--lp-font-kaisho);
  font-weight: 700;
  font-size: clamp(22px, 4.4cqw, 48px);
  line-height: 1.2;
  letter-spacing: .06em;
  text-align: center;
}
.lp-section-title__small { font-size: .62em; margin: 0 .1em; }
.lp-section-title--brown { background: var(--lp-brown); color: var(--lp-white); }
.lp-section-title--brown .lp-section-title__accent { color: var(--lp-yellow); }
.lp-section-title--cream { background: var(--lp-cream); color: var(--lp-brown); }
.lp-section-title--cream .lp-section-title__accent { color: var(--lp-red); }
.lp-section-title--navy { background: var(--lp-navy); color: var(--lp-white); }
.lp-section-title--navy .lp-section-title__accent { color: var(--lp-yellow); }

/* ---- 満太郎のこだわり ------------------------------------------------------- */
.lp-kodawari { background: var(--lp-cream); padding-top: 3.8%; }
.lp-kodawari > .lp-section-title { max-width: var(--lp-max); margin: 0 auto; container-type: inline-size; }
.lp-kodawari__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 2.7% 5.7% 5.7%;
  container-type: inline-size;
}
.lp-kodawari__card {
  position: relative;
  background: var(--lp-cream-light);
  padding: 3.8% 3.7% 4.6% 4%;
  display: grid;
  grid-template-columns: 33% 30.2% 3.8% 33%;
  grid-template-rows: auto auto auto;
}
.lp-kodawari__card + .lp-kodawari__card { margin-top: 5.7%; }
.lp-kodawari__badge { grid-column: 1 / 3; grid-row: 1; width: 63%; z-index: 2; margin-top: -2%; margin-left: -4.5%; }
.lp-kodawari__photo img { width: 100%; }
.lp-kodawari__photo--main { grid-column: 2 / 5; grid-row: 1; z-index: 1; }
.lp-kodawari__heading {
  grid-column: 1 / 3;
  grid-row: 2;
  align-self: start;
  margin: 3.6% 0 0;
  padding: .12em 0 .12em .5em;
  border-left: clamp(10px, 2.17cqw, 24px) solid var(--lp-brown);   /* デザイン: 太線 16pt / LP幅 737pt */
  color: var(--lp-red);
  font-family: var(--lp-font-kaisho);
  font-weight: 700;
  font-size: clamp(20px, 3.9cqw, 43px);
  line-height: 1.32;
  letter-spacing: .04em;
}
.lp-kodawari__text {
  grid-column: 1 / 3;
  grid-row: 3;
  margin: 3% 0 0;
  font-size: clamp(14px, 2.05cqw, 23px);
  line-height: 1.75;
  letter-spacing: .04em;
}
.lp-kodawari__subphotos {
  grid-column: 4;
  grid-row: 2 / 4;
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 1.2cqw, 13px);
  margin-top: 5.5%;
}
/* こだわり02：左に縦長写真、右に3枚 */
.lp-kodawari__card--02 .lp-kodawari__photo--main { grid-column: 2 / 3; grid-row: 1 / 3; }
.lp-kodawari__card--02 .lp-kodawari__badge { width: 66%; }
.lp-kodawari__card--02 .lp-kodawari__heading { grid-column: 1 / 2; grid-row: 2; margin-top: 9%; }
.lp-kodawari__card--02 .lp-kodawari__subphotos { grid-row: 1 / 4; margin-top: 0; gap: clamp(4px, 1.1cqw, 12px); }
/* こだわり03：右下に写真1枚 */
.lp-kodawari__card--03 .lp-kodawari__subphotos { grid-row: 2 / 4; margin-top: 7%; }
.lp-kodawari__card--03 .lp-kodawari__badge { margin-top: -1%; }

/* ---- 満太郎のおすすめ ------------------------------------------------------- */
.lp-recommend { background: var(--lp-brown); padding-top: 3.8%; }
.lp-recommend > .lp-section-title { max-width: var(--lp-max); margin: 0 auto; container-type: inline-size; }
.lp-recommend__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 5.7% 5.7% 9.5%;
  container-type: inline-size;
}
.lp-recommend__item {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.lp-recommend__item + .lp-recommend__item { margin-top: 6.8%; }
.lp-recommend__photo {
  position: relative;
  flex: 0 0 45%;
  width: 45%;
  z-index: 2;
}
.lp-recommend__photo::after {
  content: "";
  position: absolute;
  inset: 1.7% -1.7% -1.7% 1.7%;
  background: var(--lp-red);
  z-index: -1;
}
.lp-recommend__photo img { width: 100%; }
.lp-recommend__board {
  flex: 1 1 auto;
  margin: 3.2% 0 0 -8%;
  padding: 3.5% 3% 4% 11.5%;
  background: url("/wp-content/themes/mantaro/images/barchica03/common/wood.webp") center / cover no-repeat;
  min-height: 0;
  z-index: 1;
}
.lp-recommend__name { margin: 0 0 .4em; }
.lp-recommend__name img { width: 100%; max-width: 92%; }
.lp-recommend__text {
  font-size: clamp(13px, 2.05cqw, 23px);
  line-height: 1.7;
  letter-spacing: .04em;
}

/* ---- 満太郎の思い ------------------------------------------------------------ */
.lp-message { background: var(--lp-white); padding-top: 5.6%; }
.lp-message > .lp-section-title { max-width: var(--lp-max); margin: 0 auto; container-type: inline-size; }
.lp-message__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 5.1% 5.7% 9.5%;
  container-type: inline-size;
}
.lp-message__block { display: flex; justify-content: space-between; align-items: flex-start; }
.lp-message__block--father { margin-top: 2.5%; }
.lp-message__photo { flex: 0 0 48.6%; width: 48.6%; }
.lp-message__photo img { width: 100%; }
.lp-message__body { flex: 0 0 46.6%; width: 46.6%; padding-top: .4%; }
.lp-message__catch { margin: 0 0 6%; }
.lp-message__catch img { width: 100%; }
.lp-message__text {
  font-size: clamp(13px, 1.95cqw, 21.5px);
  line-height: 1.8;
  letter-spacing: .04em;
}
.lp-message__text + .lp-message__text { margin-top: 1.4em; }
.lp-message__subheading { margin: 0 0 4.5%; }
.lp-message__subheading img { width: 70.3%; }   /* 210pt / 本文カラム 298.7pt */
.lp-message__profile {
  font-size: clamp(12px, 1.56cqw, 17px);
  line-height: 1.85;
  letter-spacing: .03em;
}

/* ---- 店舗情報 ------------------------------------------------------------ */
.lp-shop { background: var(--lp-white); padding-top: 2.4%; }
.lp-shop__title { max-width: var(--lp-max); margin: 0 auto; }
/* 暖簾画像は竿が右に長いため、暖簾本体（画像幅の41.2%位置）が中央に来るよう左余白で調整 */
.lp-shop__title img { width: 67.2%; margin-left: calc(50% - 41.2% * .672); }
.lp-shop__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 0 12.1% 3.4%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  container-type: inline-size;
}
.lp-shop__photo { flex: 0 0 56.2%; width: 56.2%; }
.lp-shop__photo img { width: 100%; }
.lp-shop__info { flex: 0 0 38%; width: 38%; padding-top: .3%; container-type: inline-size; /* 以下の cqw は情報カラム幅基準（デザイン: 205pt） */ }
.lp-shop__name { margin: 0 0 6.2%; }
.lp-shop__name img { width: 100%; max-width: 88%; }
.lp-shop__address {
  font-size: 6.83cqw;        /* 14pt / 205pt */
  line-height: 1.25;
  letter-spacing: .02em;
}
.lp-shop__tel {
  margin-top: 9%;
  font-size: 8.3cqw;         /* 17pt / 205pt */
  line-height: 1.2;
  letter-spacing: .04em;
}
.lp-shop__hours {
  margin-top: 6.8%;
  padding-top: 6.2%;
  border-top: 1px solid var(--lp-navy-deep);
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.2em;
  row-gap: 1.1em;
  font-size: 6.34cqw;        /* 13pt / 205pt */
  line-height: 1.35;
}
.lp-shop__hours dt { letter-spacing: .1em; }
.lp-shop__hours dd { margin: 0; }
.lp-shop__sns {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 2.4% 0 2.8%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8.5%;
  position: relative;
}
.lp-shop__sns::before {
  content: "";
  position: absolute;
  top: 0; left: 12.1%; right: 12.1%;
  border-top: 1px solid var(--lp-navy-deep);
}
.lp-shop__sns li { width: 5.6%; }
.lp-shop__sns li:first-child { width: 8.5%; margin: -1.4% 0; }
.lp-shop__sns a { display: block; transition: opacity .2s; }
.lp-shop__sns a:hover { opacity: .7; }
.lp-shop__sns img { width: 100%; }
.lp-shop__map { width: 100%; max-width: none; margin: 0; }
.lp-shop__map iframe { display: block; width: 100%; aspect-ratio: 737 / 243; height: auto; border: 0; }

/* ---- グループ店舗 ---------------------------------------------------------- */
.lp-group { background: var(--lp-navy-deep); color: var(--lp-white); }
.lp-group__inner {
  max-width: var(--lp-max);
  margin: 0 auto;
  padding: 2.8% 12.9% 2%;
  container-type: inline-size;
}
.lp-group__logo { width: 43.5%; margin: 0 auto; }
.lp-group__logo img { width: 100%; }
.lp-group__title {
  margin: 0 0 3.6%;
  font-family: var(--lp-font-kaisho);
  font-weight: 700;
  font-size: clamp(16px, 2.85cqw, 31px);
  letter-spacing: .12em;
  text-align: center;
  line-height: 1.3;
}
.lp-group__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 6.6%;
  row-gap: clamp(16px, 4.8cqw, 53px);
}
.lp-group__card {
  background: url("/wp-content/themes/mantaro/images/barchica03/common/wood.webp") center / cover no-repeat;
  color: var(--lp-text);
  text-align: center;
  container-type: inline-size; /* 以下の cqw はカード幅基準（デザイン: カード幅 258.1pt） */
}
.lp-group__card > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 8.7% 6% 3.2%;
  transition: opacity .2s;
}
.lp-group__card > a:hover { opacity: .85; }
.lp-group__name { margin: 0 0 5.7%; display: flex; align-items: flex-end; justify-content: center; }
.lp-group__name img { width: auto; max-width: 100%; height: 10.5cqw; }   /* 店名 27pt */
.lp-group__card--long .lp-group__name img { height: 18.1cqw; }          /* 2行店名 46.8pt */
.lp-group__card--xlong .lp-group__name img { height: 38cqw; }           /* 英語3行店名 98pt */
.lp-group__photo { width: 78%; margin: 0 auto; }
.lp-group__photo img { width: 100%; aspect-ratio: 201.7 / 141.6; object-fit: cover; }
.lp-group__address {
  margin-top: 3.3%;
  font-weight: 700;          /* デザイン: ヒラギノ角ゴ W6 */
  font-size: 4.84cqw;        /* 12.5pt / 258.1pt */
  line-height: 1.25;
  letter-spacing: 0;
}
.lp-group__tel {
  margin-top: auto;
  padding-top: 8%;
  font-weight: 700;          /* デザイン: ヒラギノ角ゴ W7 */
  font-size: 6.47cqw;        /* 16.7pt / 258.1pt */
  line-height: 1.2;
  letter-spacing: 0;
}

/* ---- フッター ------------------------------------------------------------ */
.lp-footer {
  background: var(--lp-navy-deep);
  color: var(--lp-white);
  text-align: center;
  padding: 2.2% 16px 3.4%;
}
.lp-footer__copyright { margin: 0; font-weight: 400; font-size: clamp(10px, 1.1vw, 13px); letter-spacing: .05em; }
.lp-footer__copyright small { font-size: inherit; }

/* ---- 固定SNSボタン --------------------------------------------------------- */
.lp-sns {
  position: fixed;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lp-sns__item { display: block; width: clamp(48px, 6vw, 72px); transition: transform .2s; }
.lp-sns__item:hover { transform: scale(1.06); }
.lp-sns__item img { width: 100%; filter: drop-shadow(0 2px 4px rgba(0,0,0,.25)); }

/* ---- SP固定バー（お問い合わせ・ご予約／アクセス）：PCでは非表示 -------------- */
.lp-cta { display: none; }

/* ---- フェードイン（JS付与） ---------------------------------------------- */
.js-fade { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.js-fade.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js-fade { opacity: 1; transform: none; transition: none; }
}

/* ==========================================================================
   SP（767px 以下）
   ========================================================================== */
@media (max-width: 767px) {
  body.lp-barchica03 { font-size: 15px; }

  .lp-header__inner { height: 52px; padding: 0 16px; }
  .lp-header__lang { font-size: 14px; }
  .lp-header__globe { width: 24px; }

  /* ヒーロー：SP用合成画像 → リード → ロゴ → 本文 */
  .lp-hero { background: var(--lp-white); }
  .lp-intro { position: static; inset: auto; pointer-events: auto; padding: 0 5% 2%; text-align: center; }
  .lp-intro__lead,
  .lp-intro__text { position: static; font-size: clamp(13px, 4vw, 17px); line-height: 1.45; white-space: normal; width: auto; }
  .lp-intro__lead { margin-top: 1%; }
  .lp-intro__logo { display: block; width: 46.5%; margin: 3.5% auto 3%; }
  .lp-intro__logo img { width: 100%; }

  /* カード画像は影用の透明余白（上下 各約6pt）を含むため、見た目の間隔がデザイン（約8pt）になるよう詰める */
  .lp-points__list { flex-direction: column; align-items: center; gap: 0; padding: 1.5% 0 4.5%; }
  .lp-points__item { width: 72.3%; }
  .lp-points__item + .lp-points__item { margin-top: -1.5vw; }

  .lp-section-title { font-size: clamp(19px, 6.2vw, 26px); padding: .38em 0; }

  /* こだわり（SP：grid-areas で並び順を制御） */
  .lp-kodawari { padding-top: 4.8%; }
  .lp-kodawari__inner { padding: 8% 8.1% 8%; }
  .lp-kodawari__card {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "badge" "main" "sub" "head" "text";
    padding: 0 5.4% 7.2%;
    margin-top: 12%;
    container-type: inline-size; /* 以下の cqw はカード幅基準（デザイン: 237.3pt） */
  }
  .lp-kodawari__card + .lp-kodawari__card { margin-top: 15%; }
  .lp-kodawari__badge,
  .lp-kodawari__card--02 .lp-kodawari__badge,
  .lp-kodawari__card--03 .lp-kodawari__badge { grid-area: badge; width: 41%; margin: -6.2% auto 0; justify-self: center; position: relative; z-index: 2; }
  .lp-kodawari__badge img { width: 100%; }
  /* デザインではバッジの下半分が写真に重なる（写真上端はバッジ下端より 16.5cqw 上） */
  .lp-kodawari__photo--main,
  .lp-kodawari__card--02 .lp-kodawari__photo--main { grid-area: main; margin-top: -16.5cqw; position: relative; z-index: 1; }
  .lp-kodawari__subphotos,
  .lp-kodawari__card--03 .lp-kodawari__subphotos { grid-area: sub; display: flex; flex-direction: row; gap: 3.4%; margin-top: 3.4%; }
  .lp-kodawari__subphotos .lp-kodawari__photo { flex: 1 1 0; }
  .lp-kodawari__subphotos .lp-kodawari__photo img { width: 100%; aspect-ratio: 104.1 / 86.8; object-fit: cover; }
  .lp-kodawari__heading,
  .lp-kodawari__card--02 .lp-kodawari__heading { grid-area: head; margin-top: 5%; font-size: clamp(18px, 5.6vw, 24px); border-left-width: 4.15vw; padding-left: 4vw; }   /* デザイン: 太線 11.8pt / 幅 283.5pt */
  .lp-kodawari__text { grid-area: text; margin-top: 4%; font-size: clamp(13px, 3.75vw, 15px); line-height: 1.75; }
  /* こだわり02：左に縦長写真、右に3枚（縦） */
  .lp-kodawari__card--02 { grid-template-columns: 61.5% 1fr; column-gap: 1.6%; grid-template-areas: "badge badge" "main sub" "head head" "text text"; }
  .lp-kodawari__card--02 .lp-kodawari__subphotos { grid-area: sub; flex-direction: column; gap: 1.3vw; margin-top: -16.5cqw; }
  .lp-kodawari__card--02 .lp-kodawari__subphotos .lp-kodawari__photo { flex: 0 0 auto; }
  .lp-kodawari__card--02 .lp-kodawari__subphotos .lp-kodawari__photo img { aspect-ratio: 78.3 / 62.9; }
  /* こだわり03：写真1枚のみ */
  .lp-kodawari__card--03 { grid-template-areas: "badge" "main" "head" "text"; }
  .lp-kodawari__card--03 .lp-kodawari__subphotos { display: none; }

  /* おすすめ */
  .lp-recommend { padding-top: 4.8%; }
  .lp-recommend__inner { padding: 4.5% 6.6% 8.7%; }
  .lp-recommend__item { flex-direction: column; }
  .lp-recommend__item + .lp-recommend__item { margin-top: 10.5%; }
  .lp-recommend__photo { flex: none; width: 96%; margin-left: 0; }
  .lp-recommend__board { margin: 4% 0 0 0; padding: 5% 5% 6%; width: 100%; }
  .lp-recommend__name { text-align: center; }
  .lp-recommend__name img { max-width: 78%; margin: 0 auto; }
  .lp-recommend__text { font-size: clamp(12px, 3.5vw, 14px); line-height: 1.7; }

  /* 思い */
  .lp-message { padding-top: 7%; }
  .lp-message__inner { padding: 5% 8% 9%; }
  .lp-message__block { flex-direction: column; }
  .lp-message__block--father { margin-top: 10%; }
  .lp-message__photo, .lp-message__body { flex: none; width: 100%; }
  .lp-message__body { padding-top: 6%; }
  .lp-message__catch { margin-bottom: 6%; }
  .lp-message__catch img { width: 81%; max-width: none; }   /* 193pt / 本文幅 */
  .lp-message__text { font-size: clamp(13px, 3.7vw, 15px); }
  .lp-message__subheading { margin-bottom: 4%; text-align: center; }
  .lp-message__subheading img { width: 88%; margin: 0 auto; }
  .lp-message__profile { font-size: clamp(12px, 3.4vw, 14px); }

  /* 店舗情報 */
  .lp-shop { padding-top: 3%; }
  /* SPはスマホ版デザインの暖簾（竿が左右対称・全幅）を使用 */
  .lp-shop__title { padding: 0; }
  .lp-shop__title img { width: 100%; margin-left: 0; }
  .lp-shop__inner { flex-direction: column; padding: 2% 8% 3%; }
  .lp-shop__photo, .lp-shop__info { flex: none; width: 100%; }
  .lp-shop__info { padding-top: 5%; }
  .lp-shop__name { margin-bottom: 4%; }
  .lp-shop__name img { max-width: 92%; }
  .lp-shop__tel { margin-top: 5%; }
  .lp-shop__hours { margin-top: 4%; padding-top: 4%; }
  .lp-shop__info { padding-right: 3%; }
  .lp-shop__address { font-size: 5.5vw; line-height: 1.4; }
  .lp-shop__tel { font-size: 8vw; }
  .lp-shop__hours { font-size: 5.5vw; column-gap: 1em; }
  .lp-shop__sns { padding: 5% 0 6%; gap: 9%; }
  .lp-shop__sns::before { left: 8%; right: 8%; }
  .lp-shop__sns li { width: 11%; }
  .lp-shop__sns li:first-child { width: 16.5%; margin: -2.7% 0; }
  .lp-shop__map iframe { aspect-ratio: 283.5 / 205; }

  /* グループ店舗 */
  .lp-group__inner { padding: 6% 16% 4%; }
  .lp-group__logo { width: 55%; }
  .lp-group__title { font-size: clamp(14px, 4.4vw, 18px); margin-bottom: 8%; }
  .lp-group__list { grid-template-columns: 1fr; row-gap: 9vw; }

  .lp-footer { padding: 5% 16px 7%; }
  .lp-footer__copyright { font-size: 10px; }

  .lp-sns { right: 4px; }
  .lp-sns__item { width: 44px; }

  /* 固定バー：1em = デザイン上の10pt（SP幅283.5pt）。バー高さ 63.2pt、上限は約96px */
  .lp-cta {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 60;
    display: flex;
    height: calc(6.32em + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--lp-navy-dark);
    border-top: 1px solid var(--lp-white);
    color: var(--lp-white);
    font-size: min(3.53vw, 15.2px);
    line-height: 1;
  }
  .lp-cta__link { display: flex; align-items: center; }
  .lp-cta__link:active { opacity: .8; }
  .lp-cta__link--tel { flex: 0 0 67.2%; justify-content: center; }
  .lp-cta__link--access { flex: 1 1 0; flex-direction: column; justify-content: center; position: relative; }
  .lp-cta__link--access::before {
    content: "";
    position: absolute;
    left: 0; top: 15%; bottom: 12%;
    border-left: 1px solid var(--lp-white);
  }
  .lp-cta__icon--tel { width: 2.09em; margin-right: -.15em; position: relative; top: .25em; }
  .lp-cta__icon--pin { width: 1.48em; }
  .lp-cta__body { display: flex; flex-direction: column; align-items: center; }
  .lp-cta__label { font-family: var(--lp-font-kaisho); font-weight: 700; font-size: 1.23em; letter-spacing: .02em; white-space: nowrap; }
  .lp-cta__number { margin-top: .75em; font-weight: 700; font-size: .95em; letter-spacing: .03em; white-space: nowrap; }
  .lp-cta__link--access .lp-cta__label { margin-top: .45em; font-size: 1.15em; }
  /* バーに隠れないよう、ページ末尾と固定SNSボタンの位置を調整 */
  .lp-footer { padding-bottom: calc(4.5% + 6.32 * min(3.53vw, 15.2px) + env(safe-area-inset-bottom, 0px)); }
  .lp-sns { top: calc(50% - 3.16 * min(3.53vw, 15.2px)); }
}

/* ==========================================================================
   英語ページの微調整
   ========================================================================== */
.lp-en .lp-intro__lead,
.lp-en .lp-intro__text { white-space: normal; line-height: 1.3; text-align: left; font-size: clamp(12px, 2.34cqw, 26px); }
.lp-en .lp-intro__lead { left: 8.1%; top: 68.4%; width: 50%; }
.lp-en .lp-intro__at { display: block; margin-bottom: .3em; }
.lp-en .lp-intro__text { left: 8.5%; top: 87.6%; width: 66%; }
.lp-en .lp-hero { background: linear-gradient(to bottom, var(--lp-brown) 0, var(--lp-brown) 58.2%, var(--lp-white) 58.2%); }
.lp-en .lp-kodawari__heading { letter-spacing: 0; font-size: clamp(18px, 3.6cqw, 40px); }
@media (min-width: 768px) {
  /* 英語版PC：見出しは折り返さず、こだわり02はデザインどおり写真の手前に重ねて2カラム分に広げる */
  .lp-en .lp-kodawari__heading { white-space: nowrap; }
  .lp-en .lp-kodawari__card--02 .lp-kodawari__heading { grid-column: 1 / 3; position: relative; z-index: 2; }
}
/* 英語版：思い→店舗情報の間隔を詰める */
.lp-en .lp-message__inner { padding-bottom: 3%; }
/* 英語版：営業時間はデザインどおり「ラベルの下に値」の縦積み */
.lp-en .lp-shop__hours { display: block; }
.lp-en .lp-shop__hours dt { margin-bottom: .3em; }
.lp-en .lp-shop__hours dd + dt { margin-top: .9em; }
/* 英語版：TELは住所の下に一定の余白（英語版デザインは下揃えではない） */
.lp-en .lp-group__tel { margin-top: 0; padding-top: 11%; }
@media (max-width: 767px) {
  .lp-en .lp-intro { text-align: left; }
  .lp-en .lp-intro__lead, .lp-en .lp-intro__text { width: auto; font-size: clamp(13px, 3.9vw, 16px); line-height: 1.5; }
  .lp-en .lp-intro__logo { display: block; width: 76%; margin: -21% auto 3%; position: relative; z-index: 1; }
  .lp-en .lp-intro__at { display: inline; margin: 0 .3em 0 0; }
  .lp-en .lp-hero { background: var(--lp-white); }
  /* 英語版SP：セクション帯は2行の英文を中央に */
  .lp-en .lp-section-title { display: block; padding: .32em 4%; font-size: clamp(17px, 5.6vw, 22px); line-height: 1.2; }
  /* 英語版SP：こだわり見出しは「One Generation to the Next」が1行に収まるサイズに */
  .lp-en .lp-kodawari__heading { font-size: clamp(14px, 4.9vw, 18.5px); }
  .lp-en .lp-message__catch img { width: 100%; }
  .lp-en .lp-group__tel { font-size: 7.8cqw; }
  /* 英語版SP：固定バーのラベルは欧文に合わせてサイズ・位置を調整 */
  .lp-en .lp-cta__icon--tel { margin-right: -.46em; }
  .lp-en .lp-cta__label { font-size: 1.12em; letter-spacing: .03em; }
  .lp-en .lp-cta__link--access .lp-cta__label { font-size: 1.12em; }
}