/* ============================================================
   SAIL 広告着地LP v10 共通スタイル（/shinchu1・/open）
   2026-09-20。土台＝デジタル庁デザインシステムの数値
   （本文16px以上・行間1.5以上・コントラスト4.5:1・ボタン48/56px・タップ44px・14px未満は使わない）
   方針: 白地／ゴシック／写真に文字を載せない／グラデーションと角丸カードの連打をしない／
         セクションごとに形を変える（手紙・チェック・約束・1日の流れ・二択・表・吹き出し）
   参照: 2_集客/冬期LP一式/LP_v10_調整案_MARTHA・Dears抽象化_20260920.md
   ============================================================ */

:root{
  --white:#FFFFFF;
  --bg-2:#F4F6F7;          /* 帯（青みのごく薄いグレー） */
  --ink:#1A1A1C;
  --ink-2:#4B4B4F;
  --ink-3:#767679;
  --line:#D5DADF;
  --line-2:#E9ECEF;
  --teal:#0087B0;
  --teal-dark:#00667F;
  --teal-bg:#E9F4F8;
  --green:#06C755;
  --green-dark:#04A445;
  --yellow:#FFD43B;        /* フォーカスリング */

  --font:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif;

  --fs-14:14px; --fs-16:16px; --fs-18:18px; --fs-20:20px; --fs-24:24px; --fs-28:28px; --fs-32:32px; --fs-36:36px;
  --lh:1.75;

  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:40px; --sp-6:48px; --sp-7:56px; --sp-8:64px; --sp-10:80px;
  --col:640px; --wide:1040px; --pad:20px;
  --tabbar:48px; --sticky:84px;
}
@media (min-width:768px){ :root{ --pad:32px; } }

*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--tabbar) + 8px)}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--font);font-size:var(--fs-16);line-height:var(--lh);letter-spacing:.01em;
  font-feature-settings:"palt" 0;
  padding-top:calc(var(--tabbar) + env(safe-area-inset-top,0px));
  padding-bottom:calc(var(--sticky) + env(safe-area-inset-bottom,0px));
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-dark)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;font-weight:700;line-height:1.45;letter-spacing:.01em;text-wrap:balance}
h1{font-size:var(--fs-28)}
h2{font-size:var(--fs-24)}
h3{font-size:var(--fs-18)}
@media (min-width:768px){ h1{font-size:var(--fs-36)} h2{font-size:var(--fs-32)} h3{font-size:var(--fs-20)} }
small,.small{font-size:var(--fs-14);line-height:1.6;color:var(--ink-2)}
b,strong{font-weight:700}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}

.shell{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--pad)}
.col{max-width:var(--col);margin-inline:auto}
.stack > * + *{margin-top:var(--sp-2)}
.stack-lg > * + *{margin-top:var(--sp-3)}
.mt-2{margin-top:var(--sp-2)} .mt-3{margin-top:var(--sp-3)} .mt-4{margin-top:var(--sp-4)} .mt-5{margin-top:var(--sp-5)}
.mark{color:var(--teal-dark)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 上部固定タブ ---------- */
.tabbar{
  position:fixed;top:0;left:0;right:0;z-index:60;height:calc(var(--tabbar) + env(safe-area-inset-top,0px));
  padding-top:env(safe-area-inset-top,0px);
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.tabbar ul{display:grid;grid-template-columns:1fr 1fr 1fr;height:var(--tabbar);max-width:var(--wide);margin-inline:auto}
.tabbar a{
  display:flex;align-items:center;justify-content:center;gap:6px;height:100%;
  font-size:var(--fs-14);font-weight:700;color:var(--ink);text-decoration:none;border-left:1px solid var(--line-2);
}
.tabbar li:first-child a{border-left:none}
.tabbar a.line{color:var(--green-dark)}
.tabbar a .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}

/* ---------- ボタン ---------- */
.btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:12px 20px;border-radius:8px;text-decoration:none;
  font-weight:700;font-size:var(--fs-16);line-height:1.3;text-align:center;
}
/* LINEボタン（v11.11）: [LINEマーク][文言][矢印] の3列。マークは左端に固定し、左の余白ができないようにする。
   下に濃い緑の影を敷いて「押せる」形にし、押すと沈む */
.btn-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-items:start;gap:12px;
  padding:12px 18px 12px 14px;background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-dark);
  transition:transform .08s ease,box-shadow .08s ease,background .15s ease}
.btn-line:hover{background:#05B84E}
.btn-line:active{transform:translateY(3px);box-shadow:0 1px 0 var(--green-dark)}
.btn-line:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn-line .mk{flex:none;background:#fff;color:var(--green-dark);font-size:12px;font-weight:800;letter-spacing:.08em;border-radius:6px;padding:6px 8px;line-height:1}
.btn-line .tx{display:flex;flex-direction:column;gap:3px;text-align:left;font-size:17px}
.btn-line .tx small{color:rgba(255,255,255,.95);font-weight:500;font-size:13px}
.btn-line::after{content:"";width:9px;height:9px;border-top:2.5px solid #fff;border-right:2.5px solid #fff;transform:rotate(45deg);margin-right:4px}
@media (prefers-reduced-motion:reduce){.btn-line{transition:none}.btn-line:active{transform:none}}
.btn-sub{border:2px solid var(--teal);color:var(--teal-dark);background:#fff;min-height:48px}
.cta{display:grid;gap:10px;max-width:var(--col)}
.cta .why{font-size:var(--fs-14);color:var(--ink-2);line-height:1.6}
.cta .tel{font-size:var(--fs-14);color:var(--ink-2)}
.cta .tel a{color:var(--ink);font-weight:700;text-decoration:none}

/* ---------- 写真（枠つき・文字を載せない） ---------- */
.frame{margin:0}
.frame.col{margin-inline:auto}
.frame img{width:100%;aspect-ratio:var(--ar,4/3);object-fit:cover;object-position:var(--pos,50% 50%);border:1px solid var(--line);background:var(--bg-2)}
.frame figcaption{font-size:var(--fs-14);color:var(--ink-2);line-height:1.6;margin-top:8px}
.frame figcaption b{color:var(--ink)}
.grid-2{display:grid;gap:var(--sp-2)}
@media (min-width:600px){ .grid-2{grid-template-columns:1fr 1fr;gap:var(--sp-3)} }

/* ---------- セクション ---------- */
section{padding-block:var(--sp-7)}
@media (min-width:768px){ section{padding-block:var(--sp-10)} }
section.band{background:var(--bg-2)}
.kicker{font-size:var(--fs-14);font-weight:700;color:var(--teal-dark);letter-spacing:.04em;margin-bottom:var(--sp-1)}
.lead{color:var(--ink);max-width:var(--col)}
.hr{height:1px;background:var(--line);border:0;margin:var(--sp-4) 0}

/* ---------- FV ---------- */
.fv{padding-block:var(--sp-3) var(--sp-5)}
.fv .shell > div{margin-top:var(--sp-3)}
.fv .who{font-size:var(--fs-14);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:var(--sp-2)}
.fv .who b{color:var(--ink)}
.fv h1{margin-top:var(--sp-2)}
/* H1の前置き＝広告台本の言葉をそのまま受ける（2026-10-02・広告→LPの一致） */
.fv h1 .h1-lead{display:block;font-size:var(--fs-16);font-weight:700;color:var(--teal-dark);line-height:1.5;letter-spacing:0;margin-bottom:6px}
.fv .sub{margin-top:var(--sp-2);font-size:var(--fs-16)}
.fv .cta{margin-top:var(--sp-3)}
@media (min-width:900px){
  .fv .shell{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-6);align-items:start}
  .fv .shell > div{margin-top:0}
  .fv .frame{order:2}
}

/* ---------- 特典 ---------- */
.offer{border:2px solid var(--teal);background:var(--white);padding:var(--sp-3);max-width:var(--col)}
.offer .tag{display:inline-block;background:var(--teal);color:#fff;font-size:var(--fs-14);font-weight:700;padding:4px 10px;border-radius:4px;margin-bottom:var(--sp-2)}
.offer h3{font-size:var(--fs-20)}
.offer dl{margin:var(--sp-2) 0 0;display:grid;gap:12px}
.offer dt{font-weight:700}
.offer dd{margin:0;color:var(--ink-2);font-size:var(--fs-14);line-height:1.7}
.offer .note{margin-top:var(--sp-2);font-size:var(--fs-14);color:var(--ink-2);border-top:1px solid var(--line-2);padding-top:12px}

/* ---------- 3ステップ ---------- */
.steps{display:grid;gap:12px;counter-reset:s;max-width:var(--col)}
.steps li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;row-gap:4px;align-items:start;counter-increment:s;padding:14px 16px;border:1px solid var(--line);background:#fff}
.steps li > *:not(:first-child),.steps li h3,.steps li p{grid-column:2}
.steps li > div{grid-column:2}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:grid;place-items:center;font-size:var(--fs-18)}
.steps h3{font-size:var(--fs-16)}
.steps p{font-size:var(--fs-14);color:var(--ink-2);margin-top:0;line-height:1.7}
@media (min-width:768px){
  .steps{grid-template-columns:repeat(3,1fr);max-width:none}
  .steps li{grid-template-columns:40px 1fr;align-content:start;padding:18px 18px}
}

/* ---------- 手紙 ---------- */
.letter{max-width:var(--col);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:var(--sp-4) 0}
.letter p{line-height:2;margin-top:var(--sp-2)}
.letter p:first-of-type{margin-top:0}
.letter .sign{margin-top:var(--sp-3);text-align:right;font-size:var(--fs-14);color:var(--ink-2)}
.letter .sign b{display:block;color:var(--ink);font-size:var(--fs-16)}
.letter-wrap{display:grid;gap:var(--sp-3);max-width:var(--col)}
.letter-wrap .portrait{margin:0}
.letter-wrap .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border:1px solid var(--line);background:var(--bg-2)}
.letter-wrap .portrait figcaption{font-size:var(--fs-14);color:var(--ink-2);line-height:1.6;margin-top:8px}
@media (min-width:900px){
  .letter-wrap{max-width:none;grid-template-columns:360px 1fr;gap:var(--sp-6);align-items:start}
  .letter-wrap .portrait{position:sticky;top:calc(var(--tabbar) + 24px)}
  .letter-wrap .letter{max-width:none}
}
.letter-head{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3)}
.letter-head.no-img{grid-template-columns:1fr}
.letter-head img,.letter-head .slot{width:96px;height:96px;object-fit:cover;object-position:50% 20%;border:1px solid var(--line);border-radius:50%}
.letter-head .slot{display:grid;place-items:center;font-size:12px;color:var(--ink-3);text-align:center;background:var(--bg-2);padding:6px;line-height:1.4}
.letter-head .name{font-weight:700;font-size:var(--fs-18)}
.letter-head .role{font-size:var(--fs-14);color:var(--ink-2)}

/* ---------- チェック ---------- */
.checks{display:grid;gap:10px;max-width:var(--col)}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:12px 14px;background:#fff;border:1px solid var(--line)}
.checks li::before{content:"";width:22px;height:22px;border:2px solid var(--teal);border-radius:4px;margin-top:2px;background:
  linear-gradient(var(--white),var(--white)) padding-box}
.checks li b{font-weight:700}

/* ---------- 5つの約束 ---------- */
.promises{display:grid;gap:0;max-width:var(--col);border-top:1px solid var(--line)}
.promises li{display:grid;grid-template-columns:56px 1fr;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
.promises .n{font-size:var(--fs-32);font-weight:700;color:var(--teal);line-height:1;font-variant-numeric:tabular-nums}
.promises h3{font-size:var(--fs-18)}
.promises p{margin-top:6px;color:var(--ink-2);font-size:var(--fs-14);line-height:1.75}

/* ---------- ある日の1コマ ---------- */
.day{display:grid;gap:var(--sp-4);max-width:var(--col)}
.day li{display:grid;gap:12px}
.day .t{display:block}
.day .t time{display:block;font-weight:700;color:var(--teal-dark);font-variant-numeric:tabular-nums;font-size:var(--fs-16);line-height:1.3;margin-bottom:4px}
.day .t h3{font-size:var(--fs-18);text-wrap:pretty;line-height:1.45}
.day p{font-size:var(--fs-14);color:var(--ink-2);line-height:1.75}
@media (min-width:768px){ .day{max-width:none;grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-4)} }

/* ---------- おすすめしない／する ---------- */
.split{display:grid;gap:var(--sp-3)}
.split > div{border:1px solid var(--line);padding:var(--sp-3);background:#fff}
.split h3{font-size:var(--fs-18);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.split .no h3{color:var(--ink-2)}
.split .yes{border-color:var(--teal)}
.split .yes h3{color:var(--teal-dark);border-color:var(--teal)}
.split li{position:relative;padding-left:22px;line-height:1.7;margin-top:8px}
.split .no li::before{content:"×";position:absolute;left:0;color:var(--ink-3);font-weight:700}
.split .yes li::before{content:"○";position:absolute;left:0;color:var(--teal);font-weight:700}
@media (min-width:768px){ .split{grid-template-columns:1fr 1fr} }

/* ---------- 表（実績・教室情報） ---------- */
.tbl{width:100%;border-collapse:collapse;max-width:var(--col);font-size:var(--fs-16)}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.tbl th{width:34%;font-weight:700;color:var(--ink-2);font-size:var(--fs-14);background:var(--bg-2)}
.tbl td b.num{font-size:var(--fs-24);color:var(--teal-dark);font-variant-numeric:tabular-nums;line-height:1.2}
.tbl td small{display:block;color:var(--ink-3)}
/* 実績の表（v11.12）: 右列は数字だけになったので、項目名の列を広く取る */
.tbl.tbl-num th{width:56%}
.tbl-wrap{overflow-x:auto}
.foot{font-size:var(--fs-14);color:var(--ink-3);line-height:1.6;margin-top:12px;max-width:var(--col)}

/* ---------- 声 ---------- */
.voices{display:grid;gap:var(--sp-2);max-width:var(--col)}
.voices li{background:#fff;border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);line-height:1.85;position:relative}
.voices li::before{content:"“";position:absolute;left:10px;top:2px;font-size:28px;color:var(--teal);opacity:.5;line-height:1}
.voices li span{display:block;font-size:var(--fs-14);color:var(--ink-3);margin-top:8px}
.voices li small{font-size:var(--fs-14);color:var(--ink-3)}
@media (min-width:768px){ .voices{max-width:none;grid-template-columns:repeat(3,1fr)} }

/* ---------- 日程 ---------- */
.timeline{display:grid;gap:0;max-width:var(--col);border-left:2px solid var(--teal);margin-left:6px}
.timeline li{position:relative;padding:0 0 var(--sp-3) var(--sp-3)}
.timeline li::before{content:"";position:absolute;left:-8px;top:8px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--teal)}
.timeline b{display:block;color:var(--teal-dark)}
.timeline p{font-size:var(--fs-14);color:var(--ink-2);line-height:1.7}

/* ---------- FAQ 吹き出し ---------- */
.faq{display:grid;gap:var(--sp-3);max-width:var(--col)}
.faq .q,.faq .a{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}
.faq .a{grid-template-columns:1fr 52px}
.faq .who{width:52px;display:grid;justify-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1.1;text-align:center;color:var(--ink-2)}
.faq .who .av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}
.faq .who .av svg{width:30px;height:30px;display:block}
.faq .who .av img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
/* 石田さんの顔写真は顔が画像の中央より左下（47%,56%）にある。円の中心に顔が来るよう寄せて1.3倍（v11.12・1.6倍は顔が円いっぱいで窮屈） */
.faq .who .av img[src$="ishida-face.jpg"]{transform:translate(3.9%,-7.8%) scale(1.3)}
.faq .a .who{order:2;color:var(--teal-dark)}
.faq .a .who .av{border:2px solid var(--teal);background:#fff}
.faq .bub{padding:12px 16px;border-radius:12px;line-height:1.75;font-size:var(--fs-16)}
.faq .q .bub{background:var(--bg-2);border:1px solid var(--line);border-top-left-radius:4px;font-weight:700}
.faq .a .bub{background:var(--teal-bg);border-top-right-radius:4px;font-size:var(--fs-14);color:var(--ink);order:1}

/* ---------- 締め ---------- */
.close{border-top:1px solid var(--line)}
.close .from{max-width:var(--col);font-size:var(--fs-14);color:var(--ink-2);margin-top:var(--sp-2)}

footer{padding:var(--sp-4) 0;border-top:1px solid var(--line);font-size:var(--fs-14);color:var(--ink-2);line-height:1.8}
footer a{color:var(--ink)}

/* ---------- 下部固定バー（LINE 1本） ---------- */
.sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);
  padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom,0px));
  transform:translateY(110%);transition:transform .3s ease;
}
.sticky.show{transform:none}
@media (prefers-reduced-motion:reduce){ .sticky{transition:none} }
.sticky .in{max-width:var(--col);margin-inline:auto;display:grid;gap:4px}
.sticky .btn{min-height:52px}
.sticky .tel{font-size:12px;color:var(--ink-2);text-align:center;line-height:1.4}
.sticky .tel a{color:var(--ink);font-weight:700;text-decoration:none}

/* 写真の空きスロット */
.slot-box{aspect-ratio:var(--ar,4/3);border:1px dashed var(--ink-3);background:var(--bg-2);display:grid;place-items:center;text-align:center;padding:16px;color:var(--ink-2);font-size:var(--fs-14);line-height:1.6}

@media print{ .tabbar,.sticky{display:none} body{padding:0} }

/* ---------- 本店の授業（音なし動画） ---------- */
.clip{margin:0;max-width:var(--col)}
.clip video{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);background:var(--bg-2);display:block}
.clip figcaption{font-size:var(--fs-14);color:var(--ink-2);line-height:1.6;margin-top:8px}
.clip figcaption b{color:var(--ink)}
@media (min-width:768px){ .clip{max-width:420px} .day-lead{display:grid;grid-template-columns:1fr 420px;gap:var(--sp-5);align-items:start} }

/* ---------- 地図 ---------- */
.map{display:grid;gap:var(--sp-3)}
@media (min-width:768px){ .map{grid-template-columns:1fr 1fr;align-items:start} }
.map .sketch{border:1px solid var(--line);background:#fff;padding:0;margin:0}
.map .sketch svg{width:100%;height:auto;display:block}
.map .sketch figcaption,.map .gmap figcaption{font-size:var(--fs-14);color:var(--ink-2);line-height:1.6;padding:10px 12px;border-top:1px solid var(--line-2)}
.map .gmap{margin:0;border:1px solid var(--line);background:var(--bg-2)}
.map .gmap iframe{width:100%;aspect-ratio:1/1;border:0;display:block}
@media (min-width:768px){ .map .gmap iframe{aspect-ratio:4/3} }
.map .gmap a{color:var(--teal-dark);font-weight:700}
.grid-3{display:grid;gap:var(--sp-2)}
@media (min-width:600px){ .grid-3{grid-template-columns:1fr 1fr 1fr;gap:var(--sp-3)} }
.access{display:grid;gap:8px;max-width:var(--col);font-size:var(--fs-16)}
.access li{position:relative;padding-left:24px;line-height:1.7}
.access li::before{content:"";position:absolute;left:4px;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--teal)}

/* ============ v11（2026-09-29 石井レビュー反映） ============ */
/* 第一画面: 写真 → 問い → 看板の語 → 1行 → ボタン → スクロールの誘い */
.fv .frame{margin-top:0}
.fv .fv-photo img{aspect-ratio:2/1}
.tagline br.sp{display:block}
@media (min-width:600px){ .tagline br.sp{display:none} .fv .fv-photo img{aspect-ratio:16/9} }
.fv .fv-text{margin-top:var(--sp-3)}
.tagline{margin-top:var(--sp-2);display:inline-block;border-left:4px solid var(--teal);padding:4px 0 4px 12px;font-weight:700;font-size:var(--fs-20);color:var(--teal-dark);line-height:1.4}
.tagline .x{font-weight:400;padding:0 2px}
.tagline small{display:block;font-weight:400;font-size:var(--fs-14);color:var(--ink-2);margin-top:4px}
.fv .sub{margin-top:var(--sp-2)}
.cue{margin-top:var(--sp-2);display:inline-flex;align-items:center;gap:8px;color:var(--teal-dark);font-weight:700;text-decoration:none;font-size:var(--fs-16)}
.cue svg{animation:cue-bob 1.6s ease-in-out infinite}
@keyframes cue-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){ .cue svg{animation:none} }
@media (min-width:900px){ .fv .fv-text{margin-top:0} }

/* 縦のフロー（矢印つき3ステップ） */
.flow{display:grid;gap:0;max-width:var(--col)}
.flow li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:start;padding:14px 16px;border:1px solid var(--line);background:#fff}
.flow li .n{width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;display:grid;place-items:center;font-size:var(--fs-18)}
.flow li h3{font-size:var(--fs-16);padding-top:9px}
.flow li p{font-size:var(--fs-14);color:var(--ink-2);margin-top:4px;line-height:1.7}
.flow li.arrow{display:grid;place-items:center;grid-template-columns:1fr;border:0;background:none;padding:2px 0;color:var(--teal);height:34px}
@media (min-width:768px){ .flow li{padding:18px 20px} }

/* 学習コンサルティングの説明ブロック */
.lc{display:grid;gap:var(--sp-3);max-width:var(--col);border:1px solid var(--teal);padding:var(--sp-3);background:var(--white)}
.lc h3{font-size:var(--fs-18)}
.lc-list{display:grid;gap:8px;margin-top:var(--sp-2)}
.lc-list li{position:relative;padding-left:22px;line-height:1.7}
.lc-list li::before{content:"○";position:absolute;left:0;color:var(--teal);font-weight:700}
.lc .small{margin-top:var(--sp-2)}
.lc .frame{max-width:240px}
@media (min-width:768px){ .lc{max-width:none;grid-template-columns:260px 1fr;gap:var(--sp-5);align-items:start} .lc .frame{max-width:none} }

/* 写真の上の目印（4階・入口） */
.frame.annot{position:relative}
.frame.annot .tag{position:absolute;transform:translate(-50%,0);background:var(--teal);color:#fff;font-size:13px;font-weight:700;line-height:1;padding:6px 10px;border-radius:4px;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.frame.annot .tag::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--teal)}
.frame.annot .tag.plain{transform:none}
.frame.annot .tag.plain::after{display:none}

/* 本文は1段落2〜3行で刻む */
.letter p{line-height:1.9;margin-top:14px}
.stack .lead + .lead{margin-top:12px}
.faq .a .bub p + p{margin-top:8px}
.nowrap{white-space:nowrap}
.split li small{color:var(--ink-2);font-size:var(--fs-14)}
