@charset "UTF-8";

/* ===== 色・フォント（ここを変えると全体が変わる） ===== */
:root{
  --black:#0d0d0f;
  --black-2:#151518;
  --black-3:#1e1e22;
  --gold:#d6b25e;
  --gold-l:#f4e1a8;
  --red:#c8161e;
  --red-d:#8e0d13;
  --ink:#1b1b1b;
  --paper:#f7f4ee;
  --white:#fff;
  --line:#e2dccf;

  --sans:"Noto Sans JP",sans-serif;
  --mincho:"Shippori Mincho B1",serif;
  --num:"Cinzel",serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.85;color:var(--ink);background:var(--black)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;height:auto;vertical-align:bottom}
[hidden]{display:none!important}
a{color:inherit}

.pc{display:inline}
.sp{display:none}
@media (max-width:1000px){
  .pc{display:none}
  .sp{display:inline}
}

.wrap{max-width:1000px;margin:0 auto;padding:0 24px}
.wrap--narrow{max-width:1000px}
@media (max-width:1000px){
  .wrap{padding:0 16px}
}

/* ===== 火花の飾り ===== */
.spark{position:absolute;z-index:1;pointer-events:none;stroke:var(--gold);fill:var(--gold-l);opacity:.55}
.spark--s{opacity:.35}

/* ===== 閲覧期限バー ===== */
.topbar{position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(0,0,0,.35);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 12px;background:url(img/bg-red.webp) 0 0/576px,var(--red);color:var(--white);font-weight:700;font-size:18px;line-height:1.5;padding:10px 16px;border-bottom:1px solid var(--gold)}
.topbar-tag{background:var(--gold);color:var(--black);font-size:16px;padding:2px 10px}
.topbar-time{font-family:var(--num);font-size:28px;line-height:1.2;letter-spacing:.04em}
@media (max-width:1000px){
  html{scroll-padding-top:84px}
  .topbar{font-size:14px;gap:4px 8px;padding:8px 10px}
  .topbar-tag{font-size:13px;padding:1px 6px}
  .topbar-time{font-size:24px}
}

/* ===== ファーストビュー（パーツ版）=====
   PC：左にキング、右上にタイトル、後ろにチャート（横長 16:9）
   スマホ：上にタイトル、下にキング（縦長 4:5） */
.fv.fv--parts{width:100%;height:max(560px,calc(100vh - 56px));min-height:0;background:url(img/fv-bg.webp?v=2) center/cover no-repeat,#fff}
.fv--parts img{position:absolute;display:block;height:auto;pointer-events:none;user-select:none}
.fv-chart{z-index:1;right:auto;left:0;bottom:4%;width:100%;transform:scaleY(.8);transform-origin:center bottom}
.fv-king{z-index:2;left:3%;bottom:0;width:auto;height:96%;max-width:60%;object-fit:contain;object-position:left bottom}
.fv-titleimg{z-index:4;right:4%;top:7%;width:58%;filter:drop-shadow(0 6px 14px rgba(120,0,0,.25))}
.fv--parts .fv-sparks{z-index:5}
@media (max-width:1000px){
  .fv.fv--parts{height:auto;aspect-ratio:25/36;background-position:28% center}
  .fv-titleimg{left:50%;right:auto;top:3%;width:100%;transform:translateX(-50%)}
  .fv-chart{z-index:1;left:0;right:auto;top:auto;bottom:14.6%;width:100%;transform:scaleY(1.5);transform-origin:center bottom}
  .fv-king{left:50%;bottom:0;width:90%;height:auto;max-width:none;transform:translateX(-50%)}
}

/* ===== ファーストビュー（画像版） ===== */
.fv.fv--img{min-height:0;background:#000;line-height:0}
.fv-img{display:block;width:100%;height:auto;max-height:calc(100vh - 60px);object-fit:cover;object-position:center}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ===== ファーストビュー =====
   上部中央に金箔の極太文字、その下に斜めのキャッチ＋火花、右に筋トレーダー。
   背景は四隅を落とした深い赤（img/bg-red.webp の質感を重ねる） */
.fv{position:relative;overflow:hidden;color:var(--white);background:
  radial-gradient(ellipse 60% 50% at 50% 30%,rgba(255,150,80,.35),transparent 70%),
  radial-gradient(ellipse 100% 90% at 50% 35%,rgba(214,16,26,.9) 0%,rgba(178,8,18,.88) 45%,rgba(70,0,6,.95) 100%),
  url(img/bg-red.webp) 0 0/576px,#c10a14}
.fv::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--gold);z-index:4}
/* 火花（main.js が canvas に描く） */
.fv-sparks{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.fv-photo{position:absolute;z-index:4;right:max(-60px,calc(50% - 900px));bottom:0;height:96%;pointer-events:none}
.fv-photo img{display:block;height:100%;width:auto;filter:drop-shadow(0 0 40px rgba(60,0,0,.6))}
.fv-inner{position:relative;z-index:3;width:100%;max-width:1280px;margin:0 auto;padding:0 24px}
.fv-copy{padding:36px 0 min(14vw,190px);text-align:center}
.fv-tag{display:block;width:max-content;margin-left:auto;margin-right:auto;background:var(--gold);color:var(--red-d);font-weight:900;font-size:15px;letter-spacing:.12em;padding:6px 18px;margin-bottom:6px}
/* 金箔の文字：金色の明暗＋金の和紙の質感を文字の形に切り抜く */
.fv-title{display:inline-block;font-family:"Dela Gothic One",var(--sans);font-weight:400;font-size:clamp(84px,13vw,220px);line-height:1.05;letter-spacing:.02em;white-space:nowrap;
  color:#e9c56a;background:linear-gradient(175deg,#fff7cf 0%,#f6d77f 25%,#dcae4c 50%,#fbe7a6 64%,#e0b45a 82%,#b8883a 100%),url(img/bg-washi.webp) 0 0/260px;background-blend-mode:overlay;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 0 #5a3c0c) drop-shadow(0 12px 22px rgba(40,0,0,.6))}
.fv-sub{position:relative;display:inline-block;margin-top:6px;font-family:"Noto Serif JP",var(--mincho);font-weight:900;font-size:clamp(34px,5vw,76px);line-height:1.2;letter-spacing:.04em;white-space:nowrap;
  transform:skewX(-10deg) rotate(-3deg);color:#f3d27e;
  text-shadow:0 2px 0 #7a5418,0 4px 0 #4a3008,0 8px 20px rgba(40,0,0,.7)}
/* キャッチの左に弾ける火花 */
.fv-sub::before{content:"";position:absolute;left:-.9em;top:50%;width:1.6em;height:1.6em;transform:translateY(-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(255,240,180,.95) 0 6%,rgba(255,190,80,.6) 14%,transparent 40%),
  repeating-conic-gradient(rgba(255,214,120,.9) 0deg 2deg,transparent 2deg 14deg);
  -webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);mask:radial-gradient(circle,#000 20%,transparent 70%)}

@media (max-width:1000px){
  .fv{min-height:0}
  .fv-photo{right:auto;left:50%;transform:translateX(-50%);height:min(80vw,460px)}
  .fv-inner{padding:0 10px}
  .fv-copy{padding:22px 0 min(78vw,450px)}
  .fv-tag{font-size:12px;padding:4px 10px;margin-bottom:4px}
  .fv-title{font-size:min(19vw,110px)}
  .fv-sub{font-size:min(7.6vw,44px);margin-top:2px}
  .fv-sub::before{left:-.6em;width:1.2em;height:1.2em}
}

/* ===== セクション共通 ===== */
.sec{position:relative;overflow:hidden;padding:96px 0}
.sec--dark{background:url(img/bg-dark.webp) 0 0/256px,var(--black-2);color:#eee}
.sec--light{background:url(img/bg-paper.webp) 0 0/384px,var(--paper);color:var(--ink)}

/* セクションごとの背景（模様は img/bg-*.webp、紙吹雪は img/confetti.svg） */
#video{background:
  radial-gradient(ellipse 80% 45% at 50% 0%,rgba(200,22,30,.38),transparent 70%),
  linear-gradient(115deg,transparent 68%,rgba(110,62,26,.32) 68.2%),
  url(img/bg-dark.webp) 0 0/256px,var(--black-2)}
#about{background:
  linear-gradient(135deg,transparent 78%,rgba(214,178,94,.22) 78.2%),
  url(img/bg-paper.webp) 0 0/384px,var(--paper)}
/* 実績報告：炎のチャート（img/bg-result.webp）をスクロールしても動かない背景に。
   iPhoneでも効くよう、background-attachment:fixed ではなく固定配置の疑似要素＋clip-pathで切り抜く */
#result{background:var(--black-2);clip-path:inset(0);isolation:isolate}
#result::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(180deg,rgba(10,10,11,.72),rgba(10,10,11,.55) 50%,rgba(10,10,11,.75)),
  url(img/bg-result.webp) center/cover no-repeat}
#voice{background:
  linear-gradient(135deg,transparent 78%,rgba(214,178,94,.22) 78.2%),
  url(img/bg-paper.webp) 0 0/384px,var(--paper)}
#apply{background:
  radial-gradient(ellipse 70% 50% at 50% 0%,rgba(200,22,30,.35),transparent 70%),
  url(img/bg-dark.webp) 0 0/256px,var(--black-2)}
/* 金色の和紙（繊維・ムラ・金箔の小片：img/bg-washi.webp） */
/* 金の和紙もスクロールしても動かない背景に（#result と同じ作り） */
#bonus{background:#deb862;clip-path:inset(0);isolation:isolate}
#bonus::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(ellipse 70% 45% at 50% 30%,rgba(255,246,215,.45),transparent 70%),
  radial-gradient(ellipse 120% 80% at 50% 50%,transparent 55%,rgba(150,105,30,.25) 100%),
  url(img/bg-washi.webp) 0 0/512px,#deb862}
.sec--gold{color:var(--ink)}
.sec--gold .h2{color:var(--ink)}
.sec--gold .h2 em{color:var(--red);text-shadow:0 2px 0 rgba(255,250,235,.85)}
#faq{background:url(img/bg-paper.webp) 0 0/384px,var(--paper)}
@media (max-width:1000px){
  .sec{padding:64px 0}
}

/* 見出し：赤いリボン＋明朝 */
.ttl{text-align:center;margin-bottom:44px}
.ribbon{display:inline-block;position:relative;background:var(--red);color:var(--white);font-weight:900;font-size:15px;letter-spacing:.1em;line-height:1.5;padding:6px 28px;margin:0 20px 16px}
.ribbon::before,.ribbon::after{content:"";position:absolute;top:0;bottom:0;width:18px;background:var(--red-d)}
.ribbon::before{left:-14px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,45% 50%)}
.ribbon::after{right:-14px;clip-path:polygon(0 0,100% 0,55% 50%,100% 100%,0 100%)}
.ribbon--l{font-size:24px;padding:8px 40px;margin-bottom:20px}
.h2{font-family:var(--mincho);font-weight:800;font-size:clamp(28px,4.2vw,42px);line-height:1.45;letter-spacing:.04em}
.h2 em{font-style:normal}
/* 1行で見せる見出し（文字数に合わせて縮める） */
.h2.h2--one{white-space:nowrap}
@media (max-width:1000px){ .h2.h2--one{font-size:7vw} }
.theme{display:flex;justify-content:center;align-items:center;gap:16px;margin:4px 0 10px;font-family:var(--mincho);font-weight:800;font-size:clamp(26px,3.6vw,36px);line-height:1.4;letter-spacing:.12em;color:var(--gold)}
.theme::before,.theme::after{content:"";flex:none;width:48px;height:1px;background:var(--gold)}
.theme small{font-size:.7em;letter-spacing:.08em}
.sec--dark .h2,.sec--red .h2{color:var(--white)}
.sec--dark .h2 em,.sec--red .h2 em{color:var(--gold)}
.sec--light .h2 em{color:var(--red)}
.h3{font-family:var(--mincho);font-weight:800;font-size:clamp(20px,2.8vw,28px);line-height:1.5;text-align:center;margin:72px 0 28px}
.sec--dark .h3{color:var(--gold)}
.h3--first{margin-top:0}
@media (max-width:1000px){
  .ttl{margin-bottom:32px}
  .ribbon{font-size:13px;padding:5px 16px}
  .ribbon--l{font-size:min(4.8vw,20px);letter-spacing:.05em;white-space:nowrap;padding:6px 14px;margin:0 14px 16px}
  .h2{font-size:7vw}
  .theme{gap:6px;font-size:min(6.8vw,28px);letter-spacing:.06em}
  .theme::before,.theme::after{width:16px}
  .h3{font-size:5.4vw;margin:56px 0 22px}
  .h3--first{margin-top:0}
}

/* マーカー */
.mark{background:linear-gradient(transparent 60%,rgba(214,178,94,.45) 60%);font-weight:700}

/* ===== 講義動画 ===== */
.lead-note{text-align:center;font-weight:700;color:var(--gold);font-size:18px;margin:-20px 0 28px}

.movie{position:relative;max-width:860px;margin:0 auto;border:2px solid var(--gold);background:#000}
.movie-frame{position:relative;aspect-ratio:16/9}
.movie-frame iframe,.movie-frame video,.movie-frame > div{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.movie-unmute{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);z-index:2;font:inherit;font-weight:900;font-size:16px;color:var(--black);background:var(--gold);border:0;border-radius:999px;padding:12px 26px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.45);white-space:nowrap}
.movie-unmute:hover{background:var(--gold-l)}
.movie-msg{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:var(--black-3);color:var(--white);font-weight:700;font-size:18px}
.movie--sub{max-width:760px}
.movie-play{position:absolute;left:50%;top:50%;z-index:2;width:88px;height:88px;transform:translate(-50%,-50%);border:3px solid var(--white);border-radius:50%;background:rgba(200,22,30,.92);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.5);transition:background-color .15s}
.movie-play::before{content:"";position:absolute;left:52%;top:50%;transform:translate(-40%,-50%);border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent var(--white)}
.movie-play:hover{background:var(--red)}

.after{text-align:center;margin-top:28px;font-size:17px}
.after-ttl{font-family:var(--mincho);font-weight:800;font-size:clamp(22px,3vw,30px);color:var(--white);margin-bottom:16px}
.after strong{color:var(--gold)}
.after .mark{color:var(--white);font-size:1.1em}
/* 「…実践するために」→ 金の下向き矢印（3段）→「こんなものをご用意しました！」 */
.after-arrow{display:flex;flex-direction:column;align-items:center;margin:0 0 28px;line-height:0;animation:arrow-sway 1.6s ease-in-out infinite}
@keyframes arrow-sway{0%,100%{transform:translateY(-6px)}50%{transform:translateY(8px)}}
/* 横長の「く」の字：rotate せずに2本の斜線で描く */
.after-arrow span{display:block;position:relative;width:120px;height:26px;margin-top:-4px}
.after-arrow span::before,.after-arrow span::after{content:"";position:absolute;top:0;width:50%;height:100%;background:linear-gradient(var(--gold),var(--gold)) no-repeat}
.after-arrow span::before{left:0;clip-path:polygon(0 0,9% 0,100% 82%,100% 100%,94% 100%,0 9%)}
.after-arrow span::after{right:0;clip-path:polygon(91% 0,100% 0,100% 9%,6% 100%,0 100%,0 82%)}
.after-arrow span:nth-child(1){opacity:.35}
.after-arrow span:nth-child(2){opacity:.65}
.after-mark{display:inline-block;margin-top:18px;padding:10px 28px;background:var(--gold);color:var(--red-d);font-family:var(--mincho);font-weight:800;font-size:clamp(22px,3vw,32px);line-height:1.4;letter-spacing:.06em;box-shadow:0 8px 24px rgba(0,0,0,.4)}
/* 動画セクションの下の端を、下向きの大きな矢印の形にする（次のセクションへ視線を流す） */
.sec--point{z-index:2;padding-bottom:150px;clip-path:polygon(0 0,100% 0,100% calc(100% - 90px),50% 100%,0 calc(100% - 90px))}
.sec--point + .sec{margin-top:-90px;padding-top:186px}

@media (max-width:1000px){
  .lead-note{font-size:min(4vw,15px);white-space:nowrap;margin:-12px 0 22px}
  .movie{margin:0 -16px;border-width:2px 0}
  .movie-unmute{font-size:14px;padding:10px 20px;bottom:14%}
  .movie-msg{font-size:15px}
  .movie-play{width:68px;height:68px}
  .movie-play::before{border-width:12px 0 12px 20px}
  .after{margin-top:22px;font-size:15px}
  .after-ttl{font-size:5.6vw}
  .after-arrow span{width:90px;height:20px;margin-top:-2px}
  .after-mark{padding:8px 18px;font-size:min(6vw,24px)}
  .sec--point{padding-bottom:100px;clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),50% 100%,0 calc(100% - 50px))}
  .sec--point + .sec{margin-top:-50px;padding-top:114px}
}

/* ===== NEXTレベル体験会とは ===== */
.about-lead{text-align:center;font-size:clamp(17px,2.2vw,22px);font-weight:700;line-height:2.2}
.box{display:inline;background:var(--red);color:var(--white);padding:4px 10px;margin:0 2px;line-height:2.4;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.about-body{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:end;margin-top:56px;padding:48px 48px 0;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--red)}
.about-text{padding-bottom:48px}
.about-intro{font-weight:700}
.check{margin:14px 0}
/* 言葉の途中で改行しない（<wbr> の位置でだけ折り返す。入りきらないときは途中でも折る） */
.check li,.after p,.faq summary,.about-intro,.about-goal,.bonus-head{word-break:keep-all;overflow-wrap:anywhere}
.check li{position:relative;padding:10px 0 10px 38px;border-bottom:1px dashed var(--line);font-weight:700;font-size:17px}
.check li::before{content:"";position:absolute;left:0;top:14px;width:24px;height:24px;background:var(--red);border-radius:4px}
.check li::after{content:"";position:absolute;left:8px;top:18px;width:7px;height:12px;border:solid var(--white);border-width:0 3px 3px 0;transform:rotate(45deg)}
.about-goal{margin-top:26px;font-family:var(--mincho);font-weight:800;font-size:clamp(20px,2.6vw,26px);line-height:1.6}
.about-goal em{font-style:normal;color:var(--red)}
.about-photo img{display:block;width:100%}
.about-titleimg{max-width:860px;margin:0 auto 32px}
.about-titleimg img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}

@media (max-width:1000px){
  .about-lead{font-size:4.6vw;line-height:2.3}
  .box{padding:3px 6px}
  .about-body{position:relative;grid-template-columns:1fr;margin-top:40px;padding:28px 20px 0;overflow:hidden}
  .about-text{padding-bottom:24px}
  .check li{font-size:15px;padding-left:34px}
  .check li::before{width:22px;height:22px;top:13px}
  .check li::after{left:7px;top:17px}
  .about-goal{font-size:min(4.8vw,19px);padding-right:34%;min-height:42vw}
  .about-titleimg{margin:0 -8px 20px}
  .about-photo{position:absolute;right:4px;bottom:0;width:32%;margin:0}
}

/* ===== 参加者のその後 ===== */
.results{display:grid;grid-template-columns:1fr;gap:44px;max-width:680px;margin:0 auto}
.results figure{margin:0}
.results img{display:block;width:100%;box-sizing:border-box;background:var(--white);padding:8px;border:1px solid var(--gold)}
.results figure{position:relative;cursor:zoom-in}
.result-tag{display:block;margin:0 0 10px;font-family:var(--mincho);font-weight:800;font-size:clamp(30px,3.6vw,42px);line-height:1.3;letter-spacing:.08em;text-align:center;color:var(--gold);text-shadow:0 2px 0 #6e4c12,0 4px 14px rgba(0,0,0,.8);cursor:default}
.results figure::after{content:"タップで拡大";position:absolute;right:14px;bottom:14px;background:rgba(13,13,15,.8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6b25e' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='M15 15l5 5M10 7v6M7 10h6'/%3E%3C/svg%3E") no-repeat 10px 50%/14px;color:var(--white);font-size:12px;font-weight:700;padding:4px 10px 4px 28px;border-radius:999px;pointer-events:none}
/* 拡大表示 */
.zoom{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:64px 12px 24px;background:rgba(0,0,0,.92);cursor:zoom-out}
.zoom[hidden]{display:none}
.zoom-img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;background:var(--white);box-shadow:0 10px 40px rgba(0,0,0,.6)}
.zoom-hint{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:none;background:rgba(13,13,15,.85);color:var(--white);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;border:1px solid var(--gold);white-space:nowrap;pointer-events:none}
/* スマホ：本来の大きさ（画面幅の約2倍）で表示し、指で動かして見る */
@media (max-width:1000px){
  .zoom{display:block;overflow:auto;-webkit-overflow-scrolling:touch;padding:64px 0 56px;cursor:auto}
  .zoom[hidden]{display:none}
  .zoom-img{width:767px;max-width:none;height:auto;margin:0 auto}
  .zoom-close{position:fixed}
  .zoom-hint{display:block}
}
.zoom-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:2px solid var(--gold);border-radius:50%;background:var(--black-2);cursor:pointer}
.zoom-close::before,.zoom-close::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--white);transform:translate(-50%,-50%) rotate(45deg)}
.zoom-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
body.is-zoom{overflow:hidden}
.notice{font-size:12px;color:#a9a9a9;margin-top:14px;line-height:1.7;text-align:center}
.sec--light .notice{color:#777}

.voices{overflow:hidden;padding:4px 0}
.voices-track{display:flex;align-items:flex-start;width:max-content;animation:voices 60s linear infinite}
.voices:hover .voices-track{animation-play-state:paused}
.voice{width:300px;flex:none;margin:0 16px 0 0}
.voice img{display:block;width:100%;border-radius:6px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.voice-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.voice-icon{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#9aa5b1;border:2px solid rgba(255,255,255,.85)}
.voice-icon img{display:block;width:100%;height:100%;object-fit:cover}
.voice-tag{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;font-weight:700;line-height:1.4}
.voice-tag span{background:var(--black-3);color:var(--gold-l);border:1px solid rgba(214,178,94,.5);padding:2px 8px;border-radius:3px}
@keyframes voices{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (max-width:1000px){
  .results{gap:32px}
  .result-tag{font-size:min(7.4vw,32px);letter-spacing:.04em;margin-bottom:8px}
  .notice{text-align:left}
  .voice{width:240px}
  .voice-icon{width:38px;height:38px}
  .voice-tag{font-size:11px}
}

/* ===== 3大特典 ===== */
.bonus{display:grid;gap:56px;max-width:920px;margin:0 auto;padding-top:20px}
.bonus > li{position:relative;background:#fffdf8;color:var(--ink);border:3px solid var(--gold);border-radius:18px;box-shadow:0 12px 30px rgba(40,0,4,.4)}
.bonus-badge{position:absolute;left:-26px;top:-34px;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;width:128px;height:128px;transform:rotate(-8deg);clip-path:polygon(50.0% 0.0%,57.1% 9.6%,67.1% 3.0%,70.5% 14.5%,82.1% 11.7%,81.4% 23.6%,93.3% 25.0%,88.5% 36.0%,99.2% 41.3%,91.0% 50.0%,99.2% 58.7%,88.5% 64.0%,93.3% 75.0%,81.4% 76.4%,82.1% 88.3%,70.5% 85.5%,67.1% 97.0%,57.1% 90.4%,50.0% 100.0%,42.9% 90.4%,32.9% 97.0%,29.5% 85.5%,17.9% 88.3%,18.6% 76.4%,6.7% 75.0%,11.5% 64.0%,0.8% 58.7%,9.0% 50.0%,0.8% 41.3%,11.5% 36.0%,6.7% 25.0%,18.6% 23.6%,17.9% 11.7%,29.5% 14.5%,32.9% 3.0%,42.9% 9.6%);background:var(--gold);color:var(--white);font-family:var(--mincho);font-weight:800;font-size:28px;line-height:1.15;text-align:center;isolation:isolate}
.bonus-badge::before{content:"";position:absolute;inset:5px;z-index:-1;clip-path:polygon(50.0% 0.0%,57.1% 9.6%,67.1% 3.0%,70.5% 14.5%,82.1% 11.7%,81.4% 23.6%,93.3% 25.0%,88.5% 36.0%,99.2% 41.3%,91.0% 50.0%,99.2% 58.7%,88.5% 64.0%,93.3% 75.0%,81.4% 76.4%,82.1% 88.3%,70.5% 85.5%,67.1% 97.0%,57.1% 90.4%,50.0% 100.0%,42.9% 90.4%,32.9% 97.0%,29.5% 85.5%,17.9% 88.3%,18.6% 76.4%,6.7% 75.0%,11.5% 64.0%,0.8% 58.7%,9.0% 50.0%,0.8% 41.3%,11.5% 36.0%,6.7% 25.0%,18.6% 23.6%,17.9% 11.7%,29.5% 14.5%,32.9% 3.0%,42.9% 9.6%);background:linear-gradient(160deg,#e3343c,var(--red-d))}
.bonus-badge small{display:block;font-family:var(--sans);font-weight:900;font-size:12px;letter-spacing:.06em;color:var(--gold-l);margin-bottom:2px}
.bonus-head{margin:0;padding:18px 24px 18px 124px;border-radius:15px 15px 0 0;background:linear-gradient(180deg,#d42029,var(--red-d));color:var(--white);font-family:var(--mincho);font-weight:800;font-size:clamp(22px,2.6vw,28px);line-height:1.4;letter-spacing:.04em}
.bonus-head small{display:block;font-size:.6em;color:var(--gold-l);letter-spacing:.1em}
.bonus-body{display:grid;grid-template-columns:48% 1fr;gap:32px;align-items:center;padding:28px 36px 32px}
.bonus-img{position:relative;aspect-ratio:4/3;border-radius:10px;background:radial-gradient(ellipse at 50% 50%,rgba(214,178,94,.28),transparent 70%),var(--black-2)}
.bonus-img img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain}
.bonus-text{font-size:16px;line-height:1.9;font-weight:500}
.bonus-text p + p,.bonus-text ul + p{margin-top:10px}
.bonus-text strong{color:var(--red-d);background:linear-gradient(transparent 62%,rgba(214,178,94,.45) 62%)}
.bonus-point{padding:12px 16px;background:#f6efe0;border-radius:8px;border-left:4px solid var(--red);font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.bonus-q{list-style:none;margin:6px 0 0;padding:12px 16px;background:#f6efe0;border-radius:8px;border-left:4px solid var(--red)}
.bonus-q li{padding:3px 0;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.bonus-check{list-style:none;margin:6px 0 0;padding:12px 16px;background:#f6efe0;border-radius:8px}
.bonus-check li{position:relative;padding:4px 0 4px 30px;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.bonus-check li::before{content:"";position:absolute;left:0;top:9px;width:20px;height:20px;background:var(--red);border-radius:4px}
.bonus-check li::after{content:"";position:absolute;left:7px;top:12px;width:6px;height:11px;border:solid var(--white);border-width:0 3px 3px 0;transform:rotate(45deg)}

@media (max-width:1000px){
  .bonus{gap:48px;padding-top:16px}
  .bonus > li{border-radius:14px}
  .bonus-badge{left:-10px;top:-24px;width:76px;height:76px;font-size:17px}
  .bonus-badge::before{inset:4px}
  .bonus-badge small{font-size:8px}
  .bonus-head{padding:12px 10px 12px 68px;border-radius:11px 11px 0 0;font-size:min(4.6vw,20px);letter-spacing:0}
  .bonus-body{grid-template-columns:1fr;gap:16px;padding:16px 16px 20px}
  .bonus-text{font-size:15px;line-height:1.8}
}

/* ===== 募集条件・申込み ===== */
.sec--red{background:
  radial-gradient(ellipse at 50% 35%,transparent 35%,rgba(40,0,4,.55) 100%),
  url(img/confetti.svg) 0 0/480px,
  url(img/bg-red.webp) 0 0/576px,var(--red);color:#eee}
.sec--red .h2{text-shadow:0 3px 0 rgba(90,5,12,.8),0 6px 18px rgba(0,0,0,.35)}
.sec--red .ribbon{background:var(--black-2)}
.sec--red .ribbon::before,.sec--red .ribbon::after{background:#000}
/* 体験会の流れ */
.flow{max-width:960px;margin:0 auto 44px;text-align:center}
.flow-head{display:inline-block;font-family:var(--mincho);font-weight:800;font-size:26px;color:var(--white);border-bottom:2px solid var(--gold);padding:0 12px 4px;margin-bottom:24px}
.flow-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:none}
.flow-list li{position:relative;background:var(--white);color:var(--ink);border-top:4px solid var(--red);border-radius:8px;padding:20px 14px 18px;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.flow-list li + li::before{content:"";position:absolute;left:-21px;top:50%;width:0;height:0;transform:translateY(-50%);border-style:solid;border-width:9px 0 9px 12px;border-color:transparent transparent transparent var(--gold)}
.flow-no{display:inline-block;font-family:var(--num);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--white);background:var(--red);padding:2px 12px;border-radius:999px;margin-bottom:10px}
.flow-ttl{font-weight:900;font-size:17px;line-height:1.5;margin-bottom:6px;word-break:keep-all;overflow-wrap:anywhere}
.nw{white-space:nowrap}
.flow-txt{font-size:13px;line-height:1.7;color:#555;word-break:keep-all;overflow-wrap:anywhere}
.apply-card{max-width:680px;margin:0 auto;background:var(--white);color:var(--ink);border:2px solid var(--gold);outline:6px solid rgba(214,178,94,.25);padding:40px 48px 36px;text-align:center}
.apply-head{display:inline-block;font-family:var(--mincho);font-weight:800;font-size:24px;border-bottom:3px solid var(--red);padding:0 10px 4px;margin-bottom:22px}
.apply-list{text-align:left;border-top:1px solid var(--line)}
.apply-list div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line)}
.apply-list dt{background:var(--paper);font-weight:700;padding:14px 16px}
.apply-list dd{padding:14px 18px;font-weight:700}
.apply-list strong{color:var(--red)}
.num{font-family:var(--num);font-size:1.25em;padding:0 2px}
.apply-arrow{color:var(--red);font-size:26px;line-height:1;margin:22px 0 14px}
.btn-apply{display:block;position:relative;background:var(--red);color:var(--white);text-decoration:none;font-weight:900;font-size:clamp(17px,2.2vw,21px);line-height:1.5;padding:20px 48px 20px 24px;border-radius:999px;border:2px solid var(--gold);box-shadow:0 6px 0 var(--red-d);transition:transform .15s,box-shadow .15s,background-color .15s}
.btn-apply::after{content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;border:solid var(--white);border-width:3px 3px 0 0;transform:translateY(-50%) rotate(45deg)}
.apply-note{margin-top:14px;font-size:13px;line-height:1.6;color:var(--ink)}
.btn-apply:hover{background:#d92a32;transform:translateY(2px);box-shadow:0 4px 0 var(--red-d)}

@media (max-width:1000px){
  .apply-card{padding:28px 18px 26px;outline-width:4px}
  .flow{margin-bottom:36px}
  .flow-head{font-size:22px;margin-bottom:18px}
  .flow-list{grid-template-columns:1fr;gap:26px}
  .flow-list li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;text-align:left;padding:14px 16px}
  .flow-list li + li::before{left:50%;top:-20px;transform:translateX(-50%);border-width:12px 9px 0 9px;border-color:var(--gold) transparent transparent transparent}
  .flow-no{grid-row:span 2;margin:0;font-size:11px;padding:4px 8px;writing-mode:horizontal-tb}
  .flow-ttl{font-size:16px;margin-bottom:2px}
  .apply-head{font-size:20px}
  .apply-list div{grid-template-columns:90px 1fr}
  .apply-list dt{padding:12px 10px;font-size:14px}
  .apply-list dd{padding:12px 12px;font-size:15px}
  .btn-apply{font-size:min(3.8vw,20px);white-space:nowrap;padding:16px 36px 16px 14px}
  .btn-apply::after{right:14px;width:8px;height:8px}
}

/* ===== よくある質問 ===== */
.faq details{background:var(--white);border:1px solid var(--line);margin-bottom:12px}
.faq summary{position:relative;list-style:none;cursor:pointer;font-weight:700;padding:18px 52px 18px 56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:18px;top:15px;font-family:var(--num);font-size:22px;color:var(--red);line-height:1.3}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:9px;height:9px;border:solid var(--ink);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{position:relative;padding:4px 22px 20px 56px}
.faq details p::before{content:"A";position:absolute;left:18px;top:0;font-family:var(--num);font-size:22px;color:var(--gold);line-height:1.3}

@media (max-width:1000px){
  .faq summary{padding:16px 44px 16px 48px;font-size:15px}
  .faq summary::before{left:14px;top:13px}
  .faq details p{padding:2px 16px 18px 48px;font-size:15px}
  .faq details p::before{left:14px}
}

/* ===== フッター ===== */
.footer{background:#000;color:#aaa;text-align:center;font-size:12px;padding:22px 16px}
.disclaimer{max-width:760px;margin:0 auto 18px;padding-bottom:18px;border-bottom:1px solid #222;font-size:11px;line-height:1.8;color:#888}
.footer-links{margin-bottom:10px}
.footer-links a{color:#ccc}
.disclaimer-ttl{font-weight:700;color:#aaa;margin-bottom:4px}
@media (max-width:1000px){
  .footer{padding-bottom:96px}
}

/* ===== 追随ボタン ===== */
.follow{position:fixed;z-index:50;right:24px;bottom:24px;display:block;text-decoration:none;background:var(--red);color:var(--white);border:2px solid var(--gold);border-radius:12px;padding:12px 22px;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:opacity .25s,transform .25s}
.follow:hover{background:#d92a32}
.follow.is-hidden{opacity:0;transform:translateY(16px);pointer-events:none}
.follow-main{display:block;font-weight:900;font-size:17px;line-height:1.4}
/* 申込みへの追随ボタン：横長・大きめ */
.follow--apply{min-width:400px;padding:12px 44px 14px 32px}
.follow--apply .follow-main{font-size:22px}
.follow--apply::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border:solid var(--white);border-width:3px 3px 0 0;transform:translateY(-50%) rotate(45deg)}
.follow-free{display:block;width:max-content;margin:0 auto 4px;background:var(--gold);color:var(--red-d);font-weight:900;font-size:14px;letter-spacing:.12em;line-height:1.5;padding:0 14px;border-radius:999px}
/* 講義動画への追随ボタン（大きめ） */
.follow--video{padding:12px 44px 14px 32px}
.follow--video .follow-main{font-size:22px}
.follow--video::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border:solid var(--white);border-width:3px 3px 0 0;transform:translateY(-50%) rotate(45deg)}
.follow-tag{display:inline-block;background:var(--gold);color:var(--black);font-size:12px;padding:0 6px;margin-right:8px;vertical-align:2px}

@media (max-width:1000px){
  .follow{left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:calc(100% - 32px);max-width:400px;padding:10px 14px}
  .follow.is-hidden{transform:translate(-50%,16px)}
  .follow-main{font-size:16px}
  .follow--video{padding:10px 30px 12px 14px}
  .follow--video::after{right:12px;width:8px;height:8px}
  .follow--apply{min-width:0;padding:10px 30px 12px 14px}
  .follow--apply .follow-main{font-size:min(5.6vw,21px);white-space:nowrap}
  .follow--apply::after{right:12px;width:8px;height:8px}
  .follow-free{font-size:12px}
  .follow--video .follow-main{font-size:min(5.6vw,21px);white-space:nowrap}
  }

/* ===== スクロールでふわっと表示（main.js が .js-reveal を付けて、画面に入ったら .is-in） =====
   JS が動かないときは何も隠さない */
.js-reveal .rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rv-delay,0s)}
.js-reveal .rv.is-in{opacity:1;transform:none}

/* ===== 動きを減らす設定の人 ===== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .voices{overflow-x:auto;padding:4px 16px 12px}
  .voices-track{animation:none}
  .js-reveal .rv{opacity:1;transform:none;transition:none}
  .after-arrow{animation:none}
}
