/* Isolated from the original video hero. The 3D runtime is loaded on selection only. */
.s119-hero-shell{position:relative;isolation:isolate}
.s119-hero-shell [hidden]{display:none!important}
.s119-hero-switch-wrap{position:sticky;top:var(--tm-head-h,60px);height:0;z-index:20;display:flex;justify-content:flex-end;padding:0 30px;transform:translateY(18px);pointer-events:none}
.s119-hero-switch{display:flex;align-items:center;gap:3px;padding:4px;background:rgba(18,21,26,.74);border:1px solid rgba(255,255,255,.24);border-radius:50px!important;backdrop-filter:blur(16px);height:44px;pointer-events:auto;box-shadow:0 3px 20px #0002}
.s119-hero-switch button{appearance:none;border:0;border-radius:24px!important;background:transparent;color:#f8f9fb;font:600 13px/1.3 -apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif;padding:9px 19px;min-height:34px;cursor:pointer;white-space:nowrap}
.s119-hero-switch button[aria-pressed=true]{color:#101417;background:#fff;box-shadow:0 2px 5px #0002}
.s119-hero-switch button:focus-visible,.s119-future :is(a,button):focus-visible{outline:3px solid #c7ff8a;outline-offset:5px}
.s119-future{--future-accent:#c7ff8a;--future-top:var(--tm-head-h,60px);--future-safe-bottom:24px;position:relative;height:360svh;background:#080b10;color:#f2f5f8;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;isolation:isolate}
.s119-future *{box-sizing:border-box}
.s119-future-stage{position:sticky;top:var(--future-top);height:calc(100svh - var(--future-top) - var(--future-intro-offset,0px));min-height:570px;overflow:hidden;background:#080b10}
.s119-future-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 47%,#283a3b69,transparent 49%),radial-gradient(ellipse at 95% 97%,#19213377,transparent 50%);pointer-events:none}
.s119-future-atmosphere:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(transparent 55%,#000)}
.s119-future-brand{position:absolute;left:6.6%;top:31px;z-index:4;display:flex;gap:14px;align-items:center;font-size:10px;letter-spacing:.2em;font-weight:500;color:#a2afb4}
.s119-future-mark{font-size:21px;font-weight:750;letter-spacing:-.08em;color:#f3f5f6}
.s119-future-visual{position:absolute;inset:0 0 0 36%;pointer-events:none}
.s119-future-canvas{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.s119-future-canvas canvas{display:block;width:100%!important;height:100%!important}
.s119-future.is-ready .s119-future-canvas{opacity:1}
.s119-future-fallback{position:absolute;inset:0;transition:opacity .6s}
.s119-future.is-ready .s119-future-fallback{opacity:0}
.s119-future-fallback img{position:absolute;top:50%;left:50%;display:block;height:82%;width:76%;object-fit:contain;transform:translate(-48%,-50%)}
.s119-future-model-credit{position:absolute;right:6.6%;bottom:calc(var(--future-safe-bottom) + 56px);z-index:7;color:#9ca8af!important;text-decoration:none!important;font-size:9px;line-height:1.5;padding:6px 0}
.s119-future-model-credit:hover{text-decoration:underline!important}
.s119-future-orbit{position:absolute;bottom:10%;left:20%;width:65%;height:6%;border:1px solid #bce6d112;border-radius:50%!important;box-shadow:0 0 35px #a0dbc205;pointer-events:none}
.s119-future-stories{position:absolute;inset:25% 0 auto 6.6%;width:52%;max-width:740px;z-index:3;pointer-events:none}
.s119-future-story{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .5s ease,transform .65s cubic-bezier(.16,1,.3,1),visibility .5s}
.s119-future-story.is-active{opacity:1;visibility:visible;transform:translateY(0)}
.s119-future-eyebrow{display:flex;align-items:center;gap:10px;font-size:12px!important;letter-spacing:.09em;margin:0 0 22px!important;color:#bdc5c9;line-height:1.5!important;font-weight:500!important}
.s119-future-eyebrow>span{width:5px;height:5px;border-radius:50%!important;background:var(--future-accent);box-shadow:0 0 12px #c7ff8a88}
.s119-future .s119-future-story h2{font-size:clamp(34px,4.1vw,66px)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:-.065em!important;margin:0!important;color:#f2f5f8!important;display:block!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
.s119-future-story h2 em{font-style:normal;color:var(--future-accent)}
.s119-future-description{font-size:clamp(12px,1.03vw,15px)!important;line-height:1.95!important;color:#abb7bd;margin:24px 0 0!important;font-weight:400!important;letter-spacing:.015em}
.s119-future-tags{display:flex;gap:15px;color:#b2c5bb;font-size:9px;letter-spacing:.1em;margin-top:22px}
.s119-future-actions{position:absolute;bottom:21%;left:6.6%;z-index:5;display:flex;align-items:center;gap:26px}
.s119-future-actions a{text-decoration:none!important;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:20px;white-space:nowrap;min-height:46px;transition:background .2s,transform .2s}
.s119-future a.s119-future-primary{background:#e7f1e8;color:#0b1912!important;border:1px solid #e7f1e8;padding:0 22px;border-radius:50px!important}
.s119-future a.s119-future-secondary{color:#d5dedf!important;border-bottom:1px solid #8fa49b66;padding:0 0}
.s119-future-actions a:hover{transform:translateY(-2px)}
.s119-future a.s119-future-primary:hover{background:#c7ff8a}
.s119-future-bottom{position:absolute;bottom:var(--future-safe-bottom);left:6.6%;right:6.6%;z-index:6;display:flex;align-items:flex-end;justify-content:space-between}
.s119-future-chapters{display:flex;gap:26px}
.s119-future-chapters button{position:relative;appearance:none;background:none;border:0;padding:12px 0 18px;color:#697880;cursor:pointer;font-size:10px;letter-spacing:.025em;min-width:90px;text-align:left}
.s119-future-chapters b{font:500 11px/1.4 inherit;margin-right:9px}
.s119-future-chapters i{position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff22}
.s119-future-chapters i:after{content:'';display:block;height:1px;background:var(--future-accent);width:0;transition:width .5s}
.s119-future-chapters [aria-current=step]{color:#e2ece9}.s119-future-chapters [aria-current=step] i:after{width:100%}
.s119-future-motion{appearance:none;display:flex;align-items:center;gap:9px;border:0;background:none;color:#8e9f9f;font:400 10px/1.4 inherit;min-height:44px;cursor:pointer;padding:9px 0}
.s119-future-motion>span:first-child{width:26px;height:26px;border:1px solid #7b939744;border-radius:50%!important;display:grid;place-items:center;font-size:10px}
.s119-future-scroll{position:absolute;right:7%;bottom:18%;display:flex;align-items:center;gap:20px;color:#819396;font-size:9px;letter-spacing:.2em;transition:opacity .4s}
.s119-future-scroll i{font-size:24px;font-style:normal;font-weight:200}.s119-future[data-scrolled=true] .s119-future-scroll{opacity:0}
.s119-future.is-still{height:calc(100svh - var(--future-top));min-height:570px}
.s119-future.is-still .s119-future-stage{position:relative;top:0}
.s119-future.is-still .s119-future-scroll{display:none}
.s119-future.is-still .s119-future-story,.s119-future.is-still .s119-future-canvas{transition:none}
@media(min-width:1800px){.s119-future-stories{top:28%}.s119-future .s119-future-story h2{font-size:78px!important}}
@media(max-width:991.98px){.s119-future{--future-safe-bottom:84px}.s119-future-stage{min-height:630px}.s119-future-brand{left:6%;top:27px}.s119-future-stories{left:6%;width:57%;top:23%}.s119-future-actions{left:6%;bottom:25%;gap:20px}.s119-future-bottom{left:6%;right:6%}.s119-future-scroll{bottom:26%}.s119-future-visual{left:32%}.s119-hero-switch-wrap{padding:0 20px;transform:translateY(16px)}}
@media(max-width:600px){
 .s119-hero-switch-wrap{padding:0 16px;transform:translateY(15px)}.s119-hero-switch{height:40px;padding:3px}.s119-hero-switch button{padding:7px 15px;min-height:32px;font-size:12px}
 .s119-future{height:310svh;--future-safe-bottom:79px}.s119-future-stage{min-height:0}.s119-future-brand{top:25px;left:24px;gap:9px;font-size:7px}.s119-future-mark{font-size:20px}
 .s119-future-stories{top:106px;left:24px;width:calc(100% - 48px);max-width:none}.s119-future-eyebrow{font-size:10px!important;margin-bottom:14px!important;gap:7px}
 .s119-future .s119-future-story h2{font-size:clamp(30px,8.3vw,42px)!important;line-height:1.3!important;letter-spacing:-.05em!important}
 .s119-future-description{font-size:11px!important;line-height:1.8!important;margin-top:16px!important;color:#aebabe}
 .s119-future-visual{inset:32% -14% 18% 6%}.s119-future-fallback img{height:70%;width:70%;transform:translate(-47%,-53%)}
 .s119-future-model-credit{right:24px;bottom:auto;top:65px;font-size:8px;padding:3px 0}
 .s119-future-story[data-story="1"] h2{font-size:30px!important}.s119-future-story[data-story="1"] h2 br:first-of-type{display:none}.s119-future-tags{display:none}
 .s119-future-actions{bottom:146px;left:24px;gap:24px}.s119-future-actions a{font-size:11px;min-height:42px;gap:14px}.s119-future a.s119-future-primary{padding:0 18px}
 .s119-future-bottom{left:24px;right:24px;align-items:center}.s119-future-chapters{gap:16px}.s119-future-chapters button{min-width:50px;font-size:8px;padding-bottom:13px}.s119-future-chapters b{font-size:9px;margin-right:5px}.s119-future-chapters button:last-child b{font-size:8px}.s119-future-chapters button span{display:none}
 .s119-future-motion{font-size:9px}.s119-future-scroll{right:24px;bottom:200px;font-size:6px;gap:10px;writing-mode:vertical-rl}.s119-future-scroll i{font-size:16px}.s119-future-orbit{bottom:15%;left:23%}
 .s119-future.is-still{min-height:0}
}
@media(max-width:600px) and (max-height:740px){.s119-future-stories{top:83px}.s119-future-description{font-size:10px!important;margin-top:11px!important}.s119-future .s119-future-story h2{font-size:29px!important}.s119-future-actions{bottom:123px}.s119-future-scroll{display:none}.s119-future-visual{top:35%;bottom:23%}}
@media(max-height:740px) and (min-width:601px){.s119-future-stories{top:21%}.s119-future .s119-future-story h2{font-size:44px!important}.s119-future-description{margin-top:15px!important}.s119-future-tags{display:none}.s119-future-actions{bottom:18%}.s119-future-stage{min-height:550px}}
@media(prefers-reduced-motion:reduce){.s119-future *{transition:none!important;scroll-behavior:auto!important}}
/* Scroll-driven repair in a continuous, three-dimensional star field. */
.s119-future{height:650svh;background:#020308;--future-accent:#d4e4ff}
.s119-future-stage{background:#020308}
.s119-future-atmosphere{z-index:1;background:linear-gradient(90deg,rgba(2,3,8,.88),rgba(2,3,8,.43) 35%,transparent 64%),linear-gradient(0deg,rgba(2,3,8,.75),transparent 23%,transparent 80%,rgba(2,3,8,.22))}
.s119-future-atmosphere:after{display:none}
.s119-future-visual{z-index:2}
.s119-future-play{position:absolute;right:30px;top:78px;z-index:7;display:flex;align-items:center;gap:9px;appearance:none;border:1px solid #b2c7ef42;background:#131b2b80;color:#e2eaf5;padding:10px 17px;border-radius:24px!important;font:500 11px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;backdrop-filter:blur(12px);cursor:pointer;min-height:40px}
.s119-future-play:hover{background:#27354bba}.s119-future-play[aria-pressed=true]{border-color:#d4e4ff8a}
.s119-future-chapters{gap:23px}.s119-future-chapters button{min-width:74px}
.s119-future .s119-future-story h2{font-size:clamp(34px,3.6vw,58px)!important}
.s119-future-stories{top:29%;width:48%}
.s119-future-eyebrow>span{box-shadow:0 0 12px #aacdff88}
.s119-future a.s119-future-primary{background:#e6edf8;border-color:#e6edf8;color:#141e2f!important}
.s119-future a.s119-future-primary:hover{background:#c8dbff}
@media(max-width:991.98px){.s119-future-chapters{gap:16px}.s119-future-chapters button{min-width:63px}.s119-future-chapters b{margin-right:5px}.s119-future-chapters button span{font-size:9px}.s119-future-stories{width:51%}}
@media(max-width:600px){
 .s119-future{height:590svh}.s119-future-play{top:63px;right:19px;font-size:9px;min-height:30px;padding:6px 11px;gap:6px}
 .s119-future-model-credit{left:24px;right:auto;top:69px;font-size:7px}
 .s119-future-stories{top:115px;width:calc(100% - 48px)}
 .s119-future .s119-future-story h2,.s119-future-story[data-story="1"] h2{font-size:clamp(26px,7.0vw,35px)!important;line-height:1.3!important}
 .s119-future-story[data-story="1"] h2 br:first-of-type{display:initial}
 .s119-future-description{font-size:10px!important;margin-top:11px!important}
 .s119-future-eyebrow{font-size:9px!important;margin-bottom:11px!important}
 .s119-future-visual{inset:36% -15% 20% -5%}
 .s119-future-atmosphere{background:linear-gradient(180deg,rgba(2,3,8,.25),rgba(2,3,8,.64) 24%,transparent 48%,rgba(2,3,8,.14) 70%,rgba(2,3,8,.9)),linear-gradient(90deg,#02030855,transparent)}
 .s119-future-chapters{gap:10px}.s119-future-chapters button{min-width:27px;min-height:44px;text-align:center;padding-top:12px}.s119-future-chapters b{margin-right:0;font-size:9px}.s119-future-chapters button:last-child b{font-size:9px}
 .s119-future-motion [data-motion-label]{display:none}.s119-future-motion{padding:0 4px;min-width:34px}
 .s119-future-scroll{bottom:200px}
}
@media(max-width:600px) and (max-height:740px){.s119-future-stories{top:101px}.s119-future .s119-future-story h2{font-size:25px!important}.s119-future-description{font-size:9px!important;margin-top:8px!important}.s119-future-visual{top:41%;bottom:24%}.s119-future-eyebrow{font-size:8px!important;margin-bottom:8px!important}}
@media(min-width:601px) and (max-height:740px){.s119-future-stories{top:24%}.s119-future .s119-future-story h2{font-size:42px!important}}
.s119-future-stage:before{content:'';position:absolute;inset:0;background:url('../models/space/milky-way.webp') center/cover;filter:brightness(3);opacity:.7;pointer-events:none}
.s119-future.is-ready .s119-future-stage:before{opacity:0}
.s119-future[data-renderer=fallback] .s119-future-play{display:none}
.s119-future-motion{font-family:inherit;font-size:10px;line-height:1.4}

/* Calm space lighting keeps attention on the product's real reflections. */
.s119-future-brand{gap:16px;font-size:9px}
.s119-future-mark{font-size:18px;letter-spacing:-.045em;font-weight:750}
.s119-future-atmosphere{background:linear-gradient(90deg,rgba(2,3,8,.83),rgba(2,3,8,.28) 33%,transparent 56%),linear-gradient(0deg,rgba(2,3,8,.55),transparent 18%)}
.s119-future-stage:before{filter:brightness(1.8);opacity:.65}
.s119-future{height:740svh}
.s119-future-chapters{gap:20px}.s119-future-chapters button{min-width:69px}
@media(max-width:991.98px){.s119-future-chapters{gap:13px}.s119-future-chapters button{min-width:56px}}
@media(max-width:600px){
 .s119-future{height:690svh}.s119-future-brand{gap:10px;font-size:6px}.s119-future-mark{font-size:16px;letter-spacing:-.04em}
 .s119-future-chapters{gap:8px}.s119-future-chapters button{min-width:27px}
 .s119-future-atmosphere{background:linear-gradient(180deg,rgba(2,3,8,.78),rgba(2,3,8,.84) 30%,rgba(2,3,8,.35) 42%,transparent 56%,transparent 72%,rgba(2,3,8,.75))}
}

/* Keep the hero controls clear of the site's floating AI receptionist. */
.s119-future-motion{position:absolute;top:76px;right:184px;z-index:7}
.s119-future-model-credit{top:63px;bottom:auto;left:6.6%;right:auto}
@media(max-width:991.98px){.s119-future-model-credit{left:6%}}
@media(max-width:600px){
 .s119-future-motion{top:56px;right:138px}
 .s119-future-model-credit{top:69px;left:24px}
}

/* A persistent, reachable way through the story and into the main page. */
.s119-future-bottom{justify-content:flex-start;gap:24px;align-items:center}
.s119-future-advance{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-width:44px;min-height:44px;padding:0 16px;border:1px solid #cfdef35e;border-radius:28px!important;background:#101724b8;color:#e4edfb;font:500 10px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;backdrop-filter:blur(12px)}
.s119-future-advance:hover,.s119-future-advance[aria-pressed=true]{background:#29394ecc;border-color:#d4e4ffb0}
.s119-advance-pause,.s119-future-advance[aria-pressed=true] .s119-advance-arrow{display:none}
.s119-future-advance[aria-pressed=true] .s119-advance-pause{display:block}
@media(max-width:991.98px){.s119-future-bottom{gap:18px}.s119-future-advance{padding:0 12px}}
@media(max-width:600px){
 .s119-future-bottom{gap:12px}.s119-future-chapters{gap:4px}.s119-future-chapters button{min-width:24px}
 .s119-future-advance{width:44px;height:44px;padding:0}.s119-future-advance [data-advance-label]{display:none}
}

/* Mobile 3D is suspended: show the established video hero only. */
@media(max-width:767px),(pointer:coarse) and (max-width:1024px){
 .s119-hero-switch-wrap,.s119-future{display:none!important}
}

/* The desktop cinematic uses native video decoding and only one screen of space. */
.s119-future.is-cinematic{height:auto;min-height:0}
.s119-future.is-cinematic .s119-future-stage{position:relative;top:0;min-height:0}
.s119-future-film{display:block;width:100%;height:100%;object-fit:contain;background:#020308}
@media(max-width:991.98px){.s119-future-advance [data-advance-label]{display:none}.s119-future-advance{width:44px;height:44px;padding:0}}
@media(min-width:768px) and (max-height:740px){
 .s119-future.is-cinematic .s119-future-actions{bottom:calc(var(--future-safe-bottom) + 66px)}
 .s119-future.is-cinematic .s119-future-stories{top:22%}
 .s119-future.is-cinematic .s119-future-story h2{font-size:clamp(29px,3.6vw,42px)!important}
 .s119-future.is-cinematic .s119-future-eyebrow{margin-bottom:12px!important}
 .s119-future.is-cinematic .s119-future-description{font-size:11px!important;line-height:1.7!important;margin-top:12px!important}
}

/* 🚨 右下の受付ウィジェット(.s119-launch)が「本文へ進む」ボタンに重なる。
   本番だけに出るためローカルのプレビューでは再現しない。検証は必ず本番で
   document.elementFromPoint(中心) を使うこと（座標の比較では重なりを見逃す）。 */
@media (max-width:1100px){
  /* 実測: 800px幅でウィジェットの左端は x=635。操作列はその手前で終わらせる。 */
  .s119-future-bottom{right:180px!important}
  .s119-future-chapters{gap:12px}
  .s119-future-chapters button span{display:none}
}
