@charset "UTF-8";
/*
===============================================================================
 css/top.css — カールスJr. サイトリニューアル TOPページ専用CSS（design-to-theme Stage4統合）
 出典: stage2_output/jp-top/css/style.css・stage2_output/en-top/css/style.css の
       「→ top.css候補」ブロック（page base本文フォント/hero/news-bar/pickup-menu/
       grand-menu-banner/campaign/whats-carls-jr/location各セクション）
 統合方針:
  - site-header/site-footer/section-heading/pill-button等の全ページ共通コンポーネントは
    common.cssに1回だけ記載済みのため、ここでは重複させない（curlsjr0801_is_mytop()判定時のみ本ファイルを
    追加読込する運用は functions.php の curlsjr0801_twentysixteen_scripts() 側で既存実装済み）。
  - JP版(jp-top)とEN版(en-top)は同名クラスを使うが、Stage2の実測・見積りがそれぞれ独立しており
    ほぼ全プロパティで数値が異なる（en-top側コメントに「en-top独自の実測値を維持」と明記）。
    フォント切替だけでなく余白・サイズも大半が言語固有の値のため、無理に1つのルールへ統合せず
    html[lang="ja"] / html[lang="en"] で全体をスコープして出し分ける
    （Stage2側で独立に確定した数値を統合時に誤って混同・上書きしないための方針）。
  - body/imgの基本設定は10ページ共通のため既にcommon.cssへ統合済み。
===============================================================================
*/

/*
===============================================================================
 JP版（html[lang="ja"]） — 出典: stage1_drafts/01_jp_top_menu.md §8 S-01〜S-10
===============================================================================
*/
html[lang="ja"] {
  .section-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 28px;
  }
}
@media (min-width: 768px) {
  html[lang="ja"] .section-inner {
    padding: 0;
  }
}

/*
---hero（メインビジュアル）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .hero {
    margin-top: 60px; /* 出典: 01_jp_top_menu.md S-03「ヘッダーからの空き60px」 */
  }
  .hero-media {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    aspect-ratio: 1100 / 619; /* 出典: S-03「1100×619px（16:9）」 */
    border-radius: 15px;
    overflow: hidden;
    background-color: var(--color-black);
  }
  .hero-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* PC/SP動画の出し分け（既定=PC表示）。SP側は下記@media(max-width:767px)で反転させる。
     `.hero-media video`より詳細度を上げるため`.hero-media`を親に含めて指定する。 */
  .hero-media .hero-media-video--sp {
    display: none;
  }
  .hero-copy {
    position: absolute;
    left: 40px; /* 出典: S-03「左内側余白 約40px」実測 */
    bottom: 40px; /* 出典: S-03「下内側余白 約40px」実測 */
    color: var(--color-white);
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 9.5rem; /* [ESTIMATE: 95px / SansBeam Head の実キャップ比が未確定] */
    line-height: 9.6rem; /* 出典: S-03「行送り約96px」実測 */
    text-transform: uppercase;
    margin: 0;
  }
  /* 実機確認でB-8解消（動画側に焼き込み済みと判明）。h1は視覚的に隠しaccessible textとしてのみ残す */
  .hero-copy--visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    left: auto;
    bottom: auto;
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .hero {
    margin-top: 30px;
    padding: 0 28px;
  }
  html[lang="ja"] .hero-media {
    aspect-ratio: 319 / 320;
    border-radius: 5px;
  }
  html[lang="ja"] .hero-media .hero-media-video--pc {
    display: none;
  }
  html[lang="ja"] .hero-media .hero-media-video--sp {
    display: block;
  }
  html[lang="ja"] .hero-copy {
    left: 30px;
    bottom: 24px;
    font-size: 4.7rem;
    line-height: 4.8rem;
  }
}

/*
---news-bar（新着情報）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .news-bar {
    margin-top: 33px; /* 2026-08-23修正: 40px→33px（top_pc.png実測: ヒーロー下端797はライブと一致、日付1行目インク行はデザイン841-853に対しライブ848-859で7px下。ボックス上端+10.27pxがインク上端のため 841-10.27-797.73≒33px）。SPは@media(max-width:767px)で25pxを上書き済み */
  }
  .news-bar-inner {
    display: flex;
    align-items: flex-start;
    gap: 30px; /* 出典: S-04「ラベル→日付30px」 */
  }
  .news-bar-label {
    display: flex;
    align-items: center;
    gap: 27px; /* 2026-08-23修正: 30px→27px（top_pc.png実測: 罫線x150 → NEWSインク左端179 → 罫線x251-252。適用後ライブは 150 / 179-223 / 252 で一致） */
    flex-shrink: 0;
    /* 2026-08-23修正: NEWSラベルの書体を見出し用の圧縮体(SansBeam Head)から本文用(Noto Sans JP)へ。
       top_pc.png実測: NEWSのインク幅45px・インク高13px・区切り罫は x=150 と x=251-252。
       ライブ(SansBeam Head 18px)はインク幅35pxしか無く、書体候補26通りのNCC比較でも
       Noto Sans JP fw900 16px が最良(0.9864)だった。line-heightも45px→30pxにすることで
       デザインどおりラベルと日付1行目のベースラインが揃う。
       SPは下の@media(max-width:767px)で従来の書体・太さを明示維持する。 */
    font-family: var(--font-body-jp);
    font-weight: 900;
    font-size: 16px;
    line-height: 1.875; /* =30px。単位規約R3により単位なし比率（.news-itemのline-height:3rem=30pxと一致） */
    color: var(--color-black);
  }
  .news-bar-label-rule {
    display: inline-block;
    width: 1px;
    height: 1.6rem;
    background-color: var(--color-black);
  }
  .news-bar-list {
    list-style: none;
    flex: 1;
  }
  .news-item {
    display: flex;
    align-items: baseline;
    gap: 20px; /* 出典: S-04「日付→タイトル20px」 */
    font-family: var(--font-body-jp);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 3rem; /* 出典: S-04「行送り30px」実測 */
    color: var(--color-black);
  }
  .news-item-title {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }
  .news-item-title:hover {
    opacity: 0.4;
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .news-bar {
    margin-top: 25px;
  }
  html[lang="ja"] .news-bar-inner {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  html[lang="ja"] .news-bar-label {
    /* 2026-08-23追記: PC側の書体変更(SansBeam Head→Noto Sans JP / 500→900)がSPへ波及しないよう
       SPの従来値を明示的に維持する（SPデザインでのNEWSラベル書体は本ユニットでは未実測）。 */
    font-family: var(--font-heading);
    font-weight: 500;
    gap: 10px; /* PC化(gap:30px)の影響を受けないよう明示的に既存値を維持 */
    font-size: 1.5rem;
    line-height: 1;
  }
  html[lang="ja"] .news-bar-list {
    width: 100%;
  }
  html[lang="ja"] .news-item {
    flex-direction: row;
    align-items: baseline;
    gap: 14px; /* 2026-08-11 前澤さん指示: 0.25em→1em。2026-08-24追記: 単位規約R2によりemをpxへ置換。1em(=14px) → 14px（JP SP 375pxで実効値一致。PCのgapは別宣言由来のため本置換の影響を受けない） */
    flex-wrap: nowrap;
    height: auto;
    font-size: 1.4rem;
    line-height: 2.15rem;
    margin-bottom: 6px; /* 2026-08-06 前澤さん指示: 20px→6px */
  }
  html[lang="ja"] .news-item-date {
    flex-shrink: 0;
  }
  html[lang="ja"] .news-item-title {
    overflow: hidden;
    text-overflow: ellipsis;
    /* white-space: nowrap; 2026-08-11 前澤さん指示によりコメントアウト: gap拡大に伴いタイトルの折り返しを許可 */
    min-width: 0;
  }
}

/*
---section-heading の上下余白（TOPページ専用の間隔値）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .pickup-menu {
    margin-top: 82px; /* 2026-08-23修正: 90px→82px（top_pc.png実測: NEWSバーのボックス下端890.73→PICK UP MENU見出しインク上端972＝81.3px。news-barのmargin-top 33px化と合わせてデザインと一致する） */
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .pickup-menu {
    margin-top: 50px;
  }
}
/* 2026-08-18 Phase3-a: JP/EN完全一致（PC 110px・SP 50px）のため html[lang="ja"]/html[lang="en"] の
   重複ブロックを統合。出典(JP): S-07/S-08/S-09 各セクションの直前間隔 */
.campaign,
.whats-carls-jr,
.location {
  margin-top: 110px;
}
@media (max-width: 767px) {
  .campaign,
  .whats-carls-jr,
  .location {
    margin-top: 50px;
  }
}
/* 2026-08-23 検証メモ: 改修候補にあった「EN版PCのLOCATION上余白を110px→144pxへ」は実装しない。
   CJ_HP_top_E_v1_pc.png を再実測したところ WHAT'S CARL'S JR. の黒パネル下端は y=5536（x=150..1249の
   黒帯の下端。角丸により5525-5535は端が丸まる）で、LOCATION見出しのインク上端5643との差は約107pxだった。
   候補側が根拠にしていた「パネル下端5499」は誤りで、現状の110pxがデザインどおりのため変更しない。 */

/*
---pickup-menu（PICK UP MENU スライダー）
---------------------------------------------------------------------------*/
/* 2026-08-18 Phase3-a: JP/EN完全一致のため html[lang="ja"]/html[lang="en"] の重複ブロックを統合。
   出典(JP): 2026-08-03 T1修正: デザイン等倍画像(top_pc.png)実測で★下端→パネル上端は約17-19pxのため
   90pxは過大。EN版実測値16pxに統一。2026-08-04微調整: 16px→15px */
.pickup-menu-panel-wrap {
  margin-top: 15px;
}
/* 2026-08-18 Phase3-a: JP/EN完全一致（PC 420px・SP 145px）のため統合。出典: S-05「商品画像の高さ約420px」実測 */
.pickup-card-photo {
  height: 420px;
}
@media (max-width: 767px) {
  .pickup-card-photo {
    /* 2026-09-18修正: 145px→240px（支給PDF CJ_PC_SP_back_0918_2.pdf p2「もう少し大きく表示したいです（全て共通）」）。
       PCでは画像幅460px＝カード内容幅460pxで“内容幅いっぱい”に置かれているのに対し、SPは158.8px／内容幅263px＝60.4%しか使えていなかった。
       imgはwidth未指定でheightから縦横比(920:840)で幅が決まるため、240px指定で幅262.9px≒内容幅263pxとなりPCと同じ扱いに揃う。
       JP/EN共通のブロックのため1箇所で両言語に効く。
       2026-09-18再修正: 240px→192px（前澤さん指摘「写真大きすぎです。20%程度小さくして」）。240×0.8=192px。
       幅は縦横比で262.8px→210.2pxになる。 */
    height: 192px;
  }
}
html[lang="ja"] {
  .pickup-menu-panel {
    max-width: 1100px;
    margin: 0 auto;
    background-color: var(--color-yellow);
    border-radius: 15px;
    padding: 60px 0 50px; /* 出典: S-05「パネル上パディング60px」「ドット→パネル下端50px」 */
    position: relative;
  }
  .pickup-slider {
    position: relative;
  }
  .pickup-slider-viewport {
    overflow: hidden;
    width: 100%;
  }
  .pickup-slider-track {
    display: flex;
    align-items: flex-start;
    will-change: transform;
    transition: transform 0.5s ease;
  }
  .pickup-card {
    position: relative; /* 【2026-08-18追記】.pickup-card-descを絶対配置する基準にする */
    flex: 0 0 520px; /* 出典: S-05「中央カード幅520px」 */
    width: 520px;
    padding: 0 30px;
    box-sizing: border-box;
    text-align: center;
    min-height: 700px; /* 【2026-08-18追記】.pickup-card-descが絶対配置で通常フローから外れるため、
      カード自体の高さを明示的に確保する（実測680px+説明文が長い場合の余裕を加算） */
  }
  .pickup-card-photo {
    display: block;
    margin: 0 auto;
    object-fit: contain;
  }
  .pickup-card-title-en {
    margin-top: 30px; /* 出典: S-05「画像→英語商品名30px」 */
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: var(--pickup-title-en-fontsize, 77px); /* 2026-08-11 前澤さん指示: 管理画面フォントサイズ入力欄に対応 / 2026-08-23修正: フォールバック値 7.7em→77px。7.7remの意図に対し実効123.2px(=16px×7.7)になっていた単位取り違えの是正。top_pc.pngの「FAMOUS STAR」インク幅381px・高さ56pxはSansBeam Head 900 の77px描画(377px/56px)と一致する（単位規約R2） */
    line-height: 1;
    color: var(--color-black);
	    text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  }
  .pickup-card-title-ja {
    margin-top: 10px; /* 出典: S-05「英語名→和名20px」 */
    font-family: var(--font-body-jp);
    font-weight: 900;
    font-size: 19px; /* 2026-08-23修正: 1.75rem(=17.5px)→19px（top_pc.png実測: 中央カード和名「フェイマス」インク84px・「スター」52pxに対し、Noto Sans JP fw900 17.5pxの単独描画は77px/47px → 17.5×1.09≒19px。インク行高もデザイン18pxに対し19px時17pxで整合）。SPは@media(max-width:767px)で1.4remを上書き済み */
    color: var(--color-black);
  }
  .pickup-card-desc {
    /* 【2026-08-18変更】バックログ⑤対応: 商品名(.pickup-card-title-en)が1行か2行かで
       margin-top方式だと開始位置が最大52.8pxずれる問題があったため、絶対配置に変更。
       topの612.5pxは商品名が1行の場合の現状の正しい開始位置をPlaywrightで実測した値
       （2026-08-18実測: /（JP）で商品名1行時のdesc_top=612.5px）。今後、商品名が3行以上に
       なるような極端に長い商品名が登録された場合はこの値の見直しが必要（現状は商品名を
       2行以内に収める運用のため考慮不要）。 */
    position: absolute;
    top: 612.5px;
    left: 30px;
    right: 30px;
    font-family: var(--font-body-jp);
    font-weight: 400; /* 2026-08-21修正: 700→400（EN版と統一） */
    font-size: 16px; /* 2026-08-23修正: 1.5rem(=15px)→16px（top_pc.png実測: 1行目「直火焼きのビーフパティを引き立てる」インク幅250px。Noto Sans JP fw400の単独描画は15px→233px / 16px→249px。2行目も design 354px に対し16pxで352px。行送りもデザイン24px＝16×1.5と一致）。SPは@media(max-width:767px)で1.4remを上書き済み */
    line-height: 1.5;
    color: var(--color-black);
  }
  .pickup-slider-arrow {
    /* 【2026-08-19再修正】前澤さん指摘: 文字ベースの矢印(‹›)は見出し用フォント(SansBeam Head)
       で太く崩れて見えるため、フォント非依存のSVG細線アイコンに置き換えた。
       font-family/font-sizeは不要になったため削除し、svgのwidth/height/strokeで
       サイズ・太さを直接制御する（詳細はlayout-pickup-menu.phpのsvg要素参照）。 */
    position: absolute;
    /* 2026-08-23修正: top 220px→187.5px / ボタン48px→71px（top_pc.png実測: シェブロンのインクは
       左 x=375-399・右 x=1005-1030、行はいずれも 1325-1367＝インク中心はパネル上端から283px下・
       パネル左端から237px内側／右端から232.5px内側。テーマSVG(viewBox 0 0 24 24 / path 幅7・高さ14)では
       インク高 = 14/24×S + 実効ストローク。デザインのストローク実測は約1.7px（45°線上の水平ラン2-3px）
       なので S=71px・stroke-width 0.58（実効1.72px）でインク高43pxがデザインと一致する。
       top = 283 - パネルpadding-top60 - ボタン高の半分35.5 = 187.5px）。
       SPは下の@media(max-width:767px)で従来値(top52px/40px/svg32px/left・right20px/stroke1.75)を維持 */
    top: 187.5px;
    width: 71px;
    height: 71px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-black); /* svgのstroke="currentColor"がこの色を継承する */
    z-index: 2;
  }
  .pickup-slider-arrow svg {
    width: 71px; /* 2026-08-23修正: 42px→71px（上記.pickup-slider-arrowのコメント参照） */
    height: 71px;
    flex: 0 0 auto; /* 2026-08-23追記: flexコンテナ(ボタン)にsvgが押し潰されて幅が切り詰められるのを防ぐ */
    display: block;
  }
  .pickup-slider-arrow svg path {
    stroke-width: 0.58; /* 2026-08-23追記: viewBox(0 0 24 24)単位。71px時の実効1.72pxがデザイン実測のストローク（45°線上の水平ラン2-3px＝垂直太さ約1.7px）と一致する。既定の1.75では実効5.18pxになり線が太くなりすぎる */
  }
  .pickup-slider-arrow--prev {
    left: 262px; /* 2026-08-23修正: 20px→202px（デザインのシェブロンはパネル左端から237px内側。237 - ボタン幅の半分35.5 = 201.5≒202px） / 2026-08-24修正: 202px→262px（前澤さん指示） */
  }
  .pickup-slider-arrow--next {
    right: 257px; /* 2026-08-23修正: 20px→197px（同・パネル右端から232.5px内側。232.5 - 35.5 = 197px） / 2026-08-24修正: 197px→257px（前澤さん指示） */
  }
  .pickup-slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px; /* 2026-08-23修正: 10px→12px（top_pc.png実測: ドット列653-662/674-683/696-705/718-726/740-748＝直径10px・ピッチ約21.7px）。SPは下の@media(max-width:767px)で10pxを明示維持 */
    margin-top: 25px;
    list-style: none;
  }
  .pickup-slider-dot {
    width: 10px; /* 2026-08-23修正: 9px→10px（top_pc.png実測: ドットのインク直径10px・インク行1754-1763）。SPは下の@media(max-width:767px)で9pxを明示維持 */
    height: 10px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.3);
    cursor: pointer;
  }
  .pickup-slider-dot.is-active {
    background-color: var(--color-black);
  }
}
@media (max-width: 767px) {
  /* 2026-09-08修正: 15px→8px（前澤さん指示）。あわせて html[lang="ja"] 限定を外し言語中立化した
     （EN版にはSP用の上書きが存在せずベース(:255)の15pxを継承していたため、ja限定のままだと
     SPで JP=8px / EN=15px と食い違う）。2026-08-18 Phase3-a「JP/EN完全一致なら統合」の方針に沿う。
     詳細度は (0,1,0) でベースと同値だが、ソース順が後のため SP でこちらが優先される。
     出典: 2026-08-03 T1修正: デザイン等倍画像(top_smp.png)実測で★下端→パネル上端は約9pxのため
     30pxは過大。EN版に統一。2026-08-04微調整: 16px→15px */
  .pickup-menu-panel-wrap {
    margin-top: 8px;
  }
  html[lang="ja"] .pickup-menu-panel {
    max-width: 319px;
    padding: 10px 0 20px; /* 2026-09-24修正: 天20px→10px（前澤さん指示・JP/EN共通） / 2026-09-18修正: 天30px→20px（支給PDF p2「天幅少し詰めていただけますでしょうか」）。下20pxは指摘が無いため据え置き */
    border-radius: 5px;
  }
  html[lang="ja"] .pickup-card {
    flex: 0 0 100%;
    width: 100%;
    padding: 0 28px;
    min-height: 377px; /* 2026-09-18修正: 362px→425px（支給PDF CJ_PC_SP_back_0918_2.pdf p2「ピックアップの下の空きスペースⒶを詰めたく…」）。
       min-heightは全カードを同じ高さに揃えるための値で、これが最も背の高いカードの自然高より大きいと、その差がそのままⒶ（カード下の空き）になる。
       同日の商品画像拡大(145→240px)と商品名SP出し分けで各カードの自然高が変わったため、実測し直した最大自然高424.9px（HAND-SCOOPED…）に合わせた。
       これでⒶは「カード間の自然高の差」だけになる（実測: 最小11.3px／最大32.3px。変更前は43.3〜64.3px）。
       2026-09-18再修正: 425px→377px（同日の写真192px化に追随）。写真が48px縮んだぶん自然高も下がり、
       425pxのままだとその48pxがそのままⒶに戻ってしまう。再実測した最大自然高376.9px（HAND-SCOOPED…）に合わせた。
       旧: 【2026-08-18追記】SP版の絶対配置に伴うカード高さ確保 / 2026-08-23修正: 380px→362px（説明コピー最終行→ドット間隔をtop_smp.png実測23pxへ近づける） */
  }
  html[lang="ja"] .pickup-card-title-en {
    margin-top: 20px;
    /* 2026-09-18修正: 3.5rem(=35px)固定 → 商品ごとの出し分けへ（支給PDF CJ_PC_SP_back_0918_2.pdf p2
       「PC版同様に、商品名の大きさを変えて（3種？）調整いただけると助かります。（英語版も同様）」）。
       SPは固定値だったため全商品が35pxで並び、名前の短い商品でカード下に空きⒶが出ていた。
       2026-09-18 前澤さん指示により、SPのサイズは管理画面の「商品名（英語）フォントサイズ・SP」でpx指定する。
       未入力時のフォールバック35pxは従来の固定値と同じなので、値を入れていない商品の見え方は変わらない。 */
    font-size: var(--pickup-title-en-fontsize-sp, 35px);
    line-height: 0.9; /* 2026-10-15 1014 No.11: 1→0.9（日本語版SPのみ。PC基底の1は変更しない） */
  }
  html[lang="ja"] .pickup-card-title-ja {
    margin-top: 4px; /* 2026-08-21修正: 8px→4px */
    font-size: 1.4rem;
  }
  html[lang="ja"] .pickup-card-desc {
    /* 【2026-08-18変更】PC同様、商品名1行時の実測値(257.7px)で絶対配置に固定。
       【2026-08-23変更】絶対配置(top:270px)を全カード共通固定していたため、商品名1行カードでは
       商品名→説明コピーが62px開き、2行カードでは27pxしかないという相反する状態になっていた
       （top_smp.png実測: .pickup-card-title-jaインク下端y850→.pickup-card-desc1行目インク上端y885＝35px）。
       通常フロー＋margin-topへ戻すことで1行/2行どちらも35pxになる。 */
    position: static; /* 2026-08-23修正: absolute→static（top_smp.png実測35pxを1行/2行両カードで満たすため） */
    margin-top: 16px; /* 2026-08-29修正: 24px→16px（支給PDF T-2「間隔もう少しだけ詰めてください(5〜10px)」。
    指示は範囲指定のみで正確な目標値の支給は無いため、範囲の中央値8pxを詰め幅として採用。
    再調整が必要な場合は前澤さんへ具体的な目標pxを確認する） */
    top: auto;
    left: auto;
    right: auto;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
    br { display: none; }
  }
  html[lang="ja"] .pickup-slider-arrow {
    top: 96px; /* 2026-09-24修正: 76px→96px（前澤さん指示・JP/EN同値） / 2026-08-23修正: 90px→52px（top_smp.png実測: 矢印グリフ中心y=720.5が中央カード写真インク中心y=727の6.5px上。旧90pxは写真インク中心より31px下だった）
       / 2026-09-18修正: 52px→76px（前澤さん指摘「矢印が上過ぎる、商品の真横に来るように」）。旧52pxは写真145px時代の値で、
       写真を192pxにした結果ボタン中心72pxが写真中心96pxより24px上にあった。76 + ボタン高の半分20 = 96px で写真中心に一致する */
    /* 2026-08-21修正: PC側をSVG拡大(42px)+ボタン48pxへ変更したため、SPは従来サイズ(40px)を明示的に維持 */
    width: 40px;
    height: 40px;
  }
  html[lang="ja"] .pickup-slider-arrow svg {
    width: 32px; /* 2026-08-23修正: 22px→32px（top_smp.png実測: シェブロン実寸12w×22h。svg22pxでは9w×16hしか出ず、32pxで12×22に一致） */
    height: 32px; /* 2026-08-23修正: 22px→32px（同上） */
  }
  /* 2026-08-23追記: 同日のPC等倍合わせ（矢印をカード外側へ移動・SVG71px化・ストローク細線化・ドット拡大）が
     SPへ波及しないよう、SPの従来値を明示的に維持する。 */
  html[lang="ja"] .pickup-slider-arrow svg path {
    stroke-width: 1.75;
  }
  html[lang="ja"] .pickup-slider-arrow--prev {
    left: 20px;
  }
  html[lang="ja"] .pickup-slider-arrow--next {
    right: 20px;
  }
  html[lang="ja"] .pickup-slider-dot {
    width: 9px;
    height: 9px;
  }
  html[lang="ja"] .pickup-slider-dots {
    gap: 10px; /* 2026-08-23追記: PC側を12pxへ変更したためSPの従来値を明示維持 */
    margin-top: 0; /* 2026-08-21修正: 20px→0 */
  }
}

/*
---grand-menu-banner（GRAND MENUへの導線）
---------------------------------------------------------------------------*/
/* 2026-08-18 Phase3-a: JP/EN完全一致（PC 50px・SP 25px）のため統合。出典: S-06「パネル→GRAND MENUバナー50px」 */
.grand-menu-banner {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .grand-menu-banner {
    margin-top: 25px;
  }
}
html[lang="ja"] {
  .grand-menu-banner-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 1100px;
    height: 250px;
    margin: 0 auto;
    background-color: var(--color-black);
    /* PC/SP背景画像の出し分け（既定=PC表示）。SP用未設定時は下記@media(max-width:767px)側の
       var()フォールバックにより自動でPC用画像に戻る（ACF: bg_image / bg_image_sp）。 */
    background-image: var(--grand-menu-banner-bg-pc, none);
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }
  .grand-menu-banner-link:hover {
    opacity: 0.4;
  }
  .grand-menu-banner-lead {
    font-family: var(--font-body-jp);
    font-weight: 500; /* 2026-08-06 前澤さん指示: 700→500 */
    font-size: 20px; /* 2026-08-11 前澤さん指示: 1.7rem→2em / 2026-08-23修正: 1.2em(実測19.2px)→20px（top_pc.png実測: リードの白抜きインク幅186pxに対しライブ179px → 19.2×1.039≒20px。単位規約R2によりemをpxへ置換）。SPは下の@media(max-width:767px)で従来の実効値19.2pxを明示維持 */
    color: var(--color-white);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .grand-menu-banner-title {
    margin-top: 8px;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 77px; /* 2026-08-23修正: 5em(実測80px)→77px（top_pc.png実測: タイトルの白抜きインク幅371pxに対しライブ387px → 80×0.959≒77px。単位規約R2によりemをpxへ置換）。SPは@media(max-width:767px)で2.8emを上書き済み */
    color: var(--color-white);
    line-height: 1;
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .grand-menu-banner-link {
    max-width: 319px;
    height: 205px;
    border-radius: 5px;
    justify-content: flex-start;
    padding-top: 20px;
    background-image: var(--grand-menu-banner-bg-sp, var(--grand-menu-banner-bg-pc, none));
  }
  html[lang="ja"] .grand-menu-banner-lead {
    font-size: 19.2px; /* 2026-08-23追記: PC側を1.2em→20pxへ置換したため、SPは従来の実効値(1.2em＝親16px基準で19.2px)を明示的に維持する（SPデザインでのリード文サイズは本ユニットでは未実測） */
  }
  html[lang="ja"] .grand-menu-banner-title {
    font-size: 44.8px; /* 2026-08-06 前澤さん指示: 2.4em→2.8em。2026-08-24追記: 単位規約R2によりemをpxへ置換。2.8em(=44.8px) → 44.8px（JP SP 375pxで実効値一致。PCは別宣言77pxのため本置換の影響を受けない） */
    text-align: center;
    line-height: 1;
  }
}

/*
---campaign（CAMPAIGN バナー2枚）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .campaign-panel-wrap {
    margin-top: 15px; /* 出典: S-07「見出し→バナー1: 90px」 */
  }
  .campaign-banner {
    display: block;
    max-width: 1100px;
    margin: 0 auto;
    border-radius: 15px;
    overflow: hidden;
    transition: opacity 0.2s ease;
  }
  .campaign-banner:hover {
    opacity: 0.4;
  }
  .campaign-banner img {
    display: block;
    width: 100%;
    height: auto;
  }
  .campaign-banner + .campaign-banner {
    margin-top: 35px; /* 出典: S-07「バナー間35px」 */
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .campaign-panel-wrap {
    margin-top: 8px; /* 2026-09-08修正: 15px→8px（前澤さん指示「CAMPAIGN下の★とその下のフレームとの間が空きすぎ。
    PICK UP MENUと同じ間隔に」「WHAT'S CARL'S JR.の下部も同じ」）。SPのみ。同日の
    .pickup-menu-panel-wrap(:406) の8pxに揃える。PC側は4セクションとも15pxで既に揃っているため変更しない。
    2026-09-08 再調整: 8px→6px→4px。LOCATIONの次要素は .location-lead というテキストで、
    行ボックス上端と文字のインク上端の間にハーフレディング分の余白が入るため、
    他3セクション（フレーム＝箱が直接くる）と同じ8pxでは視覚的に広く見えるため。
    最終的に4pxとしたのは、ハーフレディング実測(JP 4.5px / EN 3.2px)を足した見た目の空きが
    JP約8.5px / EN約7.2px となり、他3セクションの8pxとほぼ一致するため。 */
  }
  html[lang="ja"] .campaign-banner {
    max-width: 319px;
    border-radius: 5px;
  }
  html[lang="ja"] .campaign-banner + .campaign-banner {
    margin-top: 20px;
  }
}

/*
---whats-carls-jr（WHAT'S CARL'S JR. 黒パネル）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .whats-panel-wrap {
    margin-top: 15px; /* 出典: S-08「見出し→パネル90px」 */
  }
  .whats-panel {
    max-width: 1100px;
    margin: 0 auto;
    background-color: var(--color-black);
    border-radius: 15px;
    padding: 90px 0 110px;
  }
  .whats-made-fresh {
    text-align: center;
    font-family: var(--font-heading);
    font-weight: 900;
    font-style: italic;
	transform: skewX(-5deg);
    font-size: 9.5rem; /* 2026-08-03 T3修正: EN版(line 1076)と同じサイズに統一。旧7.4remはデザイン比23-28%小さかった */
    letter-spacing: 4px; /* 2026-08-23追記: top_pc.png実測でインク全幅がデザイン861px（x=280-1140）に対しライブ791pxと70px狭い一方、インク行高は70px/69pxでほぼ同一＝字間だけの差。70px÷18字間≒3.9px。SPは下の@media(max-width:767px)でnormalを明示維持 */
    color: var(--color-yellow);
    line-height: 1;
  }
  .whats-made-fresh-break {
    display: none;
  }
  .whats-lead {
    margin-top: 13px; /* 2026-08-23修正: 45px→13px（top_pc.png実測: MADE FRESHインク下端3466→リード1行目インク上端3513＝視覚47px。ライブは79px。見出し側の行ボックス余白24.3px＋リード側9.7pxが上乗せされるため 47-34=13px）。SPは@media(max-width:767px)で10pxを上書き済み */
    text-align: center;
    font-family: var(--font-body-jp);
    font-weight: 400;
    font-size: 17px; /* 2026-08-23修正: 1.6rem(=16px)→17px（top_pc.png実測: 特殊文字を含まない3行目「いつも出来立てをお客様のお席までお運びします。」のインク幅360pxに対しライブ339px → 16×1.062≒17px） */
    line-height: 1.5; /* 2026-09-08修正: 2→1.5（前澤さん指示「.whats-lead の行間は文字サイズの1.5倍」）。行送り 17×2=34px → 17×1.5=25.5px。
       注意: 同じ指示は2026-08-02にも出ており、2026-08-23のデザイン等倍合わせで行ピッチ実測値へ戻されていた（この履歴は下記の旧コメントに残る）。今回の再指示は8/28の差し戻しPDFを見た上でのものなので、以後デザイン実測を根拠に1.5を上書きしないこと。 */
    /* 旧: 2026-08-23修正: 3.4rem(=34px)→2（単位規約R3により単位なし比率。17×2=34pxでデザインの行送り34pxを維持） */
    color: var(--color-white);
  }
  .whats-h3 {
    margin-top: 73px; /* 2026-08-23修正: 90px→73px（top_pc.png実測: リード最終行インク下端3597→h3インク上端3688＝視覚91px。ライブは108px＝行ボックス由来の18pxが上乗せされていた）。SPは@media(max-width:767px)で40pxを上書き済み */
    /* 2026-09-18修正: 支給PDF CJ_PC_SP_back_0918_2.pdf p1「罫線の長さ上のコピーに合わせてください」。
       子の.whats-h3-ruleは固定px幅だったため、コピーが変わるたびに罫線とズレる（実測: PC 罫線710px
       対しコピー594.6px＝115px余り／SP 259px 対し185.5px＝74px余り）。h3自身をコピー幅に縮めて
       中央寄せし、罫線をwidth:100%でそれに追随させる。以後コピーが変わっても自動で一致する。 */
    width: fit-content;
    margin-inline: auto;
    text-align: center;
    font-family: var(--font-body-jp);
    font-weight: 700;
    font-size: 44px; /* 2026-08-23修正: 4.2rem(=42px)→44px（top_pc.png実測: インク幅711pxに対しライブ679px → 42×1.047≒44px。44px適用後のインク幅711pxはデザインと一致し、罫線幅710pxとも整合） */
    color: var(--color-white);
  }
  .whats-h3-rule {
    /* 2026-08-03 T4実測修正: デザインは全幅ではなく見出しテキスト幅相当(約710px)の
       短い罫線＋末尾に「／」状の斜め切れ込みがある。crops/design_h3rule.png実測
       (1400px幅キャプチャ=CSS px等倍): 罫線全体193〜904(container基準・幅711px)
       ≒見出しテキスト幅707px、切れ込み(ギャップ)は罫線内343〜374px(幅31px)。
       斜め線は右セグメント開始点(374px, 罫線と同じ高さ)から左下へdx26px/dy24px
       (長さ約35px, 水平から約47°)伸びる。実装は::beforeでギャップ位置をパネル
       背景色(黒)でマスクし、::afterで斜め線(回転させた細い矩形)を重ねる。 */
    /* 2026-09-08修正: 擬似要素による組み立てをやめ images/whats-h3-rule-pc.svg の1本のpathに置換した。
       支給PDF CJ_PC_back_0827.pdf p1「罫線の太さを統一してください／ここだけ太くなっています」への対応。
       旧実装は 水平線＝要素のheight:1px・斜め線＝::afterの矩形幅2px と別々に太さを持っていたため、
       斜め線だけが水平線の2倍で描かれていた（実測: 水平線 rgb(255,255,255) 1px / 斜め線 2px）。
       SVGなら stroke-width 1本で両方の太さが決まるので、以後ずれようがない。
       height を 1px→25px にした分は margin-bottom:-24px で相殺するため、後続要素の位置は変わらない
       （旧実装の斜め線は絶対配置でレイアウト高さに寄与していなかったため）。 */
    display: block;
    width: 100%; /* 2026-09-18修正: 710px→100%（親.whats-h3をwidth:fit-contentにしたためコピー幅に一致する。経緯は.whats-h3側のコメント参照） */
    height: 25px;
    margin: 7px auto -24px; /* 2026-08-18 Phase3-b: EN側(25px)に統一 / 2026-08-21修正: whats-h3とsvg罫線の間隔を5px縮小 / 2026-08-23修正: 20px→7px（top_pc.png実測: h3インク下端3728→罫線3742＝視覚14px。ライブは26px＝h3の行ボックス下余白約7pxが上乗せ）。SPは@media(max-width:767px)で12pxを上書き済み */
    background: url("../images/whats-h3-rule-pc.svg") no-repeat;
    background-size: 100% 100%;
  }
  .story-row {
    display: flex;
    align-items: flex-start; /* 2026-08-21修正: center→flex-start（リード文章を上寄せに） */
    justify-content: flex-start;
    gap: 50px; /* 出典: 8-2「画像↔テキストの溝50px」 */
    margin-top: 95px; /* 出典: S-08「→記事1: 95px」（記事1のみ） */
  }
  .story-row + .story-row {
    margin-top: 110px; /* 出典: 8-2「行間110px」 */
  }
  .story-row--reverse {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
  .story-row-photo {
    flex: 2.24 1 650px;
    width: 650px;
    max-width: 650px;
    aspect-ratio: 650 / 330;
    height: auto;
    min-height: 0;
    min-width: 0;
    /* 2026-08-02 前澤さん指摘: 角丸はテキスト側の角のみ（外側＝白背景境界は直角）。
       通常配置（画像左・テキスト右）は右側2角のみ角丸。カンプ8.png「角丸15Px」注記に基づく。 */
    border-radius: 0 15px 15px 0;
    object-fit: cover;
  }
  .story-row--reverse .story-row-photo {
    /* 反転配置（画像右・テキスト左）は左側2角のみ角丸 */
    border-radius: 15px 0 0 15px;
  }
  .story-row-body {
    flex: 1 1 290px;
    width: 290px;
    max-width: 290px;
    min-width: 0;
  }
  .story-row-title {
    font-family: var(--font-body-jp);
    font-weight: 700;
    font-size: 23px; /* 2026-09-18修正: 25px→23px（0918改修リスト。前澤さん確認: PCの日本語版のみ。PC英語版28px・SP JP20px・SP EN22pxは据え置き）。
       旧: 2026-08-23修正: 2.4rem(=24px)→25px（top_pc.png実測: 1段目見出し1行目「定番も贅沢も選べる」インク幅218pxに対しライブ210px → 24×1.038≒25px） */
    line-height: 1.64; /* 2026-08-23修正: 4rem(=40px)→1.64（単位規約R3により単位なし比率。25×1.64=41pxでデザインの行送り41pxと一致） */
    /* 2026-08-23追記: デザインでは見出し1行目のインク上端が写真上端と完全に一致している（design y=3839で差0px）
       のに対しライブは行ボックスのハーフレディング分9px下がっていた。テーマ内で既に採用している
       text-box-trim（.section-heading-title / .pickup-card-title-en）と同じ手法で上側のレディングを削る。
       SPは下の@media(max-width:767px)で text-box-trim:none を明示し従来の見え方を維持する。 */
    text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
    margin-top: 4px; /* 2026-08-23追記: text-box-trim適用後の実測で見出し1行目のインク上端が写真上端より3px上に出た（和文グリフがLatinのキャップ高より上に伸びるため）。デザインはインク上端＝写真上端+1pxのため4px戻す。SPは下の@media(max-width:767px)で0を明示維持 */
    color: var(--color-yellow);
  }
  .story-row-rule {
    display: block;
    width: 100%;
    height: 1px;
    margin: 18px 0 15px; /* 2026-08-23修正: 25px 0→18px 0 15px（top_pc.png実測: 見出し最終行インク下端3901→罫線3929＝28px、罫線→本文1行目インク上端3955＝26px。ライブは35px/36pxで行ボックス由来の余白が上10px・下11px乗るため 28-10=18px / 26-11=15px）。SPは@media(max-width:767px)で15px 0を上書き済み */
    background-color: var(--color-yellow);
  }
  .story-row-text {
    font-family: var(--font-body-jp);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 3.4rem;
    color: var(--color-white);
    text-align: justify; /* 2026-08-21修正: 黄色い罫線幅と文字幅を近づけるため追加 */
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .whats-panel-wrap {
    margin-top: 8px; /* 2026-09-08修正: 15px→8px（前澤さん指示「CAMPAIGN下の★とその下のフレームとの間が空きすぎ。
    PICK UP MENUと同じ間隔に」「WHAT'S CARL'S JR.の下部も同じ」）。SPのみ。同日の
    .pickup-menu-panel-wrap(:406) の8pxに揃える。PC側は4セクションとも15pxで既に揃っているため変更しない。
    2026-09-08 再調整: 8px→6px→4px。LOCATIONの次要素は .location-lead というテキストで、
    行ボックス上端と文字のインク上端の間にハーフレディング分の余白が入るため、
    他3セクション（フレーム＝箱が直接くる）と同じ8pxでは視覚的に広く見えるため。
    最終的に4pxとしたのは、ハーフレディング実測(JP 4.5px / EN 3.2px)を足した見た目の空きが
    JP約8.5px / EN約7.2px となり、他3セクションの8pxとほぼ一致するため。 */
  }
  html[lang="ja"] .whats-panel {
    border-radius: 5px; /* 2026-08-29修正: 支給PDF(CJ_SP_back_0828) T-4「角丸を5pxで統一」。
    EN側(html[lang="en"] .whats-panel、SP)は既に5pxだがJP側だけ基底の15pxのまま
    据え置かれていたため、EN側の既存値に合わせて5pxを明示。 */
    padding: 40px 0 50px;
  }
  html[lang="ja"] .whats-made-fresh {
    font-size: 4.4rem; /* 2026-08-03 T3修正: EN版(line 1198)と同じサイズに統一。旧3.6remはデザイン比23-30%小さかった */
    line-height: 1; /* 2026-09-08修正: 1.2→1.0（前澤さん指示）。単位規約R3により単位なし比率 */
    letter-spacing: normal; /* 2026-08-23追記: PC側に letter-spacing:4px を追加したため、SPは従来値(normal)を明示的に維持する */
  }
  html[lang="ja"] .whats-made-fresh-break {
    display: block;
  }
  html[lang="ja"] .whats-lead {
    margin-top: 10px; /* 2026-08-21修正: 25px→10px */
    text-align: left;
    padding: 0 28px;
    font-size: 1.5rem;
    line-height: 2.6rem; /* 2026-09-24修正: 1.5→2.6rem（前澤さん指示「行間を広げる」。JPのみ・ENは1.5据え置き）
       / 2026-09-08修正: 2rem(=20px)→1.5（前澤さん指示「.whats-lead の行間は文字サイズの1.5倍」）。行送り 20px → 15×1.5=22.5px。単位規約R3により単位なし比率。
       注意: 同じ指示は2026-08-02にも出ており、2026-08-23のデザイン等倍合わせで行ピッチ実測値へ戻されていた（この履歴は下記の旧コメントに残る）。今回の再指示は8/28の差し戻しPDFを見た上でのものなので、以後デザイン実測を根拠に1.5を上書きしないこと。 */
    /* 旧: 2026-08-21修正: 2.6rem→2rem */
  }
  /* 2026-08-06 前澤さん指示: SPのみlead_text（ACF new_lines=br）内の強制改行<br>を無効化し
     自然な折り返しにする。PCは現状のまま（改行を維持）。左寄せ自体は既存のtext-align:leftを維持。
     <br>はACFフィールド値由来でテンプレート側に直書きの要素が無いため、テンプレート側で
     <br class="whats-lead-br">を付与し、ここで非表示にする方式（br.smpの逆パターン）。 */
  html[lang="ja"] .whats-lead-br {
    display: none;
  }
  html[lang="ja"] .whats-h3 {
    margin-top: 40px;
    font-size: 2.4rem; /* 2026-10-15 No.10修正: 画面幅連動の縮小（09-24）をやめ固定に戻した。縮小で常に1行に収めると改行が起きないため。
       収まらない幅では .whats-h3-part の境目（「ハンバーガーの話」の前）で折り返す */
  }
  html[lang="ja"] .whats-h3-part {
    display: inline-block;
  }
  html[lang="ja"] .whats-h3-rule {
    /* 2026-08-03 T4実測修正(SP): top_smp.png実測(375px幅=CSS px等倍)。
       罫線全体57〜316px(幅259px)、ギャップ119〜142px(幅23px)、
       斜め線は右セグメント開始点(143px)からdx16.5px/dy17px(長さ約24px, 約44°)。 */
    /* 2026-09-08修正: PC同様、擬似要素から images/whats-h3-rule-sp.svg へ置換（経緯はPC側のコメント参照） */
    /* 2026-09-18修正: 固定幅259pxを撤去。PC基底のwidth:100%を継承し、親.whats-h3のfit-content＝コピー幅に追随する */
    height: 19px;
    margin-top: 12px; /* 2026-08-23修正: PC基底の20pxを継承していたのをSPのみ12pxへ（支給PDF「15px」＝視覚ギャップ。top_smp.png実測は.whats-h3 2行目インク下端y2394→罫線y2406の12px。ライブは 視覚ギャップ＝margin-top+2.8px） */
    margin-bottom: -18px; /* 2026-09-08追記: height 1px→19px の増分を相殺し、後続要素の位置を変えない */
    background-image: url("../images/whats-h3-rule-sp.svg");
  }
  html[lang="ja"] .story-row,
  html[lang="ja"] .story-row--reverse {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: 40px;
    padding: 0 28px;
  }
  html[lang="ja"] .story-row + .story-row {
    margin-top: 50px;
  }
  html[lang="ja"] .story-row-photo,
  html[lang="ja"] .story-row--reverse .story-row-photo {
    flex: none;
    width: 100%;
    height: 150px;
    /* 2026-08-02 前澤さん指摘: SPは画像が縦積み（上：画像／下：テキスト）で
       画面外側の角という概念が無いため4角とも直角。カンプTOP_スマホ@2x実測で
       角丸なしを確認（旧5pxは誤り）。 */
    border-radius: 5px; /* 2026-08-21修正: 0→5px */
  }
  html[lang="ja"] .story-row-body {
    flex: none;
    width: 100%;
  }
  html[lang="ja"] .story-row-title {
    text-box-trim: none; /* 2026-08-23追記: PC側で text-box-trim:trim-start を追加したため、SPは従来の見え方（ハーフレディングあり）を明示的に維持する */
    margin-top: 0; /* 2026-08-23追記: 同上（PC側の margin-top:4px をSPへ波及させない） */
    font-size: 20px; /* 2026-08-06 前澤さん指示: 2rem→2.3rem / 2026-08-21修正: 2.3rem→1.9em / 2026-08-23修正: 1.9em(=30.4px)→20px（top_smp.png実測:「ハンバーガー」インク幅112px、ライブ30.4px時172px → 30.4×112/172=19.8px。単位規約R2によりemをpxへ置換） */
    line-height: 1.4;
  }
  html[lang="ja"] .story-row-rule {
    margin: 15px 0;
  }
  html[lang="ja"] .story-row-text {
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
}

/*
---location（LOCATION 店舗カード）
---------------------------------------------------------------------------*/
html[lang="ja"] {
  .location-lead {
    margin-top: 15px;
    text-align: center;
    font-family: var(--font-body-jp);
    font-weight: 700;
    font-size: 16.8px; /* 2026-08-23修正: 1.6rem(=16px)→16.8px（top_pc.png実測: リード1行目インク幅468px／2行目395pxに対し適用前ライブ449px／375px → 平均比1.047・16×1.047＝16.8px。実測比較でも 16.8px→471px / 17px→477px / 16px+paltなし→478px と16.8pxが最も近い） */
    line-height: 1.49; /* 2026-08-23修正: 2.2rem(=22px)→1.49（単位規約R3により単位なし比率。16.8×1.49≒25pxでデザインの行送り25pxと一致。適用前ライブは22pxで3px詰まっていた） */
    color: var(--color-black);
	  font-feature-settings: "palt" 1;
  }
  .location-cards {
    display: flex;
    list-style: none;
  }
  .location-card {
    flex: 1;
    text-align: center;
  }
  .location-card-photo {
    display: block;
    width: 100%;
    height: 220px;
    border-radius: 10px;
    object-fit: cover;
  }
  .location-card-name-en {
    margin-top: 25px;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 3.4rem;
    color: var(--color-black);
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .location-card-name-ja {
    margin-top: 8px;
    font-family: var(--font-body-jp);
    font-weight: 500;
    font-size: 1.6rem;
    color: var(--color-black);
    font-feature-settings: "palt" 1;
  }
  /* 2026-08-21修正: common.css側の.pill-button:hoverを赤くする修正が、詳細度の高いこの重複定義に
     上書きされてしまうため削除（common.css側の指定をそのまま効かせる） */
}
/* 2026-08-18 Phase3-a: JP/EN完全一致のため html[lang="ja"]/html[lang="en"] の重複ブロックを統合 */
.location-cards {
  gap: 55px; /* 出典: S-09「カード間の溝55px」 */
}
/* 2026-08-23修正: マークアップが <ul class="location-cards section-inner"> のため、
   html[lang="ja"|"en"] .section-inner { margin: 0 auto; }（本ファイルL27-31 / L873-877・詳細度0,2,0）に
   ショートハンドで margin-top を 0 に潰されており、.location-cards 単独（詳細度0,1,0）の margin-top:35px は
   一度も効いていなかった（getComputedStyle実測 margin-top:0px / リード文と写真の実ギャップ0px）。
   .section-inner 側の margin:0 auto は ul/p のUA既定マージン打ち消しを兼ねているため触らず、
   こちらの詳細度を(0,3,0)へ上げて確実に効かせる。JP/EN共通・出典: PDF改修指示「文字と写真の間 35px開けてください」。 */
html[lang="ja"] .location-cards.section-inner,
html[lang="en"] .location-cards.section-inner {
  margin-top: 35px;
}
.location-card-btn-wrap {
  margin-top: 15px; /* PC値。SPはJP 10px/EN 20pxで異なるため各言語ブロックのSP上書きに残置（Phase3-c検討事項） / 2026-08-21修正: 20px→15px */
}
.location {
  padding-bottom: 120px; /* 出典: S-09「セクション→フッター120px」 */
}
@media (max-width: 767px) {
  .location-cards {
    gap: 35px;
  }
  /* 2026-08-23修正: PC側と同じ詳細度事故（.section-inner の margin:0 auto に潰される）のため
     SP値25pxも同じく詳細度(0,3,0)へ引き上げる。出典: SP改修指示「location-lead と location-cards section-inner の間を25px空け」 */
  html[lang="ja"] .location-cards.section-inner,
  html[lang="en"] .location-cards.section-inner {
    margin-top: 25px;
  }
  .location {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  html[lang="ja"] .location-lead {
    margin-top: 4px; /* 2026-09-08修正: 15px→8px→6px→4px（前澤さん指示「LOCATION下★とテキストとの間隔を
    PICK UP MENUと同じに」）。SPのみ。同日の .pickup-menu-panel-wrap / .campaign-panel-wrap /
    .whats-panel-wrap と揃い、SPのTOPページは4セクションすべて★下端→次要素が8pxになる。
    PC側は4セクションとも15pxで既に揃っているため変更しない JP側はSP用の margin-top 上書きが無くJP基底(:820)の15pxを継承していたため新規に追加した。 */
    text-align: left;
    padding: 0 28px;
    font-size: 1.5rem;
    line-height: 1.6;
    br { display: none; }
  }
  html[lang="ja"] .location-cards {
    flex-direction: column;
    padding: 0 28px;
  }
  html[lang="ja"] .location-card-photo {
    height: 200px;
    border-radius: 5px;
  }
  html[lang="ja"] .location-card-name-en {
    font-size: 24px; /* 2026-08-21修正: 1.8rem→2.1rem（EN版と統一） / 2026-08-23修正: 2.1rem(=21px)→22px（top_smp.png実測: AKIHABARAインク幅97px・高さ16px、ライブ21px時は幅93px・高さ15px → 21×97/93=21.9px。単位規約R1によりpx表記） / 2026-08-24修正: 22px→24px（前澤さん指示） */
    /* 2026-08-03 T5修正: line-height未指定（既定"normal"はNoto Sans JP/フォールバック実測で
       font-sizeの約1.8倍相当）だとPC用margin-top:25pxがそのまま残る場合に行送り分の余白が
       上乗せされ、写真下端→ODAIBA上端が視覚上32px相当まで広がっていた（デザインは約15px）。
       line-height:1.2に固定して行送り由来の余白を圧縮したうえで、写真下端→インク上端が
       デザイン実測(top_smp.png)の約15pxになるようmargin-topを再算出。 */
    line-height: 1.2;
    margin-top: 13px;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  html[lang="ja"] .location-card-name-ja {
    font-size: 14px; /* 2026-08-24修正: 1.3rem→14px（前澤さん指示） */
    /* 2026-08-03 T5修正: name-enと同根本原因。line-height:1.2固定のうえ、
       ODAIBAインク下端→住所インク上端がデザイン実測の約9pxになるようmargin-topを再算出。 */
    line-height: 1.2;
    margin-top: 10px; /* 2026-08-06 前澤さん指示: 2px→10px */
    font-feature-settings: "palt" 1;
  }
  html[lang="ja"] .location-card-btn-wrap {
    /* 2026-08-03 T5修正: 住所インク下端→MAP&INFOボタン上端がデザイン実測の約11pxになるよう
       margin-topを再算出（SP専用オーバーライドとして新規追加。PC値30pxは変更していない）。 */
    margin-top: 10px;
  }
}

/*
===============================================================================
 EN版（html[lang="en"]） — 出典: stage1_drafts/04_en_top_menu.md 8-1〜8-7
 2026-08-01: jp-topを正典としてクラス名・DOM構造を統一。数値（px値・行送り等）は
 en-top独自の実測・見積り値をそのまま維持（jp-topと同一クラス名でも数値は異なる箇所が大半）。
===============================================================================
*/
html[lang="en"] {
  .section-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 27.5px; /* en-top独自の実測値（jp-topは28px。stage1_spec.md 1-1節「0.5px差は問題なし」） */
  }
}
@media (min-width: 768px) {
  html[lang="en"] .section-inner {
    padding: 0;
  }
}

/*
---hero（8-1）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .hero {
    margin-top: 60px;
  }
  .hero-media {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    aspect-ratio: 1100 / 619;
    border-radius: 15px;
    overflow: hidden;
    background-color: var(--color-black);
  }
  .hero-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* PC/SP動画の出し分け（既定=PC表示）。SP側は下記@media(max-width:767px)で反転させる。 */
  .hero-media .hero-media-video--sp {
    display: none;
  }
  /* 【2026-08-06】EN TOPのh1だけヒラギノで描画される不具合への個別対処
     （font-family: var(--font-heading) の明示）をここに置いていたが、原因である
     style.css の `h1〜h6 { font-family: ヒラギノ }` を撤去して根本是正したため削除。
     本要素は html[lang="en"] body の var(--font-body-en) を継承する。 */
  .hero-copy--visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
@media (max-width: 767px) {
  html[lang="en"] .hero {
    margin-top: 30px;
    padding: 0 27.5px;
  }
  html[lang="en"] .hero-media {
    aspect-ratio: 320 / 320; /* SPのみ1:1（別動画素材。en-top独自の実測値を維持） */
    border-radius: 5px;
  }
  html[lang="en"] .hero-media .hero-media-video--pc {
    display: none;
  }
  html[lang="en"] .hero-media .hero-media-video--sp {
    display: block;
  }
}

/*
---hero 再生ボタン（自動再生が拒否された端末でだけ js/top.js が追加する）
---iOS「ビデオプレビューの自動再生」オフなどで自動再生されない利用者向け。
---posterの上に重ね、hero全面をタップ領域にする。再生が始まると js 側で取り除く。
---------------------------------------------------------------------------*/
.hero-play-button {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.hero-play-button-icon {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: var(--color-white);
}
.hero-play-button:focus-visible .hero-play-button-icon {
  outline: 3px solid var(--color-white);
  outline-offset: 3px;
}

/*
---pickup-menu（PICK UP MENU スライダー。8-2）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .pickup-menu {
    margin-top: 110px;
  }
  .pickup-menu-panel {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    background-color: var(--color-yellow);
    border-radius: 15px;
    overflow: hidden;
    padding: 60px 0 43px; /* 2026-08-21修正: JP版と同じ構造に統一するため追加（.pickup-slider-track側のpaddingは削除し二重余白を回避） / 2026-08-23修正: 下50px→43px（CJ_HP_top_E_v1_pc.png実測: ドットのインク下端はパネル上端からrel699、パネル下端rel749＝50px。ドットは高さ24pxの行ボックス内に9pxのボタンが中央配置されるためボックス下端はインク下端の7.5px下 → 50-7=43px）。上60pxは写真アセットのアスペクト比差で検算不能のため据え置き。SPは@media(max-width:767px)で30px 0 20pxを上書き済み */
  }
  .pickup-slider {
    position: relative;
  }
  .pickup-slider-viewport {
    overflow: hidden;
    width: 100%;
  }
  .pickup-slider-track {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    will-change: transform;
    transition: transform 0.5s ease;
    /* 2026-08-21修正: paddingは.pickup-menu-panel側に移し二重余白を回避（JP版と同じ構造に統一） */
    list-style: none;
  }
  .pickup-card {
    position: relative; /* 【2026-08-18追記】.pickup-card-descを絶対配置する基準にする */
    flex: 0 0 auto;
    width: 520px;
    padding: 0 20px;
    box-sizing: border-box;
    text-align: center;
    color: var(--color-black);
    min-height: 740px; /* 2026-09-24修正: 760px→740px（前澤さん指示「pickup-card-desc と pickup-slider-dots の間を小さく」。4行時の下端732pxは収まる）
                          / 【2026-08-18追記】.pickup-card-descが絶対配置で通常フローから外れるため確保
                          / 2026-09-13修正: 700px→760px（前澤さん指摘: 説明文が最後まで表示されない）。
                          .pickup-slider-viewportが overflow:hidden で、その高さは最も高いカードで決まる。
                          EN版の説明文は<br>区切りの3文で、FAMOUS STARは2文目が折り返して4行=102pxになり
                          top:630px+102px=732px が 700px を超えて3文目が丸ごと消えていた（実測）。
                          折り返しの無い他4枚も3行=76.5pxで下端706.5pxとなり末尾が欠けていた。
                          760pxなら4行時に下端732pxで28px残り、将来5行(757.5px)に伸びても収まる。
                          JP版(html[lang="ja"] .pickup-card)はtop:612.5px・3行で下端684.5pxのため700pxのまま。 */
  }
  .pickup-card-photo {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    object-fit: contain;
  }
  .pickup-card-title-en {
    margin-top: 30px;
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: var(--pickup-title-en-fontsize, 77px); /* 2026-08-11 前澤さん指示: 管理画面フォントサイズ入力欄に対応 / 2026-08-23修正: フォールバック値 7.7em→77px。7.7remの意図に対し実効123.2px(=16px×7.7)になっており、EN版はACF未入力でこのフォールバックが実効値だったため商品名が2〜3行に折り返して説明文と重なっていた。CJ_HP_top_E_v1_pc.pngの「FAMOUS STAR」インク幅381px・キャップ高56pxはSansBeam Head 900 の77px描画と一致（単位規約R2）。SPは@media(max-width:767px)で3.4remを上書き済み */
    text-transform: uppercase;
    line-height: 1;
  }
  .pickup-card-price {
    margin-top: 0; /* 2026-08-23修正: 20px→0（CJ_HP_top_E_v1_pc.png実測: 商品名キャップ下端1521→価格キャップ上端1540＝視覚19px。商品名の行ボックス下端に対しmargin-top20pxが乗ると約40pxになる）。SPは@media(max-width:767px)で0を上書き済み */
    font-family: var(--font-body-jp); /* 2026-08-24修正: var(--font-body-en)→var(--font-body-jp)（前澤さん指示） */
    font-weight: 900; /* 2026-08-21修正: 700→900 */
    font-size: 21px; /* 2026-08-23修正: 2rem(=20px)→21px（同画像実測:「¥890」インク幅48px・キャップ高16px。ライブ20px時は45px/15px → 20×48/45≒21px）。SPは@media(max-width:767px)で16pxを上書き済み */
    line-height: 1;
  }
  .pickup-card-desc {
    /* 【2026-08-18再修正】590pxは商品名1行時のみの実測値で、2行タイトル商品
       ('HAND WHIPPED ICE CREAM SHAKES')の価格表示と重なるバグがあった。
       2行タイトル時のprice下端実測値618px+12px余白で630pxに修正
       （JP側と同じ考え方: 最も行数が多いケースを基準に固定）。 */
    position: absolute;
    top: 630px;
    left: 20px;
    right: 20px;
    font-family: var(--font-body-en);
    font-weight: 400;
    font-size: 17px; /* 2026-08-23修正: 1.8rem(=18px)→17px（CJ_HP_top_E_v1_pc.png実測: 説明文3行のインク幅405/287/383px。Roboto 400 のアドバンス実測から17px換算で405.2/288.2/383.9となり全行1px以内で一致。18pxでは429/305/406で過大）。SPは@media(max-width:767px)で15pxを上書き済み */
    line-height: 1.5;
  }
  .pickup-slider-arrow {
    /* 2026-08-19修正: JP版(html[lang="ja"] .pickup-slider-arrow)と位置・サイズが食い違って
       いたのをJP版と同値に統一（旧: top:50%+transform中央寄せ・width24px・height42.5px・
       left/right:0）。
       【同日再修正】文字ベースの矢印(‹›)は見出し用フォントで太く崩れて見えるため、
       フォント非依存のSVG細線アイコンに置き換えた。font-family/font-sizeは不要のため削除。 */
    position: absolute;
    /* 2026-08-23修正: top 220px→187.5px / ボタン48px→71px（CJ_HP_top_E_v1_pc.png実測: シェブロンのインクは
       右 x=1006-1030・行 1260-1302 で、インク中心はパネル上端から283px下・パネル左端から237px内側／
       右端から232.5px内側。テーマSVG(viewBox 0 0 24 24 / path 幅7・高さ14)のインク高は 14/24×S＋実効ストローク
       で、デザインのストロークは約1.7pxのため S=71px・stroke-width 0.58（実効1.72px）でインク高43pxが一致する。
       top = 283 - パネルpadding-top60 - ボタン高の半分35.5 = 187.5px。JP版と同値。
       SPは下の@media(max-width:767px)で従来値(top52px/40px/svg32px/left・right20px/stroke1.75)を維持 */
    top: 187.5px;
    width: 71px;
    height: 71px;
    background: none;
    border: none;
    color: var(--color-black); /* svgのstroke="currentColor"がこの色を継承する */
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }
  .pickup-slider-arrow svg {
    width: 71px; /* 2026-08-23修正: 42px→71px（上記.pickup-slider-arrowのコメント参照。JP版と同値） */
    height: 71px;
    flex: 0 0 auto; /* 2026-08-23追記: flexコンテナ(ボタン)にsvgが押し潰されて幅が切り詰められるのを防ぐ */
    display: block;
  }
  .pickup-slider-arrow svg path {
    stroke-width: 0.58; /* 2026-08-23追記: viewBox(0 0 24 24)単位。71px時の実効1.72pxがデザイン実測のストローク太さと一致する（既定1.75では実効5.18pxで太くなりすぎる）。JP版と同値 */
  }
  .pickup-slider-arrow--prev {
    left: 262px; /* 2026-08-23修正: 20px→202px（デザインのシェブロンはパネル左端から237px内側。237 - ボタン幅の半分35.5 = 201.5≒202px） / 2026-08-24修正: 202px→262px（前澤さん指示） */
  }
  .pickup-slider-arrow--next {
    right: 257px; /* 2026-08-23修正: 20px→197px（同・パネル右端から232.5px内側。232.5 - 35.5 = 197px） / 2026-08-24修正: 197px→257px（前澤さん指示） */
  }
  .pickup-slider-dots {
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12.5px; /* 2026-08-23修正: 8px→12.5px（CJ_HP_top_E_v1_pc.png実測: ドット列654-662/674-682/696-705/718-726/740-748＝直径9px・ピッチ平均21.5px → gap=21.5-9=12.5px）。SPは下の@media(max-width:767px)で8pxを明示維持 */
    list-style: none;
  }
  .pickup-slider-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.3); /* 2026-08-18 Phase3-c: JP側(0.3)に統一。前澤さん指示 */
    cursor: pointer;
  }
  .pickup-slider-dot.is-active {
    background-color: var(--color-black);
  }
}
@media (max-width: 767px) {
  html[lang="en"] .pickup-menu {
    margin-top: 50px;
  }
  html[lang="en"] .pickup-menu-panel {
    max-width: 319px; /* 【2026-08-19追記】前澤さん指摘: JP版に無いこの指定が抜けていたため、
    カードのオレンジ背景が画面幅いっぱいに広がって見えていた（JP/ENでの実装漏れ）。
    JP版(html[lang="ja"] .pickup-menu-panel)と同値に統一。 */
    padding: 10px 0 20px; /* 2026-09-24修正: 天20px→10px（前澤さん指示・JP/EN共通） / 2026-09-18修正: 天30px→20px（支給PDF p2「天幅少し詰めていただけますでしょうか」。JP側と同値を維持） */
    border-radius: 5px;
  }
  /* 2026-09-08削除: html[lang="en"] .pickup-slider-track { padding: 25px 0 20px; }
     支給PDF CJ_SP_back_0828.pdf p1 EN側「日本語版と位置が異なる（上すぎる）きがします」（矢印）への対応。
     矢印は .pickup-slider（＝トラック上端）を基準に top:52px で置いているため、トラックに上padding
     25pxがあるとカードだけが25px下がり、矢印が写真の中心より25px高い位置に取り残されていた
     （実測: 矢印中心597 / 写真中心622.5。JPは725と725.5でほぼ一致）。
     このpaddingは 2026-08-21 に「.pickup-menu-panel側へ移して二重余白を回避」した際の消し漏れで、
     直下の html[lang="en"] .pickup-menu-panel が既に padding:30px 0 20px を持っている
     （JP側 html[lang="ja"] .pickup-slider-track にはpaddingが無い）。 */
  html[lang="en"] .pickup-card {
    width: 100%;
    padding: 0 28px; /* 【2026-08-19変更】旧0→JP版と同じ28pxに統一（同上の理由）。
    下の.pickup-card-descのleft/rightもこの変更に合わせて0→28pxへ修正済み。 */
    min-height: 404px; /* 2026-09-18修正: 380px→452px（JP側と同じ対応。実測し直した最大自然高451.2px＝FAMOUS STARに合わせた。経緯はJP側 html[lang="ja"] .pickup-card のコメント参照）
       / 2026-09-18再修正: 452px→404px（写真192px化に追随。再実測した最大自然高403.2px＝FAMOUS STAR。JP側と同じ理由）
       旧: 【2026-08-18追記】SP版の絶対配置に伴うカード高さ確保 */
  }
  html[lang="en"] .pickup-card-title-en {
    margin-top: 20px;
    /* 2026-09-18修正: JP側と同じ対応（支給PDF p2「英語版も同様」）。フォールバック34pxは従来の3.4remと同値。経緯はJP側のコメント参照 */
    font-size: var(--pickup-title-en-fontsize-sp, 34px);
  }
  html[lang="en"] .pickup-card-price {
    margin-top: 0; /* 2026-08-23修正: SP上書きを新規追加（PC基底20pxを継承していた）。CJ_HP_top_E_v1_smp.png実測: 商品名インク上端y700→価格インク上端y734＝34.0px（適用前ライブ54.4px） */
    font-size: 16px; /* 2026-08-23修正: 1.5rem(=15px)→16px（同画像実測:"¥890"インク幅35.27px。実Roboto(900)プローブ 15px→33.22 / 16px→35.49 / 17px→38.00） */
  }
  html[lang="en"] .pickup-card-desc {
    /* 【2026-08-18再修正】254pxは商品名1行時のみの実測値で、2行タイトル商品
       ('HAND WHIPPED ICE CREAM SHAKES')の価格表示と重なるバグがあった。
       2行タイトル時のprice下端実測値268pxを基準に272pxへ修正
       （PC同様、最も行数が多いケースを基準に固定）。 */
    /* 【2026-08-19変更】.pickup-cardのpaddingを0→28pxに統一(JP版に合わせカード全体幅を修正)
       したのに合わせ、left/rightも0→28pxへ変更してJP版と同じ配置にする。 */
    /* 2026-09-08修正: 絶対配置(top:272px)をやめ通常フローへ戻した（支給PDF CJ_SP_back_0828.pdf p1
       EN側「仕様を日本語版と合わせてください」への対応）。
       JP側(html[lang="ja"] .pickup-card-desc)は 2026-08-23 に同じ理由で static + margin-top へ移行済み。
       絶対配置は「最も行数が多いカード」に合わせて1点で固定するしかないため、商品名が1行のカードでは
       価格→説明文が開きすぎ、2行のカードでは詰まりすぎるという相反する状態になっていた。
       通常フローなら行数に関わらず一定の間隔になる。margin-top はJP側と同じ16pxを採用する
       （指示が「日本語版と合わせる」であり、EN単独の実測値の支給が無いため）。
       left/right の28pxは .pickup-card 側の padding:0 28px が同じ役目を果たすので auto に戻す。 */
    position: static;
    margin-top: 16px;
    top: auto;
    left: auto;
    right: auto;
    font-size: 15px; /* 2026-08-23修正: 1.6rem(=16px)→15px（CJ_HP_top_E_v1_smp.png実測: 揃え補正のかからない最終行インク幅218.40px。実Robotoプローブ 15px→219.06 / 16px→234.00。デザインは4行、16pxのライブは5行だった） */
    line-height: 1.67; /* 2026-08-23修正: 1.5→1.67（同画像の行ピッチ実測25.0px。15×1.67=25.05px。単位規約R3により単位なし比率を維持） */
    text-align: left;
    br { display: none; }
  }
  html[lang="en"] .pickup-slider-arrow {
    /* 2026-08-02 不具合修正: SPでスライダーを操作する手段が自動送りしか無く
       操作不能だったため矢印を復活。
       【2026-08-19再修正】前澤さん指摘によりJP版(html[lang="ja"] .pickup-slider-arrow、
       top:90px)と同値に統一。旧97.5pxはEN独自の中央寄せ実装（基底ルールのtransform:
       translateY(-50%)前提）の値だったが、位置・形状をJP版に統一した際に基底ルール側の
       transformを廃止したため、この値もJP版に合わせて置き換える。 */
    top: 96px; /* 2026-09-24修正: 76px→96px（JP版と同値） / 2026-08-23修正: 90px→52px（JP版J1-bと同値。2026-08-19の「JP版と同値に統一」指示を維持するためEN側も追随）
       / 2026-09-18修正: 52px→76px（JP版と同値。写真192px化に伴う写真中心96pxへの追随。経緯はJP側のコメント参照） */
    /* 2026-08-21修正: PC側をSVG拡大(42px)+ボタン48pxへ変更したため、SPは従来サイズ(40px)を明示的に維持 */
    width: 40px;
    height: 40px;
  }
  html[lang="en"] .pickup-slider-arrow svg {
    width: 32px; /* 2026-08-23修正: 22px→32px（JP版J1-aと同値。JP/EN矢印統一を維持） */
    height: 32px; /* 2026-08-23修正: 22px→32px（同上） */
  }
  /* 2026-08-23追記: 同日のPC等倍合わせ（矢印をカード外側へ移動・SVG71px化・ストローク細線化・ドット間隔拡大）が
     SPへ波及しないよう、SPの従来値を明示的に維持する。 */
  html[lang="en"] .pickup-slider-arrow svg path {
    stroke-width: 1.75;
  }
  html[lang="en"] .pickup-slider-arrow--prev {
    left: 20px;
  }
  html[lang="en"] .pickup-slider-arrow--next {
    right: 20px;
  }
  html[lang="en"] .pickup-slider-dots {
    gap: 8px; /* 2026-08-23追記: PC側を12.5pxへ変更したためSPの従来値を明示維持 */
    margin-top: 0; /* 2026-08-21修正: SP専用上書きを新規追加（PC値25pxを継承していたのを0に） */
  }
}

/*
---grand-menu-banner（GRAND MENUへの導線。8-3）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .grand-menu-banner-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px; /* 2026-08-11 前澤さん指示: 33.5px→10px */
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    height: 250px;
    background-color: var(--color-black);
    /* PC/SP背景画像の出し分け（既定=PC表示）。SP用未設定時は下記@media(max-width:767px)側の
       var()フォールバックにより自動でPC用画像に戻る（ACF: bg_image / bg_image_sp）。 */
    background-image: var(--grand-menu-banner-bg-pc, none);
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    text-decoration: none;
    transition: opacity 0.2s ease;
  }
  .grand-menu-banner-link:hover {
    opacity: 0.4;
  }
  .grand-menu-banner-lead {
    color: var(--color-white);
    font-family: var(--font-body-en);
    font-weight: 500; /* 2026-08-06 前澤さん再指示: 400→500（JP側と統一） */
    font-size: 21px; /* 2026-08-11 前澤さん再指示: 2rem→2em / 2026-08-23修正: 1.2em(実測19.2px)→21px（CJ_HP_top_E_v1_pc.png実測:「View All Menus」インク幅143px・帯高18pxに対しライブ131px/16px → 19.2×143/131≒21px。単位規約R2によりemをpxへ置換）。SPは@media(max-width:767px)で1.6remを上書き済み */
    line-height: 1;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .grand-menu-banner-title {
    color: var(--color-white);
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 76px; /* 2026-08-23修正: 5em(実測80px)→76px（CJ_HP_top_E_v1_pc.png実測: インク幅372px・キャップ帯56pxに対しライブ388px/59px → 80×372/388≒76.7px、キャップ比からも75.9px。単位規約R2によりemをpxへ置換）。SPは@media(max-width:767px)で2.8emを上書き済み */
    line-height: 1;
    text-transform: uppercase;
  }
}
/* GRAND MENUバナー見出し内 <br class="smp"> の改行制御（title_textフィールドにACFで挿入。
   2026-08-04時点でJA/EN両方の投稿データに同じ値が入っているため無条件ルールにしている）。
   PC/無条件のベースルールは非表示、SP幅では下記@mediaブロックで表示に切り替える。 */
br.smp {
  display: none;
}
@media (max-width: 767px) {
  html[lang="en"] .grand-menu-banner-link {
    height: 205px;
    border-radius: 5px;
    gap: 12px;
    justify-content: flex-start;
    padding-top: 20px;
    background-image: var(--grand-menu-banner-bg-sp, var(--grand-menu-banner-bg-pc, none));
  }
  html[lang="en"] .grand-menu-banner-lead {
    font-size: 1.6rem;
  }
  html[lang="en"] .grand-menu-banner-title {
    font-size: 44.8px; /* 2026-08-06 前澤さん指示: 2.4em→2.8em。2026-08-24追記: 単位規約R2によりemをpxへ置換。2.8em(=44.8px) → 44.8px（EN SP 375pxで実効値一致。PCは別宣言76pxのため本置換の影響を受けない） */
    text-align: center;
    line-height: 1;
  }
  br.smp {
    display: inline;
  }
}

/*
---campaign（CAMPAIGN バナー2枚。8-4）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .campaign-panel-wrap {
    margin-top: 15px; /* 2026-08-18 Phase3-c: JP側(15px)に統一。前澤さん指示 */
    display: flex;
    flex-direction: column;
    gap: 35px;
  }
  .campaign-banner {
    display: block;
    border-radius: 15px;
    overflow: hidden;
    line-height: 0;
    transition: opacity 0.2s ease;
  }
  .campaign-banner:hover {
    opacity: 0.4;
  }
  .campaign-banner img {
    display: block;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  html[lang="en"] .campaign-panel-wrap {
    margin-top: 8px; /* 2026-09-08修正: 15px→8px（前澤さん指示「CAMPAIGN下の★とその下のフレームとの間が空きすぎ。
    PICK UP MENUと同じ間隔に」「WHAT'S CARL'S JR.の下部も同じ」）。SPのみ。同日の
    .pickup-menu-panel-wrap(:406) の8pxに揃える。PC側は4セクションとも15pxで既に揃っているため変更しない EN側はSP用の margin-top 上書きが無くEN基底(:1325)の15pxを継承していたため新規に追加した。 */
    gap: 20px;
  }
  html[lang="en"] .campaign-banner {
    border-radius: 5px;
  }
}

/*
---whats-carls-jr（WHAT'S CARL'S JR. 黒パネル。8-5）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .whats-panel-wrap {
    margin-top: 15px; /* 2026-08-18 Phase3-c: JP側(15px)に統一。前澤さん指示 */
  }
  .whats-panel {
    max-width: 1100px;
    margin: 0 auto;
    background-color: var(--color-black);
    border-radius: 15px;
    padding: 83px 0 113.5px; /* 2026-08-23修正: 上90px→83px（CJ_HP_top_E_v1_pc.png実測: パネル上端3246→MADE FRESHインク上端3332＝86-87px。適用前ライブは93px）。
      下は113.5pxのまま据え置く: 改修候補は77pxを提案していたが、パネル下端を再実測すると y=5536（候補側の5499は誤り）で、
      4本目story-row写真下端5422からの差は114pxとなり既存値113.5pxがデザインどおりだったため。
      SPは@media(max-width:767px)で40px 27.5px 50pxを上書き済み */
    text-align: center;
  }
  .whats-made-fresh {
    font-family: var(--font-heading);
    font-weight: 900;
    font-style: italic;
    transform: skewX(-10deg); /* 2026-08-06 前澤さん指示: EN限定で追加（JP版は既存skewX(-5deg)） */
    font-size: 9.5rem;
    letter-spacing: 3.5px; /* 2026-08-23追記: CJ_HP_top_E_v1_pc.png実測でインク全幅がデザイン863px（x=278-1140）に対しライブ796pxと67px狭い一方、キャップ高は70px/69pxでほぼ同一＝字間だけの差。単語別実測(TO 93/91・ORDER 252/242)の連立から字間差3.5px。SPは下の@media(max-width:767px)でnormalを明示維持 */
    color: var(--color-yellow);
    text-transform: uppercase;
    line-height: 1;
  }
  .whats-made-fresh-break {
    display: none;
  }
  .whats-lead {
    margin-top: 14px; /* 2026-08-23修正: 45px→14px（CJ_HP_top_E_v1_pc.png実測: MADE FRESH TO ORDERインク下端3401→リード1行目インク上端3449＝視覚48px。ライブは74〜79pxで、行ボックス由来の余白が上乗せされていた）。SPは@media(max-width:767px)で10pxを上書き済み */
    color: var(--color-white);
    /* 2026-08-23修正: 書体・太さ・サイズ・行間をデザイン実測へ合わせる（PDF E-P2「文字の大きさ・太さ・行間が
       異なって見える」対応）。同画像実測: インク幅432/436/443px・行ピッチ34.5px・キャップ帯17/17/14px。
       行幅比(L2/L1・L3/L1)がデザイン1.0093/1.0255でRoboto(1.0264/1.0576)ではなくNoto Sans JP(1.0064/1.0270)
       と一致し、インク濃度もNoto 500 17px(0.2404)がデザイン(0.2371)と1.4%差で最も近い。
       SPは下の@media(max-width:767px)で従来の書体・太さ(Roboto 400)を明示維持する。 */
    font-family: var(--font-body-jp);
    font-weight: 500;
    font-size: 17px; /* 2026-08-19 前澤さん指示: 1.4em→1.2em（PC） / 2026-08-23修正: 1.2em(実測19.2px)→17px（単位規約R2によりemをpxへ置換） */
    line-height: 1.5; /* 2026-09-08修正: 2.03→1.5（前澤さん指示「.whats-lead の行間は文字サイズの1.5倍」）。行送り 17×2.03=34.5px → 17×1.5=25.5px。
       注意: 同じ指示は2026-08-02にも出ており、2026-08-23のデザイン等倍合わせで行ピッチ実測値へ戻されていた（この履歴は下記の旧コメントに残る）。今回の再指示は8/28の差し戻しPDFを見た上でのものなので、以後デザイン実測を根拠に1.5を上書きしないこと。 */
    /* 旧: 2026-08-02 前澤さん指摘: 行間が空きすぎのため文字サイズの1.5倍に修正（元3.4） / 2026-08-23修正: 1.5→2.03（デザインの行ピッチ実測34.5px＝17×2.03） */
  }
  .whats-h3 {
    margin-top: 73px; /* 2026-08-23修正: 90px→73px（CJ_HP_top_E_v1_pc.png実測: リード最終行インク下端3531→小見出しインク上端3625＝94px。F-11/F-13適用状態のライブは111pxで17px広かった）。SPは@media(max-width:767px)で32pxを上書き済み */
    /* 2026-09-18修正: JP側と同じ対応（支給PDF p1「罫線の長さ上のコピーに合わせてください」）。
       EN側のズレはJPより大きかった（実測: PC 罫線790px 対しコピー498.8px＝291px余り／SP 265px 対し140px＝125px余り）。 */
    width: fit-content;
    margin-inline: auto;
    padding-bottom: 25px;
    color: var(--color-white);
    font-family: var(--font-body-en);
    font-weight: 700;
    font-size: 49px; /* 2026-08-23修正: 4rem(=40px)→49px（同画像実測: インク幅781pxに対しライブ641px → 40×781/641≒48.7px。49px適用時のインク幅781pxはデザインと完全一致）。SPは@media(max-width:767px)で25.5pxを上書き済み */
    line-height: 1.375;
  }
  .whats-h3-rule {
    /* 2026-08-12 前澤さん指示: EN版にもJP版と同じ斜めカット効果を追加。
       eng/CJ_HP_top_E_v1_pc.png実測(1400px幅キャプチャ=CSS px等倍):
       罫線全体303〜1093(幅790px)、ギャップは罫線内381〜415px(幅34px、局所座標)。
       斜め線は右セグメント開始点(局所415px)から左下へ伸びる（JP版と同一のdx/dy・角度のため
       height/rotate値はJP版を踏襲）。 */
    /* 2026-09-08修正: JP側と同じく擬似要素から images/whats-h3-rule-pc.svg へ置換（経緯はJP側のコメント参照）。
       EN版はPC用SVG(viewBox幅710)を790pxへ引き伸ばして使う。ギャップ・斜線の開始位置は
       JP 343/710=0.4831・373/710=0.5254、EN 381/790=0.4823・415/790=0.5253 と比率がほぼ一致するため、
       引き伸ばしても形が崩れない。線幅は vector-effect="non-scaling-stroke" により1pxのまま保たれる。
       色の違い（EN側は50%白）は background-color ではなく opacity で表現する。SVGを共用するための変更で、
       罫線と斜線の両方に等しくかかるため見え方は従来と同じ。 */
    display: block;
    width: 100%; /* 2026-09-18修正: 790px→100%（親.whats-h3をwidth:fit-contentにしたためコピー幅に一致する） */
    height: 25px;
    margin: 0 auto -24px; /* 2026-08-21修正: whats-h3とsvg罫線の間隔を5px縮小(JP側に統一) / 2026-08-23修正: 20px auto 0→0 auto（CJ_HP_top_E_v1_pc.png実測: 小見出しインク下端3670→罫線3677＝7px。ライブは26〜28pxで、margin-topを0にしても行ボックス由来の約8pxが残りデザインとほぼ一致する）。SPは@media(max-width:767px)で8pxを上書き済み */
    background: url("../images/whats-h3-rule-pc.svg") no-repeat;
    background-size: 100% 100%;
    /* 2026-09-18修正: opacity:0.5 を撤去（支給PDF p1「また、日本語版より少し薄くないでしょうか？」）。
       EN版デザインの50%白は意図的な差分だったが、前澤さん経由でJP版と同じ濃さに揃える判断。 */
  }
  .story-row {
    display: flex;
    align-items: flex-start; /* 2026-08-21修正: center→flex-start（リード文章を上寄せに） */
    gap: 50px;
    text-align: left;
  }
  .story-row + .story-row {
    margin-top: 110px;
  }
  .story-row:first-of-type {
    margin-top: 65px; /* 2026-08-23修正: 95px→65px（CJ_HP_top_E_v1_pc.png実測: 罫線3677→1本目story-row見出しインク上端3775＝98px。ライブは128.3pxで30px広かった）。SPは@media(max-width:767px)で15pxを上書き済み */
  }
  .story-row--reverse {
    flex-direction: row-reverse;
  }
  .story-row-photo {
    flex: 0 0 650px;
    width: 650px;
    max-width: 650px;
    height: 330px;
    min-width: 0;
    /* 2026-08-02 前澤さん指摘: 角丸はテキスト側の角のみ（外側＝白背景境界は直角）。
       通常配置（画像左・テキスト右）は右側2角のみ角丸。カンプ8.png「角丸15Px」注記に基づく。 */
    border-radius: 0 15px 15px 0;
    object-fit: cover;
  }
  .story-row--reverse .story-row-photo {
    /* 反転配置（画像右・テキスト左）は左側2角のみ角丸 */
    border-radius: 15px 0 0 15px;
  }
  .story-row-body {
    flex: 1 1 290px;
    max-width: 290px;
    min-width: 0;
  }
  .story-row-title {
    color: var(--color-yellow);
    font-family: var(--font-body-en);
    font-weight: 900; /* 2026-08-21修正: 700→900 */
    font-size: 2.8rem;
    line-height: 1.43;
  }
  .story-row-rule {
    display: block;
    width: 100%;
    max-width: 290px;
    height: 1px;
    margin: 16px 0 20px; /* 2026-08-23修正: 25px 0→16px 0 20px（CJ_HP_top_E_v1_pc.png実測: 見出し1行目インク上端3775→罫線3864＝89px・罫線→本文1行目インク上端3891＝27px。ライブは98px/32pxだった）。SPは@media(max-width:767px)で8px 0 12pxを上書き済み */
    background-color: var(--color-yellow);
  }
  .story-row-text {
    color: var(--color-white);
    font-family: var(--font-body-en);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.5; /* 2026-08-21修正: 1.89→1.5 */
    text-align: justify; /* 2026-08-21修正: 黄色い罫線幅と文字幅を近づけるため追加 */
  }
}
/* [補足] story-row は画像650px+gap50px+テキスト290pxの固定px合計990pxのため、カンプ非対応の
   768〜1099pxタブレット帯ではSP用の縦積みを767pxより広い1099px以下にも前倒しで適用する */
@media (max-width: 1099px) {
  html[lang="en"] .story-row,
  html[lang="en"] .story-row--reverse {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  html[lang="en"] .story-row-photo,
  html[lang="en"] .story-row--reverse .story-row-photo {
    flex-basis: auto;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 650 / 330;
    /* 2026-08-02: この帯もSPと同じ縦積みのため4角とも直角にする（カンプ非対応の暫定帯） */
    border-radius: 0;
  }
  html[lang="en"] .story-row-body {
    /* 2026-09-08修正: flex:none と width:100% を追加（支給PDF CJ_SP_back_0828.pdf p1 EN側
       「間隔日本語版と統一（開きすぎています）」への対応）。
       原因: SPでは .story-row が flex-direction:column になるため、EN基底(css:1447)の
       `flex: 1 1 290px` の 290px が「幅」ではなく「高さ」として効き、本文が252pxしか無いのに
       ボックスが290pxになっていた。差の約38pxがそのまま本文最終行と次の写真の間の空きになり、
       JP(50px)に対しEN(63px)と開いていた。JP側は html[lang="ja"] .story-row-body(css:793)で
       同じ対処（flex:none / width:100%）が既に入っている。max-width:none だけでは主軸の
       flex-basis が残るため解消しない。 */
    flex: none;
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 767px) {
  html[lang="en"] .whats-panel-wrap {
    margin-top: 8px; /* 2026-09-08修正: 15px→8px（前澤さん指示「CAMPAIGN下の★とその下のフレームとの間が空きすぎ。
    PICK UP MENUと同じ間隔に」「WHAT'S CARL'S JR.の下部も同じ」）。SPのみ。同日の
    .pickup-menu-panel-wrap(:406) の8pxに揃える。PC側は4セクションとも15pxで既に揃っているため変更しない。
    2026-09-08 再調整: 8px→6px→4px。LOCATIONの次要素は .location-lead というテキストで、
    行ボックス上端と文字のインク上端の間にハーフレディング分の余白が入るため、
    他3セクション（フレーム＝箱が直接くる）と同じ8pxでは視覚的に広く見えるため。
    最終的に4pxとしたのは、ハーフレディング実測(JP 4.5px / EN 3.2px)を足した見た目の空きが
    JP約8.5px / EN約7.2px となり、他3セクションの8pxとほぼ一致するため。 */
  }
  html[lang="en"] .whats-panel {
    border-radius: 5px;
    padding: 40px 27.5px 50px;
  }
  html[lang="en"] .whats-made-fresh {
    font-size: 4.4rem;
    letter-spacing: normal; /* 2026-08-23追記: PC側に letter-spacing:3.5px を追加したため、SPは従来値(normal)を明示的に維持する */
  }
  html[lang="en"] .whats-made-fresh-break {
    display: block;
  }
  html[lang="en"] .whats-lead {
    /* 2026-08-23追記: PC側の書体変更(Roboto 400→Noto Sans JP 500)がSPへ波及しないよう、
       SPの従来値を明示的に維持する（SP側は 2026-08-23 にRoboto前提で15.5px/行送り1.6へ調整済み）。 */
    font-family: var(--font-body-en);
    font-weight: 400;
    margin-top: 10px; /* 2026-08-21修正: 25px→10px */
    text-align: justify; /* 2026-08-23修正: left→justify（CJ_HP_top_E_v1_smp.png実測: 1〜4行目のインク幅が259/257/259/260pxとパネル内容幅に揃い、最終行のみ192pxで短い＝両端揃え） */
    font-size: 15.5px; /* 2026-08-23修正: 1.6rem(=16px)→15.5px（同画像実測: 揃え補正のかからない最終行"FRESH UP TO YOUR SEATS ."のインク幅192.00px。実Robotoプローブは15px→186.02 / 15.5px→192.27 / 16px→199.00） */
    line-height: 1.5; /* 2026-09-08修正: 1.6→1.5（前澤さん指示「.whats-lead の行間は文字サイズの1.5倍」）。行送り 15.5×1.6=24.8px → 15.5×1.5=23.25px。
       注意: 同じ指示は2026-08-02にも出ており、2026-08-23のデザイン等倍合わせで行ピッチ実測値へ戻されていた（この履歴は下記の旧コメントに残る）。今回の再指示は8/28の差し戻しPDFを見た上でのものなので、以後デザイン実測を根拠に1.5を上書きしないこと。 */
    /* 旧: 2026-08-02 前澤さん指摘: 文字サイズの1.5倍に修正（元2.5） / 2026-08-21修正: 2rem / 2026-08-23修正: 2rem(=20px)→1.6（行ピッチ実測25.0px） */
  }
  /* 2026-08-06 前澤さん指示: SPのみlead_text内の強制改行<br>を無効化（JP版と同じ理由・同じ方式） */
  html[lang="en"] .whats-lead-br {
    display: none;
  }
  html[lang="en"] .whats-h3 {
    margin-top: 32px; /* 2026-08-23修正: 40px→32px（CJ_HP_top_E_v1_smp.png実測: パネル上端y1941→h3 1行目インク上端y2238＝+297px。適用前ライブは+304.8pxで7.8px広かった） */
    font-size: 24px; /* 2026-09-18修正: 25.5px→24px。25.5pxの根拠だった旧コピー"A story about Carl's Jr."は現在の"ABOUT OUR BURGERS"に差し替わっており、
       25.5pxでは1行に259.6px必要でパネル内容幅250pxに収まらず2行折返しになっていた（そのため罫線がコピー幅に合わない）。
       24pxなら1行244.3pxで収まる。支給PDF p2 JP側注記「1行で入れると結構文字が小さくなるなら改行」の方針に沿い、6%減で1行を優先した。
       旧: 2026-08-23修正: 2.4rem(=24px)→25.5px（同画像実測: 1行目"A story about Carl's Jr."インク幅256.07px。実Roboto(700)プローブ 24px→241.01 / 25.5px→256.02 / 26px→261.01） */
    line-height: 1.14; /* 2026-08-23修正: SP上書きを新規追加（PC基底1.375=33pxを継承していた）。同画像の行ピッチ実測29.0px = 25.5×1.14=29.07px。単位規約R3により単位なし比率 */
  }
  html[lang="en"] .whats-h3-rule {
    /* 2026-08-12 前澤さん指示: JP版PC→SP縮小比率(259/710)をEN版PC実測値(790px)に適用した概算値。
       2026-08-23: CJ_HP_top_E_v1_smp.png から SP 単独で実測できたため概算値を実測値へ置換。
       罫線全体x57〜316(幅260px＝デザインのパネル内容幅)、ギャップ177〜198(幅22px)、
       斜め線は右セグメント開始点(199px)からdx18px/dy16px(長さ24.1px, 垂直から48.4°)。
       比率（ギャップ開始0.4615・ギャップ幅0.0846・斜線開始0.5462）をライブの内容幅265pxへ適用。 */
    /* 2026-09-08修正: 擬似要素から images/whats-h3-rule-sp.svg へ置換（経緯はJP PC側のコメント参照）。
       SP用SVG(viewBox幅259)を265pxへ引き伸ばす。倍率1.023なので形の崩れは無視できる。
       ただし斜線の角度だけは JP実測の44度がそのまま入り、EN単独実測値の48.4度からは約4度浅くなる
       （24px長の線で終点が約1.5pxずれる）。SVGをPC/SPの2ファイルに集約するという指示を優先した
       意図的な差分で、太さの統一という今回の指摘には影響しない。 */
    /* 2026-09-18修正: 固定幅265pxを撤去（旧: 2026-08-23修正 288px→265px）。PC基底のwidth:100%を継承し、親.whats-h3のfit-content＝コピー幅に追随する */
    height: 19px;
    margin-top: 8px; /* 2026-08-23修正: SP上書きを新規追加（PC基底20pxを継承していた）。同画像実測: h3 1行目インク上端y2238→罫線y2301＝63.0px */
    margin-bottom: -18px; /* 2026-09-08追記: height 1px→19px の増分を相殺し、後続要素の位置を変えない */
    background-image: url("../images/whats-h3-rule-sp.svg");
  }
  html[lang="en"] .story-row,
  html[lang="en"] .story-row--reverse {
    margin-top: 40px;
  }
  html[lang="en"] .story-row:first-of-type {
    margin-top: 15px; /* 2026-08-23修正: 40px→15px（CJ_HP_top_E_v1_smp.png実測: 罫線y2301→1本目story写真上端y2342＝41.0px。適用前ライブは65.7px＝.whats-h3のpadding-bottom25px+罫線1px+margin40px） */
  }
  html[lang="en"] .story-row + .story-row {
    margin-top: 50px;
  }
  html[lang="en"] .story-row-photo,
  html[lang="en"] .story-row--reverse .story-row-photo {
    /* 2026-08-02 前澤さん指摘: SPは画像が縦積みのため4角とも直角（旧5pxは誤り） */
    border-radius: 5px; /* 2026-08-21修正: 0→5px */
    aspect-ratio: auto;
    height: 150px;
  }
  html[lang="en"] .story-row-title {
    font-family: var(--font-body-jp); /* 2026-08-24追記: 前澤さん指示 */
    font-size: 2.2rem;
    line-height: 1.27;
  }
  html[lang="en"] .story-row-rule {
    margin: 8px 0 12px; /* 2026-08-23修正: 15px 0→8px 0 12px（CJ_HP_top_E_v1_smp.png実測: 見出し2行目インク下端y2557→罫線y2574＝17px、罫線→本文1行目インク上端y2592＝18px。適用前ライブは23px/21px） */
  }
  html[lang="en"] .story-row-text {
    font-size: 15px; /* 2026-08-23修正: 1.6rem(=16px)→15px（同画像実測: 揃え補正のかからない最終行インク幅188.00px。実Robotoプローブ 15px→186.02 / 15.5px→192.27。デザインは5行、16pxのライブは6行だった） */
    line-height: 1.67; /* 2026-08-23修正: 1.56→1.67（同画像の行ピッチ実測25.0px。15×1.67=25.05px。単位規約R3により単位なし比率を維持） */
  }
}

/*
---location（LOCATION 店舗カード。8-6）
---------------------------------------------------------------------------*/
html[lang="en"] {
  .location-lead {
    margin-top: 15px; /* 2026-08-21修正: 30px→15px（JP版と統一） / 2026-08-23修正: 15px→20px（CJ_HP_top_E_v1_pc.png実測: ★★★インク下端→リード1行目インク上端が26px、ライブは21px）。SPは下の@media(max-width:767px)で15pxを明示維持 / 2026-08-24修正: 20px→15px（前澤さん指示） */
    text-align: center;
    color: var(--color-black);
    font-family: var(--font-body-en);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.36;
  }
  .location-cards {
    display: flex;
    list-style: none;
    flex-wrap: wrap; /* タブレット帯の折り返しフォールバック（en-top独自の対応） */
  }
  .location-card {
    flex: 1 1 240px;
    min-width: 240px;
    text-align: center;
  }
  .location-card-photo {
    display: block;
    width: 100%;
    height: 220px;
    border-radius: 15px; /* en-top独自の実測値（jp-topは10px。別々のカンプ実測に基づく値） */
    object-fit: cover;
  }
  .location-card-name-en {
    margin-top: 25px;
    color: var(--color-black);
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 35px; /* 2026-08-23修正: 3.3rem(=33px)→35px（CJ_HP_top_E_v1_pc.png実測: AKIHABARA 154px / ODAIBA 99px / YOKOSUKA 140px に対しライブ146/94/132px。35px適用でデザインと完全一致）。SPは@media(max-width:767px)で2.1remを上書き済み */
    text-transform: uppercase;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .location-card-btn-wrap {
    margin-top: 20px; /* 2026-08-23修正: 共通ルール(top.css .location-card-btn-wrap)の15px→EN版PCのみ20px。CJ_HP_top_E_v1_pc.png実測: 店舗名インク下端(カード写真上端基準rel268)→ピル上端rel290＝22px、店舗名35px化後のボックス下端rel269.5から逆算して20.5px。JP版PCは未実測のため共通ルールは触らない。SP(EN)は下の@media(max-width:767px)で10pxを上書き済み */
  }
  /* 2026-08-21修正: common.css側の.pill-button:hoverを赤くする修正が、詳細度の高いこの重複定義に
     上書きされてしまうため削除（common.css側の指定をそのまま効かせる） */
}
@media (max-width: 767px) {
  html[lang="en"] .location-lead {
    margin-top: 4px; /* 2026-09-08修正: 15px→8px→6px→4px（前澤さん指示「LOCATION下★とテキストとの間隔を
    PICK UP MENUと同じに」）。SPのみ。同日の .pickup-menu-panel-wrap / .campaign-panel-wrap /
    .whats-panel-wrap と揃い、SPのTOPページは4セクションすべて★下端→次要素が8pxになる。
    PC側は4セクションとも15pxで既に揃っているため変更しない。
    2026-09-08 再調整: 8px→6px→4px。LOCATIONの次要素は .location-lead というテキストで、
    行ボックス上端と文字のインク上端の間にハーフレディング分の余白が入るため、
    他3セクション（フレーム＝箱が直接くる）と同じ8pxでは視覚的に広く見えるため。
    最終的に4pxとしたのは、ハーフレディング実測(JP 4.5px / EN 3.2px)を足した見た目の空きが
    JP約8.5px / EN約7.2px となり、他3セクションの8pxとほぼ一致するため。 */
    /* 旧: 2026-08-23追記: PC側を20pxへ変更したため、SPは従来値15pxを明示的に維持する */
    padding: 0 28px; /* 2026-08-21修正: 27.5px→28px（JPのSP値と完全一致させる） */
    font-size: 1.8rem;
    text-align: left;
    br { display: none; }
  }
  html[lang="en"] .location-cards {
    flex-direction: column;
  }
  html[lang="en"] .location-card-photo {
    height: 200px;
    border-radius: 5px;
  }
  html[lang="en"] .location-card-name-en {
    margin-top: 15px;
    font-size: 2.1rem;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  html[lang="en"] .location-card-btn-wrap {
    margin-top: 10px; /* 2026-08-18 Phase3-c: JP側(10px)に統一。前澤さん指示 */
  }
}

/* 2026-10-08 リンク無しのキャンペーンバナー（EN）: クリックできないのでホバーで薄くしない */
.campaign-banner--static:hover {
  opacity: 1;
}
