@charset "UTF-8";
@import url("contact.css");
/* Keep every character's space reserved while the headline is typed. */
.typing-char{visibility:hidden;position:relative}
.typing-char.is-visible{visibility:visible}
.typing-char.is-cursor:after{content:"";position:absolute;right:-.06em;top:.1em;height:1em;border-right:2px solid #a8d4c8}
.hero-word:after{transform:scaleX(1);transform-origin:left center;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.hero-word.is-typing:after{transform:scaleX(0)}
@media(max-width:760px){
  .hero .hero-video{object-position:42% center}
  .hero .hero-content{padding-top:180px}
  .hero .hero-shade{background:linear-gradient(0deg,rgba(8,27,40,.8),rgba(8,27,40,.48) 60%,rgba(8,27,40,.12))}
  .hero .eyebrow{margin-bottom:18px}
  .hero h1{font-size:clamp(30px,7.5vw,44px);line-height:1.65}
  .hero .hero-description{margin-top:16px}
  .hero .hero-link{margin-top:18px}
}
:root{--navy:#102b3c;--ink:#162f3d;--teal:#347e82;--muted:#52636b;--paper:#f3f5f3;--line:#d7dfdf;--accent:#a8d4c8;--header:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;color:var(--ink);background:#fff;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b98029;outline-offset:6px}::selection{background:var(--accent);color:var(--navy)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:16px;z-index:100}.skip-link:focus{top:10px}.wrap{width:min(1200px,86%);margin-inline:auto}.section{padding-block:112px}.site-header{height:var(--header);padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e9eeec}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:37px;height:44px}.brand-name{font-size:29px;line-height:1.1;display:block;font-weight:800;letter-spacing:1px}.brand-dot{color:var(--teal)}.brand-jp{font-size:10px;letter-spacing:3px;display:block;margin-top:5px}.navigation{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.04em}.navigation a{transition:color .2s}.navigation a:hover{color:var(--teal)}.navigation .nav-company{background:var(--navy);color:white;padding:18px 24px;display:flex;gap:40px}.nav-company:hover{background:#245268}.menu-toggle{display:none}.hero{height:min(800px,calc(100svh - var(--header)));min-height:580px;position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-video{object-position:62% center}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,27,40,.78) 0%,rgba(8,27,40,.48) 48%,rgba(8,27,40,.13) 100%),linear-gradient(0deg,rgba(8,27,40,.38),transparent 35%)}.hero-content{width:min(1200px,86%);margin:auto;padding-top:clamp(65px,9vh,110px)}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.5px;font-weight:700;color:var(--teal);margin-bottom:28px;line-height:1.5}.eyebrow>span{width:21px;height:2px;background:var(--teal)}.eyebrow.light{color:#d3e9e2}.eyebrow.light>span{background:#a8d4c8}.hero h1{font-size:clamp(40px,4.5vw,68px);font-weight:700;letter-spacing:.08em;line-height:1.65;text-shadow:0 2px 25px #102b3c33}.hero-word{position:relative}.hero-word:after{content:"";position:absolute;bottom:-7px;left:0;right:12px;height:3px;background:var(--accent)}.hero-description{font-size:15px;line-height:2.1;letter-spacing:.1em;margin-top:26px}.hero-link{display:inline-flex;align-items:center;gap:70px;margin-top:30px;font-size:13px;letter-spacing:.08em;border-bottom:1px solid #ffffff8c;padding-bottom:12px}.hero-link span{font-size:22px;transition:transform .2s}.hero-link:hover span{transform:translate(3px,-3px)}.hero-bottom{position:absolute;bottom:30px;left:7%;right:4.5%;display:flex;align-items:center;justify-content:space-between}.scroll-link{display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:2px}.scroll-line{height:32px;width:1px;background:#ffffff91}.video-toggle{padding:10px 14px;background:#102b3c80;color:white;border:1px solid #ffffff70;font-size:11px;letter-spacing:.05em;min-height:44px}.video-toggle span{display:inline-block;margin-left:12px;width:12px}.hero-side{position:absolute;right:30px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px}.mobile-break{display:none}.statement-strip{background:var(--navy);color:white;display:flex;align-items:center;gap:38px;padding:25px 7%;font-size:13px;letter-spacing:.15em}.statement-strip>span+span:not(.strip-en){border-left:1px solid #ffffff33;padding-left:38px}.strip-en{margin-left:auto;color:#abc0c8;font-size:10px;letter-spacing:2px}.about{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.section h2{font-size:clamp(29px,2.7vw,41px);line-height:1.65;letter-spacing:.06em;font-weight:700}.about-copy>p:not(.eyebrow){font-size:14px;line-height:2.2;color:var(--muted);margin-top:23px}.text-link{display:inline-flex;margin-top:28px;align-items:center;justify-content:space-between;gap:60px;border-bottom:1px solid var(--navy);padding-bottom:13px;font-weight:700;font-size:12px}.text-link span{font-size:21px}.about-photo{position:relative;padding-bottom:48px}.about-photo>img{width:100%;height:440px;object-position:52% center}.about-photo:before{content:"";position:absolute;right:-20px;top:22px;width:70%;height:87%;background:var(--paper);z-index:-1}.about-photo figcaption{position:absolute;bottom:0;left:-25px;padding:24px 30px;background:var(--navy);color:white}.about-photo figcaption>span{font-size:19px;letter-spacing:2px;line-height:1.5;font-weight:500}.about-photo small{display:block;font-size:10px;margin-top:12px;letter-spacing:1px;color:#bcd1d7}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:50px}.heading-description{font-size:14px;line-height:2.1;color:var(--muted);padding-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 27px}.service-card{background:white}.service-image,.service-symbol{height:225px;position:relative;overflow:hidden}.service-image img{width:100%;height:100%;transition:transform .6s}.service-card:hover img{transform:scale(1.035)}.service-number{position:absolute;bottom:0;left:0;display:grid;place-items:center;background:var(--navy);color:white;width:48px;height:44px;font-size:15px;font-weight:500;letter-spacing:1px}.service-copy{padding:27px 26px 31px}.service-en{font-size:9px;color:var(--teal);letter-spacing:1.5px;font-weight:700}.service-copy h3{font-size:21px;letter-spacing:.04em;margin:10px 0 14px}.service-copy>p:last-child{font-size:13px;line-height:1.95;color:var(--muted)}.service-symbol{background:#e2ece8;display:grid;place-items:center;background-image:linear-gradient(135deg,transparent 49.6%,#cfdfda 50%,transparent 50.4%)}.service-symbol svg{height:140px;width:170px;stroke:#426966;stroke-width:1.5}.image-note{margin-top:24px;color:var(--muted);font-size:11px;text-align:right}.scene{height:390px;position:relative;isolation:isolate;background:var(--navy);color:white;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.scene>video,.scene-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.scene-shade{background:#102b3c99;z-index:-1}.scene-copy .eyebrow{justify-content:center;margin-bottom:23px}.scene-copy>p:not(.eyebrow){font-size:clamp(27px,3vw,42px);letter-spacing:.13em;line-height:1.8}.scene-copy>span{display:block;font-size:9px;letter-spacing:2.5px;margin-top:23px}.scene>.video-toggle{position:absolute;bottom:20px;right:4.5%}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:62px}.approach-grid article{border-top:1px solid var(--line);padding-top:27px}.approach-number{font-size:10px;color:var(--teal);letter-spacing:1.5px}.approach-grid h3{font-size:20px;line-height:1.7;margin:22px 0 16px;letter-spacing:.02em}.approach-grid p{font-size:13px;line-height:2;color:var(--muted)}.company{background:var(--navy);color:#fff}.company-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.company-intro{color:#c0cfd4;line-height:2;font-size:13px;margin-top:24px}.company-location{border-top:1px solid #ffffff33;display:flex;align-items:center;gap:8px;padding-top:23px;margin-top:45px;font-size:9px;letter-spacing:1.5px}.company-location>span:last-child{margin-left:auto;letter-spacing:1px;color:#a7c0c9}.location-dot{width:6px;height:6px;border-radius:100%;background:var(--accent)}.company-details{margin:0}.company-details>div{display:grid;grid-template-columns:100px 1fr;gap:18px;border-top:1px solid #ffffff30;padding:26px 0;font-size:13px;line-height:1.9}.company-details>div:last-child{border-bottom:1px solid #ffffff30}.company-details dt{color:#b6c8ce}.company-details dd{margin:0}.map-link{display:inline-block;font-size:11px;color:#c7e4dc;margin-top:13px;border-bottom:1px solid #c7e4dc70}.map-link span[aria-hidden]{margin-left:12px}.site-footer{display:flex;gap:24px;justify-content:space-between;align-items:center;padding-block:38px}.footer-brand{font-size:27px;letter-spacing:1px;font-weight:800}.footer-brand>span{color:var(--teal)}.footer-brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:400;margin-top:5px}.site-footer>p{font-size:10px;color:var(--muted);margin-left:auto}.back-top{display:grid;place-items:center;border:1px solid var(--line);width:46px;height:46px;font-size:20px;margin-left:25px}
@media(min-width:1600px){.hero-content{padding-top:105px}.hero h1{font-size:72px}}
@media(max-width:1050px){.navigation{gap:20px;font-size:11px}.navigation .nav-company{padding:16px;gap:18px}.brand-name{font-size:25px}.wrap{width:88%}.section{padding-block:85px}.about{gap:6%}.about-photo>img{height:410px}.service-image,.service-symbol{height:185px}.service-copy{padding:23px 20px}.service-copy h3{font-size:18px}.approach-grid{gap:25px}.approach-grid h3{font-size:17px}.company-grid{gap:6%}.company-details>div{grid-template-columns:70px 1fr}}
@media(max-width:760px){:root{--header:78px}.site-header{padding-inline:6%;gap:10px;flex-wrap:wrap;height:auto;min-height:var(--header)}.brand{gap:9px;min-height:78px}.brand-mark{width:29px;height:35px}.brand-name{font-size:25px}.brand-jp{font-size:9px;letter-spacing:2px}.menu-toggle:not([hidden]){display:flex;flex-direction:column;justify-content:center;gap:7px;background:none;border:1px solid var(--line);width:44px;height:44px;padding:11px}.menu-toggle>span{height:1px;width:20px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.navigation{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;padding-bottom:15px}.navigation a{padding:15px 0;font-size:12px}.navigation .nav-company{padding:15px;justify-content:space-between}.js .navigation{display:none;position:absolute;top:100%;left:0;background:white;padding:12px 6% 24px;border-top:1px solid var(--line);box-shadow:0 15px 20px #102b3c14}.js .navigation.is-open{display:grid}.hero{min-height:620px;height:calc(90svh - var(--header));max-height:800px}.hero-video{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#081b28bd,#081b285c),linear-gradient(0deg,#081b2866,transparent)}.hero-content{width:88%;padding-top:66px}.hero .eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:28px}.hero h1{font-size:clamp(32px,8vw,54px);line-height:1.8;letter-spacing:.04em}.mobile-break{display:block}.hero-word:after{bottom:-8px;height:2px}.hero-description{font-size:12px;line-height:2.1;margin-top:25px;letter-spacing:.06em}.hero-link{margin-top:24px;font-size:12px;gap:50px}.hero-bottom{left:6%;right:6%;bottom:20px}.scroll-link{font-size:7px;gap:10px;letter-spacing:1px}.hero-side{display:none}.video-toggle{font-size:10px;padding:9px 10px}.statement-strip{padding:22px 6%;gap:0;justify-content:space-between;font-size:10px;letter-spacing:.08em}.statement-strip>span+span:not(.strip-en){padding-left:20px}.strip-en{display:none}.section{padding-block:72px}.section h2{font-size:28px;line-height:1.7;letter-spacing:.04em}.eyebrow{font-size:10px;margin-bottom:20px}.about{grid-template-columns:1fr;gap:42px}.about-copy>p:not(.eyebrow){font-size:13px}.about-copy br{display:none}.about-copy h2 br{display:block}.about-photo{padding-bottom:42px;margin-left:15px;margin-right:10px}.about-photo>img{height:auto;aspect-ratio:1.15;object-position:50% center}.about-photo:before{right:-10px}.about-photo figcaption{left:-15px;padding:19px 24px}.about-photo figcaption>span{font-size:16px}.about-photo small{font-size:9px}.section-heading{display:block;margin-bottom:32px}.heading-description{font-size:12px;margin-top:22px;padding:0}.service-grid{grid-template-columns:repeat(2,1fr);gap:24px 15px}.service-image,.service-symbol{height:170px}.service-copy{padding:20px 17px}.service-copy h3{font-size:17px}.service-en{font-size:8px;letter-spacing:.8px;line-height:1.7}.service-copy>p:last-child{font-size:12px}.service-number{height:36px;width:39px;font-size:12px}.service-symbol svg{height:115px}.image-note{text-align:left;line-height:1.8;font-size:10px}.scene{height:340px}.scene-copy>p:not(.eyebrow){font-size:27px}.scene-copy>span{font-size:7px;letter-spacing:1.4px}.approach-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.approach-grid article{padding-top:24px}.approach-grid h3{font-size:20px;margin:13px 0 10px}.approach-grid p{font-size:13px}.company-grid{grid-template-columns:1fr;gap:35px}.company-intro{font-size:12px}.company-location{margin-top:25px;max-width:400px}.company-details>div{font-size:12px;grid-template-columns:65px 1fr;gap:15px;padding-block:22px}.site-footer{flex-wrap:wrap;gap:16px;padding-block:28px}.footer-brand{font-size:24px}.site-footer>p{font-size:9px}.back-top{margin-left:0;width:40px;height:40px}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr;gap:25px}.service-image,.service-symbol{height:215px}.service-copy{padding:24px}.service-copy h3{font-size:21px}.service-copy>p:last-child{font-size:13px}.service-en{font-size:9px}.hero h1{font-size:32px}.site-footer>p{order:3;width:100%;margin:0}.back-top{margin-left:auto}.statement-strip>span+span:not(.strip-en){padding-left:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
