/* ══ トップページ v2（112 みやび・2026-10-25）。index.html 専用。セレクタは全部 .v2 から。style.css・app.js は触らない ══
   一番大事な1点：字の濃さは下げない。動くのは線・光・位置だけ。
   JS が無い・落ちた時は、ここに書いた初期値＝止まった完成形。動きの準備（隠す・ピン）は html.v2-js か .is-h の時だけ */

.v2{--v2-s1:#0e0e0e;--v2-ln:rgba(255,255,255,.08);--v2-ln2:rgba(255,255,255,.14);--v2-tx2:#b0b0b0;--v2-tx3:#8c8c8c;
  --v2-red:#e8231f;--v2-redbtn:#d81b18;--v2-redtx:#ff5a45;--v2-ease:cubic-bezier(.2,.7,.2,1)}
body.v2{background:#080808 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E") repeat}
/* 縦の罫線（PC）。白・オレンジ・黒の面を持つ区画（ヒーロー・フッター）は自分の背景で隠れる */
@media (min-width:1101px){
  body.v2::before{content:"";position:fixed;top:0;bottom:0;left:max(2rem,calc(50% - 39rem));right:max(2rem,calc(50% - 39rem));
    border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);pointer-events:none;z-index:0}
}

/* ── 全体ルール ── */
.v2 .scrub{opacity:1!important}
.v2 .stage-item,.v2 .flow-pin-item,.v2 .voices-pin-item{filter:none!important}
.v2 .stats-section .hero-cards,.v2 .service-grid{transform:none!important}
.v2 .pink-cursor{display:none}
.v2 .glow{background:radial-gradient(120% 120% at 20% 0%,rgba(232,35,31,.5) 0%,rgba(255,130,0,.22) 45%,rgba(8,8,8,0) 72%)}
.v2 .section-h2{font-size:clamp(1.9rem,4.2vw,3.9rem);line-height:1.18;letter-spacing:-.025em}
.v2 .btn-pill.red{background:var(--v2-redbtn);box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 10px 40px -10px rgba(232,35,31,.6);transition:background-color .3s,box-shadow .3s,transform .15s}
.v2 .btn-pill.red:hover{background:var(--v2-red);box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 10px 40px -10px rgba(232,35,31,.75)}
.v2 .btn-pill.red:active{transform:translateY(1px);box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 10px 40px -10px rgba(232,35,31,.4)}
.v2 .cta-section .btn-pill.red.submit{background:var(--cta-ink);box-shadow:none}

/* H2 の出現：画面の 92% で1回だけ（top-v2.js）。隠れた状態は v2-js の時だけ */
.v2-js .v2-reveal{clip-path:inset(0 0 100% 0);transform:translateY(.35em);transition:clip-path .7s var(--v2-ease),transform .7s var(--v2-ease)}
.v2-js .v2-reveal.is-in{clip-path:inset(0 0 -.2em 0);transform:none}

/* カーソルの光（hover 端末だけ）：枠だけが赤く光る */
@media (hover:hover) and (pointer:fine){
  .v2 [data-spot]{position:relative}
  .v2 [data-spot]::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .4s;z-index:3;
    background:radial-gradient(18rem circle at var(--mx,50%) var(--my,50%),rgba(232,35,31,.7),transparent 60%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
  .v2 [data-spot]:hover::after{opacity:1}
}

/* 図（design-src/top-v2/figs.css の写し。インラインSVGの中に style は書かない） */
.vf{display:block;width:100%;height:auto;overflow:visible}
.vf text{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic Medium','Yu Gothic','Noto Sans JP',Meiryo,sans-serif}
.vf .vf-t{fill:#fafafa;font-weight:700}
.vf .vf-s{fill:#b0b0b0;font-weight:500}
.vf .vf-m{fill:#8c8c8c;font-weight:600}
.vf .vf-r{fill:#ff5a45;font-weight:800}
.vf .vf-ln{fill:none;stroke:#404040;stroke-width:1.5}
.vf .vf-dr{fill:none;stroke:#e8231f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.vf .vf-ic{fill:none;stroke:#fafafa;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vf .vf-bx{fill:#111;stroke:#2a2a2a;stroke-width:1.5}
.vf .vf-bxr{fill:#140b0a;stroke:#e8231f;stroke-width:1.5}
.v2-js .vf-draw .vf-dr{stroke-dashoffset:var(--v2-off,1)}
.vf .vf-gb{transition:opacity .35s}

/* ══ 01 ヒーロー ══ */
.v2 .hero{isolation:isolate}
.v2-aurora{position:absolute;left:50%;top:-25vh;width:120vw;height:90vh;margin-left:-60vw;pointer-events:none;z-index:0;will-change:transform;
  background:radial-gradient(40% 50% at 38% 40%,rgba(232,35,31,.30),transparent 70%),radial-gradient(34% 44% at 64% 46%,rgba(255,130,0,.16),transparent 70%);
  animation:v2drift 22s ease-in-out infinite alternate}
@keyframes v2drift{0%{transform:translate3d(-3%,0,0)}50%{transform:translate3d(2%,2%,0)}100%{transform:translate3d(3%,-1.5%,0)}}
.v2-floor{position:absolute;left:-10%;right:-10%;bottom:0;height:42vh;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px;
  transform:perspective(600px) rotateX(62deg);transform-origin:50% 100%;
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 85%);mask-image:linear-gradient(to top,#000 0%,transparent 85%)}
.v2-ripple{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.v2 .hero .container.full{position:relative;z-index:2}
.v2 .heading-hero{line-height:1.12;letter-spacing:-.03em}
.v2 .heading-hero .char{background:linear-gradient(180deg,#fff 30%,#a9a9a9);-webkit-background-clip:text;background-clip:text;color:transparent}
.v2 .hero-tag-glow,.v2 .hero-gradient{display:none}
.v2 .hero-sub{color:var(--v2-tx2)}
.v2 .floater.f3,.v2 .floater.f5,.v2 .floater.f6{display:none}
.v2 .fl-card{background:rgba(14,14,14,.92);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--v2-ln2);box-shadow:none}
.v2 .fl-label,.v2 .fl-sub{color:var(--v2-tx2)}
.v2 .showreel{border-color:var(--v2-ln2);background:linear-gradient(180deg,#151515,#0a0a0a)}
.v2 .showreel::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;z-index:3;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
@media (max-width:767px){
  .v2-floor,.v2 .floaters{display:none}
  .v2-aurora{animation:none}
  /* 375×667 で赤いボタンを最初の画面に（112 §01 ③：行間 → h1 上の余白の順で詰める） */
  .v2 .hero{padding-top:5.5rem}
  .v2 .hero-sub{line-height:1.65}
}
/* 320px 幅（iPhone SE 第1世代 320×568 など）：字は消さずに、余白と行間だけ詰める */
@media (max-width:360px){
  .v2 .hero{padding-top:4.9rem}
  .v2 .hero-heading{gap:.75rem}
  .v2 .hero-tag{padding:.35rem .8rem}
  .v2 .heading-hero{font-size:1.95rem}
  .v2 .hero-sub{line-height:1.55;font-size:14px}
}

/* ══ 02b 2本柱：1枚のパネルを縦の罫線で2つに割る ══ */
.v2 #pillars{padding:6rem 0 5rem}
.v2 #pillars .section-heading{margin-bottom:3rem}
.v2 .v2-pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--v2-ln2);border-radius:20px;background:var(--v2-s1);overflow:hidden}
.v2 .v2-pl-card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:2.4rem 2.4rem 2rem;border-radius:0}
.v2 .v2-pl-card+.v2-pl-card{border-left:1px solid var(--v2-ln2)}
.v2 .v2-ghost{position:absolute;right:1.2rem;top:.4rem;font-size:clamp(5rem,9vw,8.5rem);font-weight:900;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);pointer-events:none;user-select:none}
.v2 .v2-pl-tag{display:flex;align-items:center;gap:.6rem;font-size:max(13px,.85rem);font-weight:800;letter-spacing:.14em;color:#fafafa}
.v2 .v2-pl-tag::before{content:"";width:1.5rem;height:2px;background:var(--v2-red)}
.v2 .v2-pl-card h3{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.35;font-weight:900;letter-spacing:-.02em;position:relative}
.v2 .v2-pl-card>p{font-size:max(15px,1rem);line-height:1.85;color:var(--v2-tx2);max-width:38em}
.v2 .v2-pl-card>p.v2-pl-fit{font-size:max(13px,.85rem);color:var(--v2-tx3);line-height:1.7}
.v2 .v2-pl-card .more-link{margin-top:auto;align-self:flex-start;font-weight:700}
.v2 .v2-fig{margin:.4rem 0}
.v2 .fig-sp{display:none}
.v2 .v2-ex{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;max-width:none;margin:.4rem 0 0;padding:.9rem;border:1px solid rgba(232,35,31,.45);border-radius:14px;background:#120b0a;color:inherit;text-decoration:none}
.v2 .v2-ex:hover{border-color:rgba(232,35,31,.8)}
.v2 .v2-ex:focus-visible{outline:2px solid var(--v2-red);outline-offset:3px}
.v2 .v2-ex img{width:72px;height:72px;object-fit:cover;object-position:top;border-radius:10px}
.v2 .v2-ex .pl-example-body{display:flex;flex-direction:column;gap:.2rem;font-size:max(13px,.85rem);line-height:1.65;color:var(--v2-tx2)}
.v2 .v2-ex .pl-example-tag{align-self:flex-start;padding:.05rem .6rem;border:1px solid var(--v2-red);border-radius:2rem;font-size:max(12px,.75rem);font-weight:800;color:#fafafa}
.v2 .v2-ex strong{font-size:max(15px,1rem);color:#fafafa}
.v2 .v2-ex .pl-example-go{font-weight:800;color:var(--v2-redtx)}
@media (max-width:767px){
  .v2 #pillars{padding:3rem 0 2rem}
  .v2 #pillars .section-heading{margin-bottom:1.5rem}
  .v2 .v2-pl-grid{grid-template-columns:1fr}
  .v2 .v2-pl-card{padding:1.6rem 1.25rem 1.4rem}
  .v2 .v2-pl-card+.v2-pl-card{border-left:0;border-top:1px solid var(--v2-ln2)}
  .v2 .v2-ghost{font-size:3.5rem}
  .v2 .fig-pc{display:none}.v2 .fig-sp{display:block}
  .v2 .v2-ex{grid-template-columns:56px 1fr auto;gap:.8rem}
  .v2 .v2-ex img{width:56px;height:56px}
}

/* ══ 02 数字：箱をやめて罫線の帯 ══ */
.v2 .v2-stats{padding-top:4rem}
.v2 .v2-h2{max-width:22em}
.v2 .v2-band{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3.5rem}
.v2 .v2-band-rule{position:absolute;left:0;right:0;height:1px;background:var(--v2-ln2);transform-origin:0 50%}
.v2 .v2-band-rule.t{top:0}.v2 .v2-band-rule.b{bottom:0}
.v2 .v2-band-cell{position:relative;padding:2.4rem 1.6rem 2rem}
.v2 .v2-band-cell+.v2-band-cell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--v2-ln);transform-origin:50% 0}
.v2 .v2-band-label{font-size:max(13px,.85rem);font-weight:700;color:var(--v2-tx2);letter-spacing:.04em;margin-bottom:.9rem}
.v2 .v2-num{font-size:clamp(3.2rem,4.6vw,6.4rem);font-weight:900;letter-spacing:-.05em;line-height:.95;font-variant-numeric:tabular-nums;white-space:nowrap;
  background:linear-gradient(180deg,#fff 40%,#8a8a8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.v2 .v2-num small{font-size:.3em;letter-spacing:0;margin-left:.12em;-webkit-text-fill-color:var(--v2-redtx);color:var(--v2-redtx);font-weight:800}
.v2 .v2-band-desc{margin-top:1.3rem;font-size:max(14px,.9rem);line-height:1.8;color:var(--v2-tx2);max-width:16em}
.v2 .v2-band-close{margin-top:2.2rem;font-size:clamp(1.05rem,1.6vw,1.4rem);font-weight:700;line-height:1.6}
.v2-js .v2-band:not(.is-in) .v2-band-rule{transform:scaleX(0)}
.v2-js .v2-band:not(.is-in) .v2-band-cell::before{transform:scaleY(0)}
.v2-js .v2-band .v2-band-rule{transition:transform 1.1s var(--v2-ease)}
.v2-js .v2-band .v2-band-cell::before{transition:transform .8s var(--v2-ease)}
.v2-js .v2-band .v2-band-cell:nth-child(2)::before{transition-delay:.2s}
.v2-js .v2-band .v2-band-cell:nth-child(3)::before{transition-delay:.28s}
.v2-js .v2-band .v2-band-cell:nth-child(4)::before{transition-delay:.36s}
@media (max-width:1100px){
  .v2 .v2-band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2 .v2-band-cell:nth-child(3)::before{display:none}
  .v2 .v2-band-cell:nth-child(n+3){border-top:1px solid var(--v2-ln)}
}
@media (max-width:767px){
  .v2 .v2-stats{padding-top:2.5rem}
  .v2 .v2-br{display:none}
  .v2 .v2-band{margin-top:2.2rem}
  .v2 .v2-band-cell{padding:1.4rem .75rem 1.3rem}
  .v2 .v2-band-label{font-size:13px;margin-bottom:.5rem}
  .v2 .v2-num{font-size:clamp(2rem,10vw,3rem)}
  .v2 .v2-band-desc{font-size:13px;margin-top:.7rem;line-height:1.75}
}

/* ══ 03 段階 ══ */
.v2 .v2-stages-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-top:6rem}
.v2 .stages-height{height:300vh}
.v2 .stages-sticky{padding-top:5rem}
.v2 .stages-left{padding-left:1.6rem}
.v2 .v2-rail{position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(255,255,255,.1)}
.v2 .v2-rail i{position:absolute;left:0;top:0;width:2px;height:100%;background:var(--v2-red);transform-origin:50% 0;transform:scaleY(1)}
.v2-js .v2 .v2-rail i,.v2-js .v2-rail i{transform:scaleY(var(--v2-p,0))}
.v2 .v2-rail b{position:absolute;left:-3px;width:8px;height:8px;border-radius:50%;background:#080808;border:1px solid rgba(255,255,255,.4)}
.v2 .v2-rail b:nth-of-type(1){top:0}.v2 .v2-rail b:nth-of-type(2){top:calc(50% - 4px)}.v2 .v2-rail b:nth-of-type(3){bottom:0}
.v2 .stages-left .top-fade,.v2 .stages-left .bot-fade{display:none}
.v2 .rotate-card{width:24rem}
.v2 .stages-right{position:relative}
.v2 .stages-right::after{content:"";position:absolute;left:15%;right:15%;bottom:8%;height:18%;border-radius:50%;background:radial-gradient(closest-side,rgba(232,35,31,.18),transparent);pointer-events:none;z-index:-1}
.v2 .stage-mob{background:var(--v2-s1);border-color:var(--v2-ln);border-radius:16px}
@media (max-width:1100px){
  .v2 .v2-stages-head{padding:4.5rem 1.25rem 0}
  .v2 .stages-mob{padding-top:2rem}
}

/* ══ 04 やること ══ */
.v2 .v2-svc{display:flex;flex-direction:column;gap:1.25rem}
.v2 .v2-svc .card-glow .glow{display:none}
.v2 .v2-svc .service-card{background:var(--v2-s1);border:1px solid var(--v2-ln);border-radius:16px;min-height:0;transition:border-color .3s,transform .15s}
.v2 .v2-svc .service-card:hover{border-color:rgba(255,255,255,.16)}
.v2 .v2-svc .service-card::before{display:none}
.v2 .v2-svc .sc-desc{font-size:max(15px,.95rem);max-width:38em}
.v2 .v2-svc .sc-num{font-size:max(13px,.8rem)}
/* 01〜04：既定は2×2（768〜1100）／1列。横に流れるピンは JS が .is-h を付けた時だけ */
.v2 .v2-htrack{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.v2 .v2-hbar{display:none}
@media (max-width:767px){.v2 .v2-htrack{grid-template-columns:1fr}}
.v2 .v2-hpin.is-h{position:relative}
.v2 .v2-hpin.is-h .v2-hpin-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.v2 .v2-hpin.is-h .v2-htrack{display:flex;gap:1.25rem;width:max-content;will-change:transform}
.v2 .v2-hpin.is-h .card-glow{width:min(30rem,36vw);flex:none}
.v2 .v2-hpin.is-h .v2-hbar{display:block;width:12rem;height:2px;background:rgba(255,255,255,.12);margin-top:2rem}
.v2 .v2-hpin.is-h .v2-hbar i{display:block;height:100%;background:var(--v2-red);transform-origin:0 50%;transform:scaleX(var(--v2-p,0))}
/* 05：章。PC は左5/12に固定の図、右7/12に段 */
.v2 .v2-ch{padding:2.4rem}
.v2 .v2-ch-figh{font-size:max(13px,.85rem);font-weight:700;color:var(--v2-tx2);letter-spacing:.06em;margin-top:.4rem}
.v2 .v2-ch-grid{display:grid;grid-template-columns:5fr 7fr;gap:3rem;margin-top:1.5rem;position:relative;z-index:2}
.v2 .v2-ch-fig{position:sticky;top:12vh;height:76vh;display:flex;align-items:center}
.v2 .v2-ch-figbox{position:relative;width:100%}
.v2 .v2-ch-svg{transition:opacity .5s}
.v2 .v2-ch-svg+.v2-ch-svg{position:absolute;inset:0}
.v2 .v2-ch-svg:not(.is-on){opacity:0}
.v2 .v2-step{min-height:52vh;padding:10vh 0;border-top:1px solid var(--v2-ln);display:flex;flex-direction:column;gap:1rem;justify-content:center}
.v2 .v2-step-fig{display:none}
.v2 .v2-step-h{position:relative;font-size:clamp(1.25rem,1.8vw,1.6rem);font-weight:900;letter-spacing:-.02em;line-height:1.4;padding-left:.9rem}
.v2 .v2-step-h::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:2px;background:transparent;transition:background-color .3s}
.v2 .v2-step.is-cur .v2-step-h::before{background:var(--v2-red)}
.v2 .v2-step-n{display:inline-block;min-width:1.6em;color:var(--v2-redtx);font-variant-numeric:tabular-nums}
.v2 .v2-res-row{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;padding:1.2rem;border:1px solid var(--v2-ln2);border-radius:16px;background:#0a0a0a}
.v2 .v2-res-num{font-size:clamp(2.6rem,4vw,4rem);font-weight:900;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;
  background:linear-gradient(180deg,#fff 40%,#8a8a8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.v2 .v2-res-num small{font-size:.32em;-webkit-text-fill-color:var(--v2-redtx);color:var(--v2-redtx);margin-left:.1em}
.v2 .v2-res-label{font-weight:800;margin-bottom:.4rem}
.v2 .v2-pills{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0}
.v2 .v2-pills li{padding:.25rem .8rem;border:1px solid var(--v2-ln2);border-radius:999px;font-size:max(13px,.8rem);white-space:nowrap}
.v2 .v2-caution-h{align-self:flex-start;padding:.2rem .9rem;border:1px solid var(--v2-red);border-radius:999px;font-weight:800;font-size:max(13px,.85rem)}
.v2 .v2-caution .sc-shot{margin-top:.6rem;border-radius:12px;overflow:hidden}
.v2 .v2-caution .sc-shot img{width:100%;height:auto;display:block}
.v2 .v2-pillrow{display:flex;flex-wrap:wrap;gap:.6rem}
.v2 .v2-pillrow .more-link{display:inline-block;padding:.45rem 1rem;border:1px solid var(--v2-ln2);border-radius:999px;text-decoration:none}
.v2 .v2-pillrow .more-link:hover{border-color:var(--v2-red)}
/* 06・07：ベント（12列で 7／5） */
.v2 .v2-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}
.v2 .v2-b7{grid-column:span 7}.v2 .v2-b5{grid-column:span 5}
@media (max-width:1100px){
  .v2 .v2-bento{grid-template-columns:1fr}
  .v2 .v2-b7,.v2 .v2-b5{grid-column:auto}
  .v2 .v2-ch{padding:1.6rem}
  .v2 .v2-ch-grid{grid-template-columns:1fr;gap:0}
  .v2 .v2-ch-fig{display:none}
  .v2 .v2-step{min-height:0;padding:2.2rem 0}
  .v2 .v2-step-fig{display:block;max-width:480px}
}
@media (max-width:767px){
  .v2 .v2-ch{padding:1.4rem 1.1rem}
  .v2 .v2-res-row{grid-template-columns:1fr;gap:.8rem}
  .v2 .v2-pills{flex-direction:row;flex-wrap:wrap}
}

/* ══ 05 あなたがやる3つ ══ */
.v2 .job-card-wrap .glow{display:none}
.v2 .job-card{background:var(--v2-s1);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--v2-ln);box-shadow:none}
.v2 .job-num{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border:1px solid var(--v2-red);border-radius:50%;letter-spacing:0;font-size:max(13px,.8rem);background:#080808;position:relative;z-index:1}
.v2 .job-time{font-size:max(13px,.8rem);color:var(--v2-tx2);border-color:var(--v2-ln2);display:inline-flex;align-items:baseline;gap:.2em}
.v2 .job-time b{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:900;color:#fafafa;letter-spacing:-.02em;line-height:1}
.v2 .job-grid{position:relative}
.v2 .v2-jobline{display:none}
@media (min-width:901px){
  .v2 .v2-jobline{display:block;position:absolute;left:3rem;right:3rem;top:3.2rem;height:1px;background:var(--v2-ln2);pointer-events:none;z-index:0}
  .v2 .v2-jobline b{display:block;height:100%;background:var(--v2-red);transform-origin:0 50%;transform:scaleX(1)}
  .v2-js .v2-jobline b{transform:scaleX(var(--v2-p,0))}
  .v2 .job-card-wrap{z-index:1}
}

/* ══ 06 流れ ══ */
.v2 .flow-pin-num{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}
.v2 .flow-pin-num.roll{animation:v2roll .36s var(--v2-ease)}
@keyframes v2roll{from{transform:translateY(.4em);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(0)}}
.v2 .flow-pin-left .top-fade,.v2 .flow-pin-left .bot-fade{display:none}
.v2 .v2-flowbar{width:12rem;height:2px;background:rgba(255,255,255,.12)}
.v2 .v2-flowbar i{display:block;height:100%;background:var(--v2-red);transform-origin:0 50%;transform:scaleX(var(--v2-p,0))}
.v2 .pay-note{border:1px solid var(--v2-ln2);border-radius:16px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.v2 .flow-list{position:relative;padding-left:1.4rem}
.v2 .v2-mrail{position:absolute;left:4px;top:.6rem;bottom:.6rem;width:1px;background:var(--v2-ln2)}
.v2 .v2-mrail b{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--v2-red);transform-origin:50% 0;transform:scaleY(1)}
.v2-js .v2-mrail b{transform:scaleY(var(--v2-p,0))}
.v2 .flow-list .flow-item{position:relative}
.v2 .flow-list .flow-item::before{content:"";position:absolute;left:calc(-1.4rem + 0px);top:1.6rem;width:9px;height:9px;border-radius:50%;background:#080808;border:1px solid var(--v2-red)}

/* ══ 07 育てる ══ */
.v2 .v2-grow-top{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.v2 .v2-grow-top .grow-lead{margin:0}
.v2 .v2-grow-fig{padding:1.5rem;border:1px solid var(--v2-ln);border-radius:20px;background:var(--v2-s1)}
.v2-js .v2-grow-fig .vf-gb{opacity:.12}
.v2-js .v2-grow-fig .vf-gb.on,.v2 .v2-grow-fig .vf-gb[data-i="0"]{opacity:1}
.v2 .v2-panel{gap:0;border:1px solid var(--v2-ln2);border-radius:20px;background:var(--v2-s1);overflow:hidden}
.v2 .v2-panel .grow-card{transform:none!important;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.v2 .v2-panel .grow-card+.grow-card{border-left:1px solid var(--v2-ln2)}
@media (max-width:1100px){.v2 .v2-grow-top{grid-template-columns:1fr;gap:2rem}}
@media (max-width:900px){.v2 .v2-panel .grow-card+.grow-card{border-left:0;border-top:1px solid var(--v2-ln2)}}

/* ══ 09 不安6つ（白） ══ */
.v2 .voices-section{border-radius:2.5rem 2.5rem 0 0}
.v2 .voices-pin-cat{font-size:clamp(2.4rem,4vw,3.6rem);font-weight:900;color:#111;line-height:1.1}
.v2 .voices-pin-cat.roll{animation:v2roll .36s var(--v2-ease)}
.v2 .vslide{border:1px solid #e5e5e5;border-radius:16px;box-shadow:none}
@media (max-width:767px){.v2 .voices-section{border-radius:1.5rem 1.5rem 0 0}}

/* ══ 12 FAQ ══ */
.v2 .faq-item.open{box-shadow:inset 2px 0 0 var(--v2-red);background:rgba(255,255,255,.02)}
.v2 .faq-toggle .plus{width:28px;height:28px;border:1px solid var(--v2-ln2);border-radius:50%}
.v2 .faq-toggle .plus i{left:8px;width:10px}

/* ══ 13 #contact（オレンジのまま）・最後に・フッター ══ */
.v2 .cta-heading{font-size:clamp(2rem,4.6vw,3.8rem)}
.v2 .v2-wordmark{margin-top:3rem;font-size:clamp(2.6rem,10.5vw,9.5rem);font-weight:900;line-height:1;letter-spacing:-.04em;white-space:nowrap;text-align:center;
  background:linear-gradient(180deg,#1f1f1f,#080808 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;overflow:hidden}

/* ══ 動きを減らす設定：全部「完成形・ピン無し」 ══ */
@media (prefers-reduced-motion:reduce){
  .v2-aurora{animation:none}
  .v2-reveal{clip-path:none!important;transform:none!important}
  .v2 .stages-height{display:none}
  .v2 .stages-mob{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:2rem 2rem 0;max-width:82rem;margin:0 auto}
  .v2 .stage-mob img{aspect-ratio:620/400;object-fit:cover;width:100%;height:auto}
  .v2 .stage-mob-body{padding:1.4rem}
  .v2 .vf .vf-dr{stroke-dashoffset:0!important}
  .v2 .vf .vf-gb{opacity:1!important}
  .v2 .v2-band-rule,.v2 .v2-band-cell::before{transform:none!important}
  .v2 .v2-rail i,.v2 .v2-jobline b,.v2 .v2-mrail b,.v2 .v2-flowbar i{transform:none!important}
  .v2 .v2-ch-fig{display:none}
  .v2 .v2-ch-grid{grid-template-columns:1fr}
  .v2 .v2-step{min-height:0;padding:2.2rem 0}
  .v2 .v2-step-fig{display:block;max-width:480px}
  .v2 .flow-pin-num.roll,.v2 .voices-pin-cat.roll{animation:none}
}
@media (prefers-reduced-motion:reduce) and (max-width:1100px){.v2 .stages-mob{grid-template-columns:1fr;padding:2rem 1.25rem 0}}
