.lt-feature{
    --orange:#E89B3C; --orange-d:#94601b;
    --marker:rgba(255,214,110,.72);
    --ease:cubic-bezier(.16,1,.3,1);
    --display:'Zen Kaku Gothic New',sans-serif;
    --body:'Noto Sans JP',sans-serif;
    --radius:2px;                      /* 角丸はページ全体でこの1種類だけ */
  }

  /* A：現行サイトから実際に抜き出した色 */
  .lt-feature[data-blue="site"]{
    --navy:#08549b; --navy-d:#063f75; --navy-lt:#4780c5;
    --paper:#f6f8fa; --ink:#333; --sub:#5a6572;
    --hair:rgba(8,84,155,.18); --hair-strong:rgba(8,84,155,.32);
  }
  /* B：社内のブランド規定色（本体v5で使っていた値） */
  .lt-feature[data-blue="brand"]{
    --navy:#2C5F8D; --navy-d:#1f4568; --navy-lt:#5b9bd0;
    --paper:#FAFAFA; --ink:#333; --sub:#5a6572;
    --hair:rgba(44,95,141,.20); --hair-strong:rgba(44,95,141,.34);
  }
  

  .lt-feature *{box-sizing:border-box;margin:0;padding:0;}
  .lt-feature{scroll-behavior:smooth;}

  /* ★サイト側テーマCSSのリセットへの防御（2026-08-19に実測して判明）
     A-BiSUのテーマCSSには
       html, body, div, span, object, iframe, h1, h2, … { font-size:16px; font-weight:400; }
     という一括リセットが入っており、要素セレクタなので詳細度は低いが、
     こちらが指定していない span / em などには確実に当たる。
     実害＝ヒーロー見出し h1（104px）の中の <span class="line"> が16pxに潰れ、
     大見出しが本文と同じ大きさで表示された。
     対策＝親から継承させる。個別指定（.n や .u など）は詳細度が上なので後から勝つ。
     ※ 同じ罠を貼付ルートでも踏んでいる（メモリ pr/abisu_page_skill.md の「テーマCSSが素のspanを縮める」）。
     font-family も継承させる。継承しないと見出しの中の span だけ本文書体（Noto Sans JP）に
     変わり、字幅が広いぶん行が余計に折り返す（「10年後にも、」が291px→318pxになり2行に割れた）。 */
  .lt-feature span,.lt-feature em,.lt-feature strong,.lt-feature b,.lt-feature i,.lt-feature small,.lt-feature mark,.lt-feature div,.lt-feature li,.lt-feature dd,.lt-feature dt,.lt-feature td,.lt-feature th,.lt-feature figure,.lt-feature figcaption,.lt-feature label,.lt-feature time{
    font-size:inherit;font-weight:inherit;font-family:inherit;font-style:inherit;}
  .lt-feature{font-family:var(--body);background:var(--paper);color:var(--ink);
    line-height:1.95;-webkit-font-smoothing:antialiased;overflow-x:hidden;
    transition:background .4s var(--ease),color .4s var(--ease);}

  .lt-feature .shell{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,64px);}

  /* ── 蛍光ペン。太字に頼らず、これで拾わせる ── */
  .lt-feature .mk{background-image:linear-gradient(transparent 58%,var(--marker) 58%);
    background-repeat:no-repeat;background-size:0% 100%;
    transition:background-size 1s var(--ease) .2s;padding:0 .06em;}
  .lt-feature .mk.in{background-size:100% 100%;}

  /* ── 共通の見出し ── */
  .lt-feature .sec{padding:clamp(70px,11vh,130px) 0;border-top:1px solid var(--hair-strong);}
  .lt-feature .sec-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;
    padding-bottom:clamp(30px,4vw,54px);}
  .lt-feature .sec-head h2{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(28px,4.6vw,58px);line-height:1.25;letter-spacing:-.03em;}
  .lt-feature .sec-head .side{font-size:12px;color:var(--sub);letter-spacing:.1em;white-space:nowrap;}
  @media (max-width:700px){ .lt-feature .sec-head{grid-template-columns:1fr;} .lt-feature .sec-head .side{display:none;} }

  .lt-feature .note{font-size:12.5px;color:var(--sub);line-height:1.9;
    padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--hair-strong);}
  .lt-feature .more{margin-top:clamp(20px,3vw,32px);}
  .lt-feature .more a{display:inline-block;font-family:var(--display);font-weight:700;font-size:14px;
    color:var(--navy);text-decoration:none;border-bottom:2px solid var(--hair-strong);
    padding:11px 0 9px;transition:border-color .3s var(--ease);}
  .lt-feature .more a:hover{border-color:var(--navy);}

  /* ── ヒーロー：非対称スプリット ── */
  /* ここはデザイン上の余白だけでよい。
     固定ヘッダー分の余白は、サイトのテーマJSが .l-contents に padding-top を入れて
     自動で確保している（PC 142px／スマホ 72px・2026-08-20に実機で確認）。
     一時 174px/112px を入れていたが、それは「テーマJSを読み込む前」に
     ヘッダーへ潜り込んだのを見て足したもので、テーマJSを入れた今は二重になり間延びする。
     テーマJSが読まれなかった場合の保険だけ、下のJS（fitHeader）が入れる。 */
  .lt-feature .hero{padding-top:clamp(96px,14vh,150px);padding-bottom:clamp(64px,10vh,120px);}
  .lt-feature .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:end;}
  @media (max-width:900px){ .lt-feature .hero-grid{grid-template-columns:1fr;gap:32px;} }

  .lt-feature .eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--sub);
    padding-bottom:14px;margin-bottom:clamp(20px,3vw,34px);
    border-bottom:1px solid var(--hair-strong);}

  /* テーマJS(js12)が本文の最初の h1 をヘッダーへ移してしまうため、
     ヒーローの大見出しは h2.hero-title にしている（2026-08-20実測）。 */
  .lt-feature .hero-title{font-family:var(--display);font-weight:900;
    font-size:clamp(40px,8.6vw,104px);line-height:1.08;letter-spacing:-.03em;
    margin-bottom:clamp(22px,3.4vw,40px);}
  .lt-feature .hero-title .line{display:block;overflow:hidden;}
  .lt-feature .hero-title .line > span{display:block;}
  /* 競り上がりの初期状態は .anim が付いたときだけ。CSSに直接持たせると、
     アニメーションが走らない環境で見出しが隠れたままになる（2026-08-21に実機で発生）。
     .anim は本文JSが「動きを減らす設定でない」ときだけ付ける。 */
  .lt-feature .hero-title.anim .line > span{transform:translateY(105%);
    animation:ltriseIn .95s var(--ease) forwards;}
  .lt-feature .hero-title.anim .line:nth-child(1) > span{animation-delay:.05s;}
  .lt-feature .hero-title.anim .line:nth-child(2) > span{animation-delay:.16s;}
  .lt-feature .hero-title.anim .line:nth-child(3) > span{animation-delay:.27s;}
  @keyframes ltriseIn{to{transform:translateY(0);}}
  .lt-feature .hero-title em{font-style:normal;color:var(--navy);}

  .lt-feature .hero-lead{font-size:clamp(15px,1.5vw,17px);line-height:2.05;max-width:34em;
    color:var(--sub);font-weight:500;}
  .lt-feature .cta{display:inline-block;
    font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.02em;
    color:#fff;background:var(--navy);text-decoration:none;
    padding:17px 38px;border-radius:var(--radius);
    transition:transform .3s var(--ease),background .3s var(--ease);}
  .lt-feature .cta:hover{transform:translateY(-2px);background:var(--navy-d);}
  .lt-feature .cta:active{transform:translateY(0);}
  .lt-feature .hero .cta{margin-top:clamp(26px,3.6vw,40px);}

  .lt-feature .hero-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
    filter:grayscale(.1) contrast(1.02);}
  .lt-feature .hero-visual figcaption{font-size:12.5px;color:var(--sub);margin-top:10px;letter-spacing:.02em;}
  @media (max-width:900px){ .lt-feature .hero-visual img{aspect-ratio:16/10;} }

  /* ── 実績：数字を図像として置く ── */
  .lt-feature .case{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(24px,4.5vw,60px);align-items:start;
    padding:clamp(34px,5vw,58px) 0;border-top:1px solid var(--hair);}
  @media (max-width:820px){ .lt-feature .case{grid-template-columns:1fr;gap:22px;} }

  .lt-feature .fig{display:flex;align-items:flex-start;gap:clamp(16px,2.4vw,30px);}
  .lt-feature .fig .n{font-family:var(--display);font-weight:900;
    font-size:clamp(62px,11vw,132px);line-height:.82;letter-spacing:-.045em;color:var(--navy);}
  .lt-feature .fig .u{padding-top:.5em;}
  .lt-feature .fig .u .big{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.4vw,30px);line-height:1.35;display:block;}
  .lt-feature .fig .u .small{font-size:12.5px;color:var(--sub);letter-spacing:.06em;display:block;margin-top:8px;}

  .lt-feature .case-body h3{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.6vw,32px);line-height:1.5;letter-spacing:-.025em;margin-bottom:16px;}
  .lt-feature .case-body .schools{font-size:14.5px;line-height:2.1;color:var(--sub);
    padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--hair);}
  .lt-feature .case-body .schools .top{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.2vw,26px);color:var(--navy);letter-spacing:-.02em;
    display:block;margin-bottom:6px;}
  .lt-feature .quote{font-family:var(--display);font-weight:500;
    font-size:clamp(16px,1.9vw,21px);line-height:1.95;letter-spacing:.005em;
    padding-left:18px;border-left:2px solid var(--orange);}
  .lt-feature .quote .who{display:block;font-family:var(--body);font-size:12px;font-weight:400;
    color:var(--sub);margin-top:12px;letter-spacing:.04em;}

  .lt-feature .case-visual img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
    filter:grayscale(.12) contrast(1.02);margin-top:24px;}

  /* ── 直近の定期テスト（地域の中学生） ── */
  .lt-feature .scores{border-top:1px solid var(--hair-strong);margin-top:clamp(10px,2vw,18px);}
  .lt-feature .scores-lb{font-size:12.5px;font-weight:700;letter-spacing:.16em;color:var(--sub);
    padding-top:clamp(20px,2.6vw,28px);margin-bottom:4px;}
  .lt-feature .score{display:grid;grid-template-columns:minmax(0,.95fr) auto minmax(0,1.05fr);
    gap:clamp(14px,2.4vw,32px);align-items:center;
    padding:clamp(16px,2.2vw,24px) 0;border-bottom:1px solid var(--hair);}
  @media (max-width:820px){ .lt-feature .score{grid-template-columns:1fr;gap:8px;} }
  .lt-feature .score .who{font-size:13.5px;line-height:1.7;}
  .lt-feature .score .who .campus{display:block;font-size:12px;color:var(--sub);margin-top:2px;}
  .lt-feature .score .nums{display:flex;gap:clamp(12px,2vw,24px);align-items:baseline;flex-wrap:wrap;}
  .lt-feature .score .nums .set{display:flex;align-items:baseline;gap:5px;}
  .lt-feature .score .nums .subj{font-size:12px;color:var(--sub);}
  .lt-feature .score .nums .n{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(26px,3.6vw,42px);line-height:1;letter-spacing:-.035em;}
  .lt-feature .score .nums .set.up .n{color:var(--orange-d);}
  .lt-feature .score .nums .u{font-size:12px;color:var(--sub);}
  .lt-feature .score .cap{font-size:13.5px;line-height:1.85;color:var(--sub);}

  /* ── これまでの主な合格実績 ── */
  .lt-feature .records{padding-top:clamp(28px,3.6vw,44px);margin-top:clamp(28px,3.6vw,44px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .records h3{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(18px,2.2vw,25px);letter-spacing:-.022em;margin-bottom:4px;}
  .lt-feature .records .yr{font-size:12px;color:var(--sub);letter-spacing:.08em;margin-bottom:10px;}
  .lt-feature .rec-row{display:grid;grid-template-columns:auto minmax(0,1fr);
    gap:clamp(14px,2.4vw,30px);align-items:baseline;
    padding:clamp(14px,2vw,20px) 0;border-top:1px solid var(--hair);}
  @media (max-width:700px){ .lt-feature .rec-row{grid-template-columns:1fr;gap:6px;} }
  .lt-feature .rec-row .lb{font-size:12.5px;font-weight:700;letter-spacing:.16em;color:var(--sub);white-space:nowrap;}
  .lt-feature .rec-row .names{font-size:14.5px;line-height:2;color:var(--sub);}
  .lt-feature .rec-row .names .em{color:var(--navy);font-weight:700;}

  .lt-feature .years-lead{font-size:clamp(15px,1.6vw,18px);line-height:2.05;max-width:38em;
    padding-top:clamp(36px,5vw,64px);border-top:1px solid var(--hair);}
  .lt-feature .years{display:grid;grid-template-columns:repeat(3,1fr);
    gap:clamp(18px,3vw,40px);padding:clamp(28px,4vw,48px) 0;}
  @media (max-width:700px){ .lt-feature .years{grid-template-columns:1fr;gap:26px;} }
  .lt-feature .yr .v{font-family:var(--display);font-weight:900;
    font-size:clamp(40px,6.4vw,76px);line-height:.95;letter-spacing:-.035em;
    color:var(--navy);display:flex;align-items:baseline;gap:3px;}
  .lt-feature .yr .v small{font-size:.34em;font-weight:700;letter-spacing:0;}
  .lt-feature .yr .k{font-size:13px;color:var(--sub);margin-top:12px;line-height:1.8;
    padding-top:12px;border-top:1px solid var(--hair);}

  /* ── お悩み：問いを大きく、2列の罫線組み ── */
  .lt-feature .worry{display:grid;grid-template-columns:1fr 1fr;
    column-gap:clamp(28px,5vw,72px);row-gap:0;}
  @media (max-width:820px){ .lt-feature .worry{grid-template-columns:1fr;} }
  .lt-feature .worry .w{padding:clamp(26px,3.6vw,40px) 0;border-top:1px solid var(--hair);}
  .lt-feature .worry .q{font-family:var(--display);font-weight:900;
    font-size:clamp(18px,2.2vw,25px);line-height:1.55;letter-spacing:-.02em;
    margin-bottom:12px;}
  .lt-feature .worry .a{font-size:14.5px;line-height:2.05;color:var(--sub);max-width:30em;}

  /* ── やっていること：写真の列＋2列のテキスト ── */
  .lt-feature .shots{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(10px,1.6vw,18px);
    margin-bottom:clamp(32px,4.5vw,56px);}
  @media (max-width:760px){ .lt-feature .shots{grid-template-columns:1fr 1fr;} .lt-feature .shots figure:last-child{display:none;} }
  .lt-feature .shots img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
    filter:grayscale(.12) contrast(1.02);}
  .lt-feature .shots figcaption{font-size:12.5px;color:var(--sub);margin-top:8px;}
  .lt-feature .doing{display:grid;grid-template-columns:1fr 1fr;
    column-gap:clamp(28px,5vw,72px);row-gap:0;}
  @media (max-width:820px){ .lt-feature .doing{grid-template-columns:1fr;} }
  .lt-feature .doing .d{padding:clamp(24px,3.4vw,36px) 0;border-top:1px solid var(--hair);}
  .lt-feature .doing h3{font-family:var(--display);font-weight:900;
    font-size:clamp(18px,2.2vw,24px);line-height:1.5;letter-spacing:-.022em;margin-bottom:10px;}
  .lt-feature .doing p{font-size:14.5px;line-height:2.05;color:var(--sub);max-width:30em;}

  /* ── ことば：数字と引用を図像として扱う ── */
  .lt-feature .origin{display:grid;grid-template-columns:auto minmax(0,1fr);
    gap:clamp(20px,4vw,52px);align-items:center;
    padding-bottom:clamp(30px,4vw,50px);border-bottom:1px solid var(--hair);}
  @media (max-width:760px){ .lt-feature .origin{grid-template-columns:1fr;gap:14px;} }
  .lt-feature .origin .n{font-family:var(--display);font-weight:900;color:var(--orange-d);
    font-size:clamp(76px,15vw,180px);line-height:.8;letter-spacing:-.05em;}
  .lt-feature .origin .t{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.7vw,32px);line-height:1.55;letter-spacing:-.025em;}
  .lt-feature .origin .s{font-size:14px;line-height:2;color:var(--sub);margin-top:12px;max-width:34em;}
  .lt-feature .origin-turn{font-size:15px;line-height:2.05;max-width:42em;
    padding:clamp(24px,3.4vw,38px) 0;border-bottom:1px solid var(--hair);}
  .lt-feature .origin-who{font-size:12px;color:var(--sub);padding-top:14px;}

  .lt-feature .aphorism{text-align:center;padding:clamp(44px,7vw,88px) 0;}
  .lt-feature .aphorism .p{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(28px,6vw,68px);line-height:1.35;letter-spacing:-.03em;}
  .lt-feature .aphorism .o{font-size:12.5px;color:var(--sub);margin-top:20px;letter-spacing:.04em;}

  .lt-feature .logic{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:0;}
  @media (max-width:820px){ .lt-feature .logic{grid-template-columns:1fr;} }
  .lt-feature .logic .l{padding:clamp(24px,3.4vw,36px) clamp(18px,2.6vw,32px);
    border-top:1px solid var(--hair);border-left:1px solid var(--hair);}
  .lt-feature .logic .l:first-child{border-left:none;padding-left:0;}
  @media (max-width:820px){ .lt-feature .logic .l{border-left:none;padding-left:0;padding-right:0;} }
  .lt-feature .logic h3{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(17px,2.1vw,23px);line-height:1.5;letter-spacing:-.02em;margin-bottom:10px;}
  .lt-feature .logic p{font-size:14px;line-height:2;color:var(--sub);}

  .lt-feature .result{background:var(--navy);color:#fff;padding:clamp(30px,4.5vw,52px);
    margin-top:clamp(30px,4vw,50px);}
  .lt-feature .result h3{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.6vw,30px);line-height:1.5;letter-spacing:-.025em;margin-bottom:14px;}
  .lt-feature .result p{font-size:15px;line-height:2.05;opacity:.94;max-width:42em;}
  .lt-feature .result .more a{color:#fff;border-color:rgba(255,255,255,.45);}
  .lt-feature .result .more a:hover{border-color:#fff;}

  .lt-feature .example{padding-top:clamp(26px,3.4vw,42px);margin-top:clamp(26px,3.4vw,42px);
    border-top:1px solid var(--hair);
    display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,3vw,40px);}
  @media (max-width:760px){ .lt-feature .example{grid-template-columns:1fr;gap:10px;} }
  .lt-feature .example .lb{font-size:12.5px;letter-spacing:.18em;color:var(--sub);font-weight:700;white-space:nowrap;}
  .lt-feature .example p{font-size:15px;line-height:2.05;max-width:42em;}

  /* ── 料金：左で選び、右で数字が動く ── */
  .lt-feature .price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    gap:clamp(28px,5vw,72px);align-items:start;}
  @media (max-width:880px){ .lt-feature .price{grid-template-columns:1fr;gap:36px;} }

  .lt-feature .pick{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2.4vw,28px);
    align-items:center;padding:clamp(18px,2.6vw,26px) 0;border-top:1px solid var(--hair);}
  .lt-feature .pick:last-of-type{border-bottom:1px solid var(--hair);}
  .lt-feature .pick .lb{font-size:12.5px;letter-spacing:.18em;color:var(--sub);font-weight:700;}
  .lt-feature .pick .btns{display:flex;gap:8px;flex-wrap:wrap;}
  .lt-feature .pick button{font-family:var(--body);font-size:14px;font-weight:700;
    padding:12px 22px;border-radius:var(--radius);cursor:pointer;
    border:1px solid var(--hair-strong);background:transparent;color:var(--ink);
    transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);}
  .lt-feature .pick button:hover{border-color:var(--navy);color:var(--navy);}
  .lt-feature .pick button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff;}
  .lt-feature .pick button:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}

  .lt-feature .price-lead{font-size:clamp(15px,1.6vw,17px);line-height:2.05;max-width:34em;
    color:var(--sub);margin-bottom:clamp(20px,3vw,32px);}

  .lt-feature .out .cap{font-size:12.5px;letter-spacing:.18em;color:var(--sub);font-weight:700;}
  .lt-feature .out .amount{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(56px,10.5vw,128px);line-height:.86;letter-spacing:-.045em;
    display:flex;align-items:baseline;gap:6px;margin:10px 0 6px;}
  .lt-feature .out .amount .unit{font-size:.24em;letter-spacing:0;}
  .lt-feature .bar{height:3px;background:var(--hair);margin:14px 0 10px;}
  .lt-feature .bar i{display:block;height:100%;width:100%;background:var(--orange);
    transition:width .6s var(--ease);}
  .lt-feature .out .src{font-size:12px;color:var(--sub);letter-spacing:.02em;}
  .lt-feature .out .monthly{font-size:14.5px;line-height:1.9;padding-top:18px;margin-top:18px;
    border-top:1px solid var(--hair);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
  .lt-feature .out .monthly .pl{font-size:13px;color:var(--sub);font-weight:700;}
  .lt-feature .out .monthly .m{font-family:var(--display);font-weight:900;font-size:clamp(22px,2.6vw,30px);
    letter-spacing:-.02em;color:var(--navy);}
  .lt-feature .out .cond{font-size:12.5px;color:var(--sub);display:block;margin-top:8px;line-height:1.8;}
  .lt-feature .hs-msg{font-size:14.5px;line-height:2;padding-top:18px;margin-top:18px;
    border-top:1px solid var(--hair);}

  .lt-feature .price-list{list-style:none;padding-top:clamp(26px,3.4vw,42px);margin-top:clamp(26px,3.4vw,42px);
    border-top:1px solid var(--hair-strong);
    display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.4vw,30px);}
  @media (max-width:760px){ .lt-feature .price-list{grid-template-columns:1fr;} }
  .lt-feature .price-list li{font-size:14.5px;line-height:1.95;padding-top:12px;border-top:1px solid var(--hair);}

  /* ── 学習の進め方：番号を図像として置く ── */
  .lt-feature .step{display:grid;grid-template-columns:auto minmax(0,1fr);
    gap:clamp(18px,4vw,52px);align-items:start;
    padding:clamp(26px,4vw,44px) 0;border-top:1px solid var(--hair);}
  .lt-feature .step .no{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(32px,5.4vw,64px);line-height:.9;letter-spacing:-.05em;opacity:.9;}
  .lt-feature .step h3{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.3vw,27px);line-height:1.5;letter-spacing:-.022em;margin-bottom:10px;}
  .lt-feature .step p{font-size:15px;line-height:2.05;max-width:40em;color:var(--sub);}
  .lt-feature .step-close{padding-top:clamp(30px,4vw,50px);margin-top:clamp(10px,2vw,20px);
    border-top:1px solid var(--hair-strong);
    display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,52px);}
  @media (max-width:820px){ .lt-feature .step-close{grid-template-columns:1fr;gap:16px;} }
  .lt-feature .step-close h3{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.6vw,32px);line-height:1.45;letter-spacing:-.025em;}
  .lt-feature .step-close p{font-size:15px;line-height:2.05;color:var(--sub);}
  .lt-feature .step-close p ~ p{margin-top:12px;}

/* ── 「分ける」は「分かる」の解説 ── */
  .lt-feature .split-why{padding-top:clamp(30px,4vw,50px);border-top:1px solid var(--hair);}
  .lt-feature .split-why .lead{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.8vw,34px);line-height:1.5;letter-spacing:-.025em;
    margin-bottom:clamp(26px,3.6vw,44px);}
  .lt-feature .word{text-align:center;padding:clamp(22px,3.4vw,40px) 0;
    border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
  .lt-feature .word .w{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(38px,8vw,88px);line-height:1;letter-spacing:.02em;}
  .lt-feature .word .k{font-size:12px;color:var(--sub);letter-spacing:.18em;margin-bottom:14px;font-weight:700;}
  .lt-feature .compare{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  @media (max-width:760px){ .lt-feature .compare{grid-template-columns:1fr;} }
  .lt-feature .compare .c{padding:clamp(24px,3.4vw,38px) clamp(20px,2.8vw,34px);
    border-bottom:1px solid var(--hair);}
  .lt-feature .compare .c:first-child{border-right:1px solid var(--hair);padding-left:0;}
  @media (max-width:760px){ .lt-feature .compare .c:first-child{border-right:none;padding-right:0;} }
  .lt-feature .compare .c:last-child{padding-right:0;}
  .lt-feature .compare .lb{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--sub);margin-bottom:12px;}
  .lt-feature .compare .c.no .lb{color:var(--sub);}
  .lt-feature .compare .c.yes .lb{color:var(--navy);}
  .lt-feature .compare .t{font-family:var(--display);font-weight:900;
    font-size:clamp(17px,2.1vw,23px);line-height:1.6;letter-spacing:-.02em;margin-bottom:10px;}
  .lt-feature .compare .c.no .t{color:var(--sub);}
  .lt-feature .compare p{font-size:14.5px;line-height:2.05;color:var(--sub);}
  .lt-feature .chain{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    padding:clamp(26px,3.6vw,44px) 0;}
  @media (max-width:700px){ .lt-feature .chain{grid-template-columns:1fr;} }
  .lt-feature .chain .ch{padding:0 clamp(16px,2.4vw,28px);border-left:1px solid var(--hair);}
  .lt-feature .chain .ch:first-child{border-left:none;padding-left:0;}
  @media (max-width:700px){ .lt-feature .chain .ch{border-left:none;padding:14px 0;
    border-top:1px solid var(--hair);} .lt-feature .chain .ch:first-child{border-top:none;padding-top:0;} }
  .lt-feature .chain .ch .ttl{display:block;font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(17px,2.1vw,22px);line-height:1.5;margin-bottom:8px;letter-spacing:-.02em;}
  .lt-feature .chain .ch span{font-size:14px;line-height:2;color:var(--sub);}
  .lt-feature .verdict{font-family:var(--display);font-weight:900;
    font-size:clamp(21px,3.2vw,38px);line-height:1.5;letter-spacing:-.028em;
    padding-top:clamp(24px,3.4vw,38px);border-top:1px solid var(--hair-strong);}

  /* ── 学びの軌跡：横一列の年表 ── */
  .lt-feature .track{display:grid;grid-template-columns:1fr 1fr 1fr 1fr .9fr;gap:0;
    border-top:1px solid var(--hair-strong);}
  @media (max-width:900px){ .lt-feature .track{grid-template-columns:1fr 1fr;} }
  @media (max-width:620px){ .lt-feature .track{grid-template-columns:1fr;} }
  .lt-feature .track .t{padding:clamp(22px,3vw,34px) clamp(14px,1.8vw,22px);
    border-left:1px solid var(--hair);}
  .lt-feature .track .t:first-child{border-left:none;padding-left:0;}
  @media (max-width:900px){ .lt-feature .track .t:nth-child(odd){border-left:none;padding-left:0;} }
  @media (max-width:620px){ .lt-feature .track .t{border-left:none;padding-left:0;padding-right:0;
    border-top:1px solid var(--hair);} .lt-feature .track .t:first-child{border-top:none;} }
  .lt-feature .track .t.last{background:var(--navy);color:#fff;border-left-color:var(--navy);
    padding-left:clamp(18px,2.2vw,26px);padding-right:clamp(18px,2.2vw,26px);}
  .lt-feature .track .g{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(18px,2.2vw,25px);line-height:1.4;letter-spacing:-.022em;margin-bottom:10px;}
  .lt-feature .track .t.last .g{color:#fff;}
  .lt-feature .track p{font-size:13.5px;line-height:1.95;color:var(--sub);}
  .lt-feature .track .t.last p{color:#fff;opacity:.94;}
  .lt-feature .track .badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;
    color:#333;background:var(--orange);padding:2px 9px;margin-bottom:8px;}
  .lt-feature .track .more{margin-top:14px;}
  .lt-feature .track .more a{font-size:13px;}

  .lt-feature .route{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:clamp(20px,4vw,52px);padding-top:clamp(34px,4.5vw,56px);
    margin-top:clamp(20px,3vw,36px);border-top:1px solid var(--hair-strong);}
  @media (max-width:820px){ .lt-feature .route{grid-template-columns:1fr;gap:16px;} }
  .lt-feature .route h3{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.6vw,32px);line-height:1.45;letter-spacing:-.025em;}
  .lt-feature .route p{font-size:15px;line-height:2.05;color:var(--sub);}
  .lt-feature .route p ~ p{margin-top:12px;}

  /* ── 総合型選抜の中身 ── */
  .lt-feature .sogo{padding-top:clamp(34px,4.5vw,56px);margin-top:clamp(28px,3.6vw,44px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .sogo .badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;
    color:#333;background:var(--orange);padding:3px 10px;margin-bottom:14px;}
  .lt-feature .sogo h3{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(21px,2.8vw,34px);line-height:1.45;letter-spacing:-.028em;margin-bottom:14px;}
  .lt-feature .sogo .lead{font-size:15px;line-height:2.05;color:var(--sub);max-width:42em;
    margin-bottom:clamp(24px,3.2vw,38px);}
  .lt-feature .sogo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  @media (max-width:760px){ .lt-feature .sogo-grid{grid-template-columns:1fr;} }
  .lt-feature .sogo-item{padding:clamp(20px,2.8vw,30px) clamp(18px,2.4vw,28px) clamp(20px,2.8vw,30px) 0;
    border-top:1px solid var(--hair);}
  .lt-feature .sogo-item:nth-child(even){padding-left:clamp(18px,2.4vw,28px);padding-right:0;
    border-left:1px solid var(--hair);}
  @media (max-width:760px){ .lt-feature .sogo-item:nth-child(even){border-left:none;padding-left:0;} }
  .lt-feature .sogo-item .n{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(24px,3.2vw,38px);line-height:1;letter-spacing:-.05em;opacity:.85;}
  .lt-feature .sogo-item h4{font-family:var(--display);font-weight:900;
    font-size:clamp(17px,2.1vw,22px);line-height:1.5;letter-spacing:-.02em;margin:10px 0 8px;}
  .lt-feature .sogo-item p{font-size:14px;line-height:2;color:var(--sub);}
  .lt-feature .sogo-close{padding-top:clamp(26px,3.4vw,42px);margin-top:clamp(4px,1vw,10px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .sogo-close .t{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.5vw,29px);line-height:1.55;letter-spacing:-.025em;margin-bottom:12px;}
  .lt-feature .sogo-close p{font-size:15px;line-height:2.05;color:var(--sub);max-width:42em;}
  .lt-feature .sogo-close .note{font-size:12.5px;color:var(--sub);padding-top:14px;line-height:1.9;}

  /* ── 大切にしていること ── */
  .lt-feature .vs{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  @media (max-width:820px){ .lt-feature .vs{grid-template-columns:1fr;} }
  .lt-feature .vs .col{padding:clamp(24px,3.4vw,38px) clamp(20px,2.8vw,34px);}
  .lt-feature .vs .col.gen{border-right:1px solid var(--hair);padding-left:0;}
  @media (max-width:820px){ .lt-feature .vs .col.gen{border-right:none;padding-right:0;
    border-bottom:1px solid var(--hair);} }
  .lt-feature .vs .col.ours{padding-right:0;}
  .lt-feature .vs .h{font-family:var(--display);font-weight:900;font-size:clamp(17px,2.1vw,23px);
    line-height:1.5;letter-spacing:-.02em;padding-bottom:14px;margin-bottom:6px;
    border-bottom:1px solid var(--hair);}
  .lt-feature .vs .col.gen .h{color:var(--sub);}
  .lt-feature .vs .col.ours .h{color:var(--navy);}
  .lt-feature .vs ul{list-style:none;}
  .lt-feature .vs li{font-size:14.5px;line-height:2;padding:12px 0;border-bottom:1px solid var(--hair);}
  .lt-feature .vs .col.gen li{color:var(--sub);}
  .lt-feature .vs li:last-child{border-bottom:none;}

  .lt-feature .soon{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    padding-top:clamp(30px,4vw,48px);margin-top:clamp(24px,3.4vw,40px);
    border-top:1px solid var(--hair-strong);}
  @media (max-width:900px){ .lt-feature .soon{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .lt-feature .soon{grid-template-columns:1fr;} }
  .lt-feature .soon .s{padding:0 clamp(14px,1.8vw,22px);border-left:1px solid var(--hair);}
  .lt-feature .soon .s:first-child{border-left:none;padding-left:0;}
  @media (max-width:900px){ .lt-feature .soon .s:nth-child(odd){border-left:none;padding-left:0;} }
  @media (max-width:600px){ .lt-feature .soon .s{border-left:none;padding:14px 0;
    border-top:1px solid var(--hair);} .lt-feature .soon .s:first-child{border-top:none;padding-top:0;} }
  .lt-feature .soon .s .ttl{display:block;font-family:var(--display);font-weight:900;
    font-size:clamp(15px,1.8vw,18px);line-height:1.55;margin-bottom:8px;letter-spacing:-.015em;}
  .lt-feature .soon .s span{font-size:13.5px;line-height:1.95;color:var(--sub);}
  .lt-feature .soon-lead{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.4vw,28px);line-height:1.5;letter-spacing:-.025em;
    margin-bottom:10px;}
  .lt-feature .soon-sub{font-size:14.5px;line-height:2.05;color:var(--sub);max-width:42em;}
  .lt-feature .soon-close{font-size:15px;line-height:2.05;max-width:42em;
    padding-top:clamp(22px,3vw,34px);margin-top:clamp(22px,3vw,34px);
    border-top:1px solid var(--hair);}

  .lt-feature .ten{padding-top:clamp(34px,4.5vw,56px);margin-top:clamp(28px,3.6vw,44px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .ten h3{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(21px,2.8vw,34px);line-height:1.45;letter-spacing:-.028em;margin-bottom:14px;}
  .lt-feature .ten .lead{font-size:15px;line-height:2.05;color:var(--sub);max-width:42em;
    margin-bottom:clamp(20px,2.8vw,32px);}
  .lt-feature .ten-list{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  @media (max-width:760px){ .lt-feature .ten-list{grid-template-columns:1fr;} }
  .lt-feature .ten-list li{list-style:none;font-family:var(--display);font-weight:700;
    font-size:clamp(16px,1.9vw,20px);line-height:1.6;letter-spacing:-.015em;
    padding:clamp(14px,2vw,20px) clamp(16px,2.2vw,26px) clamp(14px,2vw,20px) 0;
    border-top:1px solid var(--hair);}
  .lt-feature .ten-list li:nth-child(even){padding-left:clamp(16px,2.2vw,26px);padding-right:0;
    border-left:1px solid var(--hair);}
  @media (max-width:760px){ .lt-feature .ten-list li:nth-child(even){border-left:none;padding-left:0;} }
  .lt-feature .ten-close{font-size:15px;line-height:2.05;max-width:42em;
    padding-top:clamp(22px,3vw,34px);margin-top:4px;border-top:1px solid var(--hair-strong);}

  /* ── デジタルと紙：中央に1本の線で対称に ── */
  .lt-feature .mix{display:grid;grid-template-columns:1fr 1fr;gap:0;
    border-top:1px solid var(--hair-strong);}
  @media (max-width:820px){ .lt-feature .mix{grid-template-columns:1fr;} }
  .lt-feature .mix .m{padding:clamp(26px,3.6vw,42px) clamp(22px,3vw,38px);}
  .lt-feature .mix .m.dg{border-right:1px solid var(--hair);padding-left:0;}
  @media (max-width:820px){ .lt-feature .mix .m.dg{border-right:none;padding-right:0;
    border-bottom:1px solid var(--hair);} }
  .lt-feature .mix .m.pp{padding-right:0;}
  .lt-feature .mix .h{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.8vw,32px);line-height:1.4;letter-spacing:-.025em;
    padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--hair);}
  .lt-feature .mix .m.dg .h{color:var(--navy);}
  .lt-feature .mix .m.pp .h{color:var(--orange-d);}
  .lt-feature .mix ul{list-style:none;}
  .lt-feature .mix li{font-size:14.5px;line-height:2;color:var(--sub);
    padding:13px 0;border-bottom:1px solid var(--hair);}
  .lt-feature .mix li:last-child{border-bottom:none;}
  .lt-feature .proof{padding-top:clamp(30px,4vw,50px);margin-top:clamp(24px,3.4vw,40px);
    border-top:1px solid var(--hair-strong);
    display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,52px);}
  @media (max-width:820px){ .lt-feature .proof{grid-template-columns:1fr;gap:16px;} }
  .lt-feature .proof h3{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.6vw,32px);line-height:1.45;letter-spacing:-.025em;}
  .lt-feature .proof p{font-size:15px;line-height:2.05;color:var(--sub);}
  .lt-feature .proof ul{list-style:none;margin:16px 0;}
  .lt-feature .proof li{font-size:15px;line-height:1.95;padding:12px 0;border-top:1px solid var(--hair);color:var(--ink);}

/* ── 相互選択 ── */
  .lt-feature .select-lead{font-family:var(--display);font-weight:900;
    font-size:clamp(24px,4vw,48px);line-height:1.4;letter-spacing:-.03em;
    padding-bottom:clamp(24px,3.4vw,38px);border-bottom:1px solid var(--hair-strong);}
  .lt-feature .select-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(24px,4.5vw,60px);padding:clamp(28px,3.8vw,46px) 0;}
  @media (max-width:820px){ .lt-feature .select-body{grid-template-columns:1fr;gap:18px;} }
  .lt-feature .select-body p{font-size:15px;line-height:2.05;}
  .lt-feature .select-body p ~ p{margin-top:12px;}
  .lt-feature .flowline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-top:1px solid var(--hair);}
  @media (max-width:760px){ .lt-feature .flowline{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .lt-feature .flowline{grid-template-columns:1fr;} }
  .lt-feature .flowline .f{padding:clamp(18px,2.4vw,28px) clamp(14px,1.8vw,22px);
    border-left:1px solid var(--hair);}
  .lt-feature .flowline .f:first-child{border-left:none;padding-left:0;}
  @media (max-width:760px){ .lt-feature .flowline .f:nth-child(odd){border-left:none;padding-left:0;} }
  @media (max-width:480px){ .lt-feature .flowline .f{border-left:none;padding-left:0;
    border-top:1px solid var(--hair);} .lt-feature .flowline .f:first-child{border-top:none;} }
  .lt-feature .flowline .n{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(22px,3vw,34px);line-height:1;letter-spacing:-.04em;opacity:.85;}
  .lt-feature .flowline .t{font-family:var(--display);font-weight:900;
    font-size:clamp(15px,1.8vw,18px);line-height:1.5;margin-top:10px;letter-spacing:-.015em;}

  /* ── 塾長 ── */
  .lt-feature .master{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);
    gap:clamp(24px,4.5vw,60px);align-items:start;}
  @media (max-width:820px){ .lt-feature .master{grid-template-columns:1fr;gap:22px;} }
  .lt-feature .master .pic img{width:100%;max-width:280px;display:block;}
  .lt-feature .master .nm{font-family:var(--display);font-weight:900;
    font-size:clamp(26px,3.6vw,44px);line-height:1.25;letter-spacing:-.035em;}
  .lt-feature .master .role{font-size:13px;color:var(--sub);letter-spacing:.04em;
    padding-bottom:18px;margin:8px 0 18px;border-bottom:1px solid var(--hair);}
  .lt-feature .master p{font-size:15px;line-height:2.05;color:var(--sub);max-width:40em;}
  .lt-feature .master p ~ p{margin-top:12px;}
  .lt-feature .facts{list-style:none;margin-top:clamp(22px,3vw,32px);}
  .lt-feature .facts li{font-size:14.5px;line-height:1.95;padding:13px 0;border-top:1px solid var(--hair);}
  .lt-feature .facts li .sub{display:block;font-size:12.5px;color:var(--sub);margin-top:3px;}

  /* ── 問題提起 ── */
  .lt-feature .ask{padding-top:clamp(40px,5.5vw,70px);margin-top:clamp(34px,4.5vw,56px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .ask .q{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(30px,6.4vw,76px);line-height:1.3;letter-spacing:-.035em;
    margin-bottom:clamp(20px,2.8vw,32px);}
  .lt-feature .ask-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(24px,4.5vw,60px);}
  @media (max-width:820px){ .lt-feature .ask-body{grid-template-columns:1fr;gap:16px;} }
  .lt-feature .ask-body p{font-size:15px;line-height:2.05;color:var(--sub);}
  .lt-feature .ask .a{font-family:var(--display);font-weight:900;
    font-size:clamp(18px,2.4vw,28px);line-height:1.6;letter-spacing:-.025em;
    padding-top:clamp(22px,3vw,34px);margin-top:clamp(22px,3vw,34px);
    border-top:1px solid var(--hair);}

  /* ── パラグライダー ── */
  .lt-feature .para-intro{font-size:15px;line-height:2.05;max-width:42em;
    margin:clamp(26px,3.4vw,40px) 0 clamp(22px,3vw,32px);}
  .lt-feature .para-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,22px);}
  @media (max-width:760px){ .lt-feature .para-shots{grid-template-columns:1fr;} }
  .lt-feature .para-shots img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
  .lt-feature .para-shots figcaption{font-size:13px;line-height:1.85;color:var(--sub);
    padding-top:12px;margin-top:12px;border-top:1px solid var(--hair);}
  .lt-feature .para-shots figcaption .ttl{font-family:var(--display);font-weight:900;color:var(--navy);
    display:block;font-size:15px;margin-bottom:4px;letter-spacing:-.015em;}
  .lt-feature .para-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0;
    margin-top:clamp(26px,3.4vw,42px);}
  @media (max-width:760px){ .lt-feature .para-list{grid-template-columns:1fr;} }
  .lt-feature .para-list li{font-size:14.5px;line-height:1.95;padding:14px clamp(16px,2.2vw,26px) 14px 0;
    border-top:1px solid var(--hair);}
  .lt-feature .para-list li:nth-child(even){padding-left:clamp(16px,2.2vw,26px);padding-right:0;
    border-left:1px solid var(--hair);}
  @media (max-width:760px){ .lt-feature .para-list li:nth-child(even){border-left:none;padding-left:0;} }
  .lt-feature .para-list li .k{font-size:12px;color:var(--sub);letter-spacing:.08em;display:block;margin-top:4px;}
  .lt-feature .para-close{font-family:var(--display);font-weight:900;
    font-size:clamp(19px,2.6vw,30px);line-height:1.55;letter-spacing:-.025em;
    padding-top:clamp(26px,3.4vw,42px);margin-top:clamp(20px,2.6vw,32px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .para-close .s{display:block;font-family:var(--body);font-weight:400;
    font-size:15px;line-height:2.05;color:var(--sub);margin-top:14px;letter-spacing:0;}

  /* ── 校舎 ── */
  .lt-feature .rooms{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.6vw,48px);}
  @media (max-width:760px){ .lt-feature .rooms{grid-template-columns:1fr;gap:32px;} }
  .lt-feature .rooms a{text-decoration:none;color:inherit;display:block;}
  .lt-feature .rooms img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
    filter:grayscale(.12) contrast(1.02);transition:filter .4s var(--ease);}
  .lt-feature .rooms a:hover img{filter:grayscale(0) contrast(1.04);}
  .lt-feature .rooms .tag{font-size:12px;font-weight:700;letter-spacing:.16em;
    padding-top:16px;margin-top:16px;border-top:1px solid var(--hair);display:block;}
  .lt-feature .rooms .komone .tag{color:var(--navy);} .lt-feature .rooms .hasune .tag{color:var(--orange-d);}
  .lt-feature .rooms .nm{font-family:var(--display);font-weight:900;
    font-size:clamp(20px,2.6vw,30px);line-height:1.45;letter-spacing:-.028em;margin:10px 0 10px;}
  .lt-feature .rooms p{font-size:14.5px;line-height:2;color:var(--sub);}
  .lt-feature .rooms .info{padding-top:16px;margin-top:16px;border-top:1px solid var(--hair);}
  .lt-feature .rooms .addr{font-size:13px;color:var(--sub);line-height:1.8;margin-bottom:14px;}
  .lt-feature .rooms .acc{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;
    font-size:13.5px;line-height:1.9;}
  .lt-feature .rooms .acc dt{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--sub);
    white-space:nowrap;padding-top:3px;}
  .lt-feature .rooms .acc dd{color:var(--ink);}
  .lt-feature .rooms .acc .st{display:inline-block;min-width:5.4em;}
  .lt-feature .rooms .acc .bike{font-family:var(--display);font-weight:900;color:var(--navy);}
  .lt-feature .rooms .acc .walk{font-size:12.5px;color:var(--sub);}
  .lt-feature .rooms .near{font-family:var(--display);font-weight:900;color:var(--navy);
    font-size:clamp(16px,1.9vw,20px);line-height:1.6;letter-spacing:-.02em;}
  .lt-feature .rooms .flat{font-size:12px;color:var(--sub);margin-top:10px;}
  .lt-feature .rooms .go{font-family:var(--display);font-weight:700;font-size:14px;color:var(--navy);
    display:inline-block;margin-top:10px;border-bottom:2px solid var(--hair-strong);padding:11px 0 9px;
    transition:border-color .3s var(--ease);}
  .lt-feature .rooms a:hover .go{border-color:var(--navy);}

  /* ── FAQ ── */
  .lt-feature .faq{border-top:1px solid var(--hair-strong);max-width:900px;}
  .lt-feature .faq-item{border-bottom:1px solid var(--hair);}
  .lt-feature .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;
    font-family:var(--display);font-weight:900;color:var(--ink);
    font-size:clamp(16px,2vw,21px);line-height:1.6;letter-spacing:-.02em;
    padding:clamp(20px,2.6vw,28px) 44px clamp(20px,2.6vw,28px) 0;position:relative;}
  .lt-feature .faq-q:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
  .lt-feature .faq-q::after{content:"";position:absolute;right:8px;top:50%;
    width:13px;height:13px;margin-top:-9px;
    border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);
    transform:rotate(45deg);transition:transform .35s var(--ease);}
  .lt-feature .faq-item.open .faq-q::after{transform:rotate(-135deg);margin-top:-4px;}
  .lt-feature .faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);}
  .lt-feature .faq-a p{font-size:14.5px;line-height:2.05;color:var(--sub);
    padding-bottom:clamp(20px,2.6vw,28px);max-width:42em;}

  /* ── 最後のCTA ── */
  .lt-feature .last{background:var(--navy);color:#fff;text-align:center;
    padding:clamp(64px,10vw,120px) clamp(20px,5vw,64px);}
  .lt-feature .last h2{font-family:var(--display);font-weight:900;
    font-size:clamp(26px,4.6vw,54px);line-height:1.35;letter-spacing:-.03em;
    margin-bottom:clamp(20px,2.8vw,32px);}
  .lt-feature .last p{font-size:14.5px;line-height:2;opacity:.9;max-width:36em;margin:0 auto clamp(26px,3.4vw,40px);}
  .lt-feature .last .cta{background:#fff;color:var(--navy);}
  .lt-feature .last .cta:hover{background:#fff;color:var(--navy-d);}
  .lt-feature .last .steps{font-size:12.5px;opacity:.85;margin-top:clamp(20px,2.6vw,30px);letter-spacing:.02em;}
  .lt-feature .last .steps a{display:inline-block;padding:12px 6px;font-size:17px;}

  /* ── 定義文（AIに拾わせる一文） ── */
  .lt-feature .define{padding:clamp(26px,3.4vw,42px) 0;border-bottom:1px solid var(--hair-strong);}
  .lt-feature .define .k{font-size:12.5px;font-weight:700;letter-spacing:.18em;color:var(--sub);margin-bottom:12px;}
  .lt-feature .define p{font-size:clamp(15px,1.7vw,18px);line-height:2.05;max-width:46em;}

  /* ── 申込への導線（要所に置く） ── */
  .lt-feature .act{display:flex;align-items:center;gap:clamp(12px,2vw,20px);flex-wrap:wrap;
    padding:clamp(22px,3vw,34px) 0;margin-top:clamp(24px,3.2vw,38px);
    border-top:1px solid var(--hair-strong);}
  .lt-feature .act .msg{font-family:var(--display);font-weight:900;
    font-size:clamp(16px,2vw,22px);line-height:1.6;letter-spacing:-.02em;flex:1 1 240px;}
  .lt-feature .act .tel{display:inline-block;padding:8px 0;font-family:var(--display);font-weight:900;
    color:var(--navy);font-size:clamp(19px,2.4vw,26px);letter-spacing:-.01em;
    text-decoration:none;white-space:nowrap;}
  .lt-feature .act .tel .k{display:block;font-family:var(--body);font-weight:400;
    font-size:12.5px;color:var(--sub);letter-spacing:.08em;margin-bottom:2px;}

  /* 追従する申込ボタン（スクロールで現れる） */
  /* 画面外にあるときは transform で逃がすだけでなく、visibility と pointer-events も切る。
     transformだけだとキーボードのTabで見えないリンクにフォーカスが飛ぶ（タクミ指摘）。 */
  .lt-feature .sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;
    visibility:hidden;pointer-events:none;
    display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
    padding:11px 16px;background:var(--paper);border-top:1px solid var(--hair-strong);
    transform:translateY(110%);transition:transform .4s var(--ease);}
  .lt-feature .sticky.show{transform:none;visibility:visible;pointer-events:auto;}
  .lt-feature .sticky .m{font-size:13px;font-weight:700;}
  .lt-feature .sticky .cta{padding:11px 24px;font-size:14px;}
  .lt-feature .sticky .tel{display:inline-block;padding:13px 6px;font-family:var(--display);font-weight:900;
    color:var(--navy);font-size:17px;text-decoration:none;white-space:nowrap;}
  @media (max-width:620px){ .lt-feature .sticky .m{display:none;} }

  /* ── セクションの継ぎ目 ── */
  .lt-feature .bridge{text-align:center;max-width:620px;margin:clamp(40px,6vw,64px) auto 0;}
  .lt-feature .bridge .rail{width:1px;height:44px;margin:0 auto 20px;
    background:linear-gradient(180deg,transparent,var(--hair-strong));}
  .lt-feature .bridge p{font-family:var(--display);font-weight:700;
    font-size:clamp(17px,2vw,21px);line-height:1.8;letter-spacing:-.015em;}

  /* スクロールで現れる（控えめに） */
  /* 初期非表示はCSSに書かず、JSが動いたときだけ .wait を付けて隠す。
     CSSで opacity:0 にしておくと、CMSの変換やCSPでJSが止まったときページが白紙になる。
     ラッパー側にクラスを付ける方式（.js-ready）は、スコープ化で
     「.lt-feature の内側の .js-ready」になり一致しなくなったため採らない（タクミR2で判明）。
     ファーストビューに .rv は無いので、JSが後から隠してもちらつかない（実測）。 */
  .lt-feature .rv{transition:opacity .85s var(--ease),transform .85s var(--ease);}
  .lt-feature .rv.wait{opacity:0;transform:translateY(20px);}
  .lt-feature .rv.in{opacity:1;transform:none;}
  .lt-feature .rv.d1{transition-delay:.09s;} .lt-feature .rv.d2{transition-delay:.18s;}

  @media (prefers-reduced-motion: reduce){
    .lt-feature *,.lt-feature *::before,.lt-feature *::after{animation:none !important;transition:none !important;}
    .lt-feature .rv{opacity:1;transform:none;}
    .lt-feature .mk{background-size:100% 100%;}
  }
