@charset "UTF-8";
:root{--ink:#0b1628;--muted:#596575;--blue:#0956e8;--cyan:#6fe1ff;--navy:#070e19;--line:#dce2e9;--soft:#f3f6fa;--max:1280px;--gutter:clamp(24px,5.55vw,88px);--body-font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--display-font:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:#fff;font:400 1rem/1.9 var(--body-font);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
body.menu-open{overflow:hidden}
::selection{background:#a3e9ff;color:#08162c}
a{color:inherit;text-decoration:none;text-underline-offset:6px}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2782ff;outline-offset:5px}
input,textarea{min-width:0}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,h4{margin:0}
p+p{margin-top:1.4em}
h1,h2,h3{font-weight:700;line-height:1.5}
ul{padding:0;list-style:none}
.container{width:min(var(--max),100% - var(--gutter)*2);margin-inline:auto}
.section{padding-block:clamp(80px,9vw,144px)}
.eyebrow{display:flex;align-items:center;gap:20px;font-family:var(--display-font);font-size:.875rem;font-weight:600;letter-spacing:.14em;line-height:1.5;margin-bottom:32px}
.eyebrow>span:first-child:not(.short-rule){font-size:.8125rem;color:var(--blue);border-right:1px solid var(--line);padding-right:18px}
.micro{font-family:var(--display-font);font-size:.75rem;letter-spacing:.1em;line-height:1.5}
.large-ja{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.75;letter-spacing:.035em}
.medium-ja{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.7}
.text-blue{color:var(--blue)}
.section-en{font-family:var(--display-font);font-weight:500;font-size:clamp(2.7rem,5.2vw,5rem);line-height:1.05;letter-spacing:-.05em}
.lead{font-size:1.25rem;line-height:1.95;font-weight:600}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:64px}
.section-heading>p{font-size:1rem;line-height:2.1;color:var(--muted);padding-bottom:5px;max-width:500px}
.muted-note{font-size:.875rem;line-height:1.9;color:var(--muted)}
.muted-note a{text-decoration:underline}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;min-width:228px;min-height:58px;padding:16px 0;border:0;border-bottom:1px solid #8392a4;background:transparent;font-size:.9375rem;font-weight:600;transition:color .25s,border-color .25s}
.button-line{width:34px;height:1px;background:currentColor;transition:width .3s}
.button:hover{color:var(--blue);border-color:var(--blue)}
.button:hover .button-line{width:48px}
.button.light{color:white;border-color:#637183}
.button.light:hover{color:var(--cyan);border-color:var(--cyan)}
.text-link{text-decoration:underline;font-size:.875rem}
.skip-link{position:fixed;top:10px;left:10px;background:white;padding:12px 20px;z-index:200;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:96px;padding:0 var(--gutter);position:absolute;inset:0 0 auto;z-index:80;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff24;transition:background .3s}
.site-header.scrolled{position:fixed;height:80px;background:#070e19f5;box-shadow:0 5px 20px #00000015;animation:header-in .25s ease}
@keyframes header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.brand{display:block;flex-shrink:0;width:235px}
.brand-logo{display:block;width:100%;height:auto}
.desktop-nav{display:flex;gap:clamp(20px,2.4vw,40px);align-items:center;font-size:.875rem}
.desktop-nav>a:not(.nav-contact){position:relative;padding-block:12px}
.desktop-nav>a:not(.nav-contact)::after{content:"";position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--cyan);transition:width .25s}
.desktop-nav>a:hover::after,.desktop-nav>a[aria-current]::after{width:100%}
.nav-contact{background:#fff;color:var(--ink);padding:11px 25px;transition:background .2s}
.nav-contact:hover{background:var(--cyan)}
.menu-toggle{display:none;width:48px;height:48px;background:transparent;border:1px solid #ffffff66;padding:13px}
.menu-toggle span{display:block;height:1px;background:white;margin:6px 0;transition:transform .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav[hidden]{display:none}
.mobile-nav{position:fixed;inset:0;background:var(--navy);z-index:70;padding:120px var(--gutter) 50px;overflow-y:auto;color:white}
.mobile-nav>a{display:block;padding:18px 0;border-bottom:1px solid #ffffff24;font-size:1.4rem}
.mobile-nav small{font-size:.875rem;margin-left:14px;color:#92a0b4}
.mobile-nav .mobile-policy{font-size:.875rem;margin-top:22px;color:#aebaca;border:0}
.hero{position:relative;min-height:900px;height:auto;background:var(--navy);color:white;overflow:hidden}
.hero-visual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-appear 1.8s ease both}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#030a1599 0%,#030a1522 48%,transparent 75%),linear-gradient(0deg,#030b17b3,transparent 23%)}
.hero-content{position:relative;padding-top:clamp(175px,20vh,230px);padding-bottom:160px}
.hero-eyebrow{color:#bdc9dc;margin-bottom:28px;font-size:.8125rem;letter-spacing:.13em}
.short-rule{display:block;width:28px;height:1px;background:var(--cyan)}
.hero h1{font-size:clamp(3.6rem,6.3vw,6.1rem);font-weight:600;line-height:1.36;letter-spacing:.045em;animation:copy-appear .9s ease .1s both}
.hero h1 span{color:#70dcff}
.hero-description{color:#d4dce8;font-size:1rem;line-height:2;margin-top:26px;animation:copy-appear .9s ease .25s both}
.hero-button{color:white;border-color:#ffffff77;margin-top:25px;font-weight:500;animation:copy-appear .9s ease .4s both}
.hero-button:hover{color:var(--cyan);border-color:var(--cyan)}
.hero-bottom{position:absolute;left:0;right:0;bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--display-font);font-size:.75rem;letter-spacing:.12em;color:#b6c5d8}
.hero-index{color:#a8bed2}
.scroll-link{display:flex;align-items:center;gap:20px}
.scroll-track{height:44px;width:1px;background:#ffffff30;position:relative;overflow:hidden}
.scroll-track::after{content:"";display:block;width:1px;height:20px;background:#9de6ff;animation:scroll-line 2s ease infinite}
@keyframes scroll-line{from{transform:translateY(-20px)}to{transform:translateY(44px)}}
@keyframes hero-appear{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes copy-appear{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.news-ticker{background:#101b2c;color:#d8e1ec}
.news-ticker .container{display:flex;align-items:center;gap:30px;min-height:96px}
.ticker-title{font:500 .8125rem var(--display-font);letter-spacing:.1em;padding-right:30px;border-right:1px solid #536071}
.news-ticker a{display:flex;align-items:center;gap:25px;font-size:.875rem}
.news-ticker a:hover{color:var(--cyan)}
.news-ticker time{font:.8125rem var(--display-font);color:#a6b4c6;white-space:nowrap}
.news-ticker .all-news{margin-left:auto;border-bottom:1px solid #61718a;font-size:.8125rem;white-space:nowrap}
.vision-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,100px)}
.vision-copy{padding-top:4px}
.vision-copy p:not(.lead){font-size:1rem;color:var(--muted);line-height:2.1}
.vision-copy .button{margin-top:30px}
.business{background:var(--soft)}
.service-list{border-top:1px solid #bcc6d4}
.service-row{display:grid;grid-template-columns:40px 1fr 1fr 40px;gap:25px;align-items:center;min-height:162px;padding:32px 12px;border-bottom:1px solid #cdd6e1;transition:background .25s,padding .25s}
.service-row:hover{background:#fff;padding-inline:22px}
.service-number{font:400 .875rem var(--display-font);color:var(--blue);align-self:start;margin-top:7px}
.service-row .micro{color:#64768d}
.service-row h3{font-size:clamp(1.15rem,1.6vw,1.5rem);margin-top:8px;line-height:1.6}
.service-row>p{color:var(--muted);font-size:.9375rem;line-height:1.9;max-width:400px}
.service-row-plus{font-size:1.5rem;font-weight:300;justify-self:end;color:var(--blue)}
.product-feature{background:#0a1931;color:white;padding-block:clamp(80px,8vw,130px);overflow:hidden}
.product-feature-inner{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.product-feature .eyebrow>span:first-child{color:var(--cyan);border-color:#415675}
.product-feature .micro{display:block;color:#849fc6;font-size:.75rem}
.product-feature h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.7;margin:18px 0 24px}
.product-feature-copy>p:not(.eyebrow):not(.micro){font-size:.9375rem;color:#bdcbe0;line-height:2}
.product-stat{display:flex;align-items:center;gap:25px;margin-block:25px 20px;color:white}
.product-stat strong{font:400 6rem/1.1 var(--display-font);letter-spacing:-.07em}
.product-stat strong>span{font-size:2rem;letter-spacing:0}
.product-stat>div{font-size:.9375rem}
.product-stat small{font-size:.75rem;color:#92a5bf}
.product-photo{position:relative;display:block;overflow:hidden}
.product-photo img{width:100%;aspect-ratio:1/1.08;object-fit:cover;transition:transform .8s}
.product-photo:hover img{transform:scale(1.04)}
.product-photo>span{position:absolute;bottom:0;inset-inline:0;padding:28px;background:linear-gradient(transparent,#051325d9);font:.75rem var(--display-font);letter-spacing:.11em}
.recruit-panel{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(40px,7vw,105px)}
.recruit-photo{overflow:hidden;background:#dde2e7}
.recruit-photo img{width:100%;aspect-ratio:1/1.13;object-fit:cover;object-position:50%;filter:saturate(.6)}
.recruit-copy .section-en{font-size:clamp(2.7rem,4.8vw,4.4rem);margin-bottom:25px}
.recruit-copy h2{font-size:1.75rem;line-height:1.8;margin-bottom:18px}
.recruit-copy>p:not(.eyebrow):not(.section-en){color:var(--muted);font-size:.9375rem}
.recruit-copy .button{margin-top:22px}
.news-section{background:var(--soft);padding-block:95px}
.news-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px}
.news-layout .section-en{font-size:3.5rem}
.news-layout>div>p:last-child{margin-top:14px}
.news-row{display:grid;grid-template-columns:88px 90px 1fr;gap:17px;padding:25px 0;border-top:1px solid #d3dce7;align-items:baseline}
.news-row:last-child{border-bottom:1px solid #d3dce7}
.news-row time{font:.8125rem var(--display-font);color:#687789}
.news-tag{font:.75rem var(--display-font);letter-spacing:.06em;color:#435773}
.news-row>span:last-child{font-size:.9375rem;line-height:1.8}
.news-row:hover>span:last-child{color:var(--blue)}
.contact-band{background:var(--blue);color:#fff;padding-block:90px}
.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}
.contact-band h2{font-size:clamp(2.4rem,4.6vw,4.5rem);line-height:1.5;letter-spacing:.04em;font-weight:500}
.contact-band .eyebrow{font-size:.8125rem;color:#c9e0ff;margin-bottom:20px}
.contact-band-action{font-size:.9375rem;line-height:2}
.contact-band-action .button{margin-top:26px;min-width:300px;border-color:#b9d4ff}
.site-footer{background:var(--navy);color:#d3dfef;padding:70px 0 25px}
.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:65px}
.footer-address{color:#94a3b9;font-size:.875rem;margin-top:25px;line-height:2}
.footer-main nav{display:grid;grid-template-columns:repeat(2,1fr);column-gap:60px;row-gap:14px;font-size:.875rem;align-content:start}
.footer-main nav a:hover{color:var(--cyan)}
.footer-bottom{border-top:1px solid #273348;padding-top:24px;display:flex;align-items:center;gap:40px;color:#8493a7;font-size:.75rem;line-height:1.8}
.footer-bottom small{font-size:.75rem;font-family:var(--display-font)}
.back-top{margin-left:auto;letter-spacing:.07em;font-family:var(--display-font)}
.page-hero{padding:150px 0 85px;color:white;background:var(--navy);position:relative;overflow:hidden}
.page-hero::after{content:"";width:36%;height:1px;position:absolute;right:0;top:55%;background:#2472c8;box-shadow:0 8px 0 #17497f,0 16px 0 #11375f;transform:rotate(-25deg);transform-origin:right}
.breadcrumb{display:flex;gap:18px;font-size:.75rem;color:#899bb2;margin-bottom:45px;position:relative;z-index:1}
.breadcrumb>a{font-family:var(--display-font)}
.breadcrumb>a:hover{color:white}
.page-en{font-family:var(--display-font);font-size:clamp(3.3rem,7.5vw,7.8rem);line-height:1.1;letter-spacing:-.04em;color:white;position:relative;z-index:1}
.page-hero h1{font-size:clamp(1.3rem,2.5vw,2rem);margin-top:15px;font-weight:500;letter-spacing:.08em;position:relative;z-index:1}
.page-intro{margin-top:30px;color:#9fafc3;font-size:1rem;position:relative;z-index:1}
.company-statement{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}
.company-statement-copy{padding-top:48px}
.company-statement-copy p:not(.lead){color:var(--muted)}
.brand-panorama{height:430px;background:url("/assets/hero.png") no-repeat center 55%/cover;display:flex;align-items:center;padding:var(--gutter);color:white}
.brand-panorama p{font:500 clamp(2.5rem,6vw,5.5rem)/1.05 var(--display-font);letter-spacing:-.025em}
.brand-panorama span{font-size:.3em;letter-spacing:.08em}
.company-table-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}
.company-table-layout .section-en{font-size:3rem;margin-bottom:18px}
.company-table{margin:0;border-top:1px solid #bdc7d4}
.company-table>div{display:grid;grid-template-columns:140px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}
.company-table dt{font-size:.9375rem;font-weight:500;color:#5b6d81}
.company-table dd{margin:0;font-size:1rem;line-height:2}
.company-table dd>span{display:block}
.company-table .muted-note{margin-top:10px;font-size:.875rem}
.access-section{background:var(--soft)}
.access-section .section-heading{margin:0}
.access-section .button{margin-top:18px}
.service-jump{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-block:24px;gap:8px 24px}
.service-jump a{display:flex;gap:10px;font-size:.875rem;padding:7px 0;align-items:baseline}
.service-jump a:hover{color:var(--blue)}
.service-jump span{font:400 .75rem var(--display-font);color:var(--blue)}
.service-detail{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,85px);padding-bottom:95px;margin-bottom:95px;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.service-detail:last-child{margin-bottom:0;padding-bottom:0;border:0}
.service-detail-image{position:relative;align-self:start}
.service-detail-image img{width:100%;aspect-ratio:1.15;object-fit:cover;filter:saturate(.65)}
.large-number{position:absolute;bottom:-15px;right:10px;font:400 6rem/1 var(--display-font);letter-spacing:-.06em;color:#fff;text-shadow:0 3px 20px #0002}
.service-detail-copy .eyebrow{font-size:.75rem;color:var(--blue);margin-bottom:12px}
.service-detail-copy h2{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.65}
.service-detail-copy h3{font-size:1.125rem;line-height:1.8;margin:26px 0 14px}
.service-detail-copy>p:not(.eyebrow){color:var(--muted)}
.service-examples{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding-top:20px;margin-top:25px;border-top:1px solid var(--line)}
.service-examples li{font-size:.875rem;color:#3b4d65;position:relative;padding-left:14px}
.service-examples li::before{content:"";width:4px;height:4px;position:absolute;top:12px;left:0;background:var(--blue)}
.service-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:20px}
.service-actions .button{font-size:.875rem}
.led-page-hero{background:#0a1730}
.led-showcase{display:grid;grid-template-columns:.7fr 1.3fr;gap:24px}
.led-showcase>img{height:480px;object-fit:cover;width:100%;background:#edf2f6}
.led-showcase video{width:100%;height:480px;background:#091426;object-fit:contain}
.led-features{background:var(--soft)}
.led-feature{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-block:70px;border-bottom:1px solid #ccd6e1}
.led-feature:last-child{border-bottom:0;padding-bottom:0}
.led-feature.reverse>div{order:2}
.led-feature.reverse>img{order:1}
.feature-no{font-family:var(--display-font);font-size:.8125rem;color:#557198;letter-spacing:.08em;display:block;margin-bottom:22px}
.led-feature h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:25px;line-height:1.7}
.led-feature p{color:var(--muted)}
.led-feature img{max-height:400px;width:100%;object-fit:contain}
.led-feature .led-big-stat{font:400 7rem/1 var(--display-font);color:var(--blue);letter-spacing:-.08em;margin-bottom:20px}
.led-big-stat span{font-family:var(--body-font);font-size:1.6rem;letter-spacing:0;margin-left:8px}
.led-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}
.led-gallery img{width:100%;max-height:360px;object-fit:contain}
.center-cta{margin-top:70px;text-align:center}
.center-cta .button{margin-top:25px}
.recruit-intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}
.recruit-intro-grid p:not(.eyebrow){color:var(--muted);margin-top:25px;line-height:2}
.recruit-intro-grid>img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.6)}
.jobs-section{background:var(--soft)}
.jobs{border-top:1px solid #bbc9da}
.job{border-bottom:1px solid #c8d3e1}
.job>summary{padding:30px 15px;display:grid;grid-template-columns:38px 1fr 34px;gap:25px;align-items:center;list-style:none;transition:background .2s}
.job>summary::-webkit-details-marker{display:none}
.job>summary:hover{background:#e9eff7}
.job-index{font:.875rem var(--display-font);color:#69809e}
.job-tag{font-size:.8125rem;color:var(--blue);display:block;margin-bottom:8px}
.job h3{font-size:1.25rem;font-weight:500;line-height:1.7}
.job-toggle{position:relative;width:26px;height:26px}
.job-toggle::before,.job-toggle::after{content:"";position:absolute;inset:50% 0 auto;width:24px;height:1px;background:var(--ink);transition:transform .2s}
.job-toggle::after{transform:rotate(90deg)}
.job[open] .job-toggle::after{transform:rotate(0deg)}
.job-body{padding:15px 70px 45px}
.job-body .company-table>div{grid-template-columns:150px 1fr}
.job-body .button{margin-top:25px}
.jobs-section>.container>.muted-note{margin-top:25px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}
.contact-aside h2{font-size:2rem;line-height:1.7;margin-bottom:25px}
.contact-aside>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}
.contact-details{margin-top:55px;padding-top:32px;border-top:1px solid var(--line);font-size:.9375rem}
.contact-details p{color:var(--muted)}
.contact-form .field{margin-bottom:34px}
.field label{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:.9375rem;font-weight:600}
.required,.optional{font-size:.75rem;font-weight:400;line-height:1.4}
.required{color:var(--blue);border:1px solid #b7cdf6;padding:2px 6px}
.optional{color:#64748a}
.field input,.field textarea{display:block;width:100%;border:1px solid #cfd8e5;border-radius:0;background:#f7f9fc;padding:15px 18px;font-size:1rem;line-height:1.7;color:var(--ink);transition:border .2s}
.field input::placeholder,.field textarea::placeholder{color:#738298}
.field input:focus,.field textarea:focus{background:white;border-color:var(--blue);outline-offset:2px;outline-width:1px}
.field textarea{resize:vertical}
.privacy-check{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-size:.875rem}
.privacy-check input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;margin-top:4px}
.privacy-check a{text-decoration:underline}
.submit-button{margin-top:32px;display:flex;width:100%;padding:20px 30px;background:var(--blue);color:white;border:0}
.submit-button:hover{background:#0344bd;color:white}
.form-note,.form-fallback{font-size:.8125rem;color:#6c7b91;margin-top:16px}
.form-fallback a{text-decoration:underline}
.privacy-document{max-width:900px}
.privacy-document h2{font-size:1.35rem;margin-top:45px;margin-bottom:20px;padding-top:25px;border-top:1px solid var(--line)}
.privacy-document p,.privacy-document li{font-size:1rem;line-height:2.1;color:#394b61}
.privacy-document ol{padding-left:25px}
.privacy-document li{padding-left:3px;margin-bottom:10px}
.privacy-document a{color:var(--blue);text-decoration:underline}
.js-motion .reveal{opacity:0;transform:translateY(52px);transition:opacity .95s ease,transform 1.05s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal.is-visible,.js-motion .reveal:focus-within{opacity:1;transform:translateY(0)}
@media(min-width:1550px){.hero{min-height:960px}.hero-content{padding-top:200px}.hero h1{font-size:6.2rem}}
@media(max-width:1100px){
  .brand{width:200px}.desktop-nav{gap:19px;font-size:.8125rem}.nav-contact{padding:10px 17px}
  .hero h1{font-size:4.8rem}.hero{min-height:800px}.hero-visual{object-position:57%}
  .news-ticker .all-news{display:none}.news-layout{grid-template-columns:.7fr 2fr;gap:45px}
  .service-row{grid-template-columns:28px 1fr 1fr 25px;gap:17px}
  .company-table-layout{grid-template-columns:.8fr 1.3fr;gap:40px}
  .company-table>div{grid-template-columns:110px 1fr;gap:16px}
  .footer-main nav{column-gap:35px}.led-showcase>img,.led-showcase video{height:380px}
}
@media(max-width:880px){
  .desktop-nav{display:none}.menu-toggle{display:block}.site-header{height:84px}.site-header.scrolled{height:76px}
  .hero{min-height:780px}.hero-content{padding-top:165px}.hero-visual{object-position:60%}.hero-shade{background:linear-gradient(90deg,#030a15bb,#030a1522),linear-gradient(0deg,#030b17b3,transparent 50%)}
  .hero h1{font-size:4.25rem}.hero-bottom>span:first-child{font-size:.75rem}.hero-index{display:none}
  .vision-grid,.company-statement{grid-template-columns:1fr;gap:36px}.vision-copy{max-width:600px}.company-statement-copy{padding:0;max-width:600px}
  .section-heading{align-items:start;gap:40px}.section-heading>p{max-width:340px}
  .service-row{grid-template-columns:26px 1fr 28px;gap:18px}.service-row>p{grid-column:2;grid-row:2;max-width:100%}.service-row-plus{grid-column:3;grid-row:1/3}.service-row{min-height:150px}
  .product-feature-inner{gap:40px}.product-feature h2{font-size:1.7rem}.product-photo img{aspect-ratio:.8}.product-stat strong{font-size:4.8rem}.product-stat{gap:15px}
  .recruit-panel{gap:40px}.recruit-copy>p br{display:none}.recruit-copy h2{font-size:1.4rem}
  .news-layout{grid-template-columns:1fr;gap:35px}.news-layout .eyebrow{margin-bottom:16px}.news-row{grid-template-columns:90px 90px 1fr}
  .contact-band-inner{gap:35px}.contact-band-action .button{min-width:240px}
  .company-table-layout{grid-template-columns:1fr;gap:40px}.company-table>div{grid-template-columns:140px 1fr}
  .service-detail{gap:35px;grid-template-columns:.8fr 1fr}.service-examples{grid-template-columns:1fr}.service-detail-copy h2{font-size:1.4rem}
  .service-detail-image img{aspect-ratio:.9}.led-feature{gap:8%}.led-showcase>img,.led-showcase video{height:330px}
  .contact-layout{gap:8%;grid-template-columns:.8fr 1.2fr}.contact-aside h2{font-size:1.5rem}
}
@media(max-width:640px){
  .js-motion .reveal{transform:translateY(32px)}
  .js-motion .reveal.is-visible,.js-motion .reveal:focus-within{transform:translateY(0)}
  :root{--gutter:24px}.container{width:calc(100% - 48px)}.section{padding-block:76px}
  .site-header{padding-inline:24px}.brand{width:194px}.menu-toggle{width:44px;height:44px;padding:11px}
  .eyebrow{font-size:.75rem;margin-bottom:27px;gap:14px}.eyebrow>span:first-child:not(.short-rule){padding-right:14px}
  .large-ja{font-size:1.9rem;line-height:1.85;letter-spacing:.01em}.section-en{font-size:3rem}
  .hero{min-height:max(760px,100svh);height:auto}.hero-content{padding-top:157px;padding-bottom:100px}
  .hero-visual{object-position:67%;opacity:.8}.hero-shade{background:linear-gradient(90deg,#020813cc 0%,#02081366 70%,#02081322),linear-gradient(0deg,#020813cc,transparent 35%)}
  .hero-eyebrow{font-size:.75rem;gap:12px;letter-spacing:.05em;margin-bottom:24px}.short-rule{width:18px}
  .hero h1{font-size:clamp(2.8rem,10.8vw,4.25rem);line-height:1.48;letter-spacing:.035em}
  .hero-description{margin-top:23px;font-size:1rem;line-height:2}.hero-button{margin-top:22px;min-width:215px;font-size:.875rem}
  .hero-bottom{bottom:24px;gap:12px}.hero-bottom>span:first-child{max-width:150px;font-size:.75rem;line-height:1.7;letter-spacing:.03em}.scroll-link{font-size:.75rem;gap:12px;letter-spacing:.02em}.scroll-track{height:35px}
  .news-ticker .container{display:block;min-height:130px;padding-block:23px}.ticker-title{border:0;padding:0;font-size:.75rem;display:block;margin-bottom:11px;color:#aabed8}
  .news-ticker a{display:block;font-size:.875rem;line-height:1.8}.news-ticker time{display:block;margin-bottom:5px;font-size:.75rem}.news-ticker .all-news{display:none}
  .vision-grid{gap:35px}.vision-copy .lead{font-size:1.05rem}.vision-copy p:not(.lead){font-size:1rem}.vision-copy br.desktop-only{display:none}
  .section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:28px;font-size:1rem;max-width:100%}
  .service-row{padding:26px 0;grid-template-columns:20px 1fr 20px;gap:12px 15px}.service-row:hover{padding-inline:5px}
  .service-row .micro{font-size:.75rem;letter-spacing:.06em}.service-row h3{font-size:1.16rem;margin-top:4px}.service-row>p{font-size:1rem}.service-number{font-size:.75rem;margin-top:4px}
  .product-feature{padding-block:76px}.product-feature-inner{grid-template-columns:1fr;gap:45px}.product-feature h2{font-size:2rem}.product-feature-copy>p:not(.eyebrow):not(.micro){font-size:1rem}
  .product-stat strong{font-size:5.5rem}.product-photo img{aspect-ratio:1.1;object-position:center}.product-feature .micro{font-size:.75rem}
  .recruit-panel{grid-template-columns:1fr;gap:35px}.recruit-photo img{aspect-ratio:1.18;object-position:center 36%}.recruit-copy .section-en{font-size:3.3rem}.recruit-copy h2{font-size:1.6rem}.recruit-copy>p br{display:initial}
  .news-section{padding-block:70px}.news-layout .section-en{font-size:3rem}.news-row{grid-template-columns:90px 1fr;gap:12px 18px;padding-block:23px}.news-row>span:last-child{grid-column:1/-1;font-size:1rem}.news-tag{font-size:.75rem}
  .contact-band{padding-block:70px}.contact-band-inner{display:block}.contact-band h2{font-size:2.9rem}.contact-band-action{margin-top:30px;font-size:1rem}.contact-band-action .button{width:100%;max-width:360px}
  .site-footer{padding-top:50px}.footer-main{display:block;padding-bottom:40px}.footer-main nav{margin-top:36px;grid-template-columns:1fr 1fr;gap:14px;font-size:.875rem}.footer-address{font-size:.875rem}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:15px;font-size:.75rem}.footer-bottom small{font-size:.75rem;grid-row:2;grid-column:1/-1}.back-top{grid-row:1;grid-column:2;font-size:.75rem}
  .page-hero{padding:118px 0 60px}.breadcrumb{font-size:.75rem;margin-bottom:42px;gap:12px}.page-en{font-size:clamp(2.7rem,11.2vw,4rem);letter-spacing:-.045em}.page-hero h1{font-size:1.17rem;letter-spacing:.025em;margin-top:15px}.page-intro{font-size:1rem;margin-top:25px;max-width:90%}
  .page-hero::after{top:44%;width:30%;opacity:.6}.company-statement-copy .lead{font-size:1.05rem}.company-statement-copy p:not(.lead){font-size:1rem}
  .brand-panorama{height:300px;background-position:60% center}.brand-panorama p{font-size:2.8rem}.brand-panorama span{font-size:.3em}
  .company-table>div{grid-template-columns:90px 1fr;gap:15px;padding-block:21px}.company-table dt{font-size:.875rem}.company-table dd{font-size:1rem;line-height:2}
  .company-table-layout .section-en{font-size:2.7rem}.access-section .section-heading>div+div{margin-top:30px}
  .service-jump{gap:8px 17px;padding-block:22px}.service-jump a{font-size:.875rem;gap:7px}
  .service-detail{grid-template-columns:1fr;gap:40px;padding-bottom:60px;margin-bottom:60px}.service-detail-image img{aspect-ratio:1.5}.large-number{font-size:4.8rem}
  .service-detail-copy h2{font-size:1.5rem}.service-detail-copy h3{font-size:1.125rem;margin-top:23px}.service-detail-copy>p:not(.eyebrow){font-size:1rem}.service-examples{grid-template-columns:1fr 1fr;gap:10px 15px}.service-examples li{font-size:.875rem}
  .service-actions{gap:18px}.service-actions .button{font-size:.875rem;min-width:240px}.service-actions .text-link{font-size:.875rem}
  .led-intro .eyebrow{font-size:.75rem;letter-spacing:.04em}
  .led-showcase{grid-template-columns:1fr;gap:20px}.led-showcase>img{height:410px;width:100%;object-fit:contain;background:#f3f5f8}.led-showcase video{height:auto;aspect-ratio:1.3}
  .led-feature{grid-template-columns:1fr;gap:35px;padding-block:50px}.led-feature.reverse>div,.led-feature.reverse>img{order:initial}.led-feature h2{font-size:1.8rem}.led-feature p{font-size:1rem}
  .led-feature img{max-height:340px}.led-feature .led-big-stat{font-size:6rem}.led-gallery{grid-template-columns:1fr;gap:30px}.led-gallery img{max-height:440px}.center-cta{margin-top:50px;font-size:1rem}
  .recruit-intro-grid{grid-template-columns:1fr;gap:40px}.recruit-intro-grid>img{aspect-ratio:1.2}.recruit-intro-grid p:not(.eyebrow){font-size:1rem}
  .job>summary{padding:25px 0;grid-template-columns:20px 1fr 22px;gap:13px}.job-index{font-size:.75rem}.job-tag{font-size:.875rem}.job h3{font-size:1.05rem}.job-toggle{width:20px;height:20px}.job-toggle::before,.job-toggle::after{width:18px}
  .job-body{padding:0 0 30px 33px}.job-body .company-table>div{grid-template-columns:1fr;gap:8px;padding-block:16px}.job-body .company-table dt{font-size:.875rem}.job-body .button{font-size:.875rem;min-width:0;width:100%;gap:10px}.job-body .button-line{width:20px}
  .contact-layout{grid-template-columns:1fr;gap:50px}.contact-aside h2{font-size:1.8rem}.contact-details{margin-top:30px;padding-top:25px}.contact-aside>p:not(.eyebrow){font-size:1rem}.contact-details p{font-size:1rem}.contact-form .field{margin-bottom:28px}
  .field input,.field textarea{font-size:1rem;padding:14px}.privacy-document h2{font-size:1.15rem}.privacy-document p,.privacy-document li{font-size:1rem}.privacy-document ol{padding-left:20px}
}
@media(max-width:360px){:root{--gutter:20px}.container{width:calc(100% - 40px)}.hero h1{font-size:2.8rem}.brand{width:170px}.hero-eyebrow{font-size:.75rem;letter-spacing:0}.hero-content{padding-top:150px}.service-examples{grid-template-columns:1fr}.company-table>div{grid-template-columns:75px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}}
@media print{.site-header,.mobile-nav,.contact-band,.site-footer,.button{display:none}.page-hero{padding:30px 0;background:white;color:black}.page-en,.page-hero h1{color:black}.page-hero::after{display:none}.section{padding-block:35px}.js-motion .reveal{opacity:1;transform:none}.job-body{display:block}.hero{height:auto;min-height:500px}.hero-content{padding-top:50px}.company-table dd{font-size:11pt}.container{width:92%}}
/* The complete company slogan needs a deliberate three-line measure. */
.hero h1.hero-slogan{font-size:clamp(2.5rem,4.7vw,4.55rem);line-height:1.58;letter-spacing:.025em}
.desktop-nav{gap:clamp(17px,1.9vw,30px)}
@media(max-width:1100px){.desktop-nav{gap:15px}.hero h1.hero-slogan{font-size:clamp(2.5rem,5.1vw,3.8rem)}}
@media(max-width:1030px){.desktop-nav{display:none}.menu-toggle{display:block}}
@media(max-width:640px){.hero h1.hero-slogan{font-size:clamp(1.65rem,7.9vw,3rem);line-height:1.75;letter-spacing:.01em}.hero-description{font-size:.9375rem}}
