/* v6 差分（v5.css を複製して磨き3点＋⑤⑥⑦を追記）
   v5 差分（この1枚が prescription.css への追記のすべて）
   新しい色・新しい書体は作らない。var(--…) と既存の rgba 影のみ。 */

/* ---------- ① 最初の画面 ---------- */
.hero.no-strings .strings{display:none}
.hero{--ch:clamp(290px,44svh,420px);--gx:clamp(20px,5vw,48px)}
.hero-inner{
  max-width:none;
  padding:clamp(20px,3svh,40px) max(48px,calc((100vw - 1180px)/2 + 48px)) clamp(56px,8.5svh,90px) 0;
  gap:clamp(24px,3vw,48px);
}
.hero-copy{max-width:none;flex:1 1 auto;min-width:0}
.hero-copy .eyebrow{margin-bottom:clamp(14px,2.4svh,26px);padding-left:var(--gx)}
.eyebrow-ja{font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:none}

.tate{
  font-size:clamp(2.2rem,3.3vw,3rem);
  height:clamp(13em,56svh,17em);
}

/* 写真の列 */
.river{
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding:10px 0 36px;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 96px),transparent);
          mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 96px),transparent);
}
.river::-webkit-scrollbar{display:none}
.river.auto{scroll-snap-type:none}
.river:focus-visible{outline-offset:-3px}
.river-track{
  list-style:none;display:flex;gap:clamp(14px,1.6vw,22px);
  width:max-content;
  padding-left:var(--gx);padding-right:var(--gx);
}
.card{
  flex:0 0 auto;
  width:calc(var(--ch) * .75);height:var(--ch);
  scroll-snap-align:start;
  background:var(--paper-deep);
  border:1px solid var(--line);border-radius:2px;
  box-shadow:6px 6px 0 rgba(27,24,18,.08);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.card:nth-child(even){transform:translateY(28px)}
.card:hover{transform:translateY(-4px)}
.card:nth-child(even):hover{transform:translateY(24px)}
.card img{display:block;width:100%;height:100%;object-fit:cover}

.hero-copy .hero-actions{margin-top:clamp(6px,1.4svh,16px);padding-left:var(--gx);gap:1.6em;flex-wrap:nowrap}
.hero-cta{white-space:nowrap;padding:1.05em clamp(1.4em,2.2vw,2.2em)}
.hero-sub{white-space:nowrap}
.hero-note{color:var(--ink-soft);font-size:.8rem;line-height:1.8;margin-top:clamp(12px,2svh,20px);padding-left:var(--gx)}
.hero-copy p.hero-note{font-size:.8rem;max-width:none}
.hero-copy .hero-sub-after{display:inline-block;align-self:flex-start;margin-top:clamp(10px,1.6svh,16px);margin-left:var(--gx)}

/* ---------- ③ 教室の考え方 ---------- */
.motto{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.3rem,2.2vw,1.6rem);letter-spacing:.08em;
  margin-top:2em;color:var(--ink);
}
.motto .accent{
  color:var(--amber-deep);
  text-emphasis:filled dot var(--amber);
  -webkit-text-emphasis:filled dot var(--amber);
}

/* ---------- ⑧ 締め ---------- */
.closing{text-align:center}
.closing .eyebrow{justify-content:center}
.closing .eyebrow::before{display:none}
.closing .sec-title{text-align:center}
.closing .home-eyecatch{margin-top:clamp(28px,4vw,44px)}
.closing-cta{margin-top:clamp(36px,5vw,56px)}
.closing-cta .hero-note{padding-left:0;margin-top:14px}
.closing-links{display:flex;justify-content:center;gap:1.4em 2.4em;flex-wrap:wrap;margin-top:28px}
.closing-links .hero-sub{white-space:normal}

/* ---------- SP ---------- */
@media (max-width:960px){
  .hero{--ch:clamp(184px,27svh,340px)}
  .hero-inner{flex-direction:column;align-items:stretch;padding:clamp(10px,1.6svh,20px) 0 clamp(32px,5svh,64px);gap:clamp(8px,1.4svh,14px)}
  .hero-copy{display:contents}
  .hero-copy .eyebrow{order:1;margin-bottom:0}
  .tate{order:2;align-self:flex-end;margin-right:var(--gx);font-size:clamp(1.45rem,3.6svh,1.8rem);height:10.5em}
  .river{order:3;padding:6px 0 24px}
  .river-track{padding-right:0}
  .card:nth-child(even){transform:translateY(16px)}
  .card:nth-child(even):hover{transform:translateY(12px)}
  .hero-copy .hero-actions{order:4;display:block;margin:0 var(--gx);padding:0}
  .hero-cta{display:block;text-align:center;font-size:.86rem;letter-spacing:.08em;padding:1.05em .6em}
  .hero-actions .hero-sub{display:inline-block;margin-top:12px}
  .hero-note{order:5;margin:0 var(--gx);padding:0;font-size:.78rem}
  .hero-copy .hero-sub-after{order:6;margin:12px var(--gx) 0}
  .scroll-note{display:none}
  .closing-cta .hero-cta{display:block;max-width:420px;margin:0 auto}
}
@media (prefers-reduced-motion:reduce){
  .card{transition:none}
}

@media (max-width:480px){
  .path .btn-primary,.path .btn-secondary{letter-spacing:.03em;font-size:.84rem;padding-left:.5em;padding-right:.5em}
}


/* ================= v6 追加：④末尾・⑤⑥⑦ ================= */
.note{font-size:.9rem;color:var(--ink-soft);max-width:36em;line-height:1.95}
.bio-body > p.reveal + p.reveal{margin-top:1.2em}

/* ---------- ⑤ 体験で何が起きるか ---------- */
#taiken-flow .lead{max-width:40em}
.flow-grid{
  list-style:none;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.8vw,22px);
  margin-top:clamp(36px,4.5vw,56px);
  counter-reset:none;
}
.flow-step{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:clamp(22px,2.2vw,28px) clamp(18px,1.8vw,24px) clamp(22px,2.2vw,26px);
  box-shadow:0 1px 0 rgba(27,24,18,.03),0 10px 28px -18px rgba(27,24,18,.18);
}
.flow-ico{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:48px;height:48px;border-radius:50%;
  background:rgba(226,164,0,.12);color:var(--amber-deep);
}
.ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.flow-no{position:absolute;top:clamp(22px,2.2vw,28px);right:clamp(18px,1.8vw,24px);font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--amber-deep)}
.flow-step h3{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.08rem,1.45vw,1.22rem);line-height:1.55;letter-spacing:.05em;
  margin:1em 0 .6em;
}
.flow-step p{font-size:.86rem;color:var(--ink-soft);line-height:1.9}
.flow-pull{
  margin:clamp(44px,5.5vw,72px) auto 0;max-width:26em;text-align:center;
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.12rem,2vw,1.42rem);line-height:2;letter-spacing:.05em;color:var(--ink);
  padding:clamp(22px,2.6vw,32px) 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.flow-pull .ph,.flow-step h3 .ph,#taiken-flow .lead .ph{display:inline-block}
.flow-info{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,24px);margin-top:clamp(40px,5vw,60px);
}
.info-card{background:var(--paper-deep);border-radius:16px;padding:clamp(22px,2.4vw,30px)}
.info-head{display:flex;align-items:center;gap:14px;margin-bottom:1em}
.info-head h3{font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.06em}
.info-card > p{font-size:.88rem;color:var(--ink-soft);line-height:1.95}
.info-card > p.info-sub{font-size:.8rem;margin-top:.8em}
.prep-list{list-style:none;padding:0;display:grid;gap:14px}
.prep-list li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.7;color:var(--ink)}
.prep-list .ico{width:22px;height:22px;color:var(--amber-deep);margin-top:.15em;flex:none}
.prep-list small{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:.15em}
.voice-row--pre{margin-top:clamp(40px,5vw,56px)}
.voice-row--pre .voice blockquote{font-size:.95em}
.flow-cta{margin-top:clamp(40px,5vw,56px);display:flex;align-items:center;gap:1.8em;flex-wrap:wrap}
#taiken-flow .flow-cta .hero-cta{white-space:nowrap}
#taiken-flow .hero-note{padding-left:0;margin-top:clamp(12px,2svh,18px)}

/* ---------- ⑥ 生徒さんの声 ---------- */
#koe .voice-row{margin-top:clamp(40px,5vw,56px)}
.hand-row{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,3vw,40px);
  margin-top:clamp(48px,6vw,72px);
}
.hand-row .home-eyecatch{margin:0;max-width:none;padding:10px;box-shadow:6px 6px 0 rgba(27,24,18,.08)}
.hand-row .home-eyecatch a{display:block}
.hand-row .home-eyecatch img{width:100%;height:auto;display:block}
#koe{padding-bottom:clamp(56px,7vw,88px)}
.hand-lead{margin-top:1.6em;font-size:.9rem}
#koe .more-link{margin-top:20px}
.koe-bridge{margin-top:clamp(36px,5vw,52px)}

/* ---------- ⑦ 藤沢は満席／講座の受け皿（静かな1段） ---------- */
#fujisawa-and-course.quiet{padding:clamp(52px,7vw,84px) 0 clamp(44px,6vw,72px)}
.quiet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.quiet-col{border:1px solid var(--line);padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;align-items:flex-start;gap:.9em;font-size:.95em}
.quiet-col .eyebrow{font-size:.68rem}
.quiet-col p{font-size:.88rem;color:var(--ink-soft);line-height:1.95}
.quiet-col h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;line-height:1.7;letter-spacing:.05em}
.quiet-col .text-link,.quiet-col .btn-secondary{margin-top:auto;font-size:.84rem}
.quiet-col .btn-secondary{display:inline-block;padding:.9em 1.6em;letter-spacing:.08em}
.quiet-col .text-link{align-self:flex-start}
#fujisawa-and-course > .wrap > .note{margin-top:clamp(28px,4vw,40px)}

@media (max-width:960px){
  .flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-info{grid-template-columns:1fr}
  .quiet-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .flow-grid{grid-template-columns:1fr;gap:14px}
  .flow-pull{font-size:1.06rem}
  .flow-cta{display:block}
  #taiken-flow .flow-cta .hero-cta{display:block;text-align:center;font-size:.86rem;letter-spacing:.08em;padding:1.05em .6em}
  #taiken-flow .flow-cta .hero-sub{display:inline-block;margin-top:14px}
  .hand-row{
    scroll-padding-left:clamp(20px,5vw,48px);
    display:flex;overflow-x:auto;gap:16px;max-width:none;
    margin-left:calc(-1 * clamp(20px,5vw,48px));margin-right:calc(-1 * clamp(20px,5vw,48px));
    padding:4px clamp(20px,5vw,48px) 14px;
    scroll-snap-type:x mandatory;scrollbar-width:none;
  }
  .hand-row::-webkit-scrollbar{display:none}
  .hand-row .home-eyecatch{flex:0 0 62vw;scroll-snap-align:start}
}
#fujisawa-and-course + #next-year{padding-top:clamp(56px,8vw,96px)}

/* 2026-10-21 本実装での追記：375px で締めの見出しの2行目が「か。」だけ折り返すのを防ぐ（13字を1行に収める） */
@media (max-width:420px){
  .closing .sec-title{font-size:1.42rem}
}

/* 締めの回収（C10） */
.closing-echo{margin:2.4rem auto 0;text-align:center;font-size:.95rem;line-height:2;color:var(--ink-soft,inherit)}
.closing-echo>span{display:inline-block;margin-top:.4em;font-family:var(--serif);font-weight:600;font-size:clamp(1.15rem,3.6vw,1.5rem);letter-spacing:.06em;color:var(--ink,inherit)}
.closing-echo .accent{color:var(--amber-deep)}
.closing-echo .ph{display:inline-block}

/* 診断：「合う環境」の答え */
.answer{margin-top:clamp(26px,3vw,36px);padding:clamp(20px,2.4vw,28px) clamp(20px,2.4vw,30px);background:var(--paper-deep);border-radius:14px;border-left:3px solid var(--amber)}
.answer-q{font-family:var(--serif);font-weight:600;font-size:clamp(1.05rem,1.5vw,1.2rem);letter-spacing:.05em;color:var(--ink);margin-bottom:.7em}
.answer p:not(.answer-q){font-size:.92rem;line-height:2;color:var(--ink-soft)}
.answer p + p:not(.answer-q){margin-top:.8em}
.answer strong{color:var(--ink);font-weight:600}
.answer + .lead{margin-top:clamp(26px,3vw,36px)}

/* ---------- 最新の動画（YouTube）2026-10-22 ----------
   中身は配信Worker が書き込む。書けなかった時は section ごと hidden。
   PC: 1本目を大きく左、2・3本目を右に縦並び／〜960px: 1本目を上・2本を横並び／〜600px: 縦一列 */
#latest-videos[hidden]{display:none}
#latest-videos{padding-bottom:clamp(56px,7vw,88px)}
#taiken-flow + #latest-videos > .wrap{border-top:1px solid var(--line);padding-top:clamp(56px,8vw,96px)}
#taiken-flow + #latest-videos{padding-top:0}
.yt-grid{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:clamp(14px,1.8vw,22px);margin-top:clamp(28px,3.5vw,44px);
}
.yt-card{
  display:flex;flex-direction:column;min-width:0;
  background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 1px 0 rgba(27,24,18,.03),0 10px 28px -18px rgba(27,24,18,.18);
}
.yt-card--lead{grid-row:span 2}
.yt-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.yt-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.yt-thumb:hover img{transform:scale(1.03)}
.yt-play{position:absolute;left:50%;top:50%;width:60px;height:42px;transform:translate(-50%,-50%);pointer-events:none}
.yt-card--lead .yt-play{width:76px;height:54px}
.yt-play svg{display:block;width:100%;height:100%}
.yt-play-bg{fill:rgba(27,24,18,.78);transition:fill .2s}
.yt-play-tri{fill:#fff}
.yt-thumb:hover .yt-play-bg,.yt-thumb:focus-visible .yt-play-bg{fill:var(--amber-deep)}
.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--ink)}
.yt-meta{padding:clamp(14px,1.6vw,18px) clamp(16px,1.8vw,22px) clamp(18px,2vw,22px);flex:1 1 auto}
.yt-meta time{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;color:var(--amber-text)}
.yt-title{font-family:var(--serif);font-weight:600;font-size:.92rem;line-height:1.65;letter-spacing:.03em;margin-top:.5em}
.yt-card:not(.yt-card--lead) .yt-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.yt-card--lead .yt-title{font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.6}
.yt-title a{color:var(--ink);text-decoration:none}
.yt-title a:hover{color:var(--amber-text)}
.yt-desc{font-size:.86rem;color:var(--ink-soft);line-height:1.9;margin-top:.8em}
.yt-more{margin-top:clamp(24px,3vw,32px)}
@media (max-width:960px){
  .yt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .yt-card--lead{grid-column:1 / -1;grid-row:auto}
}
@media (max-width:600px){
  .yt-grid{grid-template-columns:1fr;gap:14px}
  .yt-card:not(.yt-card--lead) .yt-title{-webkit-line-clamp:unset;line-clamp:none;display:block}
}
@media (prefers-reduced-motion:reduce){
  .yt-thumb img{transition:none}
  .yt-thumb:hover img{transform:none}
}
#latest-videos[data-yt-count="1"] .yt-grid{grid-template-columns:minmax(0,1fr);max-width:720px}
