/* 30日ホームワーク販売ページ。FUサイト共通クラス(.fu-section, .fu-wrap, .fu-paper 等)を土台に、固有の見た目だけ .p30- で追加する */
.p30{word-break:keep-all;line-break:strict}
.p30 p,.p30 h1,.p30 h2,.p30 h3,.p30 li,.p30 td{word-break:auto-phrase}
.p30 h1,.p30 h2,.p30 h3{text-wrap:balance}
.p30 p,.p30 li{text-wrap:pretty}
.p30 .fu-brand{display:flex;flex-direction:column;line-height:1.2;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;color:var(--navy);text-decoration:none}
.p30 .fu-brand small{font-size:.7rem;letter-spacing:.1em;color:var(--gold)}
.p30-sp{display:none}
@media(max-width:700px){.p30-sp{display:inline}}

.p30-hero{text-align:center;background:linear-gradient(180deg,#fbf6ee 0%,#fff 100%)}
.p30-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(1.6rem,4.6vw,2.6rem);line-height:1.5;color:var(--navy);margin:12px 0 20px}
.p30-hero .fu-lead{max-width:680px;margin-inline:auto}
.p30-eyebrow{font-size:.85rem;letter-spacing:.08em;color:var(--gold);font-weight:700;margin:0}
.p30-price{margin:24px 0 8px}
.p30-price strong{font-size:2.2rem;color:var(--navy);margin-right:.3em}
.p30-price span{font-size:.85rem;color:var(--muted)}

.p30-btn{display:inline-block;box-sizing:border-box;max-width:100%;padding:18px 32px;border:none;border-radius:12px;cursor:pointer;
  font-size:1.05rem;font-weight:800;letter-spacing:.02em;color:#fff;text-decoration:none;text-align:center;
  background:linear-gradient(180deg,#d6b27a 0%,#bd9152 55%,#94692f 100%);box-shadow:0 5px 0 #6e4d22,0 12px 22px rgba(60,40,10,.25);
  transition:transform .12s ease,box-shadow .12s ease}
.p30-btn:hover{filter:brightness(1.05)}
.p30 .p30-btn,.p30 .p30-btn:visited{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.p30-btn:active{transform:translateY(4px);box-shadow:0 1px 0 #6e4d22}
.p30-btn-line{background:linear-gradient(180deg,#12d768 0%,#06c755 55%,#04a648 100%);box-shadow:0 5px 0 #04893f,0 12px 24px rgba(6,199,85,.3)}
.p30-btn-line:active{box-shadow:0 1px 0 #04893f}

.p30-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
.p30-list li{padding:14px 18px 14px 44px;position:relative;background:#fff;border:1px solid var(--line);border-radius:10px}
.p30-list li::before{content:"✓";position:absolute;left:16px;top:14px;color:var(--gold);font-weight:800}
.p30-list-muted li::before{content:"—";color:var(--muted)}
.p30-sub{margin-top:28px;color:var(--navy)}

.p30-steps{list-style:none;counter-reset:p30;padding:0;margin:24px 0;display:grid;gap:14px}
.p30-steps li{counter-increment:p30;position:relative;padding:16px 18px 16px 64px;background:#fff;border:1px solid var(--line);border-radius:12px}
.p30-steps li::before{content:counter(p30);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.p30-steps strong{display:block;color:var(--navy);margin-bottom:4px}
.p30-steps span{color:var(--muted)}
.p30-ai{margin-top:28px;padding:22px 20px;background:#fff;border-left:3px solid var(--gold);border-radius:4px}
.p30-ai h3{margin-top:0;color:var(--navy)}
.p30-note{font-size:.85rem;color:var(--muted)}

.p30-weeks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.p30-week{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:#fff}
.p30-week h3{margin:0 0 10px;color:var(--navy)}
.p30-week h3 span{display:inline-block;font-size:.75rem;background:var(--gold);color:#fff;border-radius:999px;padding:2px 10px;margin-right:8px;vertical-align:.15em}
.p30-week ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.p30-week li{line-height:1.6}
.p30-week small{display:block;color:var(--muted)}
.p30-no{font-weight:700;color:var(--gold);margin-right:.5em}
@media(max-width:700px){.p30-weeks{grid-template-columns:1fr}}

.p30-faq{border-bottom:1px solid var(--line);padding:14px 0}
.p30-faq summary{cursor:pointer;font-weight:700;color:var(--navy)}
.p30-faq p{margin:10px 0 0}

.p30-confirm{width:100%;border-collapse:collapse;margin:20px 0;background:#fff}
.p30-confirm th,.p30-confirm td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;line-height:1.7}
.p30-confirm th{width:30%;background:#faf7f1;color:var(--navy);font-weight:700}
@media(max-width:600px){.p30-confirm th,.p30-confirm td{display:block;width:auto}.p30-confirm th{border-bottom:none}}
.p30-apply-form{text-align:center;margin-top:24px}
.p30-agree{display:block;margin:0 0 18px;font-weight:700}
.p30-agree input{width:1.2em;height:1.2em;vertical-align:-.2em;margin-right:.4em}
.p30-closed{text-align:center;padding:18px;background:#fff;border:1px dashed var(--gold);border-radius:10px}
#p30-apply .p30-btn-line{display:block;max-width:420px;margin:16px auto 0}
.p30-pending{color:var(--muted)}
.p30-law-title{font-size:1.6rem;color:var(--navy)}
.p30-thanks{max-width:720px}
.p30-footer{text-align:center;font-size:.85rem}

/* ファーストビューの画像(1.0.2) */
.p30-hero-visual{display:block;margin:16px auto 8px;max-width:1100px}
.p30-hero-visual img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 10px 30px rgba(21,38,66,.12)}
@media(min-width:701px){
  /* 画像に見出し・説明・価格が入っているので、文字は画面に出さず、検索と読み上げのために残す */
  .p30-hero h1,.p30-hero .fu-lead,.p30-hero .p30-price strong{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .p30-hero .p30-price{margin:12px 0 8px}
}
@media(max-width:700px){
  .p30-hero-visual{margin:12px -4px 4px}
  .p30-hero-visual img{border-radius:12px;max-height:62vh;object-fit:cover;object-position:center top}
}

/* 1.1.2 迷っている方への無料相談・SNS */
.p30-consult{margin:28px 0 8px;padding:18px 20px;border:1px solid #d9e7dd;border-radius:14px;background:#f5fbf7}
.p30-consult p{margin:0 0 10px}
.p30-btn-sm{font-size:.95rem;padding:12px 22px}
.p30-sns a{margin:0 .35em}

/* 1.1.3 向いている方/向いていない方のピクトグラム、話し手の写真と元RIZAPの経歴 */
.p30-list-ic li{padding:14px 18px 14px 70px;min-height:52px;display:flex;align-items:center;box-sizing:border-box}
.p30-list-ic li::before{content:none}
.p30-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#fbf3e6;color:var(--gold);display:flex;align-items:center;justify-content:center}
.p30-ic svg{width:22px;height:22px}
.p30-list-muted .p30-ic{background:#f1f2f4;color:var(--muted)}
.p30-speaker{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:center}
.p30-speaker-text h2{margin-top:0}
.p30-rizap{display:inline-block;margin:0 0 10px;padding:6px 16px;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.06em}
.p30-speaker-name{font-size:1.5rem;font-weight:800;color:var(--navy);margin:0 0 14px;line-height:1.4}
.p30-speaker-name small{display:block;font-size:.8rem;font-weight:500;color:var(--muted)}
.p30-career{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.p30-career li{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:10px 12px;font-size:.82rem;color:var(--muted);line-height:1.5}
.p30-career strong{display:block;font-size:1.25rem;color:var(--navy)}
.p30-speaker-photo{margin:0}
.p30-speaker-photo{background:radial-gradient(circle at 50% 58%,#f6ead6 0%,#fbf6ee 55%,rgba(251,246,238,0) 71%)}
.p30-speaker-photo img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 18px rgba(29,43,69,.18))}
@media(max-width:800px){
  .p30-speaker{grid-template-columns:1fr;gap:20px}
  .p30-speaker-photo{order:-1;width:220px;max-width:70%;justify-self:center;margin:0}
  .p30-career{gap:6px}
  .p30-career li{padding:8px;font-size:.7rem;margin:0}
  .p30-career strong{font-size:1rem}
}
.p30-bonus{margin:20px 0 24px}
.p30-bonus img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 10px 24px rgba(29,43,69,.12)}

/* 1.1.3 お客様の変化(ビフォーアフター+対談動画)→「次は、あなたの番です」 */
.p30-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 12px}
.p30-voice{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.p30-voice-who{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.p30-voice-who strong{color:var(--navy);font-size:1.05rem}
.p30-voice-who span{background:var(--gold);color:#fff;border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:700}
.p30-voice-ba{display:block;width:100%;height:auto;border-radius:8px}
.p30-voice-story{margin:0;font-size:.92rem;line-height:1.8}
.p30-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:pointer;background:#000;margin-top:auto}
.p30-yt img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.p30-yt-play{position:absolute;left:50%;top:45%;width:62px;height:44px;transform:translate(-50%,-50%);background:#e62117;border-radius:12px}
.p30-yt-play::after{content:"";position:absolute;left:25px;top:13px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.p30-yt-label{position:absolute;left:0;right:0;bottom:0;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.85rem;font-weight:700}
.p30-yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:8px;margin-top:auto}
.p30-next{margin-top:28px;text-align:center;padding:28px 20px;background:#fff;border:2px solid var(--gold);border-radius:16px}
.p30-next-lead{margin:0;color:var(--muted)}
.p30-next-big{margin:6px 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;color:var(--navy)}
@media(max-width:900px){.p30-voices{grid-template-columns:1fr}}

/* 1.1.5 「こんなこと、ありませんか?」を写真つきのカードに */
.p30-worry-cards{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.p30-worry-cards li{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.p30-worry-cards img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.p30-worry-cards span{position:relative;padding:14px 16px 16px 42px;font-weight:700;color:var(--navy);line-height:1.6}
.p30-worry-cards span::before{content:"✓";position:absolute;left:16px;top:14px;color:var(--gold);font-weight:800}
@media(max-width:900px){.p30-worry-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:600px){.p30-worry-cards span{padding:10px 10px 12px 28px;font-size:.85rem}.p30-worry-cards span::before{left:10px;top:10px}}

/* 1.1.6 このLINEの価値 */
.p30-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 12px}
.p30-value{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0 0 18px}
.p30-value > p{margin:0 18px;line-height:1.8;font-size:.95rem}
.p30-value .p30-value-num{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:16px 18px 8px}
.p30-value-num strong{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:1.9rem;color:var(--navy);line-height:1.2;background:linear-gradient(transparent 62%,#f3e3c6 62%)}
.p30-value-num span{font-weight:700;color:var(--gold)}
@media(max-width:900px){.p30-values{grid-template-columns:1fr}}

/* 1.1.6 画像に動き: スクロールで浮かび上がる・写真がゆっくり寄る・マウスで立体的に傾く */
.p30-media,.p30-worry-cards li,.p30-voice-ba,.p30-bonus{overflow:hidden}
.p30-media img,.p30-worry-cards img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.p30-worry-cards li,.p30-value,.p30-voice{transition:transform .35s ease,box-shadow .35s ease;will-change:transform;transform-style:preserve-3d}
.p30-worry-cards li:hover,.p30-value:hover,.p30-voice:hover{box-shadow:0 18px 36px rgba(29,43,69,.16)}
.p30-worry-cards li:hover img,.p30-value:hover .p30-media img{transform:scale(1.07)}
.p30-anim .p30-worry-cards li,.p30-anim .p30-value,.p30-anim .p30-voice,.p30-anim .p30-bonus,.p30-anim .p30-steps li,.p30-anim .p30-list-ic li{opacity:0;transform:translateY(28px)}
.p30-anim .p30-speaker-photo{opacity:0;transform:translateX(40px) scale(.96)}
.p30-anim .p30-in,.p30-anim li.p30-in{opacity:1;transform:none;transition:opacity .8s ease var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),box-shadow .35s ease}
.p30-anim .p30-in .p30-media img,.p30-anim .p30-worry-cards li.p30-in img{animation:p30-kenburns 9s ease-out var(--d,0ms) both}
.p30-anim .p30-speaker-photo.p30-in img{animation:p30-float 6s ease-in-out 1s infinite}
.p30-ic{transition:transform .4s ease}
.p30-list-ic li:hover .p30-ic{transform:translateY(-50%) rotate(-8deg) scale(1.12)}
@keyframes p30-kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes p30-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.p30 *{animation:none!important;transition:none!important}}

/* 1.1.9 ファーストビューの動き: 写真がふわっと現れてゆっくり寄る → 見出しが1行ずつ → 説明・価格・ボタンの順に出る */
.p30-hero{overflow:hidden;position:relative}
.p30-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:720px;max-height:720px;border-radius:50%;
  background:radial-gradient(circle,rgba(214,178,122,.22) 0%,rgba(214,178,122,0) 65%);animation:p30-glow 9s ease-in-out infinite;pointer-events:none}
.p30-hero .fu-wrap{position:relative}
.p30-hero-visual{display:block;overflow:hidden;border-radius:16px}
.p30-hero-visual img{animation:p30-hero-in 1.4s cubic-bezier(.2,.7,.2,1) both,p30-hero-zoom 18s ease-out 1.4s both}
.p30-hero-h1 span{display:inline-block;animation:p30-rise .9s cubic-bezier(.2,.7,.2,1) both}
.p30-hero-h1 span:nth-of-type(1){animation-delay:.5s}
.p30-hero-h1 span:nth-of-type(2){animation-delay:.7s}
.p30-hero-h1 span:nth-of-type(3){animation-delay:.9s}
.p30-hero .p30-eyebrow{animation:p30-fade 1s ease .3s both}
.p30-hero .fu-lead{animation:p30-rise .9s ease 1.1s both}
.p30-hero .p30-price{animation:p30-pop .7s cubic-bezier(.3,1.6,.5,1) 1.35s both}
.p30-hero .p30-btn{animation:p30-rise .8s ease 1.55s both,p30-breathe 3.2s ease-in-out 2.6s infinite}
@keyframes p30-hero-in{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1.03)}}
@keyframes p30-hero-zoom{from{transform:scale(1.03)}to{transform:scale(1.1)}}
@keyframes p30-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes p30-fade{from{opacity:0}to{opacity:1}}
@keyframes p30-pop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
@keyframes p30-glow{0%,100%{transform:translate(0,0) scale(1);opacity:.8}50%{transform:translate(-4%,6%) scale(1.12);opacity:1}}

/* 1.1.9 申し込みボタンを立体的に: 厚み・光の帯が流れる・ゆっくり呼吸する・押すと沈む */
.p30-btn{position:relative;overflow:hidden;isolation:isolate;border-radius:14px;padding-right:52px;
  box-shadow:0 6px 0 #6e4d22,0 14px 26px rgba(60,40,10,.3),inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.12)}
.p30-btn::after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-52%);font-size:1.6em;line-height:1;transition:transform .25s ease}
.p30-btn::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:-1;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);
  animation:p30-shine 3.6s ease-in-out 2s infinite}
.p30-btn:hover{transform:translateY(-3px);box-shadow:0 9px 0 #6e4d22,0 20px 32px rgba(60,40,10,.35),inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.12)}
.p30-btn:hover::after{transform:translate(4px,-52%)}
.p30-btn:active{transform:translateY(5px);box-shadow:0 1px 0 #6e4d22,0 4px 10px rgba(60,40,10,.25),inset 0 2px 0 rgba(255,255,255,.3)}
.p30-btn-line{box-shadow:0 6px 0 #04893f,0 14px 26px rgba(6,199,85,.32),inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.12)}
.p30-btn-line:hover{box-shadow:0 9px 0 #04893f,0 20px 32px rgba(6,199,85,.38),inset 0 2px 0 rgba(255,255,255,.45)}
.p30-btn-line:active{box-shadow:0 1px 0 #04893f,0 4px 10px rgba(6,199,85,.25)}
.p30-next .p30-btn,#p30-apply .p30-btn{animation:p30-breathe 3.2s ease-in-out 1s infinite}
@keyframes p30-shine{0%{left:-60%}55%,100%{left:130%}}
@keyframes p30-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.03)}}
.p30 .p30-btn:hover,.p30 .p30-btn:active{animation:none}

/* 1.2.2 2026-11-09: ファーストビュー直下のスタートキャンペーン帯(通常¥9,900→今だけ¥4,980)。
   ファーストビュー並みの大きさ・強めのアニメーションにする(社長指示) */
.p30-campaign-banner{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff8ec 0%,#fef1e0 100%);
  border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:28px 16px;text-align:center}
.p30-campaign-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  animation:p30-pop .7s cubic-bezier(.3,1.7,.5,1) .1s both}
.p30-campaign-badge{display:inline-block;position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#e14a52 0%,#c7303a 100%);color:#fff;font-weight:800;font-size:1.05rem;
  line-height:1.4;letter-spacing:.02em;border-radius:999px;padding:10px 26px;box-shadow:0 4px 0 #8f1f27;
  animation:p30-campaign-badge-pulse 1.6s ease-in-out .8s infinite}
.p30-campaign-badge::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:1;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);animation:p30-shine 2.4s ease-in-out .4s infinite}
.p30-campaign-prices{display:inline-flex;align-items:baseline;gap:16px;flex-wrap:wrap;justify-content:center}
.p30-campaign-old{font-size:clamp(1.3rem,3.6vw,1.9rem);color:var(--muted);text-decoration:line-through;
  text-decoration-color:#c7303a;text-decoration-thickness:3px;opacity:.8}
.p30-campaign-new{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:800;color:#c7303a;display:inline-flex;
  align-items:baseline;gap:.2em;flex-wrap:wrap;justify-content:center}
.p30-campaign-new strong{font-size:clamp(3.2rem,11vw,5.6rem);line-height:1;font-weight:900;display:inline-block;
  text-shadow:0 2px 0 #fff,0 6px 18px rgba(199,48,58,.35);
  animation:p30-campaign-pulse 1.4s ease-in-out 1.2s infinite}
@keyframes p30-campaign-pulse{
  0%,100%{transform:scale(1);text-shadow:0 2px 0 #fff,0 6px 18px rgba(199,48,58,.35)}
  50%{transform:scale(1.16);text-shadow:0 2px 0 #fff,0 10px 30px rgba(199,48,58,.55)}
}
@keyframes p30-campaign-badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(max-width:480px){
  .p30-campaign-banner{padding:22px 12px}
  .p30-campaign-badge{font-size:.88rem;padding:9px 20px}
}
@media(prefers-reduced-motion:reduce){
  .p30-campaign-inner,.p30-campaign-badge,.p30-campaign-badge::before,.p30-campaign-new strong{animation:none!important}
}
@media(prefers-reduced-motion:reduce){.p30-btn::before{display:none}}
