/* LEAP TOPページ (D案) — スコープ済み。すべて .leap-d 配下でのみ有効。
   テーマのヘッダー/フッター/他ページには影響しません。
   デザイン内容は design-explore/preview-d-leap-hybrid.html と同一。 */

/* ===========================================================================
   専用テンプレート（page-leap-top-fullbleed.php）の外周スキャフォルド
   body.leap-top-renewal-page が付くページ = [leap_top_renewal] を含むページのみ。
   他ページ・テーマのヘッダー/フッターには一切影響しない。
   ・本文カラムの幅制約を持たせない（.leap-d 内部の .wrap 等は D案のまま維持）
   ・ヘッダー直下から本文（FV）を開始（上余白ゼロ）
   =========================================================================== */
body.leap-top-renewal-page{margin:0;}
body.leap-top-renewal-page .leap-top-site{width:100%;}
body.leap-top-renewal-page .leap-top-main{
  display:block;width:100%;max-width:none;
  margin:0;padding:0;border:0;
  overflow-x:clip;                 /* 100vw等の誤差で横スクロールを出さない保険 */
}
body.leap-top-renewal-page .leap-top-main > .leap-d{margin:0;}
/* 万一テーマのグローバルCSSが main/section に上余白を付けても、この土台では無効化 */
body.leap-top-renewal-page .leap-top-main,
body.leap-top-renewal-page .leap-top-main > .leap-d,
body.leap-top-renewal-page .leap-top-main > .leap-d > *:first-child{margin-top:0;padding-top:0;}
body.leap-top-renewal-page .leap-top-main > .leap-d > .fv{margin-top:0;}

.leap-d{
  --white:#ffffff; --ivory:#f7f5f0; --deep-green:#1c3327; --brown:#4a3626;
  --ink:#211e1a; --line:#00000014;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --serif-en:"Cormorant Garamond",var(--serif);
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --ease:cubic-bezier(.16,.7,.2,1);
}
.leap-d,.leap-d *{box-sizing:border-box;}
.leap-d{font-family:var(--sans);color:var(--ink);background:var(--white);overflow-x:hidden;}
.leap-d img{max-width:100%;display:block;}
.leap-d a{color:inherit;text-decoration:none;}
.leap-d .wrap{max-width:1360px;margin:0 auto;padding:0 56px;}

/* ---- unified: label ---- */
.leap-d .label{font:600 11px/1 var(--sans);letter-spacing:.26em;color:var(--brown);}

/* ---- unified CTA: 深緑背景・白文字の1種類に統一。下線リンクは禁止。 ---- */
.leap-d .btn-cta{display:inline-flex;align-items:center;gap:16px;padding:20px 40px;border-radius:4px;background:var(--deep-green);color:#fff;font:600 14px/1 var(--serif);letter-spacing:.04em;box-shadow:0 16px 32px -18px rgba(0,0,0,.35);transition:transform .45s var(--ease),background-color .45s var(--ease),box-shadow .45s var(--ease);}
.leap-d .btn-cta .arrow{display:inline-block;transition:transform .45s var(--ease);}
.leap-d .btn-cta:hover{transform:translateY(-3px);background:#254a37;box-shadow:0 20px 38px -16px rgba(0,0,0,.42);}
.leap-d .btn-cta:hover .arrow{transform:translateX(6px);}
.leap-d .btn-cta--lg{padding:25px 50px;font-size:15px;}
.leap-d .btn-cta--light{background:#fff;color:var(--deep-green);}
.leap-d .btn-cta--light:hover{background:var(--ivory);}

/* ---- unified: section heading block（4セクション共通の型）
   1.小さい英字ラベル → 2.大きい英字見出し → 3.太字JPリード(最大2行) → 4.説明文 → 5.CTA(あれば最後)
   すべて .wrap の左端(56px)を起点に揃える。 ---- */
.leap-d .sec-head{margin-bottom:90px;}
.leap-d .sec-head .label{display:block;margin-bottom:20px;}
.leap-d .sec-head h2{margin:0 0 20px;font:500 42px/1 var(--serif-en);}
.leap-d .sec-head .lead{margin:0 0 18px;font:700 23px/1.6 var(--serif);color:var(--ink);max-width:480px;}
.leap-d .sec-head .desc{margin:0;font:500 14px/1.9 var(--serif);color:#5c574d;max-width:480px;}
.leap-d .sec-head .btn-cta{margin-top:30px;}

/* ---- unified: reveal system + speed (C's calm pace governs the whole page) ---- */
.leap-d [data-reveal]{opacity:0;transform:translateY(46px);transition:opacity 1.15s var(--ease),transform 1.15s var(--ease);transition-delay:var(--d,0s);}
.leap-d [data-reveal].is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.leap-d [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}.leap-d [data-parallax]{transform:none!important;}}

/* ================= 1. FV — Cベース＋静かなクロスフェード・スライドショー ================= */
.leap-d .fv{position:relative;height:100vh;min-height:760px;overflow:hidden;background:#1c2b21;}
.leap-d .fv__photo{position:absolute;inset:0;}
.leap-d .fv__slide{position:absolute;inset:0;background-size:cover;background-position:58% 32%;opacity:0;transform:scale(1);transition:opacity 1.4s ease, transform 6.5s ease-out;}
.leap-d .fv__slide.is-active{opacity:1;transform:scale(1.032);}
.leap-d .fv__plate{position:absolute;left:56px;bottom:56px;z-index:3;color:#fff;max-width:420px;}
.leap-d .fv__plate .label{color:#fff;opacity:.9;}
.leap-d .fv__plate h1{margin:20px 0 22px;font:600 clamp(46px,4.6vw,64px)/1.08 var(--serif-en);letter-spacing:.01em;}
.leap-d .fv__plate p{font:500 14.5px/1.9 var(--serif);opacity:.92;margin:0 0 26px;}
.leap-d .fv__num{position:absolute;right:56px;bottom:56px;z-index:3;color:#fff;font:500 13px/1 var(--serif-en);letter-spacing:.08em;writing-mode:vertical-rl;opacity:.85;}
.leap-d .fv__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,10,.55) 0%,rgba(10,14,10,0) 42%);z-index:2;pointer-events:none;}
@media (prefers-reduced-motion:reduce){.leap-d .fv__slide{transition:none!important;transform:none!important;}}

/* ================= 2. SPECIALITY — Bのカード/hover + Cの余白・タイポ ================= */
.leap-d .spec{padding:200px 0;background:var(--ivory);}
.leap-d .spec__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.leap-d .spec__card{background:#ffffff;border-radius:18px;padding:64px 36px;text-align:center;box-shadow:0 18px 44px -28px #00000026;transition:transform .5s var(--ease),box-shadow .5s var(--ease);display:flex;flex-direction:column;align-items:center;min-height:452px;}
.leap-d .spec__card:hover{transform:translateY(-10px) scale(1.045);box-shadow:0 36px 64px -22px #00000040;}
.leap-d .spec__num{display:block;font:500 16px/1 var(--serif-en);color:#9a9384;margin-bottom:34px;}
.leap-d .spec__card img{height:112px;width:auto;margin-bottom:38px;}
.leap-d .spec__card h3{margin:0 0 16px;font:500 25px/1.45 var(--serif);}
.leap-d .spec__card p{margin:0;font:500 14px/1.9 var(--serif);color:#7a7468;}
/* イラストの視覚的な重心を中央へ微調整（bboxの余白差を吸収） */
.leap-d .spec__card:nth-child(3) img{transform:translateX(3px);}
.leap-d .spec__card:nth-child(4) img{transform:translateX(-2px);}

/* ================= 3. OUR COOKIES — Aの雑誌レイアウト + 8枚・強弱（1枚の四角として隙間なく埋める） ================= */
.leap-d .cookies{padding:170px 0 200px;background:var(--white);}
.leap-d .cookies__canvas{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:292px 292px 300px 230px;gap:24px;}
.leap-d .ck-feature-wrap{grid-column:1/8;grid-row:1/3;position:relative;}
.leap-d .ck-side1{grid-column:8/13;grid-row:1/2;}
.leap-d .ck-side2{grid-column:8/13;grid-row:2/3;}
.leap-d .ck-a{grid-column:1/7;grid-row:3/4;}
.leap-d .ck-b{grid-column:7/10;grid-row:3/4;}
.leap-d .ck-c{grid-column:10/13;grid-row:3/4;}
.leap-d .ck-d{grid-column:1/8;grid-row:4/5;}
.leap-d .ck-e{grid-column:8/13;grid-row:4/5;}
.leap-d .cookies__canvas figure{margin:0;overflow:hidden;position:relative;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .6s var(--ease);}
.leap-d .cookies__canvas img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
.leap-d .cookies__canvas figure:hover{box-shadow:0 20px 40px -18px rgba(0,0,0,.35);}
.leap-d .cookies__canvas figure:hover img{transform:scale(1.065) translateY(-5px);}
.leap-d .ck-photo{width:100%;height:100%;overflow:hidden;}
.leap-d .ck-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
.leap-d .ck-feature-wrap{transition:box-shadow .6s var(--ease);}
.leap-d .ck-feature-wrap:hover{box-shadow:0 24px 48px -18px rgba(0,0,0,.35);}
.leap-d .ck-feature-wrap:hover .ck-photo img{transform:scale(1.065) translateY(-5px);}
.leap-d .ck-side1 img{object-position:50% 40%;}
/* テキストカード：写真群の中に紙面が入り込むレイヤー構成。左端は.wrapと同じ起点。見出しは4セクション共通の型 */
.leap-d .cookies__card{position:absolute;left:0;bottom:-56px;background:var(--white);padding:48px 44px;max-width:400px;z-index:3;}
.leap-d .cookies__card .label{display:block;margin-bottom:18px;}
.leap-d .cookies__card h2{margin:0 0 18px;font:500 42px/1 var(--serif-en);}
.leap-d .cookies__card .lead{margin:0 0 14px;font:700 20px/1.6 var(--serif);color:var(--ink);}
.leap-d .cookies__card .desc{margin:0 0 28px;font:500 13px/1.85 var(--serif);color:#5c574d;}

/* ================= 4. BtoB — C そのまま ================= */
.leap-d .btob{position:relative;height:88vh;min-height:600px;overflow:hidden;}
.leap-d .btob__photo{position:absolute;inset:0;}
.leap-d .btob__photo img{width:100%;height:130%;object-fit:cover;object-position:50% 35%;filter:saturate(.92);}
.leap-d .btob__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,10,.6),rgba(10,14,10,0) 55%);}
.leap-d .btob__plate{position:absolute;left:56px;top:50%;transform:translateY(-50%);z-index:2;color:#fff;max-width:420px;}
.leap-d .btob__plate .label{color:#fff;opacity:.9;}
.leap-d .btob__plate h2{margin:20px 0 22px;font:500 clamp(28px,2.6vw,38px)/1.6 var(--serif);}
.leap-d .btob__plate p{font:500 14px/1.9 var(--serif);opacity:.92;margin:0 0 28px;}

/* ================= 5. TOPICS — Modern Gallery / 誌面INDEX型。右記事hoverで中央が上品にクロスフェード ================= */
.leap-d .topics{padding:200px 0;background:var(--ivory);}
.leap-d .topics__grid{display:grid;grid-template-columns:.8fr 1.35fr .95fr;gap:64px;align-items:start;}
.leap-d .topics__intro{margin-bottom:0;}
.leap-d .topics__cta{margin-top:36px;text-align:left;}

/* 中央：メイン記事（選択中の記事を大きく表示） */
.leap-d .topics__main{display:block;cursor:pointer;}
.leap-d .topics__main-media{position:relative;overflow:hidden;transition:opacity .5s var(--ease);}
.leap-d .topics__main-media img{width:100%;height:600px;object-fit:cover;display:block;transition:transform 3s var(--ease);}
.leap-d .topics__main-meta{padding-top:24px;transition:opacity .5s var(--ease);}
.leap-d .topics__main-meta .label{display:block;margin-bottom:12px;color:#9a9384;}
.leap-d .topics__main-meta h3{margin:0;font:500 26px/1.55 var(--serif);color:var(--ink);}
.leap-d .topics__main.is-swapping .topics__main-media, .leap-d .topics__main.is-swapping .topics__main-meta{opacity:0;transition-duration:.26s;}

/* 右：4記事のINDEX（写真なし・誌面の目次） */
.leap-d .topics__index{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.leap-d .topics__idx{position:relative;display:block;padding:26px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:transform .4s var(--ease);}
.leap-d .topics__idx::before{content:"";position:absolute;left:-16px;top:24px;bottom:24px;width:2px;background:var(--deep-green);opacity:0;transition:opacity .35s var(--ease);}
.leap-d .topics__idx-meta{display:block;font:600 10px/1 var(--sans);letter-spacing:.14em;color:#9a9384;margin-bottom:10px;}
.leap-d .topics__idx-title{display:block;font:500 16px/1.6 var(--serif);color:#5c574d;transition:color .35s var(--ease);}
.leap-d .topics__idx-thumb{display:none;}
.leap-d .topics__idx:hover, .leap-d .topics__idx.is-current, .leap-d .topics__idx:focus-visible{transform:translateX(6px);outline:none;}
.leap-d .topics__idx:hover::before, .leap-d .topics__idx.is-current::before, .leap-d .topics__idx:focus-visible::before{opacity:1;}
.leap-d .topics__idx:hover .topics__idx-title, .leap-d .topics__idx.is-current .topics__idx-title, .leap-d .topics__idx:focus-visible .topics__idx-title{color:var(--ink);}
/* 最新記事のみ：小さな吹き出し風NEWバッジ */
.leap-d .topics__new{position:relative;display:inline-block;margin-left:10px;padding:3px 7px 3px 8px;border-radius:3px;background:var(--deep-green);color:#fff;font:700 9px/1 var(--sans);letter-spacing:.14em;vertical-align:middle;transform:translateY(-1px);}
.leap-d .topics__new::after{content:"";position:absolute;left:9px;bottom:-4px;border:4px solid transparent;border-top:5px solid var(--deep-green);border-bottom:0;}
.leap-d .topics__new--sp{display:none;} /* 中央メインのNEWバッジはスマホのみ表示 */

/* ================= 6. INSTAGRAM — Aのマーキー + C色/タイポ/速度 ================= */
.leap-d .ig{background:var(--deep-green);padding:160px 0;color:#fff;overflow:hidden;}
.leap-d .ig__head{padding:0 56px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;}
.leap-d .ig__head .sec-head{margin-bottom:0;}
.leap-d .ig__head .label{color:#bcd0c2;}
.leap-d .ig .btn-cta .ig-icon{width:17px;height:17px;border:1.6px solid var(--deep-green);border-radius:30%;position:relative;flex:none;}
.leap-d .ig .btn-cta .ig-icon::before{content:"";position:absolute;inset:3.5px;border:1.4px solid var(--deep-green);border-radius:50%;}
.leap-d .ig .btn-cta .ig-icon::after{content:"";position:absolute;top:2px;right:2px;width:2px;height:2px;background:var(--deep-green);border-radius:50%;}
.leap-d .marquee{width:100%;overflow:hidden;}
.leap-d .marquee__track{display:flex;gap:20px;width:max-content;animation:leapd-scroll 62s linear infinite;}
.leap-d .marquee__track img{width:320px;height:320px;object-fit:cover;flex:none;transition:transform .6s var(--ease);}
.leap-d .marquee__track img:hover{transform:scale(1.025);}
/* 実Instagram投稿セル（画像＋投稿リンク）。見た目は従来の 320×320 タイルと同一。 */
.leap-d .marquee__track .marquee__cell{flex:none;display:block;width:320px;height:320px;overflow:hidden;}
.leap-d .marquee__track .marquee__cell img{width:100%;height:100%;object-fit:cover;display:block;flex:none;transition:transform .6s var(--ease);}
.leap-d .marquee__track .marquee__cell:hover img{transform:scale(1.025);}
@keyframes leapd-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.leap-d .ig:hover .marquee__track{animation-play-state:paused;}

/* Smash Balloon の実フィードはデータ供給専用。画面には出さない（JSが属性だけ読む）。
   Smash Balloon 側の CSS が .leap-d のレイアウトを支配しないよう完全に隔離する。 */
.leap-d .ig__igsource{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important;}
.leap-d .ig__igsource *{animation:none!important;transition:none!important;}

/* ============================================================
   テーマCSS競合対策：暗い背景に乗る白文字見出しを .leap-d 内で明示。
   Twenty Twenty-Four 側の h1/h2/見出し色に負けないよう、セクションクラスを
   含む具体セレクタで指定（!important は使わない）。配色は preview-d が正。
   ※対象はこの3見出しのみ。他セクションの見出しには一切触れない。
   ============================================================ */
.leap-d .fv .fv__plate h1{color:#fff;}
.leap-d .btob .btob__plate h2{color:#fff;}
.leap-d .ig .ig__head .sec-head h2{color:#fff;}

/* ============================================================
   タブレット（768〜1100px）：中間フォールバック。PC構成を大きく崩さず縦へ緩めるだけ
   ============================================================ */
@media (max-width:1100px){
  .leap-d .wrap{padding:0 32px;}
  .leap-d .spec__grid{grid-template-columns:repeat(2,1fr);row-gap:28px;}
  .leap-d .spec__card{min-height:0;padding:52px 30px;}
  .leap-d .cookies__canvas{grid-template-rows:240px 240px 260px 200px;gap:18px;}
  .leap-d .cookies__card{max-width:340px;padding:36px 32px;}
  .leap-d .cookies__card h2{font-size:36px;}
  .leap-d .topics__grid{grid-template-columns:1fr;gap:48px;}
  .leap-d .topics__index{border-top:1px solid var(--line);}
  .leap-d .topics__idx-thumb{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:14px;border-radius:2px;}
  .leap-d .topics__idx::before{display:none;}
  .leap-d .ig__head{flex-direction:column;align-items:flex-start;gap:24px;padding:0 32px;}
}

/* ============================================================
   スマートフォン（〜767px）：スマホ専用に再設計。PC/タブレットの絶対配置・固定幅は無効化
   基準375px / 確認320・375・390・430
   ============================================================ */
@media (max-width:767px){
  .leap-d br.brpc{display:none;}                 /* PC用の本文改行を解除し画面幅なりに再配置 */
  .leap-d [data-parallax]{transform:none!important;}  /* スマホはパララックス停止 */

  .leap-d .wrap{padding:0 22px;}
  .leap-d .label{letter-spacing:.16em;}

  /* --- 共通：見出しブロック（4セクション共通の型は維持、サイズだけ調整） --- */
  .leap-d .sec-head{margin-bottom:40px;}
  .leap-d .sec-head .label{margin-bottom:16px;letter-spacing:.22em;}
  .leap-d .sec-head h2{font-size:clamp(30px,8.6vw,36px);margin-bottom:16px;}
  .leap-d .sec-head .lead{font-size:19px;line-height:1.55;max-width:none;margin-bottom:14px;}
  .leap-d .sec-head .desc{font-size:13.5px;line-height:1.85;max-width:none;}
  .leap-d .sec-head .btn-cta{margin-top:24px;}

  /* --- 共通CTA：横幅を広く、タップしやすく（高さ約52px） --- */
  .leap-d .btn-cta{width:100%;max-width:360px;justify-content:center;padding:18px 22px;font-size:14px;}
  .leap-d .btn-cta--lg{padding:19px 22px;font-size:14.5px;}

  /* ---------- 1. FV：写真(64vh)を上に大きく → その下に文字を自然配置 ---------- */
  .leap-d .fv{height:auto;min-height:0;padding-bottom:52px;background:var(--white);}
  .leap-d .fv__photo{position:relative;height:64vh;min-height:420px;overflow:hidden;}
  .leap-d .fv__slide{background-position:50% 42%;}
  .leap-d .fv__scrim{display:none;}               /* 文字は写真下へ移動するためスクリム不要 */
  .leap-d .fv__num{display:none;}
  .leap-d .fv__plate{position:static;max-width:none;padding:26px 22px 0;color:var(--ink);}
  .leap-d .fv__plate .label{color:var(--brown);opacity:1;}
  .leap-d .fv .fv__plate h1{font-size:clamp(38px,11vw,46px);line-height:1.05;margin:14px 0 16px;color:var(--ink);}
  .leap-d .fv__plate h1 .fvw{display:block;}     /* ICING / COOKIE / LEAP の3行に */
  .leap-d .fv__plate p{color:#4a463f;opacity:1;font-size:14px;line-height:1.95;margin:0 0 22px;}

  /* ---------- 2. OUR SPECIALITY ---------- */
  .leap-d .spec{padding:76px 0 84px;}
  .leap-d .spec__grid{grid-template-columns:1fr;gap:18px;}
  .leap-d .spec__card{min-height:0;padding:40px 28px;border-radius:16px;}
  .leap-d .spec__card:hover{transform:none;box-shadow:0 16px 40px -28px #00000022;}
  .leap-d .spec__card img{height:92px;margin-bottom:26px;}
  .leap-d .spec__card:nth-child(3) img, .leap-d .spec__card:nth-child(4) img{transform:none;}
  .leap-d .spec__num{margin-bottom:22px;}
  .leap-d .spec__card h3{font-size:22px;margin-bottom:12px;}
  .leap-d .spec__card p{font-size:13.5px;}

  /* ---------- 3. OUR COOKIES：スマホ専用ギャラリーリズム（タイトル→大→2列→大→2列→2列） ---------- */
  .leap-d .cookies{padding:76px 0 88px;}
  .leap-d .cookies__canvas{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none;gap:12px;}
  /* PC用のグリッド配置を全てリセット（implicit列が生成されて崩れるのを防ぐ） */
  .leap-d .ck-side1, .leap-d .ck-side2, .leap-d .ck-a, .leap-d .ck-b, .leap-d .ck-c, .leap-d .ck-d, .leap-d .ck-e{grid-column:auto;grid-row:auto;}
  .leap-d .cookies__canvas figure, .leap-d .ck-photo{height:auto;overflow:hidden;}
  .leap-d .cookies__canvas figure:hover{box-shadow:none;}
  .leap-d .cookies__canvas figure:hover img, .leap-d .ck-feature-wrap:hover .ck-photo img{transform:none;}
  .leap-d .cookies__canvas img{height:auto;}
  .leap-d .ck-feature-wrap{display:contents;}
  .leap-d .cookies__card{grid-column:1/-1;order:0;position:static;max-width:none;background:transparent;padding:0;margin:0 0 4px;}
  .leap-d .cookies__card h2{font-size:32px;margin-bottom:14px;}
  .leap-d .cookies__card .lead{font-size:18px;margin-bottom:12px;}
  .leap-d .cookies__card .desc{font-size:13.5px;line-height:1.9;margin-bottom:22px;}
  .leap-d .ck-photo{grid-column:1/-1;order:1;}
  .leap-d .ck-photo img{aspect-ratio:4/3;}
  .leap-d .ck-side1{grid-column:auto;order:2;}
  .leap-d .ck-side2{grid-column:auto;order:3;}
  .leap-d .ck-a{grid-column:1/-1;order:4;}
  .leap-d .ck-a img{aspect-ratio:16/10;}
  .leap-d .ck-b{grid-column:auto;order:5;}
  .leap-d .ck-c{grid-column:auto;order:6;}
  .leap-d .ck-d{grid-column:auto;order:7;}
  .leap-d .ck-e{grid-column:auto;order:8;}
  .leap-d .ck-side1 img, .leap-d .ck-side2 img, .leap-d .ck-b img, .leap-d .ck-c img, .leap-d .ck-d img, .leap-d .ck-e img{aspect-ratio:1;}

  /* ---------- 4. BtoB：横並び解除。写真を背景から分離し、テキスト→写真→CTAの縦積み ---------- */
  .leap-d .btob{position:static;height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column;padding:76px 22px 84px;background:var(--ivory);}
  .leap-d .btob__scrim{display:none;}
  .leap-d .btob__photo{order:1;position:static;height:auto;margin:24px 0 0;}
  .leap-d .btob__photo img{width:100%;height:auto;aspect-ratio:3/2;filter:none;}
  .leap-d .btob__plate{order:0;display:contents;}
  .leap-d .btob .label{color:var(--brown);opacity:1;margin-bottom:16px;}
  .leap-d .btob .btob__plate h2{color:var(--ink);opacity:1;font-size:25px;line-height:1.55;margin:0 0 16px;}
  .leap-d .btob__plate p{color:#5c4a3a;opacity:1;font-size:13.5px;line-height:1.9;margin:0 0 4px;}
  .leap-d .btob__plate .btn-cta{order:2;margin-top:26px;}

  /* ---------- 5. TOPICS：hover非依存。最新1件を大きく＋残り4件を画像付き縦リスト ---------- */
  .leap-d .topics{padding:76px 0 84px;}
  .leap-d .topics__grid{display:flex;flex-direction:column;gap:0;}
  .leap-d .topics__intro{margin-bottom:36px;}
  .leap-d .topics__main{margin-bottom:12px;}
  .leap-d .topics__main-media img{height:auto;aspect-ratio:4/5;}
  .leap-d .topics__main-meta{padding-top:18px;}
  .leap-d .topics__main-meta h3{font-size:20px;line-height:1.55;}
  .leap-d .topics__new--sp{display:inline-block;}
  .leap-d .topics__index{display:flex;flex-direction:column;border-top:1px solid var(--line);}
  .leap-d .topics__idx{padding:22px 0;border-bottom:1px solid var(--line);}
  .leap-d .topics__idx::before{display:none;}
  .leap-d .topics__idx:hover, .leap-d .topics__idx.is-current, .leap-d .topics__idx:focus-visible{transform:none;}
  .leap-d .topics__idx:hover .topics__idx-title, .leap-d .topics__idx.is-current .topics__idx-title{color:#5c574d;}
  .leap-d .topics__idx:first-child{display:none;}  /* 最新はメインで大きく表示済みなのでリストからは除外 */
  .leap-d .topics__idx-thumb{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:14px;border-radius:2px;}
  .leap-d .topics__idx-meta{font-size:10px;margin-bottom:8px;}
  .leap-d .topics__idx-title{font-size:16px;color:var(--ink);line-height:1.55;}

  /* ---------- 6. INSTAGRAM：縦再構成。CTAの下に2列×4段グリッド ---------- */
  .leap-d .ig{padding:80px 0 84px;}
  .leap-d .ig__head{flex-direction:column;align-items:flex-start;gap:24px;padding:0 22px;margin-bottom:40px;}
  .leap-d .ig__head .sec-head .lead{font-size:19px;}
  .leap-d .ig__head .sec-head .desc{font-size:13.5px;}
  .leap-d .marquee{overflow:visible;padding:0 22px;}
  .leap-d .marquee__track{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:auto;animation:none;}
  .leap-d .marquee__track img{width:100%;height:auto;aspect-ratio:1;}
  .leap-d .marquee__track .marquee__cell{width:100%;height:auto;aspect-ratio:1;}
  .leap-d .marquee__track > img:nth-child(n+9),
  .leap-d .marquee__track > .marquee__cell:nth-child(n+9){display:none;}  /* JSが複製した後半8枚を隠し、実データ8枚(2×4)に */
}

/* さらに狭い端末（〜360px）：文字と余白を少しだけ詰める */
@media (max-width:360px){
  .leap-d .wrap{padding:0 18px;}
  .leap-d .fv__plate, .leap-d .btob{padding-left:18px;padding-right:18px;}
  .leap-d .fv .fv__plate h1{font-size:38px;}
  .leap-d .sec-head h2{font-size:29px;}
  .leap-d .cookies__card h2{font-size:29px;}
}

/* ===========================================================================
   TOPICS 記事一覧ページ  [leap_topics_archive]（/topics/）
   C / Modern Gallery + Editorial。TOPページの他セクションには影響しない。
   =========================================================================== */
.leap-d .topics-archive{padding:150px 0 180px;background:var(--ivory);}
.leap-d .topics-archive__intro{margin-bottom:44px;}
/* テーマの見出し色に負けないよう明示（v2.0.1 と同じ対策・.sec-head は color 未指定のため） */
.leap-d .topics-archive .topics-archive__intro h2{color:var(--ink);}
/* /topics/ 専用テンプレートでは冒頭リセット(*:first-child の padding-top:0)が効くため、
   ヘッダー直下に少しだけ余白を戻す。TOPページ(.fv)や内部余白には影響しない。 */
body.leap-top-renewal-page .leap-top-main > .leap-d > .topics-archive{padding-top:80px;}

/* カテゴリフィルタ：誌面の目次見出しのような細いバー */
.leap-d .topics-archive__filter{display:flex;flex-wrap:wrap;gap:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:70px;}
.leap-d .topics-archive__filter button{appearance:none;background:none;border:0;padding:20px 0;margin:0;cursor:pointer;font:600 11px/1 var(--sans);letter-spacing:.2em;color:#9a9384;position:relative;transition:color .3s var(--ease);}
.leap-d .topics-archive__filter button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--deep-green);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.leap-d .topics-archive__filter button:hover{color:var(--ink);}
.leap-d .topics-archive__filter button.is-active{color:var(--ink);}
.leap-d .topics-archive__filter button.is-active::after{transform:scaleX(1);}

/* グリッド */
.leap-d .topics-archive__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px;transition:opacity .3s var(--ease);}
.leap-d .topics-archive.is-loading .topics-archive__grid{opacity:.5;pointer-events:none;}
.leap-d .topics-archive__empty{grid-column:1/-1;margin:40px 0;font:500 15px/1.9 var(--serif);color:#7a7468;}

/* 先頭の1件：大きく、写真＋テキストの誌面レイアウト */
.leap-d .topics-archive__feature{grid-column:1/-1;margin-bottom:34px;}
.leap-d .topics-archive__feature-link{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:center;}
.leap-d .topics-archive__feature-media{display:block;overflow:hidden;aspect-ratio:4/3;}
.leap-d .topics-archive__feature-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease);}
.leap-d .topics-archive__feature-link:hover .topics-archive__feature-media img{transform:scale(1.05);}
.leap-d .topics-archive__feature-body{display:block;}
.leap-d .topics-archive__feature-body .label{display:block;margin-bottom:16px;color:#9a9384;}
.leap-d .topics-archive__feature-title{display:block;font:500 32px/1.45 var(--serif);color:var(--ink);margin-bottom:18px;transition:color .3s var(--ease);}
.leap-d .topics-archive__feature-link:hover .topics-archive__feature-title{color:var(--deep-green);}
.leap-d .topics-archive__excerpt{display:block;font:500 14px/1.95 var(--serif);color:#5c574d;margin-bottom:24px;max-width:38em;}
.leap-d .topics-archive__read{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--serif);letter-spacing:.06em;color:var(--deep-green);}
.leap-d .topics-archive__read .arrow{transition:transform .4s var(--ease);}
.leap-d .topics-archive__feature-link:hover .topics-archive__read .arrow{transform:translateX(6px);}

/* 以降のカード：写真主役 */
.leap-d .topics-archive__card{display:block;}
.leap-d .topics-archive__card-media{display:block;overflow:hidden;aspect-ratio:3/2;margin-bottom:20px;}
.leap-d .topics-archive__card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
.leap-d .topics-archive__card:hover .topics-archive__card-media img{transform:scale(1.06);}
.leap-d .topics-archive__card .label{display:block;margin-bottom:10px;color:#9a9384;}
.leap-d .topics-archive__card-title{display:block;font:500 19px/1.6 var(--serif);color:var(--ink);transition:color .3s var(--ease);}
.leap-d .topics-archive__card:hover .topics-archive__card-title{color:var(--deep-green);}

/* もっと読む */
.leap-d .topics-archive__foot{display:flex;justify-content:center;margin-top:96px;}
.leap-d .topics-archive__more[hidden]{display:none;}
.leap-d .topics-archive__more:disabled{opacity:.5;pointer-events:none;}

@media (max-width:1100px){
  .leap-d .topics-archive{padding:110px 0 130px;}
  .leap-d .topics-archive__grid{grid-template-columns:repeat(2,1fr);gap:48px 32px;}
  .leap-d .topics-archive__feature-link{grid-template-columns:1fr 1fr;gap:36px;}
  .leap-d .topics-archive__feature-title{font-size:27px;}
}

@media (max-width:767px){
  .leap-d .topics-archive{padding:70px 0 90px;}
  body.leap-top-renewal-page .leap-top-main > .leap-d > .topics-archive{padding-top:48px;}
  .leap-d .topics-archive__intro{margin-bottom:30px;}
  .leap-d .topics-archive__filter{gap:22px;margin-bottom:44px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;}
  .leap-d .topics-archive__filter button{padding:16px 0;white-space:nowrap;letter-spacing:.16em;}
  .leap-d .topics-archive__grid{grid-template-columns:1fr;gap:40px;}
  .leap-d .topics-archive__feature{margin-bottom:6px;}
  .leap-d .topics-archive__feature-link{display:block;}
  .leap-d .topics-archive__feature-media{aspect-ratio:4/3;margin-bottom:20px;}
  .leap-d .topics-archive__feature-title{font-size:22px;line-height:1.5;margin-bottom:14px;}
  .leap-d .topics-archive__excerpt{font-size:13.5px;margin-bottom:18px;}
  .leap-d .topics-archive__card-media{aspect-ratio:3/2;margin-bottom:16px;}
  .leap-d .topics-archive__card-title{font-size:17px;}
  .leap-d .topics-archive__foot{margin-top:56px;}
  .leap-d .topics-archive__more{width:100%;max-width:360px;justify-content:center;}
}
