@charset "UTF-8";
:root{--ink:#25354b;--blue:#1756b2;--muted:#667386;--line:#e2e8ef;--sans:"Noto Sans JP",sans-serif;--latin:"Montserrat",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:#fff;color:var(--ink);font:400 15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d46b37;outline-offset:6px}::selection{background:#d8eafa}.home-wrap{width:calc(100% - 100px);max-width:1160px;margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;background:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
.wordmark{display:inline-flex;align-items:baseline;color:var(--ink);font:700 31px/1.15 var(--latin);letter-spacing:-1.7px;white-space:nowrap}.wordmark>span{color:var(--blue)}.wordmark>i{width:.18em;height:.18em;background:#ec875b;border-radius:50%;margin-left:.07em}.brand-link{display:inline-flex;flex:none}
.home-header{height:86px;position:sticky;top:0;background:rgba(255,255,255,.97);z-index:30;border-bottom:1px solid #edf0f3}.header-inner{height:100%;max-width:1480px;margin:auto;padding:0 4.8%;display:flex;align-items:center;gap:34px}.home-nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:13px;font-weight:600;letter-spacing:.04em}.home-nav a{padding:10px 0}.home-nav a:hover,.footer-top a:hover{color:var(--blue)}.header-contact{background:var(--ink);color:#fff;padding:11px 19px;display:flex;gap:25px;align-items:center;font-size:12px;white-space:nowrap}.header-contact:hover{background:var(--blue)}.mobile-menu{display:none}
.section-space{padding-block:105px;position:relative}.section-label{text-align:center;margin-bottom:48px}.section-name{color:var(--blue);font:500 38px/1.25 var(--latin);letter-spacing:-1px}.section-caption{font-size:11px;letter-spacing:.09em;color:var(--muted);margin-top:12px}h2{font-size:32px;font-weight:700;line-height:1.8;letter-spacing:.02em}.legacy-anchor{position:absolute;top:0}
.about-section{padding-block:105px 115px}.about-body{max-width:820px;margin:auto;text-align:center}.about-body h2{font-size:34px;line-height:1.85}.about-heading-phrase{display:inline-block}.about-prose{margin-top:34px;font-size:15px;line-height:2.3}.about-prose p+p{margin-top:27px}.about-prose strong{font-weight:600;color:var(--blue)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;border-bottom:1px solid #a9bbcf;padding:14px 0;font-size:13px;font-weight:500}.text-link>span{font-size:22px;color:var(--blue);transition:transform .2s}.text-link:hover>span{transform:translateX(6px)}.about-body .text-link{margin-top:35px}
.services-section{background:#f5f8fc;padding-block:90px 100px}.services-section .section-label{margin-bottom:52px}.service-row{display:grid;grid-template-columns:1.07fr 1fr;align-items:center;background:#fff;box-shadow:0 5px 24px #294f7710;margin-top:30px;border:1px solid #e5ebf2;overflow:hidden}.service-visual{min-width:0;padding:25px 0 25px 25px;align-self:stretch;display:flex;align-items:center}.service-visual img{width:100%;height:auto}.service-copy{padding:42px 42px 36px 40px;min-width:0}.service-copy h3{font-size:25px;font-weight:700;line-height:1.7;letter-spacing:.015em}.consulting-line{display:block;white-space:nowrap}#consulting-service-title{font-size:clamp(16px,1.75vw,23px);letter-spacing:0}.service-copy h3 .keep-phrase{display:inline-block}.service-copy h3 em{font-style:normal;color:var(--blue)}.product-wordmark{margin-top:25px}.product-wordmark .wordmark{font-size:40px;letter-spacing:-1.8px}.consulting-title{font-size:27px;font-weight:700;line-height:1.55;margin-top:25px;letter-spacing:.01em}.service-copy>p:not(.service-status):not(.consulting-title){font-size:13px;line-height:2.05;color:#637285;margin-top:24px}.service-link{display:flex;align-items:center;justify-content:flex-end;gap:19px;font-size:12px;font-weight:600;margin-top:25px}.service-link>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:19px;transition:background .2s,transform .2s}.service-link:hover>span{background:var(--blue);transform:translate(2px,-2px)}.service-status{font-size:10px;color:var(--blue);margin-top:20px;line-height:1.8}.service-status>span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.recruit-section{padding-block:95px 100px}.recruit-content{position:relative;background:#eef5fc;padding:65px 75px;overflow:hidden}.recruit-content>div:first-child{position:relative;z-index:2}.recruit-content h2{font-size:33px}.recruit-content p{font-size:14px;color:#566c84;line-height:2.2;margin-top:22px}.recruit-content .text-link{margin-top:23px}.recruit-links{display:flex;flex-wrap:wrap;gap:0 32px}.recruit-links .text-link{gap:25px}.inline-wordmark{font-size:1.25em;letter-spacing:-.06em;margin-right:.25em}.recruit-art{position:absolute;width:420px;height:450px;right:-50px;bottom:-55px;transform:rotate(-32deg)}.recruit-art>span{display:block;position:absolute;width:310px;height:105px;border:1px solid #aecde9;border-radius:60px;right:0;top:70px;box-shadow:inset 0 -12px 25px #bcd8ef20}.recruit-art>span:nth-child(2){right:50px;top:198px;border-color:#7eaada}.recruit-art>span:nth-child(3){right:100px;top:326px;border-color:#3379c5;background:linear-gradient(125deg,#5faadf,#1e5eae)}.recruit-art>i{position:absolute;width:12px;height:12px;background:#ec956b;border-radius:50%;right:20px;top:197px}
.contact-section{background:#f7f9fc;padding:65px 0 70px;text-align:center;border-block:1px solid #edf1f5}.contact-section .section-label{margin-bottom:25px}.contact-section h2{font-size:25px}.contact-section p:not(.section-name):not(.section-caption){font-size:13px;line-height:2;margin-top:16px;color:var(--muted)}.solid-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:#fff;min-width:280px;padding:18px 25px;font-size:12px;font-weight:500;line-height:1.7;transition:background .2s}.solid-button>span{font-size:19px;line-height:1}.solid-button:hover{background:var(--blue)}.contact-section .solid-button{margin-top:30px}
.home-footer{padding:50px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top nav{display:flex;gap:24px;font-size:11px;flex-wrap:wrap}.home-footer nav a{white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:44px;padding-top:23px;border-top:1px solid var(--line);color:var(--muted)}.footer-bottom>small{font:400 10px/1.5 var(--latin)}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:23px;font-size:10px}
/* Company page shares the same navigation and identity. */
.company-title{padding-top:27px;padding-bottom:55px}.breadcrumb{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-bottom:65px}.breadcrumb a:hover{color:var(--blue)}.company-title h1{font-size:32px;margin-top:15px}.company-overview{display:grid;grid-template-columns:1fr 2fr;gap:65px;padding-block:0 100px}.company-overview h2{font-size:20px}.company-lead{font-size:13px;line-height:2;margin-top:32px}.company-lead .wordmark{font-size:26px;margin-bottom:15px}.company-facts{margin:0;border-top:1px solid var(--line)}.company-facts>div{display:grid;grid-template-columns:130px 1fr;padding:24px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:2}.company-facts dt{font-weight:600}.company-facts dd{margin:0}.company-facts dd a{display:block;width:fit-content;color:var(--blue)}.company-facts dd a:hover{text-decoration:underline}.company-facts a span{margin-left:10px}
@media(max-width:1100px){.header-inner{padding-inline:30px;gap:24px}.home-nav{gap:20px;font-size:12px}.header-contact{gap:15px;padding-inline:15px}.home-header .wordmark{font-size:27px}.home-wrap{width:calc(100% - 70px)}.service-copy{padding:32px}.service-copy h3{font-size:22px}.product-wordmark .wordmark{font-size:35px}.consulting-title{font-size:24px}.service-visual{padding-left:20px}.recruit-content{padding:55px}.recruit-art{right:-115px}}

@media(max-width:900px){.home-wrap{width:calc(100% - 60px)}.header-inner{gap:20px}.home-nav{gap:13px;font-size:11px}.header-contact{font-size:11px;gap:12px}.header-contact>span{display:none}.section-space{padding-block:80px}.section-name{font-size:32px}.about-body h2{font-size:29px}.about-prose{font-size:14px;max-width:640px;margin-inline:auto;text-align:left}.desktop-break{display:none}.service-row{grid-template-columns:1fr 1.04fr}.service-copy{padding:30px 25px}.service-copy h3{font-size:20px}.service-copy>p:not(.service-status):not(.consulting-title){font-size:12px}.service-visual{padding:15px 0 15px 15px}.product-wordmark .wordmark{font-size:33px}.consulting-title{font-size:22px}.service-link{font-size:11px;gap:12px}.recruit-content{padding:45px}.recruit-content h2{font-size:29px}.recruit-content p{max-width:450px;font-size:13px}.recruit-art{opacity:.6;right:-195px}.company-overview{gap:35px}.company-facts>div{grid-template-columns:100px 1fr}.footer-top nav{gap:18px}}
@media(max-width:700px){html{scroll-padding-top:85px}.home-wrap{width:calc(100% - 44px)}.home-header{height:72px}.header-inner{padding-inline:22px;gap:12px}.home-header .wordmark{font-size:24px}.home-nav{display:none}.header-contact{margin-left:auto;padding:9px 11px;font-size:10px;gap:8px}.mobile-menu{display:block}.mobile-menu>summary{display:flex;flex-direction:column;justify-content:center;gap:7px;list-style:none;width:38px;height:38px;padding:7px}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary>span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .2s}.mobile-menu[open]>summary>span:first-child{transform:translateY(4.25px) rotate(45deg)}.mobile-menu[open]>summary>span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.mobile-menu>nav{position:absolute;top:72px;left:0;width:100%;padding:20px 26px 27px;background:#fff;border-block:1px solid var(--line);box-shadow:0 18px 25px #20334b0d}.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:13px}.mobile-menu nav a>span{color:var(--blue)}
.consulting-line{white-space:normal}#consulting-service-title{font-size:clamp(16px,4.3vw,23px)}.section-space{padding-block:62px}.section-label{margin-bottom:30px}.section-name{font-size:25px}.section-caption{font-size:10px;margin-top:9px}.about-body h2{font-size:24px;letter-spacing:0}.about-prose{text-align:left;font-size:13px;line-height:2.2;margin-top:27px}.about-prose p+p{margin-top:22px}.about-body .text-link{margin-top:27px}.text-link{font-size:12px;gap:45px}.services-section .section-label{margin-bottom:32px}.service-row{display:flex;flex-direction:column;margin-top:25px}.service-visual{padding:18px 18px 0;display:block;align-self:auto;width:100%}.service-visual img{max-width:540px;margin:auto}.service-copy{padding:28px 25px 30px;width:100%}.service-copy h3{font-size:23px}.product-wordmark{margin-top:20px}.product-wordmark .wordmark{font-size:37px}.consulting-title{font-size:26px;margin-top:20px}.service-copy>p:not(.service-status):not(.consulting-title){font-size:13px;margin-top:20px}.service-link{font-size:12px;margin-top:23px}.service-status{margin-top:17px}.recruit-content{padding:35px 27px 95px}.recruit-content h2{font-size:25px}.recruit-content p{font-size:13px}.recruit-content .text-link{gap:30px}.recruit-art{width:300px;height:200px;bottom:-99px;right:-70px;opacity:.55;transform:rotate(-30deg) scale(.7);transform-origin:bottom right}.recruit-art>span{top:-200px!important}.recruit-art>span:nth-child(2){top:-70px!important}.recruit-art>span:nth-child(3){top:60px!important}.recruit-art>i{top:0}.contact-section{padding-block:50px}.contact-section h2{font-size:23px}.contact-section p:not(.section-name):not(.section-caption){font-size:12px}.contact-section .solid-button{min-width:270px;padding:16px 22px}.home-footer{padding-block:38px 24px}.footer-top{display:block}.footer-top .wordmark{font-size:29px}.footer-top nav{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;font-size:11px}.footer-bottom{flex-direction:column-reverse;gap:22px;margin-top:29px;padding-top:23px}.footer-bottom nav{gap:18px;font-size:10px}.footer-bottom>small{font-size:9px}.company-title{padding-bottom:38px}.breadcrumb{margin-bottom:40px;font-size:10px}.company-title h1{font-size:28px}.company-overview{display:block;padding-bottom:60px}.company-lead{margin:20px 0 30px}.company-facts>div{grid-template-columns:95px 1fr;gap:10px;font-size:12px;padding:21px 0}}
@media(max-width:350px){.home-wrap{width:calc(100% - 36px)}.header-inner{padding-inline:18px;gap:8px}.home-header .wordmark{font-size:21px}.header-contact{font-size:9px;padding:8px 9px}.mobile-menu>summary{width:30px;padding:3px}.about-body h2{font-size:21px}.service-copy{padding:25px 20px}.service-copy h3{font-size:21px}.product-wordmark .wordmark{font-size:33px}.consulting-title{font-size:23px}.recruit-content{padding:30px 22px 90px}.recruit-content h2{font-size:23px}.recruit-content .text-link{font-size:11px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Corporate main visual: the headline and one connected structure share a canvas. */
.home-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  background: #fafbfc;
  min-height: 650px;
  height: calc(100svh - 86px);
  max-height: 900px;
  padding-top: 55px;
}
.hero-copy {
  position: relative;
  z-index: 2;
  width: 90.4%;
  max-width: 1440px;
  text-align: left;
}
.hero-copy h1 { font-weight: 800; letter-spacing: -.045em; line-height: 1.55; }
.hero-first, .hero-second { display: block; white-space: nowrap; }
.hero-first { font-size: clamp(42px,4.8vw,64px); color: #1756b2; }
.hero-second { font-size: clamp(40px,4.05vw,58px); margin-top: 5px; color: #25354b; }
.hero-art { position: relative; flex: 1 1 auto; min-height: 300px; width: 100%; max-width: none; margin: 38px 0 0; pointer-events: none; }
.hero-art[data-motion="paused"] * { animation-play-state: paused!important; }
@media(max-width:1100px) {
  .home-hero { padding-top: 56px; min-height: 650px; }
  .hero-copy { width: calc(100% - 70px); }
}
@media(max-width:980px) {
  .home-hero { min-height: 690px; }
  .hero-second { font-size: 42px; margin-top: 10px; }
  .industry-phrase { display: block; }
}
@media(max-width:900px) {
  .hero-copy { width: calc(100% - 60px); }
  .hero-first { font-size: 44px; }
  .hero-second { font-size: clamp(34px,5.1vw,42px); }
}
@media(max-width:700px) {
  .home-hero { padding-top: 49px; height: calc(100svh - 72px); min-height: 680px; max-height: 850px; }
  .hero-copy { width: calc(100% - 44px); }
  .hero-copy h1 { letter-spacing: -.04em; line-height: 1.55; }
  .hero-first { font-size: clamp(25px,6.8vw,40px); white-space: normal; }
  .hero-second { font-size: clamp(30px,9.1vw,48px); white-space: normal; margin-top: 18px; }
  .mobile-phrase,.industry-phrase { display: block; }
}
@media(max-width:350px) {
  .home-hero { padding-top: 40px; min-height: 680px; }
  .hero-first .narrow-phrase { display: block; }
  .hero-copy { width: calc(100% - 36px); }
}

.mv-planes{position:absolute;inset:0;overflow:hidden}
.mv-planes-svg{display:block;width:100%;height:100%;overflow:visible}
.mv-plane-pulse{animation:mv-plane-pass 6s cubic-bezier(.24,.03,.2,1) infinite;transform-box:view-box;will-change:transform,opacity;opacity:0}
.mv-plane-pulse-0{animation-delay:-1.1s}.mv-plane-pulse-1{animation-delay:-.55s}
@keyframes mv-plane-pass{0%{transform:translate(-260px,220px);opacity:0}20%{opacity:.6}70%{opacity:.6}100%{transform:translate(280px,-250px);opacity:0}}
@media(max-width:700px){.mv-planes-svg{width:150%;margin-left:-45%}}
@media(prefers-reduced-motion:reduce){.mv-plane-pulse{animation:none;opacity:0;will-change:auto}}
