:root{--ink:#202123;--ink-deep:#161719;--paper:#f3f1eb;--white:#fff;--yellow:#f7be17;--blue:#1d55d5;--line:#ffffff2b}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--ink);color:var(--white);margin:0;font-family:Arial,Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.header{z-index:20;justify-content:space-between;align-items:center;height:112px;padding:0 6.2vw;display:flex;position:absolute;inset:0 0 auto}.brand{align-items:center;display:inline-flex}.brand img{width:191px;height:auto;display:block}.desktopNav{align-items:center;gap:clamp(28px,3vw,52px);display:flex}.desktopNav a{letter-spacing:.05em;font-size:13px;font-weight:800;position:relative}.desktopNav a:after{content:"";background:var(--yellow);height:2px;transition:right .25s;position:absolute;bottom:-8px;left:0;right:100%}.desktopNav a:hover:after{right:0}.menuButton,.mobileMenu{display:none}.hero{background:radial-gradient(circle at 70% 42%, #323439 0, var(--ink) 36%, #1a1b1d 80%);height:100vh;min-height:1000px;position:relative;overflow:hidden}.hero:after{content:"";opacity:.8;background:linear-gradient(120deg,#4b4c4e,#696a6b);height:28%;position:absolute;bottom:-15%;left:-4%;right:-4%;transform:rotate(-7deg)}.heroGlow{border:1px solid #ffffff08;border-radius:50%;width:44vw;height:44vw;position:absolute;top:17%;right:7vw;box-shadow:inset 0 0 120px #00000040}.heroCopy{z-index:3;position:absolute;top:31%;left:10.2vw}.eyebrow,.kicker{letter-spacing:.22em;color:var(--yellow);font-size:11px;font-weight:800}.hero h1{letter-spacing:.03em;margin:23px 0 35px;font-size:clamp(48px,5vw,76px);line-height:1.35}.heroEn{font-size:clamp(18px,1.7vw,27px);font-weight:800}.heroVisual{z-index:2;filter:drop-shadow(0 35px 34px #0000006b);width:min(49vw,720px);height:68%;animation:6s ease-in-out infinite float;position:absolute;top:17%;right:5.5vw}.heroVisual img{object-fit:contain;mix-blend-mode:screen}@keyframes float{50%{transform:translateY(-16px)rotate(.6deg)}}.heroCircle{z-index:4;color:#333;background:#fff;border-radius:50%;place-items:center;width:62px;height:62px;font-size:22px;transition:transform .25s,background .25s;display:grid;position:absolute;top:49%;right:5.9vw}.heroCircle:hover{background:var(--yellow);transform:translateY(5px)}.scroll{z-index:5;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;bottom:45px;left:5.8vw}.scroll span{writing-mode:vertical-rl;font-size:12px;font-weight:800}.scroll i{background:#fff;width:1px;height:82px;display:block}.heroService{z-index:5;grid-template-columns:100px 45% 1fr;align-items:stretch;width:54%;height:146px;display:grid;position:absolute;bottom:0;right:0}.heroServiceNo{flex-direction:column;justify-content:center;gap:18px;font-size:19px;display:flex}.heroServiceNo strong{position:relative}.heroServiceNo strong:after{content:"";background:#fff;width:23px;height:2px;position:absolute;bottom:-10px;left:0}.heroServiceCard{color:#242424;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex}.heroServiceCard img{width:145px;height:auto}.heroServiceCard small{font-weight:700}.heroService>a{border-bottom:3px solid var(--yellow);place-self:center;padding-bottom:6px;font-size:17px;font-weight:800}.sectionLabel{transform-origin:0 0;align-items:center;gap:24px;display:flex;position:absolute;top:120px;left:5.8vw;transform:rotate(-90deg)translate(-100%)}.sectionLabel span{color:#777;font-weight:800}.sectionLabel p{letter-spacing:.18em;margin:0;font-size:12px;font-weight:800}.vision{background:var(--paper);min-height:880px;color:var(--ink);align-items:center;display:flex;position:relative;overflow:hidden}.visionContent{z-index:2;width:min(590px,42vw);margin-left:18vw;position:relative}.vision h2,.company h2,.careers h2{letter-spacing:.05em;margin:24px 0 36px;font-size:clamp(38px,4vw,62px);line-height:1.5}.bodyText{font-size:16px;font-weight:500;line-height:2.35}.visionStatement{color:#0000;-webkit-text-stroke:1px #20212321;letter-spacing:-.08em;font-size:clamp(100px,14vw,210px);font-weight:900;line-height:.78;position:absolute;top:76px;right:-1vw}.visionStatement em{color:var(--yellow);-webkit-text-stroke:0;font-style:normal}.service{background:var(--ink-deep);padding:145px 7vw 170px;position:relative;overflow:hidden}.service:before{content:"SERVICE";color:#ffffff06;writing-mode:vertical-rl;font-size:15vw;font-weight:900;position:absolute;top:210px;right:-70px}.sectionHeading{max-width:1180px;margin:auto}.sectionHeading>div{align-items:center;gap:22px;display:flex}.sectionHeading>div span{color:#777;font-weight:800}.sectionHeading>div p{letter-spacing:.2em;margin:0;font-size:12px;font-weight:800}.sectionHeading>p{color:var(--yellow);letter-spacing:.2em;margin:85px 0 14px;font-size:11px;font-weight:800}.sectionHeading h2{margin:0 0 75px;font-size:clamp(38px,4vw,60px);line-height:1.5}.serviceGrid{max-width:1180px;margin:auto}.serviceSpotlight{min-height:610px;color:var(--ink);background:#fff;grid-template-columns:48% 52%;display:grid;overflow:hidden}.trecaContent{z-index:2;flex-direction:column;padding:48px 52px 42px;display:flex;position:relative}.serviceNumber{font-size:15px;font-weight:800}.trecaLogo{width:min(330px,100%);height:auto;margin:36px 0 32px}.serviceType{color:#0a3377;letter-spacing:.16em;margin:0 0 12px;font-size:10px;font-weight:900}.trecaContent h3{letter-spacing:.03em;margin:0 0 24px;font-size:clamp(30px,2.8vw,43px);line-height:1.45}.serviceDescription{margin:0;font-size:14px;line-height:2}.serviceBadges{gap:10px;margin-top:24px;display:flex}.serviceBadges span{color:#0b5fbe;border:1px solid #0b5fbe;border-radius:99px;padding:8px 13px;font-size:11px;font-weight:800}.trecaContent>a{letter-spacing:.12em;border-top:1px solid #00000038;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;font-size:12px;font-weight:900;display:flex}.trecaVisual{min-height:610px;position:relative;overflow:hidden}.trecaVisual img{object-fit:cover;object-position:60% center;transition:transform .6s}.trecaVisual:hover img{transform:scale(1.025)}.arrow{border:1px solid #ffffff80;border-radius:50%;place-items:center;width:44px;height:44px;font-size:16px;display:inline-grid}.arrowDark{border-color:#00000040}.company{background:#111;height:860px;position:relative;overflow:hidden}.companyImage{position:absolute;inset:0}.companyImage img{object-fit:cover}.companyImage:after{content:"";background:linear-gradient(90deg,#0000001a,#000000bf);position:absolute;inset:0}.companyPanel{clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);background:#191a1ced;width:47%;padding:140px 9vw 80px 7vw;position:absolute;top:0;bottom:0;right:0}.companyPanel .sectionLabel{top:124px;left:5vw}.lightLabel span{color:#ffffff80}.companyPanel>p:not(.kicker){color:#cfcfcf;line-height:2}.textLink{letter-spacing:.12em;justify-content:space-between;align-items:center;margin-top:40px;font-size:12px;font-weight:900;display:flex}.careers{background:var(--yellow);color:var(--ink);overflow:hidden}.careerTicker{white-space:nowrap;background:var(--ink);color:#fff;border-bottom:1px solid #00000040;padding:30px 0;transform:rotate(-2deg)scale(1.03)}.careerTicker span{letter-spacing:-.02em;font-size:clamp(32px,4.2vw,65px);font-weight:900;animation:18s linear infinite marquee;display:block}@keyframes marquee{to{transform:translate(-50%)}}.careersInner{grid-template-columns:1fr 1fr;align-items:center;max-width:1180px;min-height:650px;margin:auto;padding:70px 0;display:grid}.careersCopy>p:not(.kicker){line-height:2}.careersCopy .kicker{color:var(--ink)}.outlineButton{letter-spacing:.12em;border:1px solid #0006;justify-content:space-between;align-items:center;width:240px;margin-top:45px;padding:13px 13px 13px 22px;font-size:11px;font-weight:900;display:flex}.careerShapes{height:420px;position:relative}.careerShapes i{border:20px solid var(--ink);border-radius:50%;display:block;position:absolute}.careerShapes i:first-child{width:250px;height:250px;top:45px;right:60px}.careerShapes i:nth-child(2){background:#fff;border:0;width:155px;height:155px;top:190px;right:250px}.careerShapes i:nth-child(3){background:var(--blue);border:0;width:80px;height:80px;bottom:15px;right:90px}.careerShapes b{color:var(--yellow);-webkit-text-stroke:8px var(--ink);font-size:180px;position:absolute;top:80px;right:105px;transform:rotate(15deg)}.news{background:var(--ink);grid-template-columns:38% 62%;min-height:800px;padding:135px 7vw;display:grid}.newsHead{padding-left:6vw;position:relative}.newsHead .sectionLabel{top:16px;left:0}.newsHead h2{letter-spacing:-.07em;margin:90px 0 60px;font-size:clamp(60px,7vw,105px);line-height:.92}.newsHead>a{letter-spacing:.14em;justify-content:space-between;align-items:center;width:220px;font-size:11px;font-weight:900;display:flex}.newsList{border-top:1px solid var(--line)}.newsItem{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 40px;align-items:center;gap:24px;min-height:138px;transition:background .2s,padding .2s;display:grid}.newsItem:hover{background:#ffffff0a;padding:0 18px}.newsItem div{flex-direction:column;gap:12px;display:flex}.newsItem time{color:#aaa;font-size:12px}.newsItem span{color:var(--yellow);letter-spacing:.1em;font-size:9px;font-weight:800}.newsItem p{font-size:15px;line-height:1.8}.contact{min-height:460px;color:var(--ink);background:#fff;flex-direction:column;justify-content:center;padding:0 9vw;display:flex}.contact>p{letter-spacing:.2em;color:#777;font-size:11px;font-weight:900}.contact>a{border-bottom:1px solid #aaa;justify-content:space-between;align-items:center;padding:15px 0 30px;display:flex}.contact>a span{letter-spacing:-.06em;font-size:clamp(76px,13vw,190px);font-weight:900}.contact>a b{background:var(--yellow);border-radius:50%;place-items:center;width:100px;height:100px;font-size:32px;transition:transform .25s;display:grid}.contact>a:hover b{transform:rotate(45deg)}footer{background:var(--ink-deep);padding:85px 7vw 45px}.footerTop{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:60px;display:flex}.footerTop>a:last-child{letter-spacing:.12em;font-size:11px;font-weight:800}.footerGrid{grid-template-columns:1fr 1fr 1fr;gap:60px;padding-top:55px;display:grid}.footerGrid>p{font-size:22px;font-weight:800;line-height:1.7}.footerGrid nav{grid-template-columns:1fr 1fr;gap:24px;display:grid}.footerGrid nav a,.footerGrid>div{letter-spacing:.1em;font-size:11px;font-weight:800}.footerGrid>div{color:#aaa;flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}@media (max-width:900px){.header{height:82px;padding:0 24px;position:absolute}.brand img{width:145px}.desktopNav{display:none}.menuButton{z-index:31;background:#fff;border:0;border-radius:50%;width:46px;height:46px;display:block;position:relative}.menuButton span{background:var(--ink);width:20px;height:2px;transition:all .25s;position:absolute;left:13px}.menuButton span:first-child{top:18px}.menuButton span:last-child{top:26px}.menuButton.isOpen span:first-child{top:22px;transform:rotate(45deg)}.menuButton.isOpen span:last-child{top:22px;transform:rotate(-45deg)}.mobileMenu{z-index:19;background:var(--yellow);color:var(--ink);transition:transform .45s cubic-bezier(.75,0,.2,1);display:block;position:fixed;inset:0;transform:translateY(-100%)}.mobileMenu.isOpen{transform:none}.mobileMenuInner{padding:110px 30px 40px}.mobileMenuInner>p{letter-spacing:.2em;font-size:10px;font-weight:900}.mobileMenuInner a{border-bottom:1px solid #00000040;align-items:center;gap:20px;padding:18px 0;font-size:31px;font-weight:900;display:flex}.mobileMenuInner small{font-size:10px}.hero{height:880px;min-height:0}.hero:after{height:18%;bottom:-7%}.heroCopy{top:18%;left:26px}.hero h1{margin:17px 0 20px;font-size:clamp(37px,10vw,54px)}.heroEn{font-size:16px}.heroVisual{opacity:.92;width:113%;height:49%;top:35%;right:-16%}.heroCircle{width:50px;height:50px;top:67%;right:24px}.scroll{display:none}.heroService{grid-template-columns:52px 62% 1fr;width:92%;height:110px}.heroServiceNo{gap:12px;font-size:12px}.heroServiceCard b{font-size:19px}.heroServiceCard small{font-size:9px}.heroService>a{font-size:0}.heroService>a b{font-size:23px}.sectionLabel{display:none}.vision{align-items:flex-start;min-height:760px;padding:95px 26px}.visionContent{width:100%;margin:0}.vision h2,.company h2,.careers h2{margin:18px 0 28px;font-size:34px}.bodyText{font-size:14px;line-height:2.2}.visionStatement{font-size:25vw;top:auto;bottom:55px;right:-8px}.service{padding:100px 24px}.sectionHeading>p{margin-top:48px}.sectionHeading h2{margin-bottom:48px;font-size:34px}.serviceSpotlight{grid-template-columns:1fr}.trecaContent{min-height:570px;padding:34px 28px 36px}.trecaLogo{margin:30px 0 28px}.trecaContent h3{font-size:31px}.trecaVisual{grid-row:1;min-height:370px}.company{height:890px}.companyImage{inset:0 0 50%}.companyImage:after{background:linear-gradient(#0000,#0009)}.companyPanel{clip-path:polygon(0 11%,100% 0,100% 100%,0 100%);width:100%;padding:90px 28px 60px;top:41%}.careersInner{flex-direction:column;align-items:stretch;min-height:780px;padding:90px 28px 20px;display:flex}.careersCopy{z-index:2}.careerShapes{height:320px;margin-top:10px}.careerShapes i:first-child{width:190px;height:190px;right:10px}.careerShapes i:nth-child(2){width:110px;height:110px;right:155px}.careerShapes b{font-size:140px;top:70px;right:48px}.news{padding:90px 24px;display:block}.newsHead{padding:0}.newsHead h2{margin:0 0 45px}.newsHead>a{margin-bottom:55px}.newsItem{grid-template-columns:1fr 32px;gap:12px;padding:25px 0}.newsItem div{flex-direction:row;grid-column:1}.newsItem p{grid-column:1;margin:0}.newsItem b{grid-area:1/2/span 2}.contact{min-height:330px;padding:0 24px}.contact>a span{font-size:18vw}.contact>a b{width:64px;height:64px}footer{padding:60px 24px 35px}.footerGrid{grid-template-columns:1fr;gap:45px}.footerGrid>div{align-items:flex-start;gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
