@charset "UTF-8";
:root{--header-height:88px;--blue:#205ce0;--navy:#102b60;--ink:#182b44;--lime:#d9ff82;--paper:#f7f8f7;--line:#d7dfeb;--gutter:clamp(24px,4.5vw,88px);--scroll-progress:0;--pointer-x:0;--pointer-y:0;color-scheme:light;font-family:Arial,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}a,button,summary{touch-action:manipulation}button,a,summary{outline-offset:7px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid currentColor}button{color:inherit}h1,h2,h3,p,figure{margin:0}img{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}small{font-size:inherit}::selection{background:var(--lime);color:var(--navy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:1000;left:20px;top:12px;background:white;color:var(--blue);padding:14px 24px;transform:translateY(-160%)}.skip-link:focus{transform:none}.reading-progress{position:fixed;z-index:110;inset:0 0 auto;height:3px;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--lime);transform:scaleX(var(--scroll-progress));transform-origin:left}.section-shell{padding-left:var(--gutter);padding-right:var(--gutter)}.site-header{position:fixed;z-index:100;left:0;top:0;width:100%;height:var(--header-height);padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff36;color:#fff;transition:background .3s,color .3s,box-shadow .3s}.site-header.is-scrolled,.site-header.is-open{background:rgba(255,255,255,.97);color:var(--navy);border-color:var(--line);box-shadow:0 1px 16px #102b6005}.brand{font-size:44px;letter-spacing:-.075em;font-weight:750;line-height:1}.brand>span{color:var(--lime)}.site-header.is-scrolled .brand>span,.site-header.is-open .brand>span,.site-footer .brand>span{color:var(--blue)}.desktop-nav{display:flex;align-items:center;gap:clamp(20px,2.2vw,44px);font-size:13px;font-weight:700}.desktop-nav>a:not(.nav-contact){padding:15px 0;position:relative}.desktop-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:7px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current]:after{transform:scaleX(1)}.nav-contact{background:#fff;color:var(--blue);border-radius:100px;padding:14px 25px;display:flex;gap:25px;align-items:center}.site-header.is-scrolled .nav-contact{color:#fff;background:var(--blue)}.nav-contact>span{font-size:20px;transition:transform .3s}.nav-contact:hover>span{transform:translate(2px,-2px)}.menu-toggle{display:none;background:none;border:1px solid currentColor;border-radius:50%;width:44px;height:44px;padding:13px 10px}.menu-toggle>span{display:block;width:22px;height:1px;background:currentColor;margin:5px 0;transition:transform .3s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:95;inset:72px 0 0;background:var(--blue);color:white;padding:25px var(--gutter);overflow:auto}.mobile-menu[hidden]{display:none}.mobile-menu>a{display:block;padding:18px 0;border-bottom:1px solid #ffffff44;font-size:24px;font-weight:600;animation:menu-arrive .45s both;animation-delay:calc(var(--i,0)*55ms)}.mobile-menu>a small{display:block;color:#d2e3ff;font-size:10px;letter-spacing:.08em;margin-bottom:8px}.mobile-menu>a>span{float:right}.mobile-menu>p{padding:35px 0;font-size:32px;letter-spacing:-.04em}.mobile-menu>p small{font-size:12px;letter-spacing:.02em}.hero{position:relative;isolation:isolate;overflow:hidden;background:#1a4dc5;color:#fff;height:100svh;min-height:740px;max-height:1200px}.hero-art,.hero-art picture,.hero-art img{position:absolute;inset:0;width:100%;height:100%}.hero-art{z-index:-4;transform:translate3d(calc(var(--pointer-x)*-9px),calc(var(--hero-shift,0px) + var(--pointer-y)*-7px),0) scale(1.075);will-change:transform}.hero-art img{object-fit:cover;object-position:center 48%;animation:scene-breathe 15s ease-in-out infinite alternate}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,#092f750f 15%,#0c3d8d16 40%,#082f84b0 100%)}.hero-topline{position:absolute;top:122px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-topline>p{font-size:10px;letter-spacing:.13em;font-weight:700}.motion-toggle{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px;font-weight:700;padding:4px 0 4px 14px}.motion-toggle i{font-style:normal;border:1px solid #ffffff85;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:13px;background:#ffffff10}.hero h1{position:absolute;top:39%;left:30px;right:24px;transform:translateY(-50%);font-weight:500;font-size:clamp(90px,12.2vw,228px);line-height:.96;letter-spacing:-.076em;white-space:nowrap;z-index:2}.hero-word{display:inline-block;animation:word-arrive 1.25s cubic-bezier(.2,.75,.2,1) both}.hero-word+ .hero-word{animation-delay:.14s}.hero-bottom{position:absolute;left:32px;right:32px;bottom:112px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;z-index:2}.hero-jp{font-size:clamp(27px,2.6vw,44px);font-weight:700;line-height:1.55;letter-spacing:-.04em}.hero-description{font-size:13px;line-height:1.9;margin-top:20px;font-weight:500;letter-spacing:.02em}.pill{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:20px 26px;min-width:235px;border-radius:100px;font-size:14px;font-weight:700;transition:background .25s,transform .25s}.pill-light{background:#fff;color:var(--blue)}.pill>span{font-size:24px;transition:transform .25s}.pill:hover{background:var(--lime);transform:translateY(-3px)}.pill:hover>span{transform:translate(3px,3px)}.hero-foot{position:absolute;left:32px;right:32px;bottom:29px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;align-items:center}.hero-foot a{padding:10px 0}.hero-foot a>span{margin-left:20px;display:inline-block;animation:scroll-hint 2s ease-in-out infinite}.orbit{position:absolute;z-index:-1;pointer-events:none;transform:translate3d(calc(var(--pointer-x)*var(--depth,12px)),calc(var(--pointer-y)*var(--depth,12px)),0)}.orbit img{width:100%;height:auto;animation:object-float var(--duration,9s) ease-in-out infinite alternate;filter:drop-shadow(0 25px 20px #09255233)}.orbit-one{width:clamp(200px,23vw,410px);right:2%;top:9%;--depth:24px;--duration:9s;rotate:-12deg}.orbit-two{width:clamp(160px,18vw,320px);left:46%;bottom:-4%;--depth:16px;--duration:12s;rotate:15deg}.orbit-three{width:clamp(140px,17vw,280px);left:14%;top:5%;--depth:10px;--duration:10s;rotate:-15deg;opacity:.8}.orbit-three img{animation-delay:-4s}.section-kicker{display:flex;gap:26px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.045em}.section-kicker>span:first-child{white-space:nowrap}.section-kicker>span:last-child{font-size:11px;font-weight:500;letter-spacing:.02em}.about{padding-top:140px;padding-bottom:70px;background:#fff}.about-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;margin-top:62px;align-items:start}.about h2{font-size:clamp(40px,5.5vw,90px);font-weight:700;line-height:1.5;letter-spacing:-.065em}.highlight{position:relative;z-index:0;display:inline-block}.highlight:before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:.17em;height:.2em;background:var(--lime);transform:rotate(-4deg)}.about-copy{padding-top:12px}.lead{font-size:27px!important;font-weight:700;line-height:1.65!important;margin-bottom:28px!important;letter-spacing:-.035em}.about-copy>p{font-size:14px;line-height:2.2;margin-bottom:24px}.verb-line{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:38px;margin-top:100px;color:var(--blue);font-weight:700;font-size:clamp(18px,3.1vw,49px);letter-spacing:-.04em}.verb-line>span{display:flex;align-items:center;gap:clamp(20px,5vw,90px)}.verb-dot{display:inline-block;width:.22em;height:.22em;border-radius:50%;background:var(--blue)}.business{padding-top:100px;padding-bottom:140px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.display-title{font-weight:500;font-size:clamp(52px,6.6vw,112px);line-height:1.02;letter-spacing:-.065em}.section-heading .display-title{margin-top:38px}.display-title>span{color:var(--blue)}.section-intro{font-size:14px;line-height:2.1;padding-bottom:7px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{position:relative;overflow:hidden;border-radius:10px;padding:30px 35px 0;--card-bg:#e5eaff;--card-accent:#bdccff;background:var(--card-bg);color:var(--navy);transition:box-shadow .35s}.card-dev{--card-bg:#e1f1fa;--card-accent:#a8ddf3}.card-sales{--card-bg:#edf3ce;--card-accent:#d7e7a0}.card-consult{--card-bg:#f5e1d9;--card-accent:#edc1b0}.service-card.is-selected{box-shadow:inset 0 0 0 3px var(--blue)}.card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;font-weight:700;position:relative;z-index:1}.card-top>span:first-child{font-size:12px}.object-stage{position:relative;isolation:isolate;height:clamp(240px,27vw,450px);display:grid;place-items:center;margin:-8px -8px 16px}.object-stage>img{position:absolute;left:5%;top:5%;width:90%;height:90%;max-height:none;object-fit:contain;z-index:1;transform:rotate(-5deg);transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .6s;filter:drop-shadow(0 20px 15px #102b6010)}.object-orbit{position:absolute;width:64%;aspect-ratio:1;border-radius:50%;background:var(--card-accent);opacity:.6;transform:scale(.93);transition:transform .9s ease}.object-orbit:after{content:"";position:absolute;inset:-9%;border-radius:50%;border:1px solid #102b6017}.card-dev .object-stage>img{transform:rotate(5deg)}.card-consult .object-stage>img{transform:rotate(3deg)}.card-content{position:relative;z-index:2}.card-content h3{font-size:clamp(24px,2.9vw,47px);line-height:1.4;letter-spacing:-.05em;font-weight:700}.card-statement{font-size:17px;font-weight:700;margin-top:15px;line-height:1.7;letter-spacing:-.02em}.card-description{font-size:13px;line-height:2;margin-top:15px;max-width:38em}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.service-tags li{font-size:10px;padding:8px 10px;border:1px solid #102b6036;border-radius:40px;line-height:1.3}.card-link{display:flex;align-items:center;justify-content:space-between;min-height:87px;margin-top:26px;border-top:1px solid #102b6030;font-size:12px;font-weight:700;gap:12px}.card-link>span{display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;width:36px;height:36px;flex-shrink:0;font-size:20px;transition:background .3s,color .3s,transform .3s}.card-link:hover>span{background:var(--blue);transform:translate(2px,-2px)}.approach{background:var(--blue);color:white;padding-top:110px;padding-bottom:110px;overflow:hidden}.approach-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-top:50px}.approach h2{font-size:clamp(36px,4.4vw,74px);line-height:1.5;letter-spacing:-.05em}.approach-heading>p{font-size:14px;line-height:2.1;padding-bottom:9px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:80px}.steps li{position:relative;border-top:1px solid #ffffff52;padding-top:28px}.steps li:before{content:"";position:absolute;top:-3px;left:0;width:8px;height:5px;background:var(--lime);transition:width 1.2s}.steps li.is-visible:before{width:100%}.step-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.step-top>span:first-child{font-size:40px;letter-spacing:-.05em;color:var(--lime)}.step-top>span:last-child{font-size:10px;font-weight:700;letter-spacing:.04em}.steps h3{font-size:25px;letter-spacing:-.04em;margin-top:32px}.steps p{font-size:13px;line-height:2.1;margin-top:20px}.faq{border-top:1px solid #ffffff55;margin-top:95px;padding-top:32px;display:grid;grid-template-columns:1fr 2fr;gap:70px}.faq>h3{font-size:20px;letter-spacing:-.03em}.faq details{border-bottom:1px solid #ffffff55}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:18px 0;font-size:13px;line-height:1.8;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:23px;transition:transform .3s;flex-shrink:0}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{padding:0 35px 25px 0;font-size:13px;line-height:2.1;color:#e1eaff}.company{background:#fff;padding-top:125px;padding-bottom:125px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:55px}.company .display-title{font-size:clamp(38px,4.1vw,70px);line-height:1.08}.company-location{font-size:10px;letter-spacing:.07em;margin-top:32px}.company-symbol{font-size:clamp(110px,19vw,300px);letter-spacing:-.075em;line-height:1;margin-top:65px;font-weight:700;color:var(--blue)}.company-symbol>span{color:#b5dd5e}.company-table{margin:0;padding:0}.company-table>div{display:grid;grid-template-columns:110px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:24px 0;font-size:13px;line-height:1.9}.company-table>div:first-child{padding-top:0}.company-table dt{font-size:11px;color:#64728a}.company-table dd{margin:0;overflow-wrap:anywhere}.company-table a:not(.map-link):hover{text-decoration:underline}.map-link{display:block;width:fit-content;font-size:10px;color:var(--blue);margin-top:8px;padding:3px 0}.contact{background:#103eb4;color:white;position:relative;isolation:isolate;overflow:hidden;padding-top:105px;padding-bottom:110px}.contact:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 85% 20%,#397df390,transparent 65%)}.contact-object{position:absolute;z-index:-1;right:-3%;top:1%;width:40%;max-width:640px;opacity:.8;transform:rotate(12deg);animation:object-float 12s ease-in-out infinite alternate}.contact h2{font-size:clamp(70px,10vw,170px);font-weight:500;letter-spacing:-.075em;line-height:.98;margin-top:58px}.contact h2>span{color:var(--lime)}.contact-grid{margin-top:72px;display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact-lead{font-size:25px;font-weight:700;line-height:1.6;letter-spacing:-.04em}.contact-note{font-size:12px;line-height:2;margin-top:23px;color:#e0eaff}.selected-topic{font-size:11px;margin-top:35px;line-height:1.8}.reset-topic{color:#fff;background:none;border:0;border-bottom:1px solid #ffffff80;padding:10px 0 4px;font-size:11px;min-height:44px}.reset-topic[hidden]{display:none}.contact-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid #ffffff70}.contact-option small{display:block;font-size:10px;margin-bottom:12px}.contact-option strong{font-weight:400;font-size:clamp(18px,2.4vw,38px);letter-spacing:-.04em;overflow-wrap:anywhere}.contact-option i{font-style:normal;background:#fff;color:var(--blue);border-radius:50%;width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;font-size:25px;transition:transform .3s,background .3s}.contact-option:hover i{transform:translate(3px,-3px);background:var(--lime)}.contact-option:last-of-type{border-bottom:1px solid #ffffff70}.contact-help{font-size:10px;line-height:1.8;color:#dce7ff;margin-top:15px}.site-footer{background:#fff;padding-top:55px;padding-bottom:28px}.footer-top{display:flex;align-items:center;gap:50px}.footer-top>.brand{font-size:60px}.footer-top>p{font-size:11px;line-height:2}.back-top{margin-left:auto;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:22px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:45px;padding-top:22px;color:#596a80;font-size:9px;line-height:1.8}
html.motion-ready[data-motion=full] .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.6,.3,1),transform .9s cubic-bezier(.2,.6,.3,1)}html.motion-ready[data-motion=full] .reveal.is-visible{opacity:1;transform:none}.is-paused *,.is-paused *:before,.is-paused *:after{animation-play-state:paused!important}html.is-background *{animation-play-state:paused!important}html[data-motion=reduced]{scroll-behavior:auto}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important}html[data-motion=reduced] .hero-art{transform:scale(1.075)}html[data-motion=reduced] .orbit{transform:none}
@media(hover:hover) and (pointer:fine){html[data-motion=full] .service-card:hover .object-stage>img{transform:translateY(-9px) rotate(4deg) scale(1.04)}html[data-motion=full] .service-card:hover .object-orbit{transform:scale(1.06) rotate(15deg)}}
@keyframes scene-breathe{from{transform:scale(1.015) translate3d(0,-.4%,0)}to{transform:scale(1.065) translate3d(-.8%,.8%,0)}}@keyframes object-float{from{translate:0 -10px;rotate:-3deg}to{translate:0 15px;rotate:4deg}}@keyframes word-arrive{from{opacity:0;transform:translateY(50px);filter:blur(5px);clip-path:inset(100% 0 0)}to{opacity:1;transform:none;filter:none;clip-path:inset(0)}}@keyframes scroll-hint{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}@keyframes menu-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero h1{left:var(--gutter);right:var(--gutter)}.hero-bottom,.hero-topline,.hero-foot{left:var(--gutter);right:var(--gutter)}.section-shell{padding-left:max(var(--gutter),calc((100vw - 1600px)/2));padding-right:max(var(--gutter),calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:20px;font-size:11px}.nav-contact{padding:13px 18px;gap:15px}.site-header{padding:0 24px}.about-grid{gap:5%}.about h2{font-size:5.6vw}.about-copy>p{font-size:13px}.lead{font-size:24px!important}.service-card{padding:26px 27px 0}.section-intro{font-size:12px}.company-table>div{grid-template-columns:78px 1fr;gap:12px;font-size:12px}.steps{gap:30px}.steps h3{font-size:22px}.company-grid{gap:6%}.card-statement{font-size:15px}.contact-grid{gap:7%}.contact-object{top:6%;right:-7%;width:48%}}
@media(max-width:760px){:root{--gutter:22px;--header-height:72px}html{scroll-padding-top:86px}.site-header{height:72px;padding:0 22px}.site-header .brand{font-size:38px}.desktop-nav{display:none}.menu-toggle{display:block}.hero{min-height:760px;max-height:1000px}.hero-topline{left:22px;right:22px;top:90px;gap:8px}.hero-topline>p{font-size:8px;letter-spacing:.08em;max-width:150px;line-height:1.6}.motion-toggle{font-size:10px;gap:8px}.motion-toggle i{width:28px;height:28px}.hero h1{top:37%;left:18px;right:18px;font-size:22.1vw;letter-spacing:-.078em;white-space:normal;line-height:.95}.hero-word{display:block}.hero-word+.hero-word{margin-top:7px}.hero-art img{object-position:61% center}.hero-bottom{left:22px;right:22px;bottom:81px;display:block}.hero-jp{font-size:26px;line-height:1.55}.hero-description{font-size:10px;line-height:1.9;margin-top:13px}.hero-bottom .pill{margin-top:24px;min-width:220px;font-size:12px;padding:14px 20px;gap:32px}.pill>span{font-size:21px}.hero-foot{left:22px;right:22px;bottom:19px;font-size:7px;letter-spacing:.04em}.hero-foot a>span{margin-left:6px}.orbit-one{right:-7%;top:12%;width:50%;opacity:.9}.orbit-two{left:auto;right:-12%;bottom:16%;width:53%;opacity:.55}.orbit-three{left:-12%;top:39%;width:42%;opacity:.55}.about{padding-top:75px;padding-bottom:38px}.section-kicker{font-size:9px;gap:18px}.section-kicker>span:last-child{font-size:9px}.about-grid{grid-template-columns:1fr;gap:30px;margin-top:37px}.about h2{font-size:10.2vw;line-height:1.5;letter-spacing:-.065em}.about-copy{padding-top:0;padding-left:12%;max-width:550px}.lead{font-size:23px!important;margin-bottom:22px!important}.about-copy>p{font-size:12px;line-height:2.1;margin-bottom:20px}.desktop-break{display:none}.verb-line{margin-top:30px;padding-top:26px;font-size:4.4vw;gap:7px}.verb-line>span{gap:14px}.business{padding-top:65px;padding-bottom:75px}.section-heading{display:block;margin-bottom:32px}.display-title{font-size:14vw;line-height:1.03}.section-heading .display-title{margin-top:30px}.section-intro{font-size:12px;line-height:2;margin-top:27px;padding-bottom:0}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:25px 24px 0;border-radius:8px}.card-top{font-size:9px}.card-top>span:first-child{font-size:10px}.object-stage{height:65vw;max-height:380px;margin:-8px -5px 12px}.object-stage>img{width:90%;height:100%;max-height:100%}.object-orbit{width:65%}.card-content h3{font-size:28px;letter-spacing:-.055em}.card-statement{font-size:14px;margin-top:11px}.card-description{font-size:12px;margin-top:12px;line-height:1.95}.service-tags{gap:5px;margin-top:18px}.service-tags li{font-size:9px;padding:7px 9px}.card-link{min-height:75px;margin-top:23px;font-size:11px}.card-link>span{height:33px;width:33px;font-size:18px}.approach{padding-top:70px;padding-bottom:65px}.approach-heading{display:block;margin-top:36px}.approach h2{font-size:8.2vw;line-height:1.55}.approach-heading>p{font-size:12px;margin-top:24px;padding:0}.steps{grid-template-columns:1fr;gap:35px;margin-top:45px}.steps li{padding-top:20px;display:grid;grid-template-columns:70px 1fr;gap:0 16px}.step-top{grid-row:1/3;display:block}.step-top>span:first-child{display:block;font-size:32px}.step-top>span:last-child{display:block;font-size:7px;margin-top:9px;line-height:1.6}.steps h3{font-size:22px;margin-top:3px}.steps p{font-size:12px;margin-top:12px}.faq{grid-template-columns:1fr;gap:15px;margin-top:55px;padding-top:27px}.faq>h3{font-size:17px}.faq summary{font-size:12px;gap:15px;min-height:70px}.faq details p{font-size:12px;padding-right:15px}.company{padding-top:70px;padding-bottom:75px}.company-grid{grid-template-columns:1fr;gap:38px;margin-top:35px}.company .display-title{font-size:11.4vw}.company-location{margin-top:22px;font-size:9px}.company-symbol{display:none}.company-table>div{grid-template-columns:82px 1fr;gap:12px;padding:20px 0;font-size:12px}.company-table dt{font-size:10px}.contact{padding-top:70px;padding-bottom:65px}.contact h2{font-size:14.4vw;line-height:1.04;margin-top:40px;position:relative;z-index:1}.contact-object{top:55px;right:-14%;width:64%;opacity:.65}.contact-grid{grid-template-columns:1fr;gap:32px;margin-top:42px}.contact-lead{font-size:23px}.contact-note{font-size:11px;margin-top:18px}.selected-topic{font-size:10px;margin-top:25px}.contact-option{padding:23px 0}.contact-option small{font-size:10px;margin-bottom:10px}.contact-option strong{font-size:6vw;letter-spacing:-.055em}.contact-option i{width:39px;height:39px;font-size:22px}.contact-help{font-size:9px}.site-footer{padding-top:35px;padding-bottom:25px}.footer-top{gap:23px;flex-wrap:wrap}.footer-top>.brand{font-size:48px}.footer-top>p{font-size:9px}.back-top{width:36px;height:36px;font-size:17px}.footer-bottom{display:block;margin-top:30px;padding-top:20px;font-size:8px}.footer-bottom>small{display:block}.footer-bottom>small+small{margin-top:10px}html.motion-ready[data-motion=full] .reveal{transform:translateY(18px)}}
@media(max-width:360px){:root{--gutter:18px}.hero-bottom,.hero-foot,.hero-topline{left:18px;right:18px}.site-header{padding:0 18px}.hero{min-height:740px}.hero h1{font-size:21.7vw;left:16px;right:16px;top:35%}.hero-jp{font-size:24px}.hero-description{font-size:9px}.hero-bottom{bottom:73px}.hero-foot{font-size:6px}.service-card{padding-left:20px;padding-right:20px}.service-tags{gap:4px}.service-tags li{font-size:8px}.card-content h3{font-size:26px}.company-table>div{grid-template-columns:64px 1fr;font-size:11px}.footer-top{gap:15px}.footer-top>p{font-size:8px}.back-top{width:32px;height:32px}.faq summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]){scroll-behavior:auto}html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important}}


/* v5 — scroll-linked scenes. The normal document remains the fallback. */
.hero-scroll{position:relative}
.business-controls{display:none}
html[data-motion=full] .hero-scroll{height:205svh;min-height:1517px}
html[data-motion=full] .hero-scroll>.hero{position:sticky;top:0;border-radius:0 0 var(--scene-corner,0px) var(--scene-corner,0px)}
html[data-motion=full] .hero-art{transform:translate3d(calc(var(--pointer-x)*-9px),calc(var(--pointer-y)*-7px),0) rotate(var(--scene-angle,0deg)) scale(var(--scene-scale,1.075));transform-origin:62% 48%;will-change:transform}
html[data-motion=full] .hero h1{translate:var(--title-x,0px) var(--title-y,0px);scale:var(--title-scale,1);opacity:var(--title-alpha,1);will-change:translate,scale,opacity}
html[data-motion=full] .hero-bottom{translate:0 var(--copy-y,0px);opacity:var(--copy-alpha,1)}
html[data-motion=full] .hero .orbit-one{transform:translate3d(calc(var(--pointer-x)*24px + var(--orbit1-x,0px)),calc(var(--pointer-y)*24px + var(--orbit1-y,0px)),0) rotate(var(--orbit1-angle,0deg)) scale(var(--orbit1-scale,1));will-change:transform}
html[data-motion=full] .hero .orbit-two{transform:translate3d(calc(var(--pointer-x)*16px + var(--orbit2-x,0px)),calc(var(--pointer-y)*16px + var(--orbit2-y,0px)),0) rotate(var(--orbit2-angle,0deg)) scale(var(--orbit2-scale,1));will-change:transform}
html[data-motion=full] .hero .orbit-three{transform:translate3d(calc(var(--pointer-x)*10px + var(--orbit3-x,0px)),calc(var(--pointer-y)*10px + var(--orbit3-y,0px)),0) rotate(var(--orbit3-angle,0deg)) scale(var(--orbit3-scale,1));will-change:transform}
html[data-motion=full] .about{position:relative;z-index:3;margin-top:-54px;border-radius:48px 48px 0 0;overflow:clip}
html[data-motion=full] .about h2{translate:var(--about-word-x,0px) 0}
html[data-motion=full] .verb-line>span:nth-child(odd){translate:calc(var(--verb-shift,0px)*-1) 0}
html[data-motion=full] .verb-line>span:nth-child(even){translate:var(--verb-shift,0px) 0}
html[data-motion=full] .business .object-stage{overflow:clip;perspective:900px}
html[data-motion=full] .business .service-card .object-stage>img{transform:translate3d(var(--object-x,0px),var(--object-y,0px),0) rotateY(var(--object-tilt,0deg)) rotateZ(var(--object-angle,0deg)) scale(var(--object-scale,1));transition:none;will-change:transform}
html[data-motion=full] .business .object-orbit{transform:scale(var(--ring-scale,1)) rotate(var(--object-angle,0deg));transition:none}
html[data-motion=full] .contact-object{transform:translate3d(var(--contact-x,0px),var(--contact-y,0px),0) rotate(var(--contact-angle,12deg)) scale(var(--contact-scale,1));transform-origin:center;will-change:transform;opacity:.5}
html[data-motion=full] .contact h2{translate:0 var(--contact-text-y,0px)}
html.horizontal-enabled .business{padding-bottom:80px}
html.horizontal-enabled .business-scroll{height:370svh;position:relative}
html.horizontal-enabled .business-pin{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));display:flex;flex-direction:column;justify-content:center;gap:18px;padding:22px 0}
html.horizontal-enabled .business-window{width:100%;overflow:clip;border-radius:10px}
html.horizontal-enabled .service-grid{display:flex;gap:28px;transform:translate3d(var(--business-x,0px),0,0);will-change:transform}
html.horizontal-enabled .service-card{display:grid;grid-template-columns:1fr 1fr;gap:4%;align-items:center;flex:0 0 100%;min-width:0;height:calc(100svh - 206px);padding:45px 42px 30px;border-radius:10px;opacity:1!important;transform:none!important}
html.horizontal-enabled .card-top{position:absolute;top:24px;left:32px;right:32px}
html.horizontal-enabled .object-stage{height:100%;min-width:0;margin:0 -15px;max-height:570px}
html.horizontal-enabled .object-stage>img{left:0;top:0;width:100%;height:100%}
html.horizontal-enabled .card-content{padding:10px 8px 0 0}
html.horizontal-enabled .card-content h3{font-size:clamp(30px,3.4vw,52px)}
html.horizontal-enabled .card-statement{font-size:17px}
html.horizontal-enabled .card-description{font-size:14px;line-height:2}
html.horizontal-enabled .card-link{min-height:64px;margin-top:20px}
html.horizontal-enabled .business-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;min-height:44px;padding-bottom:10px}
.business-buttons{display:flex;gap:8px}
.business-buttons button{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:transparent;color:var(--navy);border-radius:50px;padding:12px 18px;min-height:44px;font-size:10px;font-weight:700;transition:background .2s,color .2s}
.business-buttons button[aria-current=step]{background:var(--navy);border-color:var(--navy);color:white}
.business-counter{font-size:11px;font-weight:700;letter-spacing:.1em;white-space:nowrap}
.business-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line);overflow:hidden}
.business-progress i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(var(--business-progress,0));transform-origin:left}
@media(max-width:1100px){html.horizontal-enabled .service-card{padding:42px 26px 20px;gap:3%}html.horizontal-enabled .card-description{font-size:12px}html.horizontal-enabled .card-statement{font-size:15px}.business-buttons button{padding:11px 14px;gap:8px}}
@media(max-width:760px){html[data-motion=full] .hero-scroll{height:195svh;min-height:1480px}html[data-motion=full] .about{border-radius:28px 28px 0 0;margin-top:-28px}html[data-motion=full] .business .object-stage{margin-bottom:22px}html[data-motion=full] .hero h1{transform-origin:20% 50%}html[data-motion=full] .contact-object{opacity:.36}}


/* v6 — one service per mobile screen, driven by native vertical scrolling. */
@media(max-width:760px){
 html.horizontal-enabled .business{padding-bottom:48px}
 html.horizontal-enabled .business-scroll{height:400svh}
 html.horizontal-enabled .business-pin{padding:12px 0;gap:12px}
 html.horizontal-enabled .business-window{flex-shrink:0;border-radius:10px}
 html.horizontal-enabled .service-grid{gap:16px}
 html.horizontal-enabled .service-card{display:flex;flex-direction:column;align-items:stretch;gap:0;height:calc(100svh - 162px);padding:36px 22px 0}
 html.horizontal-enabled .card-top{top:17px;left:22px;right:22px;font-size:9px}
 html.horizontal-enabled .card-top>span:first-child{font-size:10px}
 html.horizontal-enabled .business .object-stage{flex:1 1 auto;min-height:80px;height:auto;max-height:none;margin:0 -8px 12px}
 html.horizontal-enabled .object-orbit{width:auto;height:82%;max-width:85%;aspect-ratio:1}
 html.horizontal-enabled .object-stage>img{left:0;top:0;width:100%;height:100%}
 html.horizontal-enabled .card-content{flex:0 0 auto;padding:0}
 html.horizontal-enabled .card-content h3{font-size:clamp(24px,6.8vw,30px);line-height:1.35}
 html.horizontal-enabled .card-statement{font-size:13px;line-height:1.7;margin-top:10px}
 html.horizontal-enabled .card-description{font-size:12px;line-height:1.9;margin-top:10px}
 html.horizontal-enabled .service-tags{margin-top:15px;gap:5px}
 html.horizontal-enabled .service-tags li{font-size:9px;padding:6px 8px}
 html.horizontal-enabled .card-link{min-height:56px;margin-top:16px;font-size:11px;line-height:1.6}
 html.horizontal-enabled .card-link>span{width:32px;height:32px;font-size:19px}
 html.horizontal-enabled .business-controls{width:100%;min-height:50px;gap:12px;padding-bottom:6px;flex-shrink:0}
 html.horizontal-enabled .business-buttons{gap:8px}
 html.horizontal-enabled .business-buttons button{justify-content:center;min-width:44px;height:44px;padding:0 12px;font-size:11px}
 html.horizontal-enabled .business-buttons button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 html.horizontal-enabled .business-counter{font-size:10px}
}
@media(max-width:760px) and (max-height:700px){
 html.horizontal-enabled .service-tags{display:none}
 html.horizontal-enabled .card-statement{font-size:12px;line-height:1.6;margin-top:8px}
 html.horizontal-enabled .card-description{line-height:1.8;margin-top:8px}
 html.horizontal-enabled .card-link{min-height:50px;margin-top:12px}
 html.horizontal-enabled .business .object-stage{margin-bottom:8px}
}
@media(max-width:360px){
 html.horizontal-enabled .service-card{padding-left:18px;padding-right:18px}
 html.horizontal-enabled .card-top{left:18px;right:18px}
 html.horizontal-enabled .business-buttons{gap:6px}
}

/* Inquiry form, using the existing blue and white design. */
.inquiry-panel{position:relative;z-index:2;background:#fff;color:var(--ink);border-radius:10px;margin-top:65px;padding:44px}.inquiry-form{scroll-margin-top:110px}.inquiry-form[hidden],.inquiry-success[hidden]{display:none}
.inquiry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:32px}.inquiry-heading h3{font-size:28px;letter-spacing:-.035em}.inquiry-heading p{font-size:12px;color:#596a80;line-height:1.8}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px 28px}.inquiry-fields label{display:block;font-size:13px;font-weight:600;line-height:1.8;min-width:0}.field-note,.field-required{font-size:9px;font-weight:500;margin-left:8px;color:#596a80}.field-required{color:var(--blue)}
.inquiry-fields input,.inquiry-fields select,.inquiry-fields textarea{display:block;width:100%;margin-top:9px;min-height:48px;padding:13px 14px;font:inherit;font-size:16px;font-weight:400;color:var(--ink);border:1px solid var(--line);border-radius:4px;background:#f7f8f7;line-height:1.6;outline-offset:3px}
.inquiry-fields input:focus,.inquiry-fields select:focus,.inquiry-fields textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}.inquiry-fields textarea{resize:vertical;min-height:160px}.inquiry-fields textarea::placeholder{font-size:13px;color:#64728a}.inquiry-message{grid-column:1/-1}
.inquiry-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.inquiry-purpose{font-size:11px;line-height:1.9;color:#596a80;margin-top:25px}.inquiry-status{font-size:12px;line-height:1.9;min-height:1px;margin-top:15px}.inquiry-status.is-error{color:#ad2c2c;background:#fff1f1;padding:12px;border-left:3px solid currentColor}
.inquiry-submit{display:flex;align-items:center;justify-content:space-between;gap:36px;margin:23px 0 0 auto;min-width:260px;min-height:58px;padding:16px 24px;background:var(--blue);color:#fff;border:0;border-radius:50px;font-size:13px;font-weight:700}.inquiry-submit i{font-style:normal;font-size:23px}.inquiry-submit:disabled{opacity:.55;cursor:wait}.inquiry-submit:hover:not(:disabled){background:var(--navy)}
.inquiry-success{text-align:center;padding:35px 0}.inquiry-success h3{font-size:25px;line-height:1.6}.inquiry-success>p{font-size:13px;line-height:2;margin-top:18px}.inquiry-success .success-mark{display:grid;place-items:center;margin:0 auto 25px;background:var(--blue);color:white;border-radius:50%;width:60px;height:60px;font-size:27px}.inquiry-success .inquiry-receipt{font-size:11px;overflow-wrap:anywhere;color:#596a80}.inquiry-again{background:none;color:var(--blue);border:0;border-bottom:1px solid currentColor;min-height:44px;margin-top:25px;padding:10px 0;font-size:12px}
.receipt-page,.inbox-shell{max-width:1100px;margin:0 auto;padding:45px 24px}.receipt-page h1{font-size:30px;margin:50px 0 25px}.receipt-page p{line-height:2;overflow-wrap:anywhere}.receipt-page>a:last-child{display:inline-block;margin-top:30px;color:var(--blue);text-decoration:underline}.inbox-shell>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.inbox-shell h1{font-size:30px;margin:45px 0 15px}.inbox-shell>p{font-size:12px;line-height:2}.inbox-item{margin-top:22px;padding:25px;background:white;border:1px solid var(--line);border-radius:8px}.inbox-item h2{font-size:18px;line-height:1.8}.inbox-item p{font-size:13px;line-height:2;margin-top:10px;overflow-wrap:anywhere}.inbox-item .inbox-message{white-space:pre-wrap;border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.inbox-reload{min-height:44px;padding:10px 20px;border:1px solid var(--line);border-radius:40px;background:white;color:var(--blue)}
@media(max-width:760px){.inquiry-panel{padding:27px 20px;margin-top:42px;border-radius:8px}.inquiry-heading{display:block;margin-bottom:25px}.inquiry-heading h3{font-size:23px}.inquiry-heading p{margin-top:12px;font-size:11px}.inquiry-fields{grid-template-columns:1fr;gap:20px}.inquiry-fields label{font-size:12px}.inquiry-purpose{font-size:10px}.inquiry-submit{width:100%;min-width:0;font-size:12px}.inquiry-success h3{font-size:21px}.inquiry-success{padding:20px 0}.inbox-item{padding:20px}}
.inbox-notification-settings{background:#edf1ff;border-radius:8px;padding:16px 20px;margin-top:25px;overflow-wrap:anywhere}.inbox-notification-state{font-weight:700;color:var(--blue)}.inbox-item .inbox-reload{margin-top:14px}.inbox-feedback:not(:empty){border-left:3px solid var(--blue);padding:12px 16px;margin:20px 0}
