@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap";:root{--navy:#052f60;--deep:#02284e;--blue:#0076c9;--cyan:#16a8df;--ice:#f0f9fe;--line:#d9e9f3;--text:#08284e;--muted:#526b85;--white:#fff;--shadow:0 10px 30px #052f6014}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:#fff;margin:0;font-family:Noto Sans JP,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:50;backdrop-filter:blur(12px);background:#fffffff7;border-bottom:1px solid #e8eef3;position:sticky;top:0}.header-inner{align-items:center;gap:36px;height:76px;display:flex}.brand{flex:none;width:168px}.brand img{object-fit:contain;width:100%;height:54px}.desktop-nav{align-items:center;gap:34px;margin-left:auto;font-size:.92rem;font-weight:700;display:flex}.desktop-nav a{padding:27px 0 23px;position:relative}.desktop-nav a:after{content:"";background:var(--cyan);height:2px;transition:right .25s;position:absolute;bottom:15px;left:0;right:100%}.desktop-nav a:hover:after{right:0}.nav-contact,.contact-button{color:#fff;background:linear-gradient(135deg,#07568f,#0076bd);border:1px solid #1587cf;justify-content:center;align-items:center;gap:18px;min-width:174px;font-weight:700;display:inline-flex;padding:13px 24px!important}.nav-contact:hover{box-shadow:0 9px 20px #0069b133}.nav-contact:after,.menu-toggle,.mobile-menu{display:none}.hero{color:#fff;background:linear-gradient(90deg,#073c70 0% 34%,#06376433 66%),url(/assets/hero.jpg) 100%/60% 100% no-repeat,#073c70}.hero-inner{justify-content:space-between;align-items:center;min-height:310px;padding-block:54px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.1em;margin:0 0 10px;font-size:.72rem;font-weight:800}.eyebrow:before{content:"";vertical-align:-2px;background:var(--cyan);width:4px;height:14px;margin-right:9px;display:inline-block}.eyebrow.light{color:#d5f4ff}.hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(3.1rem,6vw,5.2rem);line-height:1}.hero h1 span{font-size:.75em;font-weight:300}.hero-lead{margin:18px 0 0;font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:800}.hero-note{text-shadow:0 2px 9px #00000073;font-size:.95rem;font-weight:600;line-height:1.9}.tech-nav{background:#012345eb;justify-content:center;align-items:center;gap:28px;min-height:68px;padding:16px 24px;font-weight:700;display:flex}.tech-nav i{color:#69c7ec;font-style:normal}.section{padding:78px 0}.section-compact{padding:34px 0}.tinted{background:linear-gradient(120deg,#f7fcff,#edf8fe)}.section-heading{margin-bottom:28px}.section-heading h2,.purpose h2,.news h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.3}.row-heading{grid-template-columns:auto 1fr auto;align-items:end;gap:30px;display:grid}.row-heading p{color:var(--muted);margin:0 0 4px}.text-link{color:var(--blue);font-size:.9rem;font-weight:700}.purpose-grid{grid-template-columns:1fr 310px;align-items:center;gap:60px;display:grid}.purpose p:not(.eyebrow){max-width:760px;color:var(--muted);margin:14px 0 0}.purpose blockquote{border-left:3px solid var(--cyan);color:#496681;margin:0;padding:10px 0 10px 30px;font-size:1rem}.news{border-top:1px solid #eef3f6;border-bottom:1px solid #eef3f6}.news-grid{grid-template-columns:170px 1fr auto;align-items:center;gap:30px;display:grid}.news h2{font-size:2rem}.news-list{margin:0}.news-row{color:#425f7c;grid-template-columns:110px 1fr;gap:18px;padding:3px 0;font-size:.9rem;display:grid}.news-row time{color:#778da3}.news-row .news-category{display:none}.news-row h3{margin:0;font-size:.9rem;font-weight:400}.news-row .news-arrow{display:none}.card-grid{gap:18px;display:grid}.business-grid{grid-template-columns:repeat(4,1fr)}.card,.case-card{background:#fff;border:1px solid #dfebf2;transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 5px 18px #052f600a}.card:hover,.case-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.card>img{aspect-ratio:1.22;object-fit:cover;width:100%}.card-body{min-height:166px;padding:19px 38px 20px 18px;position:relative}.card h3,.case-card h3{margin:0 0 9px;font-size:1.1rem;line-height:1.45}.card p,.case-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.card-body>a,.case-body>a{color:var(--blue);font-size:1.25rem;font-weight:700;position:absolute;bottom:15px;right:17px}.strength-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:52px;display:grid}.strength-grid>img{aspect-ratio:1.72;object-fit:cover;width:100%}.strength-points{grid-template-columns:1fr 1fr;gap:34px 42px;display:grid}.strength-points>div{border-left:4px solid var(--cyan);padding-left:18px}.strength-points h3{margin:0 0 7px;font-size:1.25rem}.strength-points p{color:var(--muted);margin:0;font-size:.9rem}.case-grid{grid-template-columns:repeat(3,1fr)}.case-card>img{aspect-ratio:1.75;object-fit:cover;width:100%}.case-body{min-height:180px;padding:17px 44px 22px 18px;position:relative}.case-card h3{margin-top:8px}.tag{color:#0879bd;background:#dff4ff;border-radius:99px;padding:2px 10px;font-size:.7rem;font-weight:800;display:inline-block}.case-arrow{color:var(--blue);font-size:1.25rem;font-weight:700;position:absolute;bottom:15px;right:17px}.site-footer{color:#fff;background:linear-gradient(115deg,#063768,#002b56)}.footer-main{grid-template-columns:1.2fr 1fr auto;align-items:center;gap:64px;padding:54px 0;display:grid}.footer-brand{align-items:center;gap:28px;display:flex}.footer-brand img{opacity:.95;width:170px}.footer-brand p{border-left:1px solid #ffffff59;margin:0;padding-left:28px;font-size:.82rem}.site-footer nav{grid-template-columns:1fr 1fr;gap:8px 28px;font-size:.86rem;display:grid}.footer-bottom{color:#cce1f2;border-top:1px solid #ffffff40;justify-content:space-between;padding:20px 0 28px;font-size:.75rem;display:flex}.footer-bottom div{gap:28px;display:flex}.page-hero{background:linear-gradient(120deg,#f7fcff,#edf8fe);padding:80px 0 100px}.page-hero h1{margin:0;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.12}.page-hero>p:last-child{max-width:620px;color:var(--muted)}.approach-list,.values-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.approach-list>div,.values-grid>div{border-right:1px solid var(--line);padding:25px 25px 40px 0}.approach-list>div:not(:first-child),.values-grid>div:not(:first-child){padding-left:25px}.approach-list h3,.values-grid h3{margin:28px 0 8px;font-size:1.3rem}.approach-list p,.values-grid p{color:var(--muted);font-size:.9rem}.company-split{grid-template-columns:1fr 1fr;gap:80px;display:grid}.manifesto{letter-spacing:-.06em;font-size:clamp(35px,4vw,58px);line-height:1.12}.values-section{background:var(--ice);padding:78px 0}.contact-page{grid-template-columns:1fr 1fr;min-height:calc(100vh - 76px);padding:80px 0 130px;display:grid}.contact-page h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.12}.contact-lede{color:var(--muted);max-width:330px;margin-top:35px}.contact-details{align-self:end}.contact-email{border-bottom:2px solid var(--blue);color:var(--blue);font-size:clamp(30px,4.3vw,62px);line-height:1;display:inline-block}.contact-info{color:var(--muted);gap:35px;margin-top:25px;font-size:.75rem;display:flex}.article-page{max-width:900px;padding:70px 0 130px}.back-link{color:var(--blue);font-size:.85rem}.article-header{border-bottom:1px solid var(--line);padding:70px 0 45px}.article-header h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.2}.article-header time{color:var(--muted);font-size:.8rem}.article-content{max-width:650px;margin:55px auto 0;line-height:2}.article-content h2{font-size:2rem}.article-content p{color:var(--muted)}@media (width<=900px){.container{width:min(100% - 32px,720px)}.header-inner{gap:14px;height:68px}.brand{width:132px}.brand img{height:45px}.nav-contact{display:none}.menu-toggle{background:0 0;border:0;place-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:11px;display:grid}.menu-toggle span{background:var(--navy);width:25px;height:2px;transition:all .2s;display:block}.menu-open .menu-toggle span:first-child{transform:translateY(4px)rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){transform:translateY(-4px)rotate(-45deg)}.mobile-menu{border-bottom:1px solid var(--line);background:#fff;padding:14px 24px 26px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 12px 24px #03284e1f}.mobile-menu[aria-hidden=false]{gap:0;display:grid}.mobile-menu a{border-bottom:1px solid #edf2f6;padding:15px 2px}.mobile-contact{color:var(--blue);font-weight:700}.hero{background:linear-gradient(90deg,#073c70 0%,#063764eb 42%,#0637642e),url(/assets/hero.jpg) 64%/auto 100% no-repeat,#073c70}.hero-inner{align-items:end;min-height:360px}.hero-note{display:none}.tech-nav{justify-content:flex-start;gap:18px;font-size:.8rem;overflow-x:auto}.purpose-grid,.strength-grid,.company-split{grid-template-columns:1fr}.purpose blockquote{margin-top:25px}.news-grid{grid-template-columns:1fr}.news-grid>.text-link{justify-self:start}.row-heading{grid-template-columns:1fr;gap:10px}.row-heading>.text-link{justify-self:start}.business-grid{grid-template-columns:1fr 1fr}.case-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:34px}.footer-bottom{flex-direction:column;gap:20px}}@media (width<=580px){body{font-size:15px}.container{width:min(100% - 24px,520px)}.section{padding:58px 0}.hero-inner{min-height:330px;padding-block:40px}.hero h1{font-size:3.15rem}.hero-lead{font-size:1.15rem}.tech-nav{min-height:58px}.news li{grid-template-columns:1fr;gap:0;padding:7px 0}.business-grid{grid-template-columns:1fr}.card>img{aspect-ratio:1.7}.strength-points{grid-template-columns:1fr;gap:22px}.approach-list,.values-grid{grid-template-columns:1fr}.approach-list>div,.values-grid>div,.approach-list>div:not(:first-child),.values-grid>div:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.footer-brand{flex-direction:column;align-items:flex-start;gap:16px}.footer-brand p{border:0;padding:0}.site-footer nav{grid-template-columns:1fr}.contact-page{padding:60px 0 100px;display:block}.contact-details{margin-top:70px}.contact-info{flex-direction:column;gap:8px}}.about-hero{background:linear-gradient(90deg,#f7fcff 0% 47%,#e9f6fd 100%)}.about-hero-inner{grid-template-columns:1fr 1.15fr;align-items:stretch;min-height:420px;display:grid}.about-hero-inner>div{align-self:center;padding:54px 44px 44px 0}.about-hero-inner>img{object-fit:cover;width:100%;height:100%;min-height:420px}.about-hero h1{margin:0;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.12}.about-en{color:var(--blue);letter-spacing:.27em;margin:3px 0 4px;font-size:1.05rem;font-weight:800}.breadcrumb{color:#6d8296;flex-wrap:wrap;gap:9px;margin:7px 0 26px;font-size:.78rem;display:flex}.about-hero h2{margin:0 0 13px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.45}.about-hero-inner>div>p:last-child{color:#46647e;max-width:490px;margin:0}.approach-grid{grid-template-columns:1fr 300px;align-items:center;gap:70px;display:grid}.approach-grid p:not(.eyebrow){color:var(--muted);margin:12px 0 0}.approach-grid blockquote{border-left:4px solid var(--cyan);margin:0;padding:16px 0 16px 32px;font-size:1.75rem;font-weight:800;line-height:1.6}.section-lead{max-width:800px;color:var(--muted);margin:12px 0 30px}.design-figure{margin:0}.design-figure img{width:100%;height:auto}.design-figure-wide{border-radius:4px;margin-top:30px;overflow:hidden}.design-figure-icons{background:#fff;width:100%}.process-figure{margin-top:34px}.communication-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;margin-top:28px;display:grid}.communication-grid>img{object-fit:cover;width:100%;height:100%;min-height:330px}.communication-fact{color:var(--muted);margin:0 0 24px}.communication-fact strong{color:var(--blue)}.engineering-heading{justify-content:space-between;align-items:end;gap:40px;display:flex}.engineering-heading>p{max-width:520px;color:var(--muted);margin:0}.engineering-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:30px;display:grid}.engineering-grid>img{object-fit:cover;width:100%;height:100%;min-height:310px}.about-value{background:#073d73;padding:0}.value-figure{width:100%;max-width:1180px;margin-inline:auto}.about-links{padding-bottom:42px}.about-links .container>div{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px;display:grid}.about-links a{color:var(--navy);border:1px solid #62bbeb;justify-content:center;gap:22px;padding:15px;font-weight:700;display:flex}.about-contact{background:#effaff;padding:34px 0}.about-contact .container{justify-content:space-between;align-items:center;gap:40px;display:flex}.about-contact h2{font-size:1.85rem}.about-contact p{color:var(--muted);margin:5px 0 0}@media (width<=900px){.about-hero-inner{grid-template-columns:1fr}.about-hero-inner>div{padding-right:0}.about-hero-inner>img{min-height:320px}.approach-grid{grid-template-columns:1fr}.approach-grid blockquote{margin-top:25px}.communication-grid,.engineering-grid{grid-template-columns:1fr}.engineering-heading{flex-direction:column;align-items:flex-start}.about-links .container>div{grid-template-columns:1fr}.about-contact .container{flex-direction:column;align-items:flex-start}.about-value{overflow-x:auto}.about-value .value-figure{min-width:720px}}@media (width<=580px){.about-hero-inner>div{padding-block:40px}.about-hero-inner>img{min-height:250px}.approach-grid blockquote{font-size:1.35rem}.design-figure-wide{border-radius:0;margin-top:22px;overflow-x:auto}.design-figure-wide img{min-width:720px}.design-figure-icons{max-width:540px}.communication-grid,.engineering-grid{gap:26px}.communication-grid>img,.engineering-grid>img{min-height:230px}.about-value .value-figure{min-height:110px}}.cms-block{background:var(--block-bg);color:var(--block-color);padding:90px 0}.cms-block-inner{max-width:980px}.cms-block h2{color:var(--block-color);max-width:850px}.cms-block .eyebrow{color:var(--block-color);opacity:.72}.cms-block-body{max-width:760px;color:var(--block-color);margin:18px 0;font-size:1rem;line-height:1.9}.cms-block-image{object-fit:cover;width:min(100%,760px);max-height:520px;margin:32px 0 0;display:block}.cms-block-image-text .cms-block-inner{grid-template-columns:1fr 1fr;align-items:center;gap:52px;display:grid}.cms-block-image-text .cms-block-image{grid-area:1/2;margin:0}.cms-block-image-text .cms-block-body{grid-column:1}.cms-block-button{margin-top:25px}.cms-block-hero{align-items:center;min-height:420px;display:flex}.cms-block-hero h2{font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.1}.cms-block-cta{text-align:center}.cms-block-cta .cms-block-inner{flex-direction:column;align-items:center;display:flex}.cms-block-cta .cms-block-body{max-width:600px}.cms-block-cta .cms-block-button{background:var(--block-color);color:var(--block-bg);border-color:var(--block-color)}@media (width<=900px){.cms-block-image-text .cms-block-inner{grid-template-columns:1fr;gap:20px}.cms-block-image-text .cms-block-image,.cms-block-image-text .cms-block-body{grid-area:auto}.cms-block-image-text .cms-block-image{margin-top:10px}}@media (width<=580px){.cms-block{padding:62px 0}.cms-block-hero{min-height:320px}}.service-hero{background:linear-gradient(90deg,#f6fcff 0% 51.5%,#e6f4fb 100%)}.service-hero-inner{grid-template-columns:1fr 1fr;align-items:stretch;min-height:428px;display:grid}.service-hero-copy{align-self:center;padding:54px 42px 44px 0}.service-hero h1{letter-spacing:-.04em;white-space:nowrap;margin:0;font-size:clamp(2.6rem,4.2vw,4rem);line-height:1.12}.service-en{color:var(--blue);letter-spacing:.16em;margin:4px 0;font-size:1rem;font-weight:800}.service-hero .breadcrumb{margin-bottom:26px}.service-message{border-left:4px solid var(--cyan);margin:0;padding-left:22px;font-size:1.23rem;font-weight:700;line-height:1.7}.service-hero-inner>img{object-fit:cover;width:100%;height:100%;min-height:428px}.philosophy-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:72px;display:grid}.philosophy-grid h2{margin:0;font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.5}.service-copy{color:var(--muted);margin:0;line-height:2}.service-scope-grid{grid-template-columns:1.65fr 1fr;align-items:stretch;gap:36px;display:grid}.service-scope-grid h2{margin:0 0 28px;font-size:clamp(1.8rem,3vw,2.5rem)}.scope-grid{border-top:1px solid #bcddec;border-left:1px solid #bcddec;grid-template-columns:repeat(3,1fr);display:grid}.scope-grid>div{border-bottom:1px solid #bcddec;border-right:1px solid #bcddec;min-height:112px;padding:21px 12px 16px 45px;position:relative}.scope-grid span{color:var(--blue);font-size:.82rem;font-weight:800;position:absolute;top:19px;left:11px}.scope-grid i{color:#0787da;font-size:1.55rem;font-style:normal;line-height:1;display:block}.scope-grid b{margin-top:9px;font-size:.9rem;line-height:1.35;display:block}.service-scope-grid>img{object-fit:cover;width:100%;height:100%;min-height:355px}.service-cases-heading{align-items:flex-end;gap:70px;margin-bottom:28px;display:flex}.service-cases-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}.service-cases-heading>p{max-width:520px;color:var(--muted);margin:0 0 4px}.service-case-grid{grid-template-columns:1fr 1fr;gap:26px 20px;display:grid}.service-case{border:1px solid var(--line);background:#fff;transition:transform .22s,box-shadow .22s;overflow:hidden}.service-case:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.service-case>img{aspect-ratio:1.86;object-fit:cover;width:100%}.service-case>div{min-height:105px;padding:17px 72px 18px 18px;position:relative}.service-case small{color:var(--blue);font-weight:800}.service-case h3{margin:4px 0 0;font-size:1.18rem;line-height:1.45}.service-case span{color:#fff;background:#0588dc;border-radius:50%;place-content:center;width:42px;height:42px;font-size:1.4rem;display:grid;position:absolute;top:50%;right:18px;transform:translateY(-50%)}@media (width<=900px){.service-hero-inner{grid-template-columns:1fr}.service-hero-copy{padding-right:0}.service-hero-inner>img{min-height:320px}.philosophy-grid,.service-scope-grid{grid-template-columns:1fr}.service-scope-grid>img{min-height:300px}.service-cases-heading{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=580px){.service-hero-copy{padding-block:40px}.service-hero h1{white-space:normal;font-size:3rem}.service-hero-inner>img{min-height:250px}.service-message{font-size:1.05rem}.scope-grid{grid-template-columns:1fr 1fr}.scope-grid>div{min-height:104px;padding-left:37px}.scope-grid span{left:8px}.service-case-grid{grid-template-columns:1fr}.service-case h3{font-size:1.08rem}}.engineering-grid>img:first-child,.engineering-grid>img:nth-child(2){object-fit:contain;background:#fff;align-self:center;height:auto;min-height:0}.communication-grid>img{object-fit:contain;align-self:center;height:auto;min-height:0}
