:root{
  --bg:#0B0A0F; --ink:#141318; --ink2:#1B1A22; --violet-deep:#17131F;
  --light:#F3F2F6; --paper:#FFFFFF; --text-d:#1A1820; --sub-d:#6B6775;
  --white:#FFFFFF; --sub:#C9C6D2; --mute:#9C99A6; --line:#3A3742; --line-l:#DDDAE3;
  --violet:#7A4CFF; --violet-l:#ECE6FF;
  --a1:#7A4CFF; --a2:#3D7BFF; --a3:#2EE6C5; --a4:#C04DFF;
  --col:640px;
  --jp:"Zen Kaku Gothic New",system-ui,-apple-system,"Hiragino Sans",sans-serif;
  --en:"Jost","Zen Kaku Gothic New",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--white);font-family:var(--jp);font-weight:400;line-height:1.85;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h2,h3,.tease{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;line-break:strict}

/* PCの背景：うっすらオーロラ */
.sky{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(60vw 40vh at 15% 20%,rgba(122,76,255,.20),transparent 70%),
   radial-gradient(50vw 40vh at 85% 60%,rgba(46,230,197,.10),transparent 70%),
   radial-gradient(60vw 50vh at 50% 100%,rgba(61,123,255,.14),transparent 70%),var(--bg)}

.page{max-width:var(--col);margin:0 auto;position:relative;box-shadow:0 0 120px rgba(122,76,255,.18)}

/* 画像のセクション */
.img-sec{position:relative;background:var(--ink)}
.img-sec.light{background:var(--light)}
.img-wrap{position:relative}
.img-wrap img{width:100%}
.hit{position:absolute;display:block;font-size:0;color:transparent;border-radius:8px;outline-offset:3px}
.hit:focus-visible{outline:3px solid var(--a3)}
.src{font-size:12px;color:var(--sub-d);padding:0 6% 20px;text-align:left}
.src a{color:var(--sub-d)}

/* オーロラの継ぎ目（実写のオーロラ写真を敷き、ゆっくり流す） */
.aurora{position:relative;height:clamp(150px,38vw,230px);overflow:hidden;background:#0B0A12;isolation:isolate}
.aurora i{position:absolute;inset:-10% -25%;background:url(images/aurora-a.webp) center 58%/cover no-repeat;will-change:transform}
.aurora.b i{background-image:url(images/aurora-b.webp)}
.aurora i:nth-child(1){animation:flow 38s ease-in-out infinite alternate}
.aurora i:nth-child(2){transform:scaleX(-1);mix-blend-mode:screen;opacity:.35;animation:flow2 27s ease-in-out infinite alternate}
.aurora i:nth-child(3){background:radial-gradient(60% 50% at 50% 60%,rgba(122,76,255,.25),transparent 70%);mix-blend-mode:screen;animation:pulse 9s ease-in-out infinite alternate}
.aurora::before,.aurora::after{content:"";position:absolute;left:0;right:0;height:42%;z-index:2;pointer-events:none}
.aurora::before{top:0;background:linear-gradient(180deg,var(--from) 0%,color-mix(in srgb,var(--from) 55%,transparent) 45%,transparent 100%)}
.aurora::after{bottom:0;background:linear-gradient(0deg,var(--to) 0%,color-mix(in srgb,var(--to) 55%,transparent) 45%,transparent 100%)}
@keyframes flow{0%{transform:translateX(-6%) scale(1.04)}100%{transform:translateX(6%) scale(1.1)}}
@keyframes flow2{0%{transform:scaleX(-1) translateX(-8%) scaleY(1)}100%{transform:scaleX(-1) translateX(8%) scaleY(1.15)}}
@keyframes pulse{0%{opacity:.4}100%{opacity:1}}

/* HTMLのセクション共通 */
.sec{padding:56px 6% 64px}
.sec.dark{background:var(--ink)}
.sec.dark2{background:var(--ink2)}
.sec.violet{background:linear-gradient(180deg,var(--violet-deep),#1E1630)}
.sec.light{background:var(--light);color:var(--text-d)}
.label{font-family:var(--en);font-weight:300;font-size:13px;letter-spacing:.32em;color:var(--violet);margin-bottom:10px}
.h2{font-weight:300;font-size:clamp(28px,7.4vw,40px);line-height:1.38;letter-spacing:.02em;margin-bottom:18px}
.h3{font-weight:400;font-size:clamp(21px,5.4vw,26px);line-height:1.45;margin-bottom:12px}
.h3 small{display:inline-block;margin-left:.6em;font-size:12px;padding:2px 10px;border:1px solid var(--violet);color:var(--violet);border-radius:99px;vertical-align:middle;letter-spacing:.05em}
.h4{font-weight:400;font-size:18px;margin-bottom:10px}
.lead{font-size:16px;color:var(--sub);font-weight:300;margin-bottom:28px}
.light .lead,.light .body{color:var(--sub-d)}
.body{font-size:16px;font-weight:300;color:var(--sub)}
.note{font-size:13px;color:var(--mute);margin-top:14px}
.dark-note{color:var(--sub-d)}
.cap-s{font-size:13px;color:var(--mute);margin:8px 0 0}
.photo{position:relative;margin:0 0 20px}
.photo img{width:100%;border-radius:14px}
.photo.with-cap figcaption{font-size:13px;color:var(--mute);margin-top:8px}

/* 04 ハイライト */
.photo.podium img{border-radius:14px}
.badge{position:absolute;right:0;top:0;width:19%;height:22%;min-width:74px;background:var(--violet);border-radius:0 14px 0 14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--en);font-weight:300;font-size:clamp(10px,2.4vw,13px);letter-spacing:.18em;line-height:1.2}
.badge b{font-weight:300;font-size:clamp(18px,5vw,28px);letter-spacing:.05em}
.stats{list-style:none;display:grid;grid-template-columns:1fr 1fr 1.4fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 28px}
.stats li{padding:18px 4px;text-align:center;display:flex;flex-direction:column;gap:4px}
.stats li+li{border-left:1px solid var(--line)}
.num{font-family:var(--en);font-weight:200;font-size:clamp(40px,11vw,58px);line-height:1;color:var(--white)}
.num small{font-family:var(--jp);font-size:.32em;margin-left:2px;color:var(--sub)}
.num.lap{font-size:clamp(26px,7vw,36px);color:var(--violet);padding-top:.35em}
.cap{font-size:12px;color:var(--sub)}

/* 05 ログ */
.log{list-style:none;position:relative;margin:0 0 6px;padding-left:22px}
.log::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--violet)}
.log li{position:relative;display:grid;grid-template-columns:92px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.log li::before{content:"";position:absolute;left:-21px;top:24px;width:9px;height:9px;border-radius:50%;border:1px solid var(--violet);background:var(--ink2)}
.log li.hl::before{background:var(--violet)}
.log time{font-family:var(--en);font-weight:300;font-size:20px;line-height:1.4}
.log b{display:block;font-weight:400;font-size:16px;line-height:1.5}
.log span{font-size:13px;color:var(--mute)}
.grid4{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}
.grid4 img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%}
.joshibu{margin-top:44px;padding:28px 5%;border:1px solid rgba(192,77,255,.45);border-radius:18px;
  background:radial-gradient(120% 80% at 0% 0%,rgba(192,77,255,.18),transparent 60%),radial-gradient(100% 70% at 100% 100%,rgba(46,230,197,.10),transparent 60%)}
.jgrid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:8px;margin:14px 0 16px}
.jgrid img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.jgrid .big{grid-row:span 2;aspect-ratio:auto}
.jgrid img:not(.big){aspect-ratio:4/3}

/* 06 レッスン */
.points{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 24px}
.points li{background:var(--paper);border:1px solid var(--line-l);border-radius:12px;padding:14px 8px;text-align:center;font-size:13px;color:var(--sub-d);line-height:1.5}
.points b{display:block;font-weight:500;font-size:15px;color:var(--text-d);margin-bottom:2px}
.info{background:var(--paper);border-radius:14px;padding:6px 18px;margin-bottom:22px}
.info div{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line-l);font-size:15px}
.info div:last-child{border-bottom:0}
.info dt{color:var(--violet);font-size:13px;padding-top:2px}
.info small{display:block;font-size:12px;color:var(--sub-d)}
.review{border-left:2px solid var(--violet);padding:4px 0 4px 16px;margin:0 0 24px}
.review p{font-size:16px;line-height:1.8}
.review cite,.rookie cite{display:block;font-style:normal;font-size:12px;color:var(--sub-d);margin-top:6px}
.rookie{margin-top:36px;background:var(--paper);border-radius:18px;padding:26px 6%;border:1px solid var(--line-l)}
.rookie blockquote{margin:6px 0 14px;padding:14px 16px;background:var(--violet-l);border-radius:12px}
.rookie blockquote p{font-size:16px;color:var(--text-d)}

/* ボタン */
.btn{display:flex;align-items:center;justify-content:center;gap:14px;min-height:56px;border-radius:8px;text-decoration:none;font-weight:500;font-size:16px;padding:12px 20px;transition:transform .2s,box-shadow .2s,background .2s}
.btn span{font-family:var(--en);font-size:22px;font-weight:300;line-height:1}
.btn.outline{border:1px solid var(--violet);color:var(--violet);background:transparent}
.btn.outline:hover{background:var(--violet);color:#fff}
.btn.primary{background:var(--violet);color:#fff;box-shadow:0 10px 30px rgba(122,76,255,.45)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(122,76,255,.6)}
.btn.big{font-size:20px;min-height:64px;font-weight:700}

/* 07 オフショット */
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:10px;aspect-ratio:1/1}
.mosaic .tall{grid-row:span 2;aspect-ratio:auto}
.mosaic img:nth-last-child(-n+2){aspect-ratio:3/2}
.tease{font-weight:300;font-size:clamp(20px,5.4vw,26px);line-height:1.6;text-align:center;
  background:linear-gradient(90deg,#B79CFF,#7FD8FF,#7AF0D6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 08 メッセージ */
.photo.portrait img{aspect-ratio:3/2;object-fit:cover}
.career{list-style:none;margin:4px 0 28px;border-top:1px solid var(--line)}
.career li{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:300}
.career time{font-family:var(--en);font-weight:300;color:var(--violet);font-size:17px}
.career li.hl{color:#fff;font-weight:400}
.letter{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:24px 6%}
.letter p{font-size:16px;font-weight:300;color:#E7E4EE;margin-bottom:14px}
.letter .draft{font-size:12px;color:#FFB86B;margin-bottom:10px}
.letter .sign{text-align:right;color:var(--sub);font-size:13px;margin:18px 0 0}
.letter .sign span{font-size:20px;color:#fff;letter-spacing:.1em}

/* 09 特典 */
.perk{background:var(--paper);border:1px solid var(--line-l);border-radius:18px;padding:22px 6% 24px;margin-bottom:14px;position:relative}
.pimg.two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-4px 0 18px}
.pimg img{border-radius:10px;aspect-ratio:3/4;object-fit:cover;width:100%}
.pno{font-family:var(--en);font-weight:200;font-size:44px;line-height:1;color:var(--violet);margin-bottom:6px}
.use{margin-top:26px;padding:22px 6%;border-radius:16px;background:var(--violet-l)}
.use ul{list-style:none}
.use li{font-size:15px;padding:8px 0 8px 18px;position:relative;border-bottom:1px solid rgba(122,76,255,.2)}
.use li:last-child{border-bottom:0}
.use li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--violet)}

/* 10 CTA */
.cta-text{background:#2A1F4D;padding:6px 6% 48px;text-align:center}
.cta-text .note{color:var(--sub)}

/* フッター */
.foot{background:var(--bg);padding:40px 6% 120px;text-align:center;border-top:1px solid var(--line)}
.foot .logo{font-family:var(--en);font-weight:300;letter-spacing:.4em;font-size:18px;margin-bottom:16px}
.sns{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-bottom:16px}
.sns a{font-size:14px;color:var(--sub);text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0;display:inline-block}
.small{font-size:12px;color:var(--mute);margin-top:6px}
.small a{color:var(--mute)}

/* 追従ボタン */
.sticky{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));translate:-50% 140%;z-index:50;
  width:min(92vw,420px);min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;
  background:var(--violet);color:#fff;text-decoration:none;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12) inset;
  transition:translate .45s cubic-bezier(.2,.8,.2,1)}
.sticky.show{translate:-50% 0}
.sticky .s1{font-size:13px;opacity:.85}
.sticky .s2{font-size:18px;font-weight:700}
.motion{position:fixed;right:12px;top:12px;z-index:40;font:inherit;font-size:12px;color:var(--sub);background:rgba(20,19,24,.7);border:1px solid var(--line);border-radius:99px;padding:8px 14px;min-height:36px;cursor:pointer;backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s}
.motion.show{opacity:1;pointer-events:auto}

/* 出現 */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

body.still .aurora i{animation:none}
body.still .reveal{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){
  .aurora i{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .sticky{transition:none}
}
@media (min-width:700px){
  .page{margin:40px auto 0;border-radius:22px 22px 0 0;overflow:clip}
  .motion{right:24px;top:24px}
}
.nw{white-space:nowrap}
.num{line-height:1.15}
.stats li{gap:8px}
.pno{line-height:1.15;margin-bottom:12px}

.foot .motion{position:static;opacity:1;pointer-events:auto;margin-top:14px;min-height:44px}

/* ロゴ（黒地のロゴを screen で地に溶かす） */
.logo-img{width:min(220px,56%);margin:0 auto 18px;mix-blend-mode:screen}
.cta-logo{width:min(260px,62%);margin:4px auto 10px;mix-blend-mode:screen}

/* 01 表紙（実写の3枚） */
.fv{position:relative;background:var(--ink);overflow:hidden}
.fv-sky{position:relative;padding:34px 6% 0;text-align:center;
  background:linear-gradient(180deg,rgba(11,10,18,0) 55%,var(--ink) 100%),url(images/aurora-a.webp) center 62%/cover no-repeat}
.fv-eyebrow{font-size:13px;letter-spacing:.18em;color:var(--sub);line-height:1.7}
.fv-logo{width:min(330px,74%);margin:6px auto -4px;mix-blend-mode:screen}
.fv-strip{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:6px;padding:0 4%;align-items:end;position:relative;z-index:1}
.fv-strip figure{position:relative;margin:0;border-radius:12px;overflow:hidden;aspect-ratio:3/5;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.fv-strip figure.mid{aspect-ratio:3/4.4;outline:1px solid rgba(122,76,255,.8);outline-offset:3px}
.fv-strip img{width:100%;height:100%;object-fit:cover}
.fv-strip figure:first-child img{object-position:58% 50%}
.fv-strip figure.mid img{object-position:47% 30%}
.fv-strip figure:last-child img{object-position:62% 40%}
.fv-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;font-family:var(--en);font-size:11px;letter-spacing:.12em;text-align:center;
  background:linear-gradient(0deg,rgba(11,10,18,.85),transparent)}
.fv-copy{position:relative;z-index:2;margin-top:-64px;padding:84px 6% 40px;
  background:linear-gradient(180deg,transparent 0,rgba(20,19,24,.92) 60px,var(--ink) 110px)}
.fv-en{font-family:var(--en);font-weight:300;font-size:14px;letter-spacing:.42em;color:var(--violet)}
.fv-en span{color:#fff}
.fv-h1{font-weight:300;font-size:clamp(44px,13vw,72px);line-height:1.15;letter-spacing:.02em;margin:6px 0 14px}
.fv-sub{font-size:15px;color:var(--sub);font-weight:300;margin-bottom:22px}
.fv-facts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.fv-facts li{padding:12px 4px;text-align:center;font-size:13px;line-height:1.5;color:#fff}
.fv-facts li+li{border-left:1px solid var(--line)}
.fv-facts b{display:block;font-weight:400;font-size:11px;color:var(--violet);letter-spacing:.08em}
.fv-note{text-align:center;font-size:13px;color:var(--mute);margin-top:10px}

/* 02 の TEAM の丸写真を実写に差し替え */
.img-wrap .circle-swap{position:absolute;left:59.2%;top:73.2%;width:37.9%;aspect-ratio:1/1;height:auto;border-radius:50%;object-fit:cover;object-position:47% 40%;box-shadow:0 0 0 2px #141318}
.photo.portrait img{aspect-ratio:auto}
.lineup{margin-top:30px}
.fv-en{line-height:1.6}
.fv-h1{margin-top:12px}

.fv-facts li{word-break:keep-all}

/* ── 修正（2026-11-09 2回目） ── */
/* ボタン：字間をひらき、立体的にキラキラ光らせる */
.btn{letter-spacing:.08em}
.btn.primary,.sticky{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#9C78FF 0%,#7A4CFF 46%,#5B2EE0 100%);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 -3px 0 rgba(40,10,120,.55) inset,0 6px 0 #3D1EA8,0 14px 34px rgba(122,76,255,.55),0 0 26px rgba(61,123,255,.35);
  text-shadow:0 1px 2px rgba(30,10,90,.55)}
.btn.primary::before,.sticky::before{content:"";position:absolute;left:6%;right:6%;top:2px;height:45%;border-radius:999px;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0))}
.shine::after{content:"";position:absolute;top:-30%;bottom:-30%;width:28%;left:-40%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85) 45%,rgba(190,240,255,.9) 52%,transparent);
  transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-40%}85%,100%{left:120%}}
.btn.primary:hover{transform:translateY(2px);box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 -3px 0 rgba(40,10,120,.55) inset,0 3px 0 #3D1EA8,0 10px 28px rgba(122,76,255,.6),0 0 30px rgba(61,123,255,.45)}
.btn.primary:active{transform:translateY(5px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 1px 0 #3D1EA8,0 6px 18px rgba(122,76,255,.5)}
.btn.big{letter-spacing:.12em;font-weight:700;margin-bottom:6px}
.btn.big span{letter-spacing:0}
.sticky .s2{letter-spacing:.1em}
body.still .shine::after{animation:none;opacity:0}
@media (prefers-reduced-motion:reduce){.shine::after{animation:none;opacity:0}}

/* CTA画像の空き（y=83〜90%）に本物のボタンを重ねる */
.img-wrap .cta-over{position:absolute;left:8%;width:84%;top:82.3%;min-height:0;height:7.2%;font-size:clamp(17px,5.4vw,26px)}

/* 女子部：少しだけピンク */
.joshibu{border-color:rgba(255,110,180,.55);
  background:radial-gradient(120% 80% at 0% 0%,rgba(255,110,180,.20),transparent 60%),radial-gradient(100% 70% at 100% 100%,rgba(192,77,255,.14),transparent 60%)}
.joshibu .label{color:#FF8CC6}
.joshibu .h3{color:#FFE3F1}
.joshibu .jgrid img{box-shadow:0 0 0 1px rgba(255,140,198,.35)}

/* レッスンのマーク */
.points li{display:flex;flex-direction:column;align-items:center;gap:4px}
.pic{display:flex;align-items:center;justify-content:center;height:38px}
.points li.zero{background:var(--violet);border-color:var(--violet);color:#fff}
.points li.zero b{color:#fff}
.zero-num{font-family:var(--en);font-weight:300;font-size:40px;line-height:1;color:#fff}
.zero-num small{font-family:var(--jp);font-size:16px;margin-left:2px}

/* オフショット */
.tease strong{font-weight:700}
#offshot .btn{margin-top:22px}

/* 代表メッセージ */
.msg-from{font-size:15px;color:var(--sub);margin:-2px 0 6px;letter-spacing:.06em}
.zero-num{line-height:1.15;height:38px;display:flex;align-items:flex-end;justify-content:center}
.points b{font-size:14px;word-break:keep-all}.points li{padding:12px 4px}

/* ── 修正（3回目） ── */
/* 表紙：写真が飛び出す */
.fv-strip{overflow:visible}
.fv-strip figure{transition:transform .45s cubic-bezier(.2,.9,.25,1.25),box-shadow .45s,z-index 0s .2s;cursor:pointer;z-index:1}
.fv-strip:hover figure:not(:hover){filter:brightness(.6) saturate(.8)}
.fv-strip figure{transition-property:transform,box-shadow,filter}
.fv-strip figure:hover,.fv-strip figure:focus-visible,.fv-strip figure.pop{transform:translateY(-14px) scale(1.16);z-index:5;
  box-shadow:0 26px 50px rgba(0,0,0,.7),0 0 0 2px rgba(183,156,255,.9),0 0 40px rgba(122,76,255,.6);outline:none}
.fv-strip figure:first-child:hover,.fv-strip figure:first-child.pop{transform-origin:left bottom}
.fv-strip figure:last-child:hover,.fv-strip figure:last-child.pop{transform-origin:right bottom}
@media (prefers-reduced-motion:reduce){.fv-strip figure{transition:none}}
/* 紫の小さな文字を大きく明るく */
.fv-en{font-size:16px;letter-spacing:.32em;color:#B79CFF;font-weight:400}
.fv-facts b{font-size:13px;color:#C9B5FF;font-weight:500}
.fv-facts li{font-size:14px}
.label{font-size:14px;color:#A98BFF;font-weight:400}
.light .label{color:#6A3CF0}
.fv-who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:22px;font-weight:400;margin:-4px 0 16px}
.fv-who span{font-family:var(--en);font-weight:300;font-size:26px;color:#B79CFF}
.fv-who small{font-size:12px;color:var(--mute);letter-spacing:.1em}

/* ライダー紹介の丸写真（中川を走行写真に） */
.img-wrap .circle-swap.c1{top:23.6%;object-position:52% 45%}

/* シーズン結果をキラキラに */
.result-glow{position:absolute;left:12.6%;top:87.1%;width:82.8%;height:10.9%;border-radius:4px;pointer-events:none;overflow:hidden;
  box-shadow:0 0 0 2px rgba(122,76,255,.9),0 0 22px rgba(122,76,255,.65),0 0 46px rgba(61,123,255,.35);animation:glow 2.4s ease-in-out infinite alternate}
.result-glow::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,215,120,.0),rgba(255,230,160,.25) 30%,rgba(183,156,255,.25) 60%,rgba(127,216,255,.2) 80%,rgba(255,255,255,0));mix-blend-mode:multiply}
.result-glow::after{content:"";position:absolute;top:-20%;bottom:-20%;width:22%;left:-30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.9),transparent);transform:skewX(-20deg);animation:shine 2.6s ease-in-out infinite}
.sp{position:absolute;width:14px;height:14px;background:radial-gradient(circle,#fff 0 18%,transparent 20%),conic-gradient(from 45deg,transparent 0 22%,#fff 24% 26%,transparent 28% 47%,#fff 49% 51%,transparent 53% 72%,#fff 74% 76%,transparent 78% 97%,#fff 99%);
  filter:drop-shadow(0 0 4px #B79CFF) drop-shadow(0 0 6px #FFE08A);animation:twinkle 1.8s ease-in-out infinite}
.sp.s1{left:6%;top:12%}.sp.s2{left:46%;top:8%;animation-delay:-.6s;transform:scale(.7)}.sp.s3{right:5%;top:20%;animation-delay:-1.1s}.sp.s4{right:28%;bottom:10%;animation-delay:-.3s;transform:scale(.8)}.sp.s5{left:30%;bottom:14%;animation-delay:-1.4s;transform:scale(.6)}
@keyframes twinkle{0%,100%{opacity:0;scale:.4}50%{opacity:1;scale:1.15}}
@keyframes glow{0%{box-shadow:0 0 0 2px rgba(122,76,255,.8),0 0 14px rgba(122,76,255,.5)}100%{box-shadow:0 0 0 2px rgba(183,156,255,1),0 0 30px rgba(122,76,255,.8),0 0 60px rgba(61,123,255,.45)}}
body.still .result-glow,body.still .result-glow::after,body.still .sp{animation:none}
body.still .sp{opacity:1}
@media (prefers-reduced-motion:reduce){.result-glow,.result-glow::after,.sp{animation:none}.sp{opacity:1}}

/* ハイライト下の余白を詰める */
#highlight{padding-bottom:28px}
#highlight .photo.with-cap{margin-bottom:0}

/* 十勝の優勝 */
.log li.win b{color:#fff}
.win-tag{display:inline-block;font-style:normal;font-size:13px;font-weight:700;letter-spacing:.06em;color:#1A1820;background:linear-gradient(180deg,#FFE9A8,#E8B94A);padding:2px 10px;border-radius:99px;margin:4px 0 2px}
.log li.win::before{background:#E8B94A;border-color:#E8B94A;box-shadow:0 0 10px rgba(232,185,74,.8)}
.tokachi{margin-top:26px}
.tokachi img{aspect-ratio:4/3.2;object-fit:cover;object-position:50% 35%}
.win-badge{position:absolute;left:10px;top:10px;padding:8px 12px;border-radius:10px;background:linear-gradient(180deg,#FFE9A8,#E8B94A);color:#1A1820;font-family:var(--en);font-size:11px;letter-spacing:.14em;line-height:1.2;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.win-badge b{display:block;font-size:17px;letter-spacing:.08em}

/* レッスンのマーク・0円 */
.points li.zero{gap:2px;justify-content:center}
.points li.zero b{font-size:13px;font-weight:500}
.zero-num{height:auto;line-height:1;font-size:44px;display:block}
.zero-cap{font-size:11px;line-height:1.4;color:rgba(255,255,255,.9)}

/* 経歴の見出し */
.career-h{font-weight:400;font-size:17px;letter-spacing:.08em;color:#C9B5FF;margin:8px 0 6px}
.photo.portrait img{aspect-ratio:3/2;object-fit:cover}

/* 特典カード：ワクワク感 */
#benefits{background:radial-gradient(90% 40% at 100% 0%,rgba(122,76,255,.16),transparent 70%),radial-gradient(80% 30% at 0% 60%,rgba(46,230,197,.10),transparent 70%),var(--light)}
.only{display:inline-block;font-family:var(--en);font-size:12px;letter-spacing:.2em;color:#fff;background:linear-gradient(90deg,#7A4CFF,#3D7BFF,#2EC9B0);padding:4px 14px;border-radius:99px;margin:0 0 14px}
.perk{overflow:hidden;border:0;box-shadow:0 18px 40px rgba(60,30,140,.14);transition:transform .35s ease,box-shadow .35s ease}
.perk::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1.5px;background:linear-gradient(135deg,#7A4CFF,#3D7BFF,#2EE6C5,#C04DFF);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.perk:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 26px 50px rgba(60,30,140,.22)}
.pno{background:linear-gradient(90deg,#7A4CFF,#3D7BFF 60%,#2EC9B0);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:56px}
.pimg.two img:first-child{transform:rotate(-4deg)}
.pimg.two img:last-child{transform:rotate(3deg) translateY(8px)}
.pimg.two img{box-shadow:0 10px 22px rgba(0,0,0,.18)}
.stamp{position:absolute;right:14px;top:14px;z-index:2;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;color:#fff;background:radial-gradient(circle at 35% 30%,#FF8CC6,#C04DFF 70%);transform:rotate(12deg);box-shadow:0 8px 18px rgba(192,77,255,.45),0 0 0 3px #fff inset}
.story{display:flex;align-items:center;gap:10px;margin:2px 0 14px}
.ring{width:62px;height:62px;border-radius:50%;padding:3px;background:conic-gradient(#FEDA75,#FA7E1E,#D62976,#962FBF,#4F5BD5,#FEDA75)}
.ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid #fff}
.ring:first-child{background:#2ECC71}
.cf{font-size:12px;font-weight:700;color:#fff;background:#2ECC71;padding:4px 10px;border-radius:99px}
.plate{display:inline-flex;align-items:center;gap:10px;background:#141318;border-radius:12px;padding:10px 16px;margin-bottom:12px;transform:rotate(-2deg);box-shadow:0 10px 22px rgba(0,0,0,.2)}
.pl-no{font-family:var(--en);font-size:30px;line-height:1;color:#141318;background:#fff;border-radius:8px;padding:4px 10px}
.pl-name{font-family:var(--en);letter-spacing:.24em;font-size:14px;color:#fff;border-bottom:2px dashed #7A4CFF;padding-bottom:2px}

/* SNSへの誘導 */
.follow{padding:56px 6% 48px;background:radial-gradient(80% 60% at 50% 0%,rgba(122,76,255,.22),transparent 70%),var(--ink);text-align:left}
.sns-btn{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:12px;min-height:64px;transition:transform .2s}
.sns-btn:hover{transform:translateY(-2px)}
.sns-btn span{flex:1;display:flex;flex-direction:column;line-height:1.4}
.sns-btn b{font-weight:700;font-size:16px}
.sns-btn small{font-size:13px;opacity:.85}
.sns-btn i{font-style:normal;font-family:var(--en);font-size:22px}
.sns-btn.ig{background:linear-gradient(45deg,#F58529,#DD2A7B 45%,#8134AF 75%,#515BD4);box-shadow:0 10px 26px rgba(221,42,123,.35)}
.sns-btn.x{background:#000;border:1px solid #3A3742}
.sns-btn.sub{min-height:56px;padding:12px 18px;opacity:.9}
.points li.zero{gap:6px}.zero-num{line-height:1.2;font-size:40px}.points li.zero b{line-height:1.3}.zero-cap{line-height:1.5}

/* ── 修正（4回目） ── */
.fv-eyebrow{font-size:15px;letter-spacing:.3em}
.fv-copy{padding-bottom:28px}
.fv-facts{margin-bottom:6px}
.stats li{position:relative}
.stats li.gold .num{background:linear-gradient(180deg,#FFF6D0 0%,#FFD86B 45%,#E0A92E 70%,#FFF0B8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 10px rgba(255,210,100,.55));animation:goldpulse 2.2s ease-in-out infinite alternate}
.stats li.gold .num small{color:#FFE29A;-webkit-text-fill-color:#FFE29A}
.stats li.gold .cap{color:#FFE29A}
.stats li.gold .sp{filter:drop-shadow(0 0 4px #FFD86B) drop-shadow(0 0 8px #FFF3C4)}
.sp.g1{left:14%;top:12%}.sp.g2{right:14%;top:22%;animation-delay:-.7s;transform:scale(.75)}.sp.g3{left:58%;top:48%;animation-delay:-1.2s;transform:scale(.6)}
@keyframes goldpulse{0%{filter:drop-shadow(0 0 6px rgba(255,210,100,.4))}100%{filter:drop-shadow(0 0 16px rgba(255,220,120,.9))}}
body.still .stats li.gold .num{animation:none}
@media (prefers-reduced-motion:reduce){.stats li.gold .num{animation:none}}
#highlight .podium{margin-bottom:8px}
.stats{margin-bottom:0}
.sticky .s2{font-size:16px;letter-spacing:.06em}
.img-wrap .cta-over{font-size:clamp(15px,4.6vw,24px);letter-spacing:.06em}
.stats li.gold{background:radial-gradient(70% 70% at 50% 40%,rgba(255,210,100,.22),transparent 75%)}
.stats li.gold .num{font-weight:400;font-size:clamp(52px,14vw,72px);-webkit-text-stroke:.5px rgba(255,236,170,.6)}
.stats li.gold .sp{width:16px;height:16px}

/* ── 修正（5回目）: キラキラを自然な光の粒に、1位と3位の高さをそろえる ── */
.sp{width:18px;height:18px;transform:none;
  background:
    radial-gradient(circle,#fff 0 12%,rgba(255,255,255,.55) 22%,transparent 46%),
    linear-gradient(#fff,#fff) center/1.5px 100% no-repeat,
    linear-gradient(#fff,#fff) center/100% 1.5px no-repeat;
  -webkit-mask:radial-gradient(circle,#000 22%,transparent 70%);mask:radial-gradient(circle,#000 22%,transparent 70%);
  animation:glint 2.6s ease-in-out infinite}
@keyframes glint{0%,100%{opacity:0;scale:.3}45%{opacity:1;scale:1}60%{opacity:.85;scale:.9}}
.sp.g1{left:16%;top:14%;width:16px;height:16px}
.sp.g2{right:16%;top:26%;width:12px;height:12px;animation-delay:-.9s}
.sp.g3{left:62%;top:52%;width:10px;height:10px;animation-delay:-1.7s}
.sp.s2,.sp.s4,.sp.s5{transform:none}
.sp.s2{width:13px;height:13px}.sp.s5{width:11px;height:11px}
.stats li.gold .num{font-size:clamp(40px,11vw,58px);font-weight:300;-webkit-text-stroke:0}
.stats li{justify-content:flex-start}
