/* 2026-10-22 クライアントのワイヤー（修正後構成）に合わせた調整 */

/* FV: VIP参加希望の方へのボタン（VIP先行エントリーのセクションへ移動） */
.hero-actions>.button-vip-link{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:56px;min-width:340px;padding:0 28px;box-sizing:border-box;
  border:1px solid #d9bb78;border-radius:2px;background:rgba(12,10,6,.62);
  color:#f3dda6;text-decoration:none;
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif;
  font-size:17px;font-weight:700;letter-spacing:.08em;
  box-shadow:inset 0 0 18px rgba(217,187,120,.12);transition:background .2s ease,color .2s ease
}
.hero-actions>.button-vip-link>span{font-size:20px;line-height:1}
.hero-actions>.button-vip-link:hover{background:rgba(217,187,120,.16);color:#fff2c8}
@media(max-width:900px){
  .hero-actions>.button-vip-link{min-width:0;width:min(94%,460px)}
}
@media(max-width:540px){
  .hero-actions>.button-vip-link{min-height:52px;font-size:15px}
}

/* 申込セクションのリード: 有料枠への移行を添える */
.contact-lead .contact-lead-note{display:block;margin-top:4px;font-size:.78em;letter-spacing:.04em;opacity:.86}

/* 参加特典: PCは「キャッチコピー＋写真」と「5つの価値」を左右に並べる */
@media(min-width:1000px){
  html body.premium-lp #benefit .join-grid{max-width:1080px}
  html body.premium-lp #benefit .join-card{display:grid !important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:auto auto}
  html body.premium-lp #benefit .join-art{grid-column:1;grid-row:1;justify-content:space-between}
  html body.premium-lp #benefit .join-details{grid-column:2;grid-row:1}
  html body.premium-lp #benefit .join-footer{grid-column:1 / -1;grid-row:2}
  #benefit .join-hero-copy{padding:56px 22px 0}
  #benefit .join-hero-lead{font-size:24px}
  #benefit .join-hero-main{font-size:35px}
  #benefit .join-art>img.join-hero-photo{flex:1 1 auto;min-height:260px;object-fit:cover;object-position:center 40%}
}

/* 追従CTA（PC・スマホ共通）。FVと申込フォームが見えている間は隠す */
html body .mobile-cta.sticky-cta{display:grid !important;transition:transform .35s ease,opacity .35s ease}
html body .mobile-cta.sticky-cta.is-hidden{opacity:0;pointer-events:none;transform:translateY(120%)}
html body .mobile-cta.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-align:center;text-decoration:none}
@media(max-width:540px){
  html body .mobile-cta.sticky-cta a{font-size:13px;letter-spacing:.04em !important;padding:0 6px}
}
html body footer{padding-bottom:110px !important}
@media(min-width:801px){
  html body .mobile-cta.sticky-cta{position:fixed;z-index:40;left:50% !important;right:auto !important;bottom:16px;width:min(620px,calc(100% - 48px));box-sizing:border-box;grid-template-columns:.75fr 1.25fr;gap:10px;transform:translateX(-50%);background:rgba(18,17,15,.94);border:1px solid #6f6044;border-radius:4px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.55)}
  html body .mobile-cta.sticky-cta a{border:1px solid #76674b;color:#ddc9a1}
  html body .mobile-cta.sticky-cta a:last-child{color:#19160f}
  html body .mobile-cta.sticky-cta.is-hidden{transform:translate(-50%,140%)}
  html body .mobile-cta.sticky-cta a{min-height:50px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  html body .mobile-cta.sticky-cta{transition:none}
}

/* 申込・スピーカーの大理石背景: フォーム埋め込みで縦に長くなり、1枚を引き伸ばすと粗く見えるため、
   上下反転でつながる画像を縦に並べる（拡大しない） */
html body.premium-lp .contact-section,
html body.premium-lp .speakers-section{
  background-image:url('./assets/bg-image/marble-tile.v20261022.webp') !important;
  background-size:max(100%,1280px) auto !important;
  background-repeat:repeat-y !important;
  background-position:center top !important;
}
@media(max-width:900px){
  html body.premium-lp .contact-section,
  html body.premium-lp .speakers-section{background-size:900px auto !important}
}

/* スマホ: 「ご参加お申し込みは、／こちらから」の2行に収める（画面幅に合わせて文字を縮める） */
@media(max-width:540px){
  html body.premium-lp .contact-section h2{font-size:min(34px,calc((100vw - 44px) / 10.9)) !important;white-space:nowrap}
}

/* スマホ・タブレット: 下の追従バーが右下の動画プレーヤー（VIDGET）と重なるため、
   追従バーはやめ、ヘッダーのロゴを小さくしてハンバーガーの横に「参加お申し込み」を常時出す */
@media(max-width:800px){
  html body .mobile-cta.sticky-cta{display:none !important}
  html body footer{padding-bottom:40px !important}
  html body.premium-lp .header .header-cta-group{display:flex !important;margin-left:auto}
  html body.premium-lp .header .header-btn-collab{display:none !important}
  html body.premium-lp .header .header-btn-apply{height:38px;padding:0 14px;font-size:12px;letter-spacing:.04em;white-space:nowrap}
  html body.premium-lp .header-inner{gap:10px !important}
}
@media(max-width:540px){
  html body.premium-lp .header .brand{width:104px}
}
@media(max-width:360px){
  html body.premium-lp .header .brand{width:92px}
  html body.premium-lp .header .header-btn-apply{padding:0 10px;font-size:11px}
}

/* 2026-10-23 追従の「3イベントを見る」を削除。PCの追従バーは「参加お申し込み」1つだけにする */
@media(min-width:801px){
  html body .mobile-cta.sticky-cta{grid-template-columns:1fr;width:min(420px,calc(100% - 48px))}
}

/* 2026-10-23 3コンテンツ: タイムスケジュール（PCは横一列、スマホは縦に並べる） */
.stage-timetable{max-width:960px;margin:56px auto 0;padding:32px 36px 28px;border:1px solid rgba(201,165,91,.42);background:rgba(10,10,10,.55);box-sizing:border-box}
.stage-timetable-label{margin:0 0 24px;text-align:center;color:#f3dda6;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif;font-size:22px;font-weight:700;letter-spacing:.1em}
.stage-timetable-label small{display:block;margin-bottom:6px;color:#c9a55b;font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;letter-spacing:.24em}
.stage-timetable-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.stage-timetable-list::before{content:'';position:absolute;left:12.5%;right:12.5%;top:9px;height:1px;background:linear-gradient(90deg,#8a7343,#e0c793,#8a7343)}
.stage-timetable-list li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:26px;text-align:center}
.stage-timetable-list li::before{content:'';position:absolute;top:4px;left:50%;width:11px;height:11px;margin-left:-6px;border-radius:50%;background:#0d0d0d;border:1.5px solid #e0c793;box-sizing:border-box}
.stage-timetable-list time{color:#f3dda6;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:700;line-height:1;letter-spacing:.04em}
.stage-timetable-list span{color:#e8e1d2;font-size:15px;letter-spacing:.06em}
.stage-timetable-note{margin:22px 0 0;text-align:center;color:#bdb4a2;font-size:13px;letter-spacing:.04em}
@media(max-width:700px){
  .stage-timetable{margin-top:40px;padding:26px 22px 22px}
  .stage-timetable-label{font-size:19px;margin-bottom:18px}
  .stage-timetable-list{grid-template-columns:1fr;gap:0;max-width:280px;margin:0 auto}
  .stage-timetable-list::before{left:5px;right:auto;top:12px;bottom:12px;width:1px;height:auto;background:linear-gradient(180deg,#8a7343,#e0c793,#8a7343)}
  .stage-timetable-list li{flex-direction:row;align-items:baseline;gap:18px;padding:8px 0 8px 28px;text-align:left}
  .stage-timetable-list li::before{top:50%;left:0;margin:-6px 0 0}
  .stage-timetable-list time{font-size:28px;min-width:76px}
  .stage-timetable-note{font-size:12px;text-align:left}
}

/* 2026-10-23 3コンテンツ: 各コンテンツの会場（ステージA など）。上の帯を削除したため、ここで場所を示す */
html body.premium-lp .experience-grid .stage-place{display:inline-flex;align-items:center;gap:8px;margin:0 22px 18px;padding:5px 12px;border:1px solid rgba(224,199,147,.6);color:#f3dda6;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1.3}
html body.premium-lp .experience-grid .stage-place>span{color:#c9a55b;font-size:11px;font-weight:600;letter-spacing:.12em}
@media(min-width:801px) and (max-width:900px){html body.premium-lp .experience-grid .stage-place{margin-left:12px}}
@media(max-width:640px){html body.premium-lp .experience-grid .stage-place{margin-left:16px}}

/* 2026-10-23 VIP先行エントリー: 開催概要資料（VIPラウンジ・会場図）をもとに、ラウンジの写真と3つの特長を豪華に見せる */
.vip-showcase{max-width:1080px;margin:8px auto 48px}
.vip-visual{position:relative;margin:0;padding:10px;border:1px solid rgba(224,199,147,.75);background:linear-gradient(135deg,rgba(224,199,147,.16),rgba(10,10,10,.6) 40%,rgba(224,199,147,.12));box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 6px rgba(10,10,10,.85),0 0 0 7px rgba(201,165,91,.45)}
.vip-visual::before,.vip-visual::after{content:'';position:absolute;width:46px;height:46px;border:2px solid #e9cf8f;z-index:2;pointer-events:none}
.vip-visual::before{top:-8px;left:-8px;border-right:0;border-bottom:0}
.vip-visual::after{bottom:-8px;right:-8px;border-left:0;border-top:0}
.vip-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;filter:saturate(.92) contrast(1.05)}
.vip-visual figcaption{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:60px 26px 20px;background:linear-gradient(180deg,transparent,rgba(5,5,5,.88))}
.vip-visual-tag{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.4vw,44px);font-weight:700;letter-spacing:.18em;line-height:1;background:linear-gradient(100deg,#b8955a,#f7e6b5 45%,#c9a45f 70%,#f3dda6);-webkit-background-clip:text;background-clip:text;color:transparent}
.vip-visual figcaption small{color:#bdb4a2;font-size:11px;letter-spacing:.06em;white-space:nowrap}
.vip-points{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vip-points li{position:relative;padding:28px 24px 26px;text-align:center;border:1px solid rgba(201,165,91,.5);background:linear-gradient(180deg,rgba(201,165,91,.12),rgba(12,11,9,.85) 55%)}
.vip-points li::before{content:'';position:absolute;top:-1px;left:50%;width:56px;height:2px;margin-left:-28px;background:linear-gradient(90deg,transparent,#f3dda6,transparent)}
.vip-points small{display:block;margin-bottom:12px;color:#c9a55b;font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.24em}
.vip-points b{display:block;margin-bottom:12px;color:#f3dda6;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif;font-size:21px;font-weight:700;letter-spacing:.06em;line-height:1.45}
.vip-points p{margin:0;color:#ddd5c4;font-size:14px;line-height:1.85;text-align:left}
.vip-showcase-note{margin:16px 0 0;text-align:center;color:#a9a090;font-size:12px}
@media(max-width:800px){
  .vip-showcase{margin:0 auto 36px}
  .vip-visual{padding:6px;box-shadow:0 20px 40px rgba(0,0,0,.6),0 0 0 4px rgba(10,10,10,.85),0 0 0 5px rgba(201,165,91,.45)}
  .vip-visual::before,.vip-visual::after{width:28px;height:28px}
  .vip-visual figcaption{left:6px;right:6px;bottom:6px;padding:40px 14px 12px}
  .vip-visual figcaption small{font-size:10px}
  .vip-points{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .vip-points li{padding:22px 20px}
  .vip-points b{font-size:19px;margin-bottom:8px}
  .vip-points p{font-size:13.5px}
}
.vip-points small,.vip-visual-tag{font-variant-numeric:lining-nums}
.vip-visual-tag{white-space:nowrap}
@media(max-width:540px){.vip-visual-tag{font-size:22px;letter-spacing:.14em}}

/* 2026-10-23 VIP: MAFIA陣・登壇者との交流（写真＋訴求文） */
.vip-meet{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:0;margin-top:40px;border:1px solid rgba(224,199,147,.7);background:linear-gradient(120deg,rgba(12,11,9,.92),rgba(40,32,18,.85));box-shadow:0 24px 60px rgba(0,0,0,.55)}
.vip-meet-visual{margin:0;height:100%;position:relative;overflow:hidden}
.vip-meet-visual img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center 25%}
.vip-meet-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 88%,rgba(18,15,10,.75))}
.vip-meet-body{padding:40px 44px}
.vip-meet-label{margin:0 0 12px;color:#c9a55b;font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.26em}
.vip-meet-title{margin:0 0 18px;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.5;letter-spacing:.06em;background:linear-gradient(100deg,#c9a45f,#f7e6b5 50%,#d8b571);-webkit-background-clip:text;background-clip:text;color:transparent}
.vip-meet-body>p:last-child{margin:0;color:#e3dccb;font-size:15px;line-height:1.95}
@media(max-width:800px){
  .vip-meet{grid-template-columns:1fr;margin-top:28px}
  .vip-meet-visual img{min-height:0;aspect-ratio:1200/741}
  .vip-meet-visual::after{background:linear-gradient(180deg,transparent 70%,rgba(18,15,10,.9))}
  .vip-meet-body{padding:24px 20px 26px}
  .vip-meet-title{font-size:21px}
  .vip-meet-body>p:last-child{font-size:14px}
}
/* 写真は2人とも切れないよう、元の比率のまま見せる */
@media(min-width:801px){
  .vip-meet{grid-template-columns:1.2fr 1fr;align-items:stretch}
  .vip-meet-visual{display:flex;align-items:center;background:#0b0a08}
  .vip-meet-visual img{height:auto;min-height:0;aspect-ratio:1200/741;object-fit:contain}
  .vip-meet-body{display:flex;flex-direction:column;justify-content:center;padding:32px 36px}
}
html body.premium-lp .vip-meet .vip-meet-label{color:#c9a55b}

/* ===== 2026-10-23 VIP: 写真多め＋ゴールド／メタリックレッドの光る演出 ===== */
html body.premium-lp .vip-section{position:relative;overflow:hidden;background:
  radial-gradient(ellipse 70% 45% at 15% 20%,rgba(150,18,32,.28),transparent 70%),
  radial-gradient(ellipse 60% 40% at 85% 75%,rgba(201,165,91,.18),transparent 70%),
  linear-gradient(180deg,#070606,#120a0a 50%,#070606) !important}
html body.premium-lp .vip-section::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(224,199,147,.55),transparent) top/100% 1px no-repeat,linear-gradient(90deg,transparent,rgba(224,199,147,.55),transparent) bottom/100% 1px no-repeat}
html body.premium-lp .vip-section>.container{position:relative;z-index:1}
/* 見出し: 金のきらめきが流れる */
html body.premium-lp .vip-section h2{background:linear-gradient(100deg,#b8955a 0%,#f7e6b5 18%,#c9a45f 34%,#fff4d2 50%,#c9a45f 66%,#f3dda6 82%,#b8955a 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent !important;animation:vipShine 6s linear infinite}
@keyframes vipShine{from{background-position:100% 0}to{background-position:-150% 0}}
/* 写真の枠に光が走る */
.vip-visual,.vip-shot,.vip-meet{isolation:isolate}
.vip-visual>img,.vip-shot>img{position:relative;z-index:0}
.vip-shine{position:relative;overflow:hidden}
.vip-visual{overflow:visible}
.vip-visual-sweep{position:absolute;inset:10px;z-index:1;overflow:hidden;pointer-events:none}
.vip-visual-sweep::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,240,200,.26),transparent);transform:skewX(-18deg);animation:vipSweep 5.5s ease-in-out infinite}
@media(max-width:800px){.vip-visual-sweep{inset:6px}}
.vip-visual figcaption{z-index:2}
@keyframes vipSweep{0%,55%{left:-60%}100%{left:130%}}
/* 3つの特長: メタリックレッド→ゴールドの上辺、ホバーで光る */
.vip-points li{background:linear-gradient(180deg,rgba(120,16,28,.28),rgba(12,9,8,.9) 60%);transition:box-shadow .3s ease,transform .3s ease}
.vip-points li::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#6e0f1a,#c2283c 30%,#f3dda6 50%,#c2283c 70%,#6e0f1a);background-size:200% 100%;animation:vipShine 5s linear infinite}
.vip-points li:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(150,18,32,.35),0 0 0 1px rgba(243,221,166,.6)}
/* ギャラリー */
.vip-gallery{margin-top:56px}
.vip-gallery-label{margin:0 0 22px;text-align:center;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif;font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:.08em;background:linear-gradient(100deg,#d8b571,#fff1c9 45%,#e0485a 75%,#d8b571);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vipShine 7s linear infinite}
.vip-gallery-label small{display:block;margin-bottom:8px;font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;letter-spacing:.3em;color:#c9a55b;-webkit-text-fill-color:#c9a55b}
.vip-gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto auto;gap:14px}
.vip-shot{position:relative;margin:0;overflow:hidden;border:1px solid rgba(224,199,147,.55);background:#0b0908}
.vip-shot img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s ease;filter:saturate(.95)}
.vip-shot:hover img{transform:scale(1.06);filter:saturate(1.08) brightness(1.05)}
.vip-shot-lg{grid-row:1 / span 2}
.vip-shot-lg img{aspect-ratio:auto;min-height:100%}
.vip-shot-wide{grid-column:1 / -1}
.vip-shot-wide img{aspect-ratio:21/8}
.vip-shot::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(6,4,4,.85)),linear-gradient(135deg,rgba(150,18,32,.18),transparent 40%)}
.vip-shot::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,236,190,.28),transparent);transform:skewX(-18deg);animation:vipSweep 6.5s ease-in-out infinite}
.vip-shot:nth-child(2)::after{animation-delay:1.2s}
.vip-shot:nth-child(3)::after{animation-delay:2.4s}
.vip-shot:nth-child(4)::after{animation-delay:3.6s}
.vip-shot figcaption{position:absolute;left:20px;right:20px;bottom:16px;z-index:3;color:#fff7e3;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:17px;font-weight:700;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.vip-shot figcaption small{display:block;margin-bottom:4px;color:#e9cf8f;font-family:'Cormorant Garamond',Georgia,serif;font-size:12px;letter-spacing:.28em}
.vip-shot-lg figcaption{font-size:22px}
.vip-meet{transition:box-shadow .3s ease}
.vip-meet:hover{box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 40px rgba(150,18,32,.35)}
@media(max-width:800px){
  .vip-gallery{margin-top:40px}
  .vip-gallery-grid{grid-template-columns:1fr 1fr;gap:8px}
  .vip-shot-lg{grid-column:1 / -1;grid-row:auto}
  .vip-shot-lg img{aspect-ratio:16/10}
  .vip-shot-wide img{aspect-ratio:16/9}
  .vip-shot figcaption{left:12px;right:12px;bottom:10px;font-size:13px}
  .vip-shot figcaption small{font-size:10px;letter-spacing:.2em}
  .vip-shot-lg figcaption{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  html body.premium-lp .vip-section h2,.vip-points li::after,.vip-gallery-label,.vip-shot::after,.vip-visual-sweep::after{animation:none}
}

/* ===== 2026-10-23 参加するメリット: 写真上のコピー。手書き風はやめ、文字サイズの強弱だけで見せる
   上段は控えめ、下段「熱量と出会いがある」を大きく、「熱量」「出会い」をさらに一段大きく ===== */
html body.premium-lp #benefit .join-hero-copy{padding-top:50px}
html body.premium-lp #benefit .join-hero-lead{font-size:24px;letter-spacing:.14em;color:#e9dfc6}
html body.premium-lp #benefit .join-hero-main{margin-top:14px;font-size:50px;white-space:nowrap;letter-spacing:0}
html body.premium-lp #benefit .join-hero-main em{font-size:1.36em;letter-spacing:-.02em}
@media(min-width:1000px){
  html body.premium-lp #benefit .join-hero-lead{font-size:22px}
  html body.premium-lp #benefit .join-hero-main{font-size:42px}
}
@media(max-width:999px){html body.premium-lp #benefit .join-hero-main{font-size:min(50px,calc((100vw - 76px) / 11.4))}}
@media(max-width:540px){
  html body.premium-lp #benefit .join-hero-copy{padding-top:34px}
  html body.premium-lp #benefit .join-hero-lead{font-size:17px}
}

/* 2026-10-23 「REAL VALUEとは」の下のカルーセル: 写真を大きく（流れる速さは今までと同じくらいになるよう時間も延ばす） */
html body.premium-lp .about-rv-carousel-track img{height:clamp(150px,17vw,240px)}
html body.premium-lp .about-rv-carousel-track{gap:20px;animation-duration:48s}
@media(max-width:800px){
  html body.premium-lp .about-rv-carousel-track img{height:clamp(120px,27vw,190px)}
  html body.premium-lp .about-rv-carousel-track{gap:12px;animation-duration:40s}
}
@media(max-width:480px){
  html body.premium-lp .about-rv-carousel-track img{height:clamp(118px,34vw,150px)}
  html body.premium-lp .about-rv-carousel-track{gap:10px;animation-duration:34s}
}

/* ===== 2026-10-23 VIP申込ボックス: とにかく目が行くように「ギラッ」と光らせる =====
   ・枠: 金とメタリックレッドが流れ続ける
   ・ボックス全体: 金の光がゆっくり脈打つ
   ・ボタン: 強い光の筋が速めに走り、2回に1回きらめきが弾ける＋金のオーラが脈打つ */
html body.premium-lp .vip-cta-block{position:relative;border:2px solid transparent !important;border-radius:4px;
  background:linear-gradient(180deg,rgba(14,10,8,.96),rgba(8,6,5,.96)) padding-box,
             linear-gradient(90deg,#6e0f1a,#c2283c,#f3dda6,#fff6d8,#e0c793,#c2283c,#6e0f1a,#c2283c,#f3dda6) border-box !important;
  background-size:100% 100%,300% 100% !important;
  animation:vipBorderFlow 16s linear infinite,vipBoxGlow 4s ease-in-out infinite}
@keyframes vipBorderFlow{from{background-position:0 0,0% 0}to{background-position:0 0,150% 0}}
@keyframes vipBoxGlow{
  0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 18px rgba(224,180,90,.25),0 0 0 rgba(194,40,60,0)}
  50%{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 46px rgba(243,214,140,.55),0 0 90px rgba(194,40,60,.35)}}
html body.premium-lp .vip-price-note em{font-size:19px;letter-spacing:.1em;background:linear-gradient(100deg,#d8b571,#fff4d2 45%,#e0485a 70%,#d8b571);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:vipShine 10s linear infinite}
/* ボタン: 金のオーラ（ボタン自体は overflow:hidden なので filter で外側に光らせる） */
/* 2026-10-23 ボタンは左から右へ流れる光だけにする（脈打つオーラはやめた） */
@keyframes vipBtnAura{
  0%,100%{filter:drop-shadow(0 0 4px rgba(255,220,140,.35)) brightness(1)}
  50%{filter:drop-shadow(0 0 18px rgba(255,214,120,.95)) drop-shadow(0 0 34px rgba(224,72,90,.45)) brightness(1.12)}}
/* 光の筋を強く・速く */
html body.premium-lp .vip-cta-block>.button.vip-cta.button-gold::after{width:55% !important;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.95) 48%,rgba(255,244,210,.9) 52%,rgba(255,255,255,0) 75%,transparent 100%) !important;mix-blend-mode:screen;animation:vipBtnSweep 2.2s cubic-bezier(.55,0,.25,1) infinite !important}
@keyframes vipBtnSweep{0%{transform:translateX(-140%) skewX(-20deg)}55%,100%{transform:translateX(260%) skewX(-20deg)}}
@media(prefers-reduced-motion:reduce){
  html body.premium-lp .vip-cta-block,html body.premium-lp .vip-price-note em,html body.premium-lp .vip-section .vip-cta-block>a.button.vip-cta.button-gold{animation:none !important}
}
/* 2026-10-23 「VIPだけの、特別な一日」を明朝に（全体のゴシック指定に負けていたため強める） */
html body.premium-lp .vip-gallery .vip-gallery-label{font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif !important;font-weight:700 !important}
html body.premium-lp .vip-gallery .vip-gallery-label small{font-family:'Cormorant Garamond',Georgia,serif !important}

/* ===== 2026-10-23 ゲスト「COMING SOON」: 電気が走るようなビリビリ演出 =====
   ふだんは金のネオンがじわっと明滅し、数秒おきに一瞬だけ文字がブレて（金と赤の残像）、枠が放電したように光る */
html body.premium-lp .guest-coming-soon{position:relative;display:inline-block;color:#fff3d4;
  text-shadow:0 0 6px rgba(255,236,190,.9),0 0 18px rgba(240,200,120,.75),0 0 42px rgba(224,170,80,.45);
  animation:rvNeon 3.6s linear infinite}
html body.premium-lp .guest-coming-soon::before,
html body.premium-lp .guest-coming-soon::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0;text-shadow:none}
html body.premium-lp .guest-coming-soon::before{color:#f3c96a;animation:rvGlitchA 3.6s steps(1,end) infinite}
html body.premium-lp .guest-coming-soon::after{color:#e0364d;mix-blend-mode:screen;animation:rvGlitchB 3.6s steps(1,end) infinite}
@keyframes rvNeon{
  0%,100%{opacity:1;filter:brightness(1)}
  30%{opacity:.93;filter:brightness(.95)}
  60%{opacity:1;filter:brightness(1.08)}
  84%{opacity:1;filter:brightness(1)}
  85%{opacity:.35;filter:brightness(2)}
  86%{opacity:1;filter:brightness(1.6)}
  88%{opacity:.5;filter:brightness(2.2)}
  89%{opacity:1;filter:brightness(1.3)}
  92%{opacity:.75}
  93%{opacity:1}}
@keyframes rvGlitchA{
  0%,84%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  85%{opacity:.9;transform:translate(-5px,-2px);clip-path:inset(8% 0 62% 0)}
  86%{opacity:.9;transform:translate(6px,1px);clip-path:inset(55% 0 18% 0)}
  87%{opacity:.8;transform:translate(-3px,2px);clip-path:inset(30% 0 40% 0)}
  88%{opacity:.9;transform:translate(4px,-1px);clip-path:inset(70% 0 4% 0)}
  89%,100%{opacity:0;transform:none}}
@keyframes rvGlitchB{
  0%,84%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  85%{opacity:.85;transform:translate(5px,2px);clip-path:inset(60% 0 12% 0)}
  86%{opacity:.85;transform:translate(-6px,-1px);clip-path:inset(12% 0 60% 0)}
  87%{opacity:.7;transform:translate(3px,-2px);clip-path:inset(42% 0 30% 0)}
  88%{opacity:.85;transform:translate(-4px,1px);clip-path:inset(2% 0 78% 0)}
  89%,100%{opacity:0;transform:none}}
/* 枠も放電したように一瞬光る */
html body.premium-lp .guest-announcement{animation:rvSpark 3.6s linear infinite}
@keyframes rvSpark{
  0%,84%,90%,100%{box-shadow:none;border-color:#a58b5970}
  85%{box-shadow:0 0 30px rgba(243,214,140,.55),inset 0 0 40px rgba(243,214,140,.18);border-color:#f3dda6}
  86%{box-shadow:none;border-color:#a58b5970}
  87%{box-shadow:0 0 50px rgba(224,72,90,.45),inset 0 0 50px rgba(243,214,140,.22);border-color:#ffe9b8}
  88%{box-shadow:0 0 18px rgba(243,214,140,.4);border-color:#d9c69e}}
@media(prefers-reduced-motion:reduce){
  html body.premium-lp .guest-coming-soon,html body.premium-lp .guest-coming-soon::before,html body.premium-lp .guest-coming-soon::after,html body.premium-lp .guest-announcement{animation:none !important}
}
/* ブレを強めに（ずれ幅を大きく、文字本体も一瞬横に弾く） */
@keyframes rvGlitchA{
  0%,84%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  85%{opacity:1;transform:translate(-14px,-3px) skewX(-8deg);clip-path:inset(8% 0 62% 0)}
  86%{opacity:1;transform:translate(16px,2px);clip-path:inset(55% 0 18% 0)}
  87%{opacity:.9;transform:translate(-9px,3px) skewX(6deg);clip-path:inset(30% 0 40% 0)}
  88%{opacity:1;transform:translate(12px,-2px);clip-path:inset(70% 0 4% 0)}
  89%,100%{opacity:0;transform:none}}
@keyframes rvGlitchB{
  0%,84%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  85%{opacity:.95;transform:translate(13px,3px);clip-path:inset(60% 0 12% 0)}
  86%{opacity:.95;transform:translate(-16px,-2px) skewX(8deg);clip-path:inset(12% 0 60% 0)}
  87%{opacity:.85;transform:translate(9px,-3px);clip-path:inset(42% 0 30% 0)}
  88%{opacity:.95;transform:translate(-12px,2px);clip-path:inset(2% 0 78% 0)}
  89%,100%{opacity:0;transform:none}}
@keyframes rvNeon{
  0%,100%{opacity:1;filter:brightness(1);transform:none}
  30%{opacity:.93;filter:brightness(.95)}
  60%{opacity:1;filter:brightness(1.08)}
  84%{opacity:1;filter:brightness(1);transform:none}
  85%{opacity:.35;filter:brightness(2);transform:translateX(3px)}
  86%{opacity:1;filter:brightness(1.6);transform:translateX(-4px)}
  87%{transform:translateX(2px)}
  88%{opacity:.5;filter:brightness(2.2);transform:translateX(-2px)}
  89%{opacity:1;filter:brightness(1.3);transform:none}
  92%{opacity:.75}
  93%{opacity:1}}

/* ===== 2026-10-23 追従の「参加お申し込み」を目立たせる: 濃い金＋金のふち＋左から右へ流れる光（VIPボタンと同じ演出）
   PC: 画面下の追従バー ／ スマホ: ヘッダーの「参加お申し込み」（スマホはこれが追従ボタン） ===== */
html body .mobile-cta.sticky-cta a:last-child,
html body.premium-lp .header .header-btn-apply{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(110deg,#c9a052 0%,#ffe7a8 38%,#f6d58a 55%,#c49646 100%) !important;
  border:1px solid #fff0c4 !important;color:#1a1308 !important;font-weight:700 !important;
  box-shadow:0 0 0 1px rgba(201,160,82,.55),0 6px 22px rgba(224,180,90,.45),inset 0 1px 0 rgba(255,255,255,.7) !important}
html body .mobile-cta.sticky-cta a:last-child::after,
html body.premium-lp .header .header-btn-apply::after{content:'';position:absolute;top:0;bottom:0;left:0;width:45%;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.95) 48%,rgba(255,244,210,.85) 52%,rgba(255,255,255,0) 75%,transparent 100%);
  transform:translateX(-140%) skewX(-20deg);animation:vipBtnSweep 2.6s cubic-bezier(.55,0,.25,1) infinite}
@media(min-width:801px){
  html body .mobile-cta.sticky-cta a:last-child{min-height:58px;font-size:17px !important;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){
  html body .mobile-cta.sticky-cta a:last-child::after,html body.premium-lp .header .header-btn-apply::after{animation:none;display:none}
}
/* 2026-10-23 VIPボタンの光（左から右へ流れる筋）は不要とのことで止める */
html body.premium-lp .vip-cta-block>.button.vip-cta.button-gold::after{animation:none !important;display:none !important}

/* 2026-10-23 申込セクションの「参加費無料」: 赤のメタリックグラデの長方形に白文字 */
html body.premium-lp .contact-lead .contact-lead-emph{display:inline-block;margin:14px 0 2px;padding:10px 34px;border-radius:3px;
  background:linear-gradient(135deg,#7a0d1c 0%,#c8263c 42%,#e2475a 55%,#a3182b 78%,#6b0a17 100%) !important;
  border:1px solid rgba(255,190,190,.45);
  box-shadow:0 6px 18px rgba(150,18,32,.45),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.25);
  color:#fff !important;-webkit-text-fill-color:#fff;font-size:1.3em;font-weight:700 !important;letter-spacing:.18em;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.45)}
html body.premium-lp .contact-lead .contact-lead-note{margin-top:10px}
@media(max-width:540px){html body.premium-lp .contact-lead .contact-lead-emph{padding:8px 26px;font-size:1.2em}}
/* 「参加費無料」は立体感なしの平らな赤い箱にする */
html body.premium-lp .contact-lead .contact-lead-emph{box-shadow:none !important;border:0 !important;border-radius:2px;text-shadow:none;background:linear-gradient(120deg,#8e1222,#c8263c 55%,#9c1627) !important}

/* ===== 2026-10-23 申込フォームの送信ボタン「お申し込みを確定する」: 立体的な金ボタン＋左から右へ流れる光 ===== */
html body.premium-lp #apply .apply-submit{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#fff0c2 0%,#f2d38a 22%,#d9ad5c 55%,#b8893d 100%) !important;
  border:1px solid #fff2c8 !important;border-bottom:5px solid #7d5a24 !important;border-radius:6px !important;
  color:#1c1408 !important;text-shadow:0 1px 0 rgba(255,245,215,.6);
  box-shadow:0 10px 24px rgba(0,0,0,.55),0 0 22px rgba(224,180,90,.35),inset 0 2px 0 rgba(255,255,255,.75),inset 0 -8px 14px rgba(120,80,20,.25) !important;
  transition:transform .12s ease,border-bottom-width .12s ease,box-shadow .12s ease,filter .2s ease !important}
html body.premium-lp #apply .apply-submit>span{position:relative;z-index:2}
html body.premium-lp #apply .apply-submit::after{content:'' !important;display:block !important;position:absolute;top:0;bottom:0;left:0;width:45%;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.9) 48%,rgba(255,244,210,.85) 52%,rgba(255,255,255,0) 75%,transparent 100%);
  transform:translateX(-140%) skewX(-20deg);animation:vipBtnSweep 2.6s cubic-bezier(.55,0,.25,1) infinite}
html body.premium-lp #apply .apply-submit:hover{filter:brightness(1.06)}
html body.premium-lp #apply .apply-submit:active{transform:translateY(4px) !important;border-bottom-width:1px !important;box-shadow:0 4px 10px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.6) !important}
html body.premium-lp #apply .apply-submit:disabled{filter:grayscale(.3) brightness(.9)}
html body.premium-lp #apply .apply-submit:disabled::after{animation:none;display:none !important}
@media(prefers-reduced-motion:reduce){html body.premium-lp #apply .apply-submit::after{animation:none;display:none !important}}

/* ===== 2026-10-23 VIPの申込ボックスはいちばん売りたいCTAなので、箱・文字・ボタンを一回り大きく ===== */
html body.premium-lp .vip-cta-block{max-width:860px !important;padding:44px 48px 46px !important}
html body.premium-lp .vip-price-note{margin-bottom:28px !important}
html body.premium-lp .vip-price-note em{font-size:30px !important;letter-spacing:.14em;margin-bottom:14px !important}
html body.premium-lp .vip-price-note small{font-size:16px !important;line-height:2 !important;max-width:680px;margin:0 auto}
html body.premium-lp .vip-cta-block>.button.vip-cta{max-width:600px !important;width:min(100%,600px) !important}
@media(max-width:800px){
  html body.premium-lp .vip-cta-block{padding:32px 20px 34px !important}
  html body.premium-lp .vip-price-note em{font-size:24px !important}
  html body.premium-lp .vip-price-note small{font-size:14.5px !important}
  html body.premium-lp .vip-cta-block>.button.vip-cta{width:100% !important}
}
/* VIPボタンは大きすぎたため、FVの金ボタン（幅340px）の約1.1倍に戻す */
@media(min-width:801px){html body.premium-lp .vip-cta-block>.button.vip-cta{max-width:375px !important;width:375px !important}}
@media(max-width:800px){html body.premium-lp .vip-cta-block>.button.vip-cta{width:min(100%,340px) !important}}
/* VIPボタンは「参加するメリット」の申込ボタン（PC 460×111px）と同じ大きさにそろえる */
@media(min-width:801px){html body.premium-lp .vip-cta-block>.button.vip-cta{max-width:460px !important;width:460px !important}}

/* ===== 2026-10-23 申込フォーム下の「協賛・出展のご相談」: シルバーの箱に収める（参加者向けフォームと区別） ===== */
html body.premium-lp .rv-collab-box{position:relative;max-width:720px;margin:48px auto 8px;padding:34px 36px 30px;text-align:center;border-radius:6px;
  border:1px solid transparent;
  background:linear-gradient(160deg,#2c2e32 0%,#16171a 45%,#202226 100%) padding-box,
             linear-gradient(135deg,#f4f5f7,#8d9096 30%,#e3e5e8 50%,#7b7e84 75%,#d7d9dc) border-box;
  box-shadow:0 14px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18)}
html body.premium-lp .rv-collab-box::before{content:'';position:absolute;inset:7px;border:1px solid rgba(220,222,226,.16);border-radius:4px;pointer-events:none}
html body.premium-lp .rv-collab-label{margin:0 0 12px;color:#eef0f2;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;font-size:22px;font-weight:700 !important;letter-spacing:.08em;line-height:1.5}
html body.premium-lp .rv-collab-label small{display:block;margin-bottom:6px;font-family:'Cormorant Garamond',Georgia,serif !important;font-size:13px;font-weight:700;letter-spacing:.3em;color:#b9bcc2}
html body.premium-lp .rv-collab-text{margin:0 0 22px;color:#d4d6da !important;font-size:14.5px;line-height:1.9}
html body.premium-lp .rv-collab-box .apply-buttons{margin:0 !important}
@media(max-width:540px){
  html body.premium-lp .rv-collab-box{margin-top:36px;padding:26px 18px 22px}
  html body.premium-lp .rv-collab-label{font-size:18px}
  html body.premium-lp .rv-collab-text{font-size:13.5px}
}

/* ===== 2026-10-23 光る筋の付け替え: ハンバーガー横（ヘッダー）の「参加お申し込み」は光らせない／FVのボタン3つを光らせる ===== */
html body.premium-lp .header .header-btn-apply::after{content:none !important;animation:none !important}
html body.premium-lp .hero-actions>a.button-gold,
html body.premium-lp .hero-actions>a.button-vip-link,
html body.premium-lp .hero-actions>a.button-collab-img{position:relative;overflow:hidden;isolation:isolate}
html body.premium-lp .hero-actions>a.button-gold::after,
html body.premium-lp .hero-actions>a.button-vip-link::after,
html body.premium-lp .hero-actions>a.button-collab-img::after{content:'';position:absolute;top:0;bottom:0;left:0;width:45%;z-index:3;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.85) 48%,rgba(255,248,225,.8) 52%,rgba(255,255,255,0) 75%,transparent 100%);
  transform:translateX(-140%) skewX(-20deg);animation:vipBtnSweep 2.8s cubic-bezier(.55,0,.25,1) infinite}
/* 3つが同時に光らないよう少しずらす */
html body.premium-lp .hero-actions>a.button-vip-link::after{animation-delay:.35s;background:linear-gradient(105deg,transparent 0%,rgba(255,236,190,0) 25%,rgba(255,236,190,.55) 50%,rgba(255,236,190,0) 75%,transparent 100%)}
html body.premium-lp .hero-actions>a.button-collab-img::after{animation-delay:.7s}
@media(prefers-reduced-motion:reduce){
  html body.premium-lp .hero-actions>a::after{animation:none !important;display:none !important}
}
/* タイムスケジュールの時刻: Cormorant は数字の高さが揃わない（オールドスタイル数字）ため、Noto Sans の揃った数字にする */
html body.premium-lp .stage-timetable-list time{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;font-weight:700 !important;font-variant-numeric:lining-nums tabular-nums;font-size:30px;letter-spacing:.02em}
@media(max-width:700px){html body.premium-lp .stage-timetable-list time{font-size:26px}}

/* ===== 2026-10-23 スマホ・タブレット（800px以下）: ヘッダーはロゴとハンバーガーだけの細い帯にし、
   「参加お申し込み」は画面下の追従ボタンに戻す（右下の動画プレーヤーは停止済みなので重ならない） ===== */
@media(max-width:800px){
  html body.premium-lp .header{height:56px !important}
  html body.premium-lp .header .header-cta-group{display:none !important}
  html body.premium-lp .header .brand{width:96px !important}
  html{scroll-padding-top:64px}
  html body .mobile-cta.sticky-cta{display:grid !important;position:fixed;left:0;right:0;bottom:0;z-index:40;grid-template-columns:1fr !important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:rgba(12,11,9,.96);border-top:1px solid #6f6044;box-shadow:0 -6px 18px rgba(0,0,0,.45)}
  html body .mobile-cta.sticky-cta a:last-child{min-height:52px;font-size:15px !important;letter-spacing:.1em;border-radius:5px}
  html body footer{padding-bottom:96px !important}
}
@media(max-width:360px){html body.premium-lp .header .brand{width:88px !important}}
@media(max-width:800px){html body .mobile-cta.sticky-cta{background:#0c0b09 !important;border-top:1px solid #6f6044 !important}}
/* スマホの追従バーは画面幅いっぱい（左右のレール幅ぶん内側に寄せる既存指定を打ち消す） */
@media(max-width:800px){html body .mobile-cta.sticky-cta{left:0 !important;right:0 !important;width:auto !important;max-width:none !important;transform:none}
  html body .mobile-cta.sticky-cta.is-hidden{transform:translateY(120%)}}

/* 2026-10-23 左右の「REAL VALUE」ロゴのレールは、スクロール中も止めずに流し続ける
   （以前はスマホの描画負荷を下げるためスクロール中だけ一時停止していた） */
html body.is-scrolling .rv-studio-rail-track,
html body .rv-studio-rail-track{animation-play-state:running !important}

/* 2026-10-23 スマホ: CONTENT 02「トークセッション＆学生によるAI動画ピッチコンテスト」がはみ出すため、
   見出しは折り返しを許して文字を小さめに、写真下の英字キャプションも小さくして収める */
@media(max-width:540px){
  html body.premium-lp .experience-grid article>h3{white-space:normal !important;overflow-wrap:anywhere;font-size:min(20px,calc((100vw - 80px) / 13.5)) !important;line-height:1.5 !important}
  html body.premium-lp .experience-grid figcaption{font-size:9px !important;letter-spacing:0 !important;white-space:normal;max-width:calc(100% - 8px);line-height:1.35}
}
/* FVのボタン3つは同じタイミングで光らせる（ずらしをやめる） */
html body.premium-lp .hero-actions>a::after{animation-delay:0s !important}

/* 2026-10-23 スマホの追従ボタンが Safari の下のツールバーに埋もれる対策:
   見えている範囲の下端（JSで --vv-bottom を計算）に置き、iPhoneのホームバーの高さぶん余白を取る。
   描画の取り残しを防ぐため、独立したレイヤーで描く */
@media(max-width:800px){
  html body .mobile-cta.sticky-cta{bottom:var(--vv-bottom,0px) !important;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px)) !important;
    transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}
  html body .mobile-cta.sticky-cta.is-hidden{transform:translate3d(0,120%,0);-webkit-transform:translate3d(0,120%,0)}
}

/* 2026-10-23 FV動画を縦長（9:16）の新しい動画に差し替え。動画内の文字が切れないよう枠も9:16にする */
html body.premium-lp .hero-visual-only .hero-media{
  aspect-ratio:9 / 16 !important;
  max-height:none !important;
  background:#000 !important;
}
@media (min-width:1024px){
  /* 左の文字ブロックと動画をくっつけて並べる（隙間は gap の 8px だけ） */
  html body.premium-lp .hero-visual-only{
    gap:8px !important;
    column-gap:8px !important;
    padding-bottom:24px !important;
  }
  html body.premium-lp .hero-visual-only .hero-content,
  html body.premium-lp .hero-visual-only .hero-content.container{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body.premium-lp .hero-visual-only .hero-media{
    flex:0 0 520px !important;
    flex-basis:520px !important;
    width:520px !important;
    max-width:520px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
@media (min-width:801px) and (max-width:1023px){
  html body.premium-lp .hero-visual-only .hero-media{
    width:min(440px, 70vw) !important;
    max-width:min(440px, 70vw) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media (max-width:800px){
  html body.premium-lp .hero-visual-only .hero-media{
    /* スマホは画面の幅いっぱい */
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }
}
/* 2026-10-23 PCのFV動画：左端のぼかし（22%）が削りすぎに見えるため、端だけ薄く溶かす程度にする */
@media (min-width:1024px){
  html body.premium-lp .hero-visual-only .hero-media{
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 3%, #000 7%, #000 95%, rgba(0,0,0,.6) 98.5%, rgba(0,0,0,0) 100%) !important;
    mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 3%, #000 7%, #000 95%, rgba(0,0,0,.6) 98.5%, rgba(0,0,0,0) 100%) !important;
  }
}

/* 2026-10-23 スマホのFV: 最初の画面は動画だけ（ヘッダーの下いっぱい）。
   動画は画面に貼りついたまま、下にスクロールするとロゴ・日付・ボタンが上に重なってせり上がる */
@media (max-width:800px){
  html body.premium-lp .hero.hero-visual-only{
    overflow:clip !important;          /* hidden だと sticky が効かないため clip にする */
    padding-top:10px !important;
    min-height:0 !important;
  }
  html body.premium-lp .hero-visual-only .hero-media{
    position:sticky !important;
    top:56px !important;
    height:calc(100svh - 56px) !important;
    aspect-ratio:auto !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    z-index:1 !important;
  }
  /* 動画の下端に「SCROLL」の合図 */
  html body.premium-lp .hero-visual-only .hero-media::after{
    content:"SCROLL";
    position:absolute;
    left:50%;
    bottom:calc(18px + env(safe-area-inset-bottom, 0px));
    transform:translateX(-50%);
    padding-bottom:30px;
    color:rgba(255,255,255,.85);
    font:600 10px/1 "Noto Sans JP", sans-serif;
    letter-spacing:.32em;
    text-indent:.32em;
    background:linear-gradient(#e7ca8a,#e7ca8a) center bottom / 1px 24px no-repeat;
    animation:rvScrollHint 1.8s ease-in-out infinite;
    pointer-events:none;
    z-index:2;
  }
  html body.premium-lp .hero-visual-only .hero-content,
  html body.premium-lp .hero-visual-only .hero-content.container{
    position:relative !important;
    z-index:3 !important;
    padding-top:72px !important;
  }
  /* 文字が動画の上でも読めるよう、画面幅いっぱいの暗い下地を敷く */
  html body.premium-lp .hero-visual-only .hero-content::before{
    content:"";
    position:absolute;
    top:-80px;
    bottom:-40px;
    left:calc(50% - 50vw);
    right:calc(50% - 50vw);
    background:linear-gradient(180deg, rgba(10,10,10,0) 0, rgba(10,10,10,.86) 110px, rgba(10,10,10,.93) 100%);
    z-index:-1;
    pointer-events:none;
  }
  html body.premium-lp .hero-visual-only .hero-content.reveal-ready > *{
    opacity:0 !important;
    transform:translate3d(0,56px,0) scale(.96) !important;
    transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1) !important;
    animation:none !important;
  }
  html body.premium-lp .hero-visual-only .hero-content.reveal-ready.is-revealed > *{
    opacity:1 !important;
    transform:none !important;
  }
  html body.premium-lp .hero-visual-only .hero-content.is-revealed > *:nth-child(2){ transition-delay:.12s; }
  html body.premium-lp .hero-visual-only .hero-content.is-revealed > *:nth-child(3){ transition-delay:.24s; }
  html body.premium-lp .hero-visual-only .hero-content.is-revealed > *:nth-child(4){ transition-delay:.36s; }
  html body.premium-lp .hero-visual-only .hero-content.is-revealed > *:nth-child(5){ transition-delay:.48s; }
}
@keyframes rvScrollHint{
  0%,100%{ opacity:.45; background-size:1px 10px; }
  50%{ opacity:1; background-size:1px 24px; }
}
/* 2026-10-23 PC: 左の文字ブロックを上寄せにして、ヘッダーメニューに近づける（縦中央だと動画が長い分だけ下がるため） */
@media (min-width:1024px){
  html body.premium-lp .hero-visual-only .hero-content,
  html body.premium-lp .hero-visual-only .hero-content.container{
    align-self:flex-start !important;
    margin-top:-20px !important;
  }
}
/* 2026-10-23 スマホ: 背の低い画面でも文字ブロックが動画に食い込まないようにし、
   暗い下地も文字と一緒に、スクロールしてから出す */
@media (max-width:800px){
  html body.premium-lp .hero-visual-only .hero-content,
  html body.premium-lp .hero-visual-only .hero-content.container{
    margin-top:0 !important;
  }
  html body.premium-lp .hero-visual-only .hero-content.reveal-ready::before{
    opacity:0;
    transition:opacity .8s ease;
  }
  html body.premium-lp .hero-visual-only .hero-content.reveal-ready.is-revealed::before{
    opacity:1;
  }
}
/* 2026-10-23 スマホ: せり上がる文字・ボタンの下地は透過させず黒100%にする（視認性優先） */
@media (max-width:800px){
  html body.premium-lp .hero-visual-only .hero-content::before{
    top:0 !important;
    background:#000 !important;
  }
}

/* 2026-10-23 申込フォームのプラン選択: どちらを選んでいるか一目でわかるように、
   選択中のカードを赤枠で囲み「選択中」の札を付ける。選んでいない方は少し沈ませる */
html body.premium-lp #apply .plan-select-option{
  position:relative !important;
  transition:opacity .25s ease, filter .25s ease, box-shadow .25s ease !important;
}
html body.premium-lp #apply .plan-select-option:has(input:checked){
  outline:3px solid #e0262f !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 6px rgba(224,38,47,.18), 0 10px 26px rgba(224,38,47,.25) !important;
  opacity:1 !important;
  filter:none !important;
}
/* VIPカードは ::after を光の演出に使っているので、札は中身（.plan-select-body）側に付けてカード右上に置く */
html body.premium-lp #apply .plan-select-option{
  padding-top:34px !important;
}
html body.premium-lp #apply .plan-select-option:has(input:checked) .plan-select-body::after{
  content:"✓ 選択中";
  position:absolute;
  top:0;
  right:0;
  padding:5px 12px 5px 14px;
  border-radius:0 0 0 6px;
  background:#e0262f;
  color:#fff;
  font:700 12px/1.2 "Noto Sans JP", sans-serif;
  letter-spacing:.12em;
  z-index:3;
  pointer-events:none;
}
html body.premium-lp #apply .plan-select-option:not(:has(input:checked)){
  opacity:.5 !important;
  filter:saturate(.35) !important;
}
html body.premium-lp #apply .plan-select-option:not(:has(input:checked)):hover{
  opacity:.8 !important;
}

/* 2026-10-24 学生だけに出す追加項目（学生団体名・招待者名） */
html body.premium-lp #apply .student-fields[hidden]{display:none!important}
html body.premium-lp #apply .student-fields:not([hidden]){display:flex;flex-direction:column;gap:26px}
@media (max-width:800px){html body.premium-lp #apply .student-fields:not([hidden]){gap:22px}}
