@charset "UTF-8";
:root{--ink:#07111f;--paper:#f3f5f2;--white:#fff;--blue:#155cf3;--cyan:#81e6ff;--line:rgba(7,17,31,.15);--pad:clamp(20px,4vw,72px);--radius:8px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}body.menu-open .site-header{background:#0a1626;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}a{color:inherit;text-decoration:none}img,video,canvas{display:block;max-width:100%}button,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:999;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 var(--pad);color:#fff;transition:background .35s,border .35s,height .35s}.site-header.scrolled{height:68px;background:rgba(7,17,31,.86);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px)}.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:13px;letter-spacing:.14em}.logo-mark{display:inline-block;width:27px;height:27px;background:linear-gradient(135deg,#fff 4%,#90edff 45%,#1766ff);clip-path:polygon(49% 0,94% 23%,84% 84%,29% 100%,0 55%)}.global-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,42px);font-size:12px;letter-spacing:.12em}.global-nav>a:not(.nav-contact){position:relative}.global-nav>a:not(.nav-contact)::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .3s}.global-nav>a:hover::after{transform:scaleX(1);transform-origin:left}.nav-contact{padding:12px 17px;border:1px solid rgba(255,255,255,.5);border-radius:100px}.nav-contact span{margin-left:14px}.menu-button{display:none}
.hero{position:relative;min-height:100svh;overflow:hidden;color:#fff;background:#07111f url("../assets/hero-poster.jpg") center/cover no-repeat}.hero-media,.hero-canvas,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media{object-fit:cover}.hero-mobile{display:none}.hero-canvas{z-index:1;pointer-events:none}.hero-shade{z-index:2;background:linear-gradient(90deg,rgba(4,11,21,.95) 0%,rgba(4,11,21,.68) 37%,rgba(4,11,21,.05) 72%),linear-gradient(0deg,rgba(4,11,21,.72),transparent 42%)}.hero-copy{position:relative;z-index:3;display:flex;min-height:100svh;flex-direction:column;justify-content:center;width:min(1060px,84%);padding:130px var(--pad) 100px}.kicker,.eyebrow{margin:0 0 28px;font-size:11px;font-weight:700;letter-spacing:.24em}.kicker{color:#b9f2ff}.kicker b{margin:0 12px;color:#5a728c}.hero h1{margin:0;font-size:clamp(42px,6vw,92px);font-weight:500;letter-spacing:-.065em;line-height:1.05}.hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.85)}.hero-lead{max-width:650px;margin:34px 0 0;color:#d3dfed;font-size:clamp(14px,1.2vw,18px)}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:45px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:230px;padding:17px 22px;border:0;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--cyan)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.5);padding:8px 0}.text-link span{margin-left:18px}.hero-index{position:absolute;right:var(--pad);top:48%;z-index:3;margin:0;font-size:10px;letter-spacing:.22em;writing-mode:vertical-rl}.scroll-cue{position:absolute;z-index:3;right:var(--pad);bottom:28px;display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.2em}.scroll-cue i{display:block;width:58px;height:1px;background:rgba(255,255,255,.5);overflow:hidden}.scroll-cue i::after{content:"";display:block;width:45%;height:100%;background:#fff;animation:scrollLine 2s infinite}@keyframes scrollLine{from{transform:translateX(-110%)}to{transform:translateX(240%)}}
.section-dark,.section-light,.section-blue,.section-contact{position:relative;padding:clamp(90px,11vw,180px) var(--pad)}.section-dark{background:var(--ink);color:#fff}.section-light{background:var(--paper)}.section-blue{background:var(--blue);color:#fff}.section-number{position:absolute;top:40px;left:var(--pad);font-size:10px;letter-spacing:.18em;opacity:.55}.statement{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr);align-items:end;gap:10vw;min-height:76vh}.statement-copy{margin:0;font-size:clamp(40px,6.2vw,96px);font-weight:500;letter-spacing:-.06em;line-height:1.15}.statement-side{max-width:430px;color:#9eafc3;font-size:14px}.statement-side p{margin:0 0 36px}.line-link{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #4d5d70;color:#fff;font-size:12px;letter-spacing:.08em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:clamp(55px,8vw,110px)}.section-head>div{max-width:800px}.eyebrow{color:#155cf3}.section-head h2,.why-head h2{margin:0;font-size:clamp(40px,6vw,92px);font-weight:500;line-height:1.06;letter-spacing:-.06em}.section-head>p{max-width:390px;margin:0;color:#586474;font-size:14px}.section-head-dark .eyebrow,.why .eyebrow{color:var(--cyan)}.section-head-dark>p{color:#9aaabd}
.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:55px 130px minmax(300px,1fr) 160px;align-items:center;gap:30px;min-height:210px;padding:25px 0;border-bottom:1px solid var(--line)}.service-no,.service-en{font-size:10px;letter-spacing:.16em}.service-en{text-align:right;color:#7a8593}.service-item h3{margin:0 0 11px;font-size:clamp(24px,2.5vw,42px);font-weight:500;letter-spacing:-.03em}.service-item>div:nth-child(3) p{max-width:650px;margin:0;color:#596575;font-size:14px}.service-icon{position:relative;width:110px;height:110px;border-radius:50%;background:#e7eae6;overflow:hidden}.service-icon::before,.service-icon::after,.service-icon i{content:"";position:absolute}.icon-orbit::before{inset:24px;border:1px solid #1260f5;border-radius:50%;transform:rotate(45deg)}.icon-orbit::after{inset:39px;background:#1260f5;border-radius:50%}.icon-orbit i{width:65px;height:22px;left:23px;top:44px;border:1px solid #1260f5;border-radius:50%;transform:rotate(-25deg)}.icon-window::before{inset:25px 20px;border:1px solid #1260f5;border-radius:3px}.icon-window::after{left:20px;right:20px;top:40px;border-top:1px solid #1260f5}.icon-window i{width:20px;height:20px;right:28px;bottom:27px;background:#1260f5}.icon-stack::before{width:52px;height:52px;left:26px;top:25px;border:1px solid #1260f5;transform:rotate(30deg)}.icon-stack::after{width:52px;height:52px;left:32px;top:32px;border:1px solid #1260f5;transform:rotate(30deg)}.icon-stack i{width:15px;height:15px;left:49px;top:48px;border-radius:50%;background:#1260f5}
.why{overflow:hidden}.why::after{content:"BRG";position:absolute;right:-3vw;bottom:-17vw;color:rgba(255,255,255,.05);font-size:36vw;font-weight:800;letter-spacing:-.12em;line-height:1}.why-head{position:relative;z-index:1;max-width:900px;margin-bottom:70px}.why-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.25)}.why-card{min-height:420px;padding:35px;background:var(--blue);display:flex;flex-direction:column}.why-card>p{margin:0;color:#bceeff;font-size:9px;letter-spacing:.15em}.why-card h3{margin:70px 0 30px;font-size:clamp(25px,2.6vw,39px);font-weight:500;line-height:1.35;letter-spacing:-.03em}.why-card span{margin-top:auto;color:#dce7ff;font-size:13px}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,6vw,100px) clamp(20px,3vw,48px)}.work{display:block}.work-wide{grid-column:1/-1}.work-visual{position:relative;overflow:hidden;aspect-ratio:1/1;background:#132033}.work-wide .work-visual{aspect-ratio:16/8.3}.work-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}.work:hover img{transform:scale(1.035);filter:saturate(1.15)}.work-meta{position:relative;padding:19px 50px 0 0}.work-meta p{display:flex;gap:18px;margin:0 0 10px;color:#7f91a7;font-size:9px;letter-spacing:.14em}.work-meta h3{margin:0;font-size:clamp(20px,2vw,31px);font-weight:500;letter-spacing:-.02em}.work-meta i{position:absolute;right:0;top:24px;width:34px;height:34px;border:1px solid #435065;border-radius:50%;font-style:normal;text-align:center;line-height:32px;transition:background .3s,color .3s}.work:hover .work-meta i{background:#fff;color:var(--ink)}.web-proof{display:grid;grid-template-columns:150px 1fr minmax(250px,.7fr);gap:40px;align-items:start;margin-top:130px;padding:40px 0;border-top:1px solid #354255;border-bottom:1px solid #354255}.web-proof p{margin:0;color:#7e8da1;font-size:10px;letter-spacing:.17em}.web-proof h3{margin:0;font-size:clamp(24px,3vw,45px);font-weight:500;line-height:1.35}.web-proof span{color:#98a7b9;font-size:13px}
.company-data{margin:0 0 0 30%;border-top:1px solid var(--line)}.company-data div{display:grid;grid-template-columns:180px 1fr;padding:24px 0;border-bottom:1px solid var(--line)}.company-data dt{color:#6a7583;font-size:11px}.company-data dd{margin:0;font-size:14px}
.section-contact{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(450px,1.2fr);gap:clamp(50px,9vw,150px);background:#dff7ff}.contact-intro{position:sticky;top:120px;align-self:start}.contact-intro h2{margin:0;font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.06em;line-height:1.12}.contact-intro>p:not(.eyebrow){max-width:500px;margin:30px 0;color:#4e6470;font-size:14px}.mail-link{display:flex;justify-content:space-between;max-width:500px;padding:16px 0;border-bottom:1px solid #7894a0;font-size:13px}.line-button{display:flex;align-items:center;gap:15px;max-width:500px;margin-top:20px;padding:15px 18px;border-radius:6px;background:#06c755;color:#fff}.line-icon{font-size:10px;font-weight:800}.line-button span:nth-child(2){display:flex;flex-direction:column}.line-button b{font-size:13px}.line-button small{font-size:10px;opacity:.85}.line-button i{margin-left:auto;font-style:normal}.contact-form{display:grid;gap:30px;padding:clamp(24px,4vw,60px);background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:grid;gap:9px}.contact-form label>span{font-size:11px;font-weight:700}.contact-form label b{margin-left:7px;color:#155cf3;font-size:9px}.contact-form input,.contact-form textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid #b9c1ca;border-radius:0;background:transparent;color:var(--ink);outline:0}.contact-form textarea{padding:15px;border:1px solid #b9c1ca;resize:vertical}.contact-form input:focus{border-color:#155cf3;box-shadow:0 1px #155cf3}.contact-form textarea:focus{border-color:#155cf3;box-shadow:0 0 0 1px #155cf3}.contact-form ::placeholder{color:#8b959f;font-size:12px}.consent{display:flex!important;grid-template-columns:18px 1fr;align-items:center;gap:9px!important}.consent input{width:16px;height:16px}.button-submit{width:100%;max-width:none;background:var(--ink);color:#fff}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}
.site-footer{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:35px;padding:50px var(--pad);background:#050c16;color:#fff;border-top:1px solid #263143}.footer-logo{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.13em}.site-footer>p,.site-footer small{margin:0;color:#6e7d90;font-size:9px;letter-spacing:.13em}.site-footer>div:nth-child(3){display:flex;gap:22px;font-size:10px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.form-result{margin-bottom:18px;padding:15px;border:1px solid}.form-result.ok{background:#e8fff0;color:#126c36;border-color:#86d6a0}.form-result.ng{background:#fff0f0;color:#972929;border-color:#e7a2a2}
.work-detail{background:var(--paper);color:var(--ink)}.detail-header{position:absolute}.detail-hero{padding:150px var(--pad) 80px;background:var(--ink);color:#fff}.detail-breadcrumb{font-size:10px;letter-spacing:.15em;color:#8290a1}.detail-hero h1{max-width:1050px;margin:65px 0 25px;font-size:clamp(42px,7vw,105px);font-weight:500;line-height:1.03;letter-spacing:-.065em}.detail-hero>p{max-width:650px;color:#a9b7c8}.detail-cover{margin-top:70px;aspect-ratio:16/8.3;overflow:hidden}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-body{padding:clamp(80px,10vw,150px) var(--pad)}.detail-lead{display:grid;grid-template-columns:180px 1fr;gap:50px;max-width:1100px;margin:0 auto 120px}.detail-label{font-size:10px;letter-spacing:.17em;color:#6c7785}.detail-lead h2{margin:0;font-size:clamp(30px,4vw,60px);font-weight:500;line-height:1.35;letter-spacing:-.035em}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1200px;margin:auto;background:#cdd2d2;border:1px solid #cdd2d2}.case-card{min-height:320px;padding:35px;background:var(--paper)}.case-card p{margin:0 0 45px;color:#155cf3;font-size:9px;letter-spacing:.16em}.case-card h3{font-size:22px;font-weight:500}.case-card span{font-size:13px;color:#586575}.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1100px;margin:120px auto 0;padding-top:50px;border-top:1px solid var(--line)}.detail-specs h2{font-size:34px;font-weight:500}.detail-specs dl{margin:0}.detail-specs div{display:grid;grid-template-columns:130px 1fr;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-specs dd{margin:0}.next-project{display:flex;justify-content:space-between;align-items:center;padding:70px var(--pad);background:var(--blue);color:#fff}.next-project p{margin:0;font-size:10px;letter-spacing:.18em}.next-project h2{margin:10px 0 0;font-size:clamp(30px,5vw,70px);font-weight:500}.next-project i{font-size:45px;font-style:normal}
@media(max-width:900px){.site-header{height:68px}.menu-button{display:grid;width:42px;height:42px;place-content:center;gap:7px;border:0;background:transparent}.menu-button i{display:block;width:24px;height:1px;background:#fff;transition:.3s}.menu-button[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}.global-nav{position:fixed;inset:68px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:30px var(--pad);background:#0a1626;visibility:hidden;opacity:0;transform:translateY(-10px);transition:.3s;overflow-y:auto}.global-nav.open{visibility:visible;opacity:1;transform:none}.global-nav a{padding:18px 0;border-bottom:1px solid #334050;font-size:16px}.nav-contact{margin-top:18px;text-align:center}.hero-copy{width:92%}.statement{grid-template-columns:1fr;align-content:center}.section-head{display:block}.section-head>p{margin-top:30px}.service-item{grid-template-columns:35px 95px 1fr}.service-icon{width:85px;height:85px}.service-en{display:none}.why-grid{grid-template-columns:1fr}.why-card{min-height:300px}.why-card h3{margin:40px 0 25px}.company-data{margin-left:0}.section-contact{grid-template-columns:1fr}.contact-intro{position:static}.site-footer{grid-template-columns:1fr 1fr}.detail-lead{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr}.case-card{min-height:240px}.detail-specs{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){:root{--pad:20px}.desktop-only{display:none}.hero-desktop{display:none}.hero-mobile{display:block}.hero-shade{background:linear-gradient(90deg,rgba(4,11,21,.9),rgba(4,11,21,.32)),linear-gradient(0deg,rgba(4,11,21,.85),transparent 55%)}.hero-copy{justify-content:flex-end;width:100%;padding:110px var(--pad) 95px}.hero h1{font-size:46px}.hero-lead{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px;margin-top:30px}.button{min-width:220px}.hero-index{display:none}.scroll-cue{left:var(--pad);right:auto}.statement{min-height:70vh}.statement-copy{font-size:42px}.section-head h2,.why-head h2{font-size:34px}.service-item{grid-template-columns:30px 1fr;gap:15px;padding:30px 0}.service-icon{display:none}.service-item>div:nth-child(3){grid-column:2}.works-grid{grid-template-columns:1fr;gap:55px}.work-wide{grid-column:auto}.work-wide .work-visual,.work-visual{aspect-ratio:4/3}.web-proof{grid-template-columns:1fr;margin-top:90px}.company-data div{grid-template-columns:100px 1fr}.field-row{grid-template-columns:1fr}.contact-form{padding:27px 20px}.site-footer{grid-template-columns:1fr}.site-footer>div:nth-child(3){flex-wrap:wrap}.detail-hero{padding-top:120px}.detail-hero h1{margin-top:45px}.detail-cover{margin-top:45px;aspect-ratio:4/3}.detail-lead{margin-bottom:70px}.next-project{padding-top:45px;padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue i::after{animation:none}.work-visual img,.button{transition:none}}
