:root{--blue:#004098;--ink:#102746;--muted:#586779;--yellow:#fff000;--line:#dbe2eb;--pale:#f3f6fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #df9d00;outline-offset:5px}button{font:inherit}header{min-height:96px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:28px}.logo{display:block;width:194px;height:82px;object-fit:contain}.desktop-nav{display:flex;gap:25px;align-items:center}.desktop-nav a,.header-contact{font-size:14px;text-decoration:none}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-end{display:flex;align-items:center;gap:24px}.languages{display:flex;align-items:center;gap:9px;font-size:14px;white-space:nowrap}.languages a{text-decoration:none;opacity:.68}.languages a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:6px}.languages span{opacity:.35}.header-contact{border:1px solid #ffffff60;padding:12px 15px}.header-contact span{margin-left:15px}.container{width:min(1320px,91%);margin-inline:auto}.hero{padding-top:78px;padding-bottom:70px;min-height:620px;display:grid;grid-template-columns:1fr 1.06fr;gap:4.5%;align-items:center}.eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.5;font-weight:600;color:var(--blue);margin:0 0 26px}h1{font-size:clamp(50px,5.75vw,84px);letter-spacing:-.055em;line-height:1.06;font-weight:500;margin:0 0 28px}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--blue)}.intro{font-size:17px;line-height:1.8;color:var(--muted);margin-bottom:27px}.button{display:inline-flex;gap:45px;align-items:center;padding:18px 24px;color:var(--ink);background:var(--yellow);text-decoration:none;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#f2e500;transform:translateY(-2px)}.button span{font-size:23px;font-weight:400;line-height:1}.film{align-self:center;padding-top:36px}.film video{display:block;width:100%;aspect-ratio:16/9;background:#050505}.film-caption{display:flex;justify-content:space-between;padding:17px 0;font-size:11px;letter-spacing:.14em;color:var(--muted)}.credentials{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px;font-size:11px;letter-spacing:.13em;color:var(--muted)}.credentials span:nth-child(2){color:var(--blue)}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:end;margin-bottom:58px}h2{font-weight:500;font-size:clamp(35px,3.9vw,56px);letter-spacing:-.04em;line-height:1.14;margin:0}.section-intro{max-width:450px;font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 4px}.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.outcomes article{border-top:1px solid var(--line);padding-top:24px}.index{display:inline-block;font-size:13px;color:var(--blue);font-variant-numeric:tabular-nums}.outcomes h3{font-size:22px;letter-spacing:-.02em;line-height:1.35;font-weight:500;margin:24px 0 14px}.outcomes p,.service-body>p:last-child,.steps p,.locations p{color:var(--muted);font-size:16px;line-height:1.8;margin:0}.footnote{font-size:13px;line-height:1.8;color:var(--muted);margin:30px 0 0}.services-section{background:var(--pale)}.service{display:grid;grid-template-columns:1fr 1.45fr 44px;gap:5%;padding:38px 0;border-top:1px solid #cdd8e5;align-items:center}.service:last-child{border-bottom:1px solid #cdd8e5}.service-name{display:flex;align-items:center;gap:33px}.service h3{font-size:42px;letter-spacing:-.035em;font-weight:500;margin:0}.service .eyebrow{margin-bottom:13px;font-size:11px}.service h4{font-size:23px;line-height:1.35;font-weight:500;margin:0 0 13px;letter-spacing:-.02em}.service-link{display:grid;place-items:center;border:1px solid #b9c9de;border-radius:50%;width:44px;height:44px;text-decoration:none;font-size:24px;color:var(--blue)}.service-link:hover{background:var(--blue);color:white}.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;gap:27px}.steps li{border-top:1px solid var(--line);padding-top:23px}.step-number{display:flex;width:36px;height:36px;background:var(--blue);color:white;border-radius:50%;align-items:center;justify-content:center;font-size:12px}.steps h3{font-size:18px;line-height:1.4;font-weight:500;margin:22px 0 13px}.steps p{font-size:15px}.network-section{background:#edf3f9}.network-section .section-heading{margin-bottom:30px}.map-shell{background:#fff;border:1px solid #dfe7ef;padding:25px 25px 0}.map-legend{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted);align-items:center}.map-legend span{display:flex;gap:9px;align-items:center}.map-legend i{display:block;width:10px;height:10px}.legend-market{background:var(--blue)}.legend-hq{background:var(--yellow);border:1px solid var(--blue);border-radius:50%}.legend-factory{background:#102746}.world-map{margin-top:18px}.world-map svg{width:100%;height:auto;display:block;overflow:visible}.country{fill:#e3eaf0;stroke:#fff;stroke-width:.65;stroke-linejoin:round}.country.market{fill:#3670b7;transition:fill .2s}.country.selected{fill:#f3d900;stroke:#133c70;stroke-width:1.5}.location text{font-family:Arial,sans-serif;font-size:12px;fill:var(--ink)}.location>rect{fill:#fff;stroke:#d6dfeb;stroke-width:.7}.location .leader{fill:none;stroke:var(--ink);stroke-width:.8}.location .pin{stroke:white;stroke-width:1.7;fill:var(--ink)}.hq .pin{fill:var(--yellow);stroke:var(--blue)}.hq .halo{fill:#fff00035}.map-status{min-height:56px;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);align-items:center;line-height:1.6}.map-status #country-status{font-weight:600;color:var(--blue)}.country-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.country-button{display:flex;align-items:center;gap:8px;background:#ffffffb3;border:1px solid #d7e1ec;padding:10px 13px;font-size:13px;color:var(--ink);cursor:pointer;min-height:44px}.country-button span{font-size:18px}.country-button:hover{border-color:var(--blue)}.country-button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.map-credit{font-size:11px;color:#6b7786;margin:18px 0 0}.map-credit a{text-underline-offset:3px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:40px}.locations article{border-top:1px solid var(--line);padding-top:24px}.location-top{display:flex;justify-content:space-between;align-items:center}.location-top .eyebrow{margin:0}.location-top>span:last-child{font-size:27px}.locations h3{font-size:29px;letter-spacing:-.03em;font-weight:500;margin:22px 0 15px}.locations p{max-width:450px}.coordinates{display:block;font-size:11px;color:var(--muted);letter-spacing:.08em;margin-top:26px}#contact{background:var(--blue);color:white}.contact-inner{padding-block:85px;display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}#contact .eyebrow{color:#bacfe9}#contact h2{font-size:clamp(45px,5vw,74px);line-height:1.07}#contact h2 em{color:white}#contact p:not(.eyebrow){font-size:16px;line-height:1.8;color:#d3e0f0}#contact .button{margin-top:18px}.contact-details{border-top:1px solid #ffffff50;padding-top:28px;display:flex;flex-direction:column;align-items:start}.contact-details .contact-name{font-size:24px!important;color:white!important;margin:0 0 3px}.contact-details .contact-role{font-size:13px!important;margin:0 0 32px}.contact-details a{font-size:16px;text-decoration:none;margin-bottom:18px}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details a.email{font-size:clamp(17px,2vw,25px)}.contact-location{display:flex;gap:25px;margin-top:30px;font-size:13px;color:#bdd1ec}footer{display:flex;justify-content:space-between;padding-block:35px;gap:20px}footer strong{font-family:Georgia,serif;font-size:23px;font-style:italic;color:var(--blue)}footer p{font-size:12px;color:var(--muted)}.footer-right{display:flex;align-items:center;gap:30px}.footer-right>a{font-size:12px;text-decoration:none}.footer-right small{font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;padding:16px;background:var(--yellow);z-index:10}.skip:focus{top:10px}:lang(ja){font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,Arial,sans-serif}html:lang(ja) h1{font-size:clamp(34px,4.2vw,62px);line-height:1.4;letter-spacing:-.04em}html:lang(ja) h1 em,html:lang(ja) h2 em{font-family:inherit;font-style:normal}html:lang(ja) h2{font-size:clamp(30px,3.3vw,46px);line-height:1.45;letter-spacing:-.035em}html:lang(ja) .outcomes h3{font-size:20px;line-height:1.6}html:lang(ja) .service h3{font-size:36px}html:lang(ja) .service h4{font-size:21px}html:lang(ja) #contact h2{font-size:clamp(35px,4.2vw,58px)}html:lang(ja) .desktop-nav{gap:19px}html:lang(ja) .desktop-nav a{font-size:13px}
@media(min-width:1600px){.hero{min-height:680px}}
@media(max-width:1150px){.desktop-nav{display:none}.hero{gap:4%;min-height:550px}.hero h1{font-size:clamp(48px,5.7vw,68px)}.section{padding-block:80px}.section-heading{gap:6%}.service-name{gap:20px}.service h3{font-size:36px}.footer-right{gap:20px}}
@media(max-width:760px){header{min-height:80px;padding-inline:5%;gap:15px}.logo{width:160px;height:70px}.header-contact{display:none}.header-end{gap:0}.container{width:90%}.hero{display:block;padding-top:48px;padding-bottom:30px;min-height:0}.hero h1{font-size:clamp(47px,9.5vw,70px);max-width:600px}.eyebrow{font-size:11px;margin-bottom:20px}.intro{font-size:16px}.film{padding-top:38px}.film-caption{font-size:10px}.credentials{display:grid;grid-template-columns:1fr;gap:13px;padding-block:20px;font-size:10px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:35px}h2{font-size:37px}.section-intro{margin-top:24px;font-size:16px}.outcomes{grid-template-columns:1fr;gap:28px}.outcomes article{display:grid;grid-template-columns:30px 1fr;gap:5px 15px;padding-top:22px}.outcomes .index{padding-top:5px}.outcomes h3{margin:0 0 10px;font-size:22px}.outcomes p{grid-column:2}.footnote{font-size:12px}.service{grid-template-columns:1fr 40px;gap:23px;padding-block:30px}.service-name{grid-column:1}.service-body{grid-column:1;grid-row:2}.service-link{grid-column:2;grid-row:1;width:40px;height:40px}.service h3{font-size:34px}.service h4{font-size:22px}.service-body p{font-size:16px}.steps{grid-template-columns:1fr;gap:0}.steps li{padding-block:23px;display:grid;grid-template-columns:38px 1fr;gap:0 18px}.steps h3{margin:4px 0 8px;font-size:19px}.steps p{grid-column:2}.map-shell{padding:15px 10px 0;margin-inline:-10px}.map-legend{gap:13px;font-size:10px}.map-legend span{gap:5px}.map-legend i{height:8px;width:8px}.world-map{margin-top:22px}.map-status{display:block;padding-block:8px;font-size:11px}.map-status p{margin:5px 0}.country-list{gap:7px;margin-top:18px}.country-button{font-size:12px;padding:8px 10px;gap:6px}.country-button span{font-size:17px}.map-credit{font-size:10px}.locations{grid-template-columns:1fr;gap:30px}.locations h3{font-size:26px}.coordinates{margin-top:18px}.contact-inner{grid-template-columns:1fr;padding-block:58px;gap:48px}#contact h2{font-size:51px}.contact-details{padding-top:24px}.contact-details a.email{font-size:23px}.contact-location{margin-top:15px}.contact-details .contact-role{margin-bottom:23px}footer{flex-direction:column;padding-block:30px}.footer-right{flex-wrap:wrap;justify-content:space-between;gap:20px}footer p{font-size:12px}html:lang(ja) h1{font-size:clamp(33px,7vw,48px)}html:lang(ja) h2{font-size:30px}html:lang(ja) .outcomes h3{font-size:19px}html:lang(ja) #contact h2{font-size:35px}html:lang(ja) .service h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep supporting text legible across screen sizes. */
.eyebrow,.film-caption,.credentials,.service .eyebrow,.coordinates,.map-credit,.footer-right small{font-size:12px}.map-legend,.country-button,.map-status,.languages{font-size:14px}.footnote{font-size:14px}.steps p{font-size:16px}.footer-right>a,footer p{font-size:14px}.country-button{min-height:44px}.map-status{min-height:65px}@media(max-width:1250px){.desktop-nav{display:none}}@media(max-width:760px){.map-legend{font-size:12px}.map-status{font-size:12px}.country-button{font-size:14px}.footnote{font-size:14px}.film-caption,.credentials,.map-credit{font-size:12px}}
/* Japanese business copy: readable rhythm and reliable punctuation wrapping. */
html:lang(ja) body{line-break:strict;word-break:normal;overflow-wrap:break-word}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ja) h4{letter-spacing:0;font-weight:600;line-height:1.55;text-wrap:pretty}
html:lang(ja) .intro,html:lang(ja) .section-intro,html:lang(ja) .outcomes p,html:lang(ja) .service-body>p:last-child,html:lang(ja) .steps p,html:lang(ja) .locations p{line-height:1.95}
html:lang(ja) .eyebrow{letter-spacing:.04em}
html:lang(ja) .service-name{gap:20px}
html:lang(ja) .steps h3{font-size:17px}
html:lang(ja) .section-heading{grid-template-columns:1.3fr 1fr;gap:6%}
#contact .email-hint{font-size:13px!important;margin:10px 0 0;color:#d3e0f0}
@media(max-width:1250px){header{flex-wrap:wrap;column-gap:20px;row-gap:0}.desktop-nav{display:flex;order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:4px 24px;padding:4px 0 12px;border-top:1px solid #ffffff30}.desktop-nav a{display:inline-flex;align-items:center;min-height:40px;font-size:14px}.header-end{margin-left:auto}}
@media(max-width:760px){html:lang(ja) h1{font-size:clamp(30px,7vw,45px)}html:lang(ja) h2{font-size:clamp(26px,6.7vw,34px)}html:lang(ja) #contact h2{font-size:clamp(29px,7.5vw,38px)}html:lang(ja) .service h4{font-size:20px}html:lang(ja) .outcomes h3{font-size:19px}.desktop-nav{gap:0 17px;padding-block:3px 8px}.desktop-nav a,html:lang(ja) .desktop-nav a{font-size:13px}.contact-details a.email{overflow-wrap:anywhere}}
html{scroll-behavior:auto}
@media(max-width:760px){.desktop-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:0}.desktop-nav a{justify-content:center;min-height:40px}.desktop-nav a,html:lang(ja) .desktop-nav a{font-size:14px}}
