/* ============================================================
   lphp.jp トップ改装・ヒーロー案C（参考：homupa-design.com のファーストビュー構成）
   上＝案Bの端末（実例が画面の中で送られる）／見出しは案Bの見た目（青いピル＋黒文字＋青マーカー）
   マーカー付きの一言／月桂樹バッジ＋価格＋手書きの一言／下に実例が流れる列
   配色は lphp.jp の青のまま。スマホ基準
   ============================================================ */
.heroC{position:relative;padding:8px 0 22px;overflow:hidden;
  background:
    radial-gradient(60vw 50vw at 80% 45%,rgba(27,79,232,.10),rgba(27,79,232,0) 70%),
    linear-gradient(180deg,#fff 0%,#F5F7FB 100%)}
.heroC::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(10,10,10,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.05) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 100%)}
.heroC > *{position:relative}

/* ---- 実例が流れる列（画像のみ） ---- */
.fv-row{overflow:hidden;padding:10px 0 16px}
.fv-track{display:flex;gap:14px;width:max-content;animation:fvScroll 70s linear infinite}
.fv-row--b .fv-track{animation-direction:reverse;animation-duration:80s}
.fv-card{flex:0 0 auto;width:236px;height:148px;border-radius:9px;overflow:hidden;background:#fff;border:1px solid var(--line-2);
  box-shadow:0 14px 26px -16px rgba(10,22,64,.35)}
.fv-card img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
@keyframes fvScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- 端末ステージ（案Bの端末：画面の中で実例が送られる） ---- */
.fv-top{padding-top:8px}
.fv-stagewrap{--h:clamp(220px,64vw,300px);margin-top:22px}
.fv-stage{position:relative;height:var(--h);touch-action:pan-y}
.fv-dev{position:absolute;left:var(--x);top:var(--y);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);pointer-events:none}
.fv-dev-in{animation:fvRise 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes fvRise{from{opacity:0;transform:translateY(46px) scale(.93)}to{opacity:1;transform:none}}
.fv-desk{--x:43%;--y:49%;width:min(80%,calc(var(--h) * 1.14));z-index:2}
.fv-desk .fv-dev-in{animation-delay:.1s}
.fv-phone{--x:82%;--y:55%;width:min(26%,calc(var(--h) * .37));z-index:3}
.fv-phone .fv-dev-in{animation-delay:.3s}

/* 画面（縦長の実例画像を1画面ずつ送る） */
.heroC .scr{position:relative;overflow:hidden;background:#0b0b0c}
/* 切り替えは「新しい画面を上に重ねて浮かび上がらせ、下の画面は出したまま」＝途中で暗くならない */
.heroC .scr .strip{position:absolute;left:0;top:0;width:100%;height:auto;display:block;opacity:0;visibility:hidden;
  transition:transform 1.15s cubic-bezier(.65,0,.35,1)}
.heroC .scr .strip.on{opacity:1;visibility:visible;z-index:2;transition:transform 1.15s cubic-bezier(.65,0,.35,1),opacity .6s ease}
.heroC .scr .strip.prev{opacity:1;visibility:visible;z-index:1;transition:none}
.heroC .glare{position:absolute;inset:0;pointer-events:none;z-index:5;
  background:linear-gradient(118deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.04) 16%,rgba(255,255,255,0) 36%)}
.heroC .scr .power{position:absolute;inset:0;z-index:4;pointer-events:none;background:#0b0b0c;animation:fvPower 1.1s ease both}
.fv-desk .power{animation-delay:.95s}
.fv-phone .power{animation-delay:1.2s}
@keyframes fvPower{0%{opacity:1;background:#0b0b0c}38%{opacity:1;background:#dfe7ff}100%{opacity:0;background:#fff}}
/* モニター（ロゴなし） */
.heroC .mon__body{border-radius:12px;padding:2px;background:linear-gradient(150deg,#fbfcfd 0%,#cfd3d8 38%,#aeb3ba 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 34px 60px -28px rgba(10,22,64,.45),0 12px 22px -18px rgba(10,22,64,.4)}
.heroC .mon__panel{border-radius:10px;background:#161618;padding:6px 6px 0}
.heroC .mon__screen{height:0;padding-bottom:62.5%;border-radius:3px}
.heroC .mon__chin{height:0;padding:2.4% 0;background:#161618;border-radius:0 0 10px 10px}
.heroC .mon__neck{width:24%;margin:0 auto;height:0;padding-bottom:5.6%;background:linear-gradient(180deg,#e6e8ea,#c2c6cc 60%,#a9aeb5);
  box-shadow:inset 6px 0 8px -6px rgba(0,0,0,.25),inset -6px 0 8px -6px rgba(0,0,0,.25)}
.heroC .mon__foot{width:40%;margin:0 auto;height:0;padding-bottom:3.2%;background:linear-gradient(180deg,#d2d6da,#aab0b7);border-radius:6px 6px 12px 12px;
  box-shadow:0 20px 28px -16px rgba(10,22,64,.5)}
/* スマホ */
.heroC .ph{border-radius:15%/7.2%;padding:4.5%;background:linear-gradient(160deg,#3a3a3d,#1a1a1c 55%,#28282b);
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 34px 50px -22px rgba(10,22,64,.6),0 12px 20px -14px rgba(10,22,64,.5)}
.heroC .ph__screen{height:0;padding-bottom:216.41%;border-radius:12%/5.6%}
.heroC .ph__island{position:absolute;z-index:6;top:2.2%;left:50%;transform:translateX(-50%);width:32%;height:3.6%;background:#000;border-radius:999px}

/* ストーリーズ風の進行バー＋いまの実例 */
.fv-works{display:flex;flex-direction:column;align-items:center;gap:4px;width:min(84%,380px);margin:6px auto 0}
.fv-works > *{opacity:0;animation:fvFade .8s ease 1.4s both}
@keyframes fvFade{to{opacity:1}}
.fv-bars{display:flex;gap:5px;width:100%}
.fv-bars button{flex:1;position:relative;height:16px;padding:0;border:0;background:none;cursor:pointer}
.fv-bars button::before{content:"";position:absolute;left:0;right:0;top:7px;height:2.5px;border-radius:3px;background:rgba(10,10,10,.13)}
.fv-bars i{position:absolute;left:0;top:7px;height:2.5px;width:0;border-radius:3px;background:var(--accent)}
.fv-wlink{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:.02em}
.fv-wlink .go{font-weight:600;color:var(--muted)}
.fv-wlink .wn{transition:opacity .3s ease}
.fv-wlink.is-swap .wn{opacity:0}

/* ---- 見出し（案Bの見た目：青いピル＋黒文字＋「最高クオリティ」に青マーカー） ---- */
.fv-copy{padding-top:6px}
.heroC h1{margin:0;font-weight:800;max-width:none}
.fv-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 11px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.3;color:var(--accent);
  background:rgba(27,79,232,.06);border:1px solid rgba(27,79,232,.18);animation:fvUp .8s ease .2s both}
.fv-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(27,79,232,.14)}
.fv-title{display:block;margin-top:12px;font-family:"Noto Sans JP","Inter",sans-serif;font-size:clamp(30px,9.2vw,46px);line-height:1.16;
  letter-spacing:-.01em;font-feature-settings:"palt" 1;color:var(--ink)}
.fv-title .l{display:block;padding-bottom:.06em;animation:fvUp .9s cubic-bezier(.16,1,.3,1) both}
.fv-title .l:nth-child(1){animation-delay:.35s}
.fv-title .l:nth-child(2){animation-delay:.5s}
.fv-title .en{font-family:"Inter",sans-serif;letter-spacing:-.035em;margin-right:.04em}
.fv-title .mk{position:relative;display:inline-block;z-index:0}
.fv-title .mk::after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.1em;height:.28em;z-index:-1;border-radius:2px;
  background:rgba(27,79,232,.22);transform:scaleX(0);transform-origin:left;animation:fvMarkX .9s cubic-bezier(.65,0,.35,1) 1.2s forwards}
@keyframes fvMarkX{to{transform:scaleX(1)}}
@keyframes fvUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
/* マーカー付きの説明文 */
.fv-sub{margin-top:14px;font-size:clamp(14.5px,4.1vw,20px);font-weight:700;line-height:1.85;color:var(--ink);font-feature-settings:"palt" 1;animation:fvUp .8s ease .7s both}
.fv-sub .mk{background:linear-gradient(transparent 58%,rgba(27,79,232,.2) 58%) no-repeat 0 0/0% 100%;animation:fvMark 1s cubic-bezier(.65,0,.35,1) 1.4s forwards}
@keyframes fvMark{to{background-size:100% 100%}}

/* ---- 月桂樹バッジ＋価格 ---- */
.fv-offer{display:flex;align-items:center;gap:10px;margin-top:20px}
.fv-laurel{position:relative;flex:0 0 auto;width:112px;height:112px;display:grid;place-items:center;animation:fvPop .8s cubic-bezier(.34,1.56,.64,1) 1s both}
.fv-laurel svg{position:absolute;inset:0;width:100%;height:100%}
.fv-laurel .tx{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.05;color:var(--accent);font-weight:800}
.fv-laurel .tx small{font-size:11px;color:var(--ink-2)}
.fv-laurel .tx b{font-family:"Inter","Noto Sans JP",sans-serif;font-size:22px;letter-spacing:-.03em;margin:3px 0}
.fv-laurel .tx b i{font-style:normal;font-size:13px;letter-spacing:0}
@keyframes fvPop{from{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:none}}
.fv-price{flex:1;min-width:0;animation:fvUp .8s ease 1.1s both}
.fv-price-top{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.fv-tag{display:inline-block;flex:0 0 auto;white-space:nowrap;padding:5px 10px;font-size:13px;font-weight:800;color:#fff;letter-spacing:.04em;background:linear-gradient(90deg,#0E2EAB,#1B4FE8);
  clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.fv-hand{position:relative;font-family:"Yusei Magic","Noto Sans JP",sans-serif;font-size:clamp(15px,4.4vw,22px);color:var(--accent);transform:rotate(-7deg);white-space:nowrap}
.fv-hand svg{position:absolute;left:-2%;right:-2%;bottom:-8px;width:104%;height:10px;overflow:visible}
.fv-hand path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:fvDraw .7s ease 1.9s forwards}
@keyframes fvDraw{to{stroke-dashoffset:0}}
.fv-amount{display:flex;align-items:baseline;gap:2px;margin-top:4px;line-height:1}
.fv-amount .num{font-family:"Inter",sans-serif;font-weight:900;font-size:clamp(46px,14vw,112px);letter-spacing:-.045em;
  background:linear-gradient(100deg,#0E2EAB 0%,#1B4FE8 45%,#4C86FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fv-amount .yen{font-weight:900;font-size:clamp(18px,5.4vw,36px);color:var(--accent)}
.fv-note{margin-top:6px;font-size:12.5px;font-weight:700;color:var(--ink-2)}

/* ---- ヒーロー直下の帯：無料サンプルへ ---- */
.fv-band{position:relative;overflow:hidden;padding:22px 0 24px;color:#fff;text-align:center;background:linear-gradient(100deg,#0E2EAB 0%,#1B4FE8 60%,#3F79FF 100%)}
.fv-band::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:fvSweep 4.5s ease-in-out 2.4s infinite}
@keyframes fvSweep{0%{left:-45%}45%,100%{left:120%}}
.fv-band p{font-size:clamp(14px,4.1vw,20px);font-weight:700;line-height:1.7}
.fv-band p b{color:#FFE66D}
.fv-band .btn{margin-top:12px;background:#fff;color:var(--accent);padding:15px 26px;font-size:15px;box-shadow:0 14px 28px -16px rgba(0,0,0,.55)}

/* ---- 右下の丸いLINEボタン ---- */
.fv-line{position:fixed;right:14px;bottom:18px;z-index:95;width:66px;height:66px;border-radius:50%;background:#06C755;color:#fff;display:grid;place-items:center;align-content:center;gap:1px;
  box-shadow:0 16px 30px -12px rgba(6,120,60,.7);animation:fvPop .7s cubic-bezier(.34,1.56,.64,1) 1.8s both}
.fv-line::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #06C755;animation:fvPulse 2.4s ease-out 2.6s infinite}
@keyframes fvPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.55);opacity:0}}
.fv-line svg{width:26px;height:26px;fill:#fff}
/* 背の低いスマホでは価格に重なるので、少しスクロールしてから出す */
@media (max-width:900px) and (max-height:740px){
  .fv-line{opacity:0;transform:scale(.6);pointer-events:none;animation:none;transition:opacity .35s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}
  .fv-line.on{opacity:1;transform:none;pointer-events:auto}
}
.fv-line span{font-family:"Inter",sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.06em}

/* 試作バッジ */
.proto-badge{position:fixed;left:12px;bottom:18px;z-index:999;display:flex;gap:6px;align-items:center;font-size:11px;font-weight:600;
  background:var(--ink);color:#fff;border-radius:999px;padding:5px 5px 5px 11px;box-shadow:0 12px 30px -14px rgba(0,0,0,.5)}
.proto-badge a{background:#fff;color:var(--ink);border-radius:999px;padding:4px 9px;white-space:nowrap}

/* ============ PC：上に見出し（左）と価格（右）、その下に端末、一番下に流れる列 ============ */
@media (min-width:901px){
  .heroC{padding:22px 0 16px}
  .fv-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"copy offer" "stage stage";column-gap:48px;align-items:center;padding-top:8px;padding-bottom:6px}
  .fv-copy{grid-area:copy;padding-top:0}
  .fv-offer{grid-area:offer;margin-top:0;gap:18px;justify-content:flex-end}
  .fv-stagewrap{grid-area:stage;--h:clamp(280px,22vw,340px);width:calc(var(--h) * 1.45);max-width:100%;margin:26px auto 0}
  .heroC .mon__body{border-radius:18px;padding:3px}.heroC .mon__panel{border-radius:15px;padding:10px 10px 0}.heroC .mon__chin{border-radius:0 0 15px 15px}
  .fv-works{margin-top:10px}
  .fv-pill{font-size:13px}
  .fv-title{margin-top:18px;font-size:clamp(40px,3.8vw,60px)}
  .fv-card{width:260px;height:163px;border-radius:11px}
  .fv-track{gap:20px}
  .fv-laurel{width:140px;height:140px}
  .fv-laurel .tx small{font-size:13px}
  .fv-laurel .tx b{font-size:28px}
  .fv-laurel .tx b i{font-size:16px}
  .fv-amount .num{font-size:clamp(64px,6.4vw,100px)}
  .fv-note{font-size:14px}
  .fv-band{padding:28px 0}
  .fv-band .container{display:flex;align-items:center;justify-content:center;gap:30px}
  .fv-band .btn{margin-top:0}
  .fv-line{right:24px;bottom:24px;width:76px;height:76px}
  .proto-badge{top:76px;bottom:auto;left:auto;right:14px;font-size:12px}
  .fv-row:hover .fv-track{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){
  .fv-track,.fv-title .l,.fv-pill,.fv-sub,.fv-laurel,.fv-price,.fv-band::after,.fv-line,.fv-line::before,.fv-dev-in,.heroC .scr .power,.fv-works > *{animation:none}
  .fv-works > *{opacity:1}
  .heroC .scr .power{display:none}
  .heroC .scr .strip{transition:none}
  .fv-title .mk::after{animation:none;transform:none}
  .fv-sub .mk{animation:none;background-size:100% 100%}
  .fv-hand path{animation:none;stroke-dashoffset:0}
}
