/* Scoped gadgetcorp-hero first view. Does not restyle the site header. */
.gadget-hero svg{display:block;width:100%;height:100%}
.gadget-hero,#industry-dialog{--ink:#081637;--blue:#006aff;--cyan:#00c9f4;--muted:#486188;--ease:cubic-bezier(.2,.7,.2,1)}
.hero.gadget-hero{height:75vw;min-height:800px;max-height:1190px;background:#fbfdff;perspective:1400px;isolation:isolate;position:relative;overflow:hidden}
.gadget-hero .atmosphere{position:absolute;inset:0;z-index:-5;background:radial-gradient(ellipse at 50% 36%,#fff 0 24%,#ffffffcc 43%,transparent 69%),linear-gradient(113deg,#e8f8ff 0%,#fff 26%,#f8fdff 67%,#e0f4ff 100%)}
.gadget-hero .atmosphere:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(153deg,transparent 0 160px,#5cbfff10 161px,#78ceff16 169px,transparent 178px);mask-image:linear-gradient(90deg,#000,transparent 32%,transparent 68%,#000)}
.gadget-hero .hero-copy{position:absolute;z-index:8;left:50%;top:19.3%;width:58%;transform:translateX(-50%);pointer-events:none;text-align:center}
.gadget-hero .hero-copy a{pointer-events:auto}
.gadget-hero .eyebrow,#industry-dialog .eyebrow{color:#3764a6;font-size:12px;letter-spacing:.19em;font-weight:500;margin:0}
.gadget-hero .eyebrow span,#industry-dialog .eyebrow span{margin:0 17px;color:#144996}
.gadget-hero .lead{font-size:18px;letter-spacing:.13em;margin:18px 0 0}
.gadget-hero .divider{display:block;width:42px;height:1px;background:#172e5d;margin:30px auto 33px}
.gadget-hero h1{font-family:var(--font,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif);font-weight:700;font-size:clamp(44px,4.75vw,74px);letter-spacing:-.05em;line-height:1.32;margin:0;text-shadow:0 0 22px #fff,0 0 45px #fff}
.gadget-hero h1 span{display:block}
.gadget-hero .intro{font-size:clamp(13px,1.18vw,18px);line-height:1.85;letter-spacing:.025em;margin:18px auto}
.gadget-hero .hero-actions{margin-top:20px}
.gadget-hero .button,#industry-dialog .button{min-height:62px;min-width:222px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:18px 32px;border-radius:0;font-size:16px;font-weight:700;letter-spacing:.06em;color:#fff;background:linear-gradient(100deg,#008dbb,#0097bf);border:1px solid transparent;box-shadow:none;transition:background .2s,transform .2s,box-shadow .2s}
.gadget-hero .button .icon,#industry-dialog .button .icon{width:28px;height:28px;font-size:22px;line-height:1}
.gadget-hero .button:hover,#industry-dialog .button:hover{background:#007ba3;transform:translateY(-2px);box-shadow:0 8px 24px #008fbc22}
.gadget-hero .button-outline{color:var(--ink,#071e40);background:#fff;border:1px solid var(--ink,#071e40)}
.gadget-hero .button-outline:hover{background:var(--ink,#071e40);color:#fff}
.gadget-hero .industry-gallery{position:absolute;inset:0;z-index:5;pointer-events:none;transform-style:preserve-3d}
.gadget-hero .industry-card{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ratio);border:0;padding:0;background:none;pointer-events:auto;transform-style:preserve-3d;will-change:transform;isolation:isolate;transition:filter .35s}
.gadget-hero .card-visual{position:relative;width:100%;height:100%;transition:transform .6s var(--ease),filter .4s;filter:drop-shadow(0 14px 18px #1b92ca12)}
.gadget-hero .industry-card:hover .card-visual,.gadget-hero .industry-card:focus-visible .card-visual{transform:scale(1.055) translateZ(20px);filter:drop-shadow(0 16px 20px #009be333)}
.gadget-hero .card-open{position:absolute;right:9%;top:18%;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--blue);opacity:0;transform:translateY(8px);transition:.3s}
.gadget-hero .industry-card:hover .card-open,.gadget-hero .industry-card:focus-visible .card-open{opacity:1;transform:none}
.gadget-hero .mobile-card-label{display:none}
.gadget-hero .ghost-gallery{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 34%,transparent 66%,#000);opacity:.38}
.gadget-hero .ghost{position:absolute;width:19%;filter:blur(3px);opacity:.35;transform:rotateY(35deg) rotate(-9deg)}
.gadget-hero .ghost svg{width:100%;height:auto}
.gadget-hero .side-note{position:absolute;font-size:12px;line-height:1.9;color:#234b86;letter-spacing:.09em;z-index:6}
.gadget-hero .side-note span{display:block;width:23px;height:1px;background:#234b86;margin-top:12px}
.gadget-hero .note-left{left:3.3%;top:52%}
.gadget-hero .note-right{right:1.4%;top:43%}
.gadget-hero .tokyo-caption{position:absolute;z-index:6;top:68.2%;left:50%;transform:translateX(-50%);color:#4972af;text-align:center;letter-spacing:.23em;font-size:12px}
.gadget-hero .tokyo-caption small{display:block;font-size:9px;letter-spacing:.19em;line-height:1.9;margin:7px 0}
.gadget-hero .tokyo-caption i{display:block;height:25px;width:1px;background:#7494c2;margin:12px auto}
.gadget-hero .city{position:absolute;z-index:0;left:-1%;bottom:0;width:102%;height:35.5%;will-change:transform;pointer-events:none}
.gadget-hero .city:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#fff 0%,#ffffffb8 5%,transparent 27%)}
.gadget-hero .network{position:absolute;z-index:2;left:0;bottom:2%;width:100%;height:38%;pointer-events:none;filter:drop-shadow(0 0 5px #1bd0ff)}
.gadget-hero .network path{fill:none;stroke:url(#beam);stroke-width:1.2;opacity:.6}
.gadget-hero .network circle{fill:#fff;filter:drop-shadow(0 0 8px #00a6ff)}
.gadget-hero .light-field{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.gadget-hero .light-field i{position:absolute;width:130%;height:120px;left:-15%;top:60%;border:1px solid #a9e9ff75;border-radius:50%;transform:rotate(-18deg);box-shadow:0 -5px 16px #72d9ff15,0 2px 4px #ffffffb5}
.gadget-hero .light-field i:nth-child(2){top:47%;transform:rotate(-23deg);opacity:.45}
.gadget-hero .light-field i:nth-child(3){top:75%;transform:rotate(12deg);opacity:.5}
.gadget-hero .hero-bottom{position:absolute;bottom:28px;left:3%;right:3%;z-index:7;font-size:10px;letter-spacing:.16em}
.gadget-hero .hero-bottom p{margin:0}
.gadget-hero .hero-bottom small{display:block;margin-top:5px;font-size:8px}
.gadget-hero .scroll-link{display:flex;gap:18px;align-items:center}
.gadget-hero .scroll-link span{font-size:22px}
.gadget-hero .motion-toggle{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:8px;font-size:10px;color:#355782;background:#ffffffe0;border:1px solid #c7deef;padding:8px 13px;border-radius:20px;backdrop-filter:blur(8px)}
.gadget-hero .motion-icon{font-size:12px}
#industry-dialog{border:1px solid #dcecf5;border-radius:24px;padding:48px;width:min(540px,calc(100% - 32px));color:var(--ink);box-shadow:0 30px 100px #062a5633;max-height:85vh;overflow:auto;margin:auto}
#industry-dialog::backdrop{background:#08284e50;backdrop-filter:blur(8px)}
#industry-dialog .dialog-close{position:absolute;right:16px;top:12px;font-size:28px;border:0;background:none;width:40px;height:40px}
#industry-dialog h2{font-size:26px;margin:24px 0 18px}
#dialog-description{font-size:14px;line-height:1.9}
#dialog-items{padding:20px 0 20px 19px;list-style:disc;font-size:14px;line-height:2.1}
#industry-dialog .button{width:100%;margin-top:22px}
.dialog-note{font-size:11px;color:#667d97}
.scroll-locked{overflow:hidden}
@media(prefers-reduced-motion:no-preference){.js .gadget-hero .reveal{animation:reveal 1.2s var(--ease) both}.js .gadget-hero .lead{animation-delay:.12s}.js .gadget-hero .divider{animation-delay:.2s}.js .gadget-hero h1{animation-delay:.3s}.js .gadget-hero .intro{animation-delay:.45s}.js .gadget-hero .hero-actions{animation-delay:.58s}.js .gadget-hero .card-visual{animation:card-in 1.5s var(--ease) both;animation-delay:calc(var(--index,0)*.08s)}@keyframes reveal{from{opacity:0;filter:blur(7px);translate:0 20px}to{opacity:1;filter:blur(0);translate:0 0}}@keyframes card-in{from{opacity:0;scale:.92;translate:0 20px}to{opacity:1;scale:1;translate:0 0}}}
@media(min-width:1600px){.gadget-hero .hero-copy{top:20%}.gadget-hero .intro{font-size:18px}}
@media(max-width:1199px){.hero.gadget-hero{min-height:790px}.gadget-hero .hero-copy{width:61%;top:23%}.gadget-hero h1{font-size:4.9vw}.gadget-hero .lead{font-size:15px}.gadget-hero .divider{margin:25px auto}.gadget-hero .intro{font-size:13px}.gadget-hero .button,#industry-dialog .button{min-width:188px;min-height:51px;padding:14px 23px;font-size:12px}.gadget-hero .side-note{font-size:10px}.gadget-hero .note-right{right:1%}.gadget-hero .tokyo-caption{top:70%}.gadget-hero .hero-bottom{letter-spacing:.05em}.gadget-hero .card-dental{top:11%}.gadget-hero .card-labor{top:12%}.gadget-hero .card-beauty{top:34%}.gadget-hero .card-manufacturing{top:35%}.gadget-hero .card-design{top:58%}.gadget-hero .card-education{top:59%}}
@media(max-width:950px){.gadget-hero .hero-copy{top:25%}.hero.gadget-hero{min-height:760px}.gadget-hero .eyebrow,#industry-dialog .eyebrow{font-size:10px}.gadget-hero .eyebrow span,#industry-dialog .eyebrow span{margin:0 10px}.gadget-hero .hero-actions{gap:12px}.gadget-hero .side-note{display:none}.gadget-hero .button,#industry-dialog .button{min-width:175px}.gadget-hero .hero-bottom>p small{max-width:160px;line-height:1.6}.gadget-hero .scroll-link{max-width:195px;font-size:9px;line-height:1.7}.gadget-hero .card-design{top:61%}.gadget-hero .card-education{top:62%}.gadget-hero .tokyo-caption{top:69%}.gadget-hero .intro{max-width:450px}.gadget-hero .desktop-break{display:none}}
@media(max-width:700px){.hero.gadget-hero{height:auto;min-height:0;padding-top:24px;padding-bottom:222px;max-height:none}.gadget-hero .hero-copy{position:relative;top:auto;left:auto;width:auto;transform:none;padding:0 19px;text-align:center}.gadget-hero .eyebrow,#industry-dialog .eyebrow{font-size:9px;letter-spacing:.17em}.gadget-hero .lead{font-size:12px;letter-spacing:.08em;margin-top:14px}.gadget-hero .divider{margin:22px auto 23px;width:28px}.gadget-hero h1{font-size:clamp(25px,6.6vw,43px);letter-spacing:-.065em;line-height:1.55}.gadget-hero .intro{font-size:12px;line-height:2;margin:18px auto 0;max-width:350px}.gadget-hero .hero-actions{margin:24px auto 0;gap:10px;max-width:400px}.gadget-hero .button,#industry-dialog .button{min-width:0;min-height:49px;padding:13px 16px;font-size:11px;letter-spacing:.02em;gap:10px}.gadget-hero .hero-actions .button{flex:1}.gadget-hero .button span,#industry-dialog .button span{font-size:18px}.gadget-hero .industry-gallery{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:30px 16px 0;margin:0 auto;max-width:580px;z-index:9}.gadget-hero .industry-card{position:relative;inset:auto!important;width:100%;aspect-ratio:1.43;transform:none!important;display:flex;align-items:center;justify-content:center}.gadget-hero .card-visual{height:100%;width:100%}.gadget-hero .card-visual svg{height:100%;width:100%}.gadget-hero .card-dental{order:0}.gadget-hero .card-labor{order:1}.gadget-hero .card-beauty{order:2}.gadget-hero .card-manufacturing{order:3}.gadget-hero .card-design{order:4}.gadget-hero .card-education{order:5}.gadget-hero .ghost-gallery{opacity:.2}.gadget-hero .city{height:210px;width:170%;left:-35%}.gadget-hero .network{height:235px;bottom:24px;width:180%;left:-40%}.gadget-hero .tokyo-caption{top:auto;bottom:159px;font-size:9px}.gadget-hero .tokyo-caption small{font-size:7px}.gadget-hero .tokyo-caption i{display:none}.gadget-hero .light-field i{top:68%;width:210%;left:-50%;opacity:.45}.gadget-hero .hero-bottom{left:20px;right:20px;bottom:19px;font-size:8px;align-items:center}.gadget-hero .hero-bottom small{font-size:6px}.gadget-hero .hero-bottom .scroll-link{max-width:135px;font-size:8px;gap:8px}.gadget-hero .motion-toggle{bottom:73px;font-size:9px;padding:7px 12px}#industry-dialog{padding:42px 24px 28px}#industry-dialog h2{font-size:23px}.gadget-hero .card-open{display:none}}
@media(prefers-reduced-motion:reduce){.gadget-hero,.gadget-hero *,.gadget-hero *::before,.gadget-hero *::after{animation:none!important;transition:none!important}.gadget-hero .industry-card{will-change:auto}.gadget-hero .network circle{display:none}}
body.motion-paused .gadget-hero *,body.motion-paused .gadget-hero *::before,body.motion-paused .gadget-hero *::after{animation-play-state:paused!important}
.hero.gadget-hero{max-width:none;width:100%;margin:0;display:block;height:75vw;min-height:800px;max-height:1190px;background:#fbfdff;padding:0;perspective:1400px;isolation:isolate;position:relative;overflow:hidden}
.hero.gadget-hero p{margin-bottom:0}
.hero.gadget-hero .hero-copy,.hero.gadget-hero .hero-copy h1,.hero.gadget-hero .hero-copy .lead,.hero.gadget-hero .hero-copy .intro,.hero.gadget-hero .hero-copy .eyebrow{text-align:center}
.hero.gadget-hero h1{font-family:var(--font,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif);font-weight:700;font-size:clamp(44px,4.75vw,74px);letter-spacing:-.05em;line-height:1.32;margin:0;text-shadow:0 0 22px #fff,0 0 45px #fff;overflow:visible;word-break:keep-all;text-align:center}
.hero.gadget-hero h1 span{display:block;text-align:center}
@media(min-width:768px){.gadget-hero h1 span,.hero.gadget-hero h1 span{white-space:nowrap}}
.hero.gadget-hero .eyebrow{color:#3764a6;font-size:12px;letter-spacing:.19em;font-weight:500;margin:0 0 0;line-height:1.5}
.hero.gadget-hero .lead{font-size:18px;font-weight:400;letter-spacing:.13em;margin:18px 0 0;line-height:1.7}
.hero.gadget-hero .hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:nowrap;gap:16px}
.hero.gadget-hero .hero-bottom > p{flex:0 1 auto;width:auto;margin:0}
.hero.gadget-hero .scroll-link{flex:0 0 auto;margin-left:auto;white-space:nowrap}
.hero.gadget-hero .hero-actions .button,.hero.gadget-hero a.button,#industry-dialog a.button{min-height:62px;min-width:222px;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:18px 32px;border-radius:0;font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1.5;color:#fff;background:linear-gradient(100deg,#008dbb,#0097bf);border:1px solid transparent;box-shadow:none;backdrop-filter:none}
.hero.gadget-hero .hero-actions .button:hover,.hero.gadget-hero a.button:hover,#industry-dialog a.button:hover{background:#007ba3;box-shadow:0 8px 24px #008fbc22;transform:translateY(-2px)}
.hero.gadget-hero .hero-actions .button-outline,.hero.gadget-hero a.button.button-outline{color:var(--ink,#071e40);background:#fff;border:1px solid var(--ink,#071e40);box-shadow:none}
.hero.gadget-hero .hero-actions .button-outline:hover,.hero.gadget-hero a.button.button-outline:hover{background:var(--ink,#071e40);color:#fff;box-shadow:none}
.hero.gadget-hero .button .icon,#industry-dialog .button .icon{width:28px;height:28px;font-size:22px;font-weight:400;line-height:1;transform:none}
.hero.gadget-hero .button:hover .icon,.hero.gadget-hero .button:hover span{transform:none}
#industry-dialog{border:1px solid #dcecf5;border-radius:24px;padding:48px;width:min(540px,calc(100% - 32px));color:#081637;box-shadow:0 30px 100px #062a5633;max-height:85vh;overflow:auto;margin:auto;background:#fff}
#industry-dialog .eyebrow{color:#3764a6;font-size:12px;letter-spacing:.19em;font-weight:500;margin:0}
@media(min-width:1600px){.hero.gadget-hero{min-height:800px}}
@media(max-width:1199px){.hero.gadget-hero{min-height:790px;max-width:none}.hero.gadget-hero h1{font-size:4.9vw}.hero.gadget-hero .hero-actions .button{min-width:188px;min-height:51px;padding:14px 23px;font-size:14px;border-radius:0}}
@media(max-width:960px){.hero.gadget-hero{min-height:760px}}
@media(max-width:767px){.hero.gadget-hero{display:block;height:auto;min-height:0;max-height:none;padding-top:24px;padding-bottom:222px}.hero.gadget-hero .hero-copy{position:relative;top:auto;left:auto;width:auto;max-width:100%;transform:none;padding:0 19px;box-sizing:border-box}.hero.gadget-hero .hero-copy h1{font-size:clamp(22px,5.8vw,36px);margin:0;letter-spacing:-.03em;line-height:1.45;word-break:normal;line-break:auto}.gadget-hero h1 span,.hero.gadget-hero h1 span{white-space:normal}.hero.gadget-hero .lead{font-size:13px;letter-spacing:.06em}.hero.gadget-hero .hero-actions{margin:24px auto 0;gap:12px;max-width:320px;width:100%;flex-direction:column;align-items:stretch;box-sizing:border-box}.hero.gadget-hero .hero-actions .button,.hero.gadget-hero .hero-actions .button-outline{min-width:0;width:100%;min-height:58px;padding:15px 20px;font-size:14px;letter-spacing:.05em;gap:12px;flex:none;border-radius:0}}
@media(max-width:700px){.hero.gadget-hero{height:auto;min-height:0;padding-top:24px;padding-bottom:222px;max-height:none}.hero.gadget-hero .hero-actions{max-width:100%}.hero.gadget-hero .scroll-link{white-space:normal}}
