/* PCメイン専用。FAKEの共通ヘッダー・フッターは変更しません。 */
#kt-hero{--hero-navy:#1f2f54;--hero-blue:#1e73be;--hero-cyan:#24bce2;position:relative;isolation:isolate;height:100vh;height:100svh;min-height:620px;overflow:hidden;background:var(--hero-navy);color:#fff;font-family:"Noto Sans JP",Meiryo,sans-serif;text-align:left}
#kt-hero,#kt-hero *{box-sizing:border-box}
#kt-hero :is(p,h1){margin:0;padding:0}
#kt-hero .kt-hero-poster,#kt-hero .kt-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border:0}
#kt-hero .kt-hero-video{opacity:0;transition:opacity .5s}
#kt-hero.has-video .kt-hero-video{opacity:1}
#kt-hero .kt-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,26,48,.78) 0%,rgba(17,37,63,.43) 58%,rgba(17,37,63,.18) 100%),linear-gradient(0deg,rgba(11,24,43,.65),transparent 40%);pointer-events:none}
#kt-hero .kt-hero-watermark{position:absolute;left:-1.2%;top:16%;font:900 clamp(170px,22.5vw,440px)/1 Arial,sans-serif;letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.15);white-space:nowrap;pointer-events:none;transform:translateX(var(--hero-drift,0px))}
#kt-hero .kt-hero-copy{position:absolute;z-index:3;left:7%;top:31%;max-width:83%}
#kt-hero .kt-hero-kicker{font:700 clamp(13px,1.1vw,18px)/1.5 Arial,sans-serif;letter-spacing:.15em;margin-bottom:25px}
#kt-hero h1{font-size:clamp(58px,5.2vw,100px);font-weight:700;line-height:1.45;letter-spacing:.015em;text-shadow:0 2px 20px rgba(0,0,0,.14)}
#kt-hero .kt-hero-desc{font-size:clamp(15px,1.2vw,20px);font-weight:500;line-height:1.9;letter-spacing:.055em;margin-top:25px}
#kt-hero .kt-hero-stage{position:absolute;z-index:2;right:7%;bottom:14%;display:flex;flex-direction:column;align-items:flex-end;gap:9px;pointer-events:none}
#kt-hero .kt-hero-stage-number{font:700 15px/1 Arial,sans-serif;letter-spacing:.15em;color:rgba(255,255,255,.8)}
#kt-hero .kt-hero-stage-word{font:900 clamp(50px,6.7vw,125px)/.95 Arial,sans-serif;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}
#kt-hero.is-switching .kt-hero-stage{animation:hero-stage-in .65s cubic-bezier(.16,1,.3,1) both}
#kt-hero .kt-hero-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--hero-cyan);stroke-width:1.2;opacity:1;pointer-events:none}
#kt-hero .kt-hero-lines>path{opacity:.5}



#kt-hero .kt-hero-scroll{position:absolute;z-index:4;left:7%;bottom:14%;display:flex;align-items:center;gap:22px;color:#fff;text-decoration:none;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.13em}
#kt-hero .kt-hero-scroll i{font:normal 25px/1 Arial,sans-serif;width:50px;height:50px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;transition:background .3s,transform .3s}
#kt-hero .kt-hero-scroll:hover i{background:var(--hero-blue);transform:translateY(4px)}
#kt-hero .kt-hero-scroll:focus-visible{outline:3px solid var(--hero-cyan);outline-offset:6px}
#kt-hero .kt-hero-bottom{position:absolute;left:7%;right:7%;bottom:5%;display:flex;align-items:center;justify-content:space-between;gap:30px;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.1em;color:rgba(255,255,255,.78)}
#kt-hero .kt-hero-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.15)}
#kt-hero .kt-hero-progress span{display:block;width:100%;height:100%;background:var(--hero-cyan);transform:scaleX(var(--hero-progress,0));transform-origin:left}
@keyframes hero-stage-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
#kt-hero .kt-hero-spark{stroke:#e7fdff;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:55 1000;stroke-dashoffset:55;opacity:0;filter:drop-shadow(0 0 3px #63e5ff) drop-shadow(0 0 8px #24bce2)}
#kt-hero .kt-hero-spark.kt-spark-on{animation:hero-spark-pass var(--spark-duration,1.3s) linear both}
@keyframes hero-spark-pass{0%{stroke-dashoffset:55;opacity:0}8%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:-1000;opacity:0}}
@media(max-height:760px) and (min-width:1051px){#kt-hero .kt-hero-copy{top:24%}#kt-hero h1{font-size:clamp(58px,4.6vw,78px);line-height:1.35}#kt-hero .kt-hero-kicker{margin-bottom:18px}#kt-hero .kt-hero-desc{margin-top:18px}#kt-hero .kt-hero-stage{bottom:12%;max-width:70%}#kt-hero .kt-hero-stage-word{font-size:clamp(48px,5.6vw,94px)}#kt-hero .kt-hero-scroll{bottom:13%}}
/* スマホ専用動画・縦長ポスター・横へ流れる曲線。 */
@media(max-width:1050px){#kt-hero{min-height:580px}#kt-hero .kt-hero-copy{left:6%;top:30%;max-width:88%}#kt-hero h1{font-size:clamp(34px,7vw,68px)}#kt-hero .kt-hero-kicker{font-size:11px;letter-spacing:.08em}#kt-hero .kt-hero-desc{font-size:13px;letter-spacing:0;margin-top:20px}#kt-hero .kt-hero-watermark{font-size:29vw;top:20%}#kt-hero .kt-hero-stage{right:6%;bottom:13%}#kt-hero .kt-hero-stage-word{font-size:10vw}#kt-hero .kt-hero-stage-number{font-size:11px}#kt-hero .kt-hero-scroll{left:6%;bottom:23%;font-size:9px;gap:14px}#kt-hero .kt-hero-scroll i{width:38px;height:38px;font-size:20px}#kt-hero .kt-hero-bottom{left:6%;right:6%;font-size:8px;gap:15px}#kt-hero .kt-hero-bottom span:last-child{display:none}#kt-hero .kt-hero-lines{inset:auto 0 15%;height:220px;opacity:.75;stroke-width:3}#kt-hero .kt-hero-spark{stroke-width:6}#kt-hero .kt-hero-shade{background:linear-gradient(90deg,rgba(12,26,48,.6),rgba(17,37,63,.2)),linear-gradient(0deg,rgba(11,24,43,.5),transparent 40%)}}
@media(prefers-reduced-motion:reduce){#kt-hero .kt-hero-video{transition:none}#kt-hero.is-switching .kt-hero-stage,#kt-hero .kt-hero-lines path{stroke-dashoffset:0}#kt-hero .kt-hero-scroll i{transition:none}}
