@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{color-scheme:light;--navy:#101d2a;--red:#ca423e;--ink:#172633;--muted:#59646d;--line:#d9dee2;--white:#fff;--pale:#f3f5f6;font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:white}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:6px}p{line-height:1.95;margin:0 0 1.25rem}h1,h2,h3{font-weight:500;margin:0}h1,h2{font-family:'Noto Serif JP','Yu Mincho',serif;line-height:1.65}h2{font-size:clamp(1.9rem,3vw,2.85rem);letter-spacing:.045em}h3{font-size:1.25rem;line-height:1.7}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:25px}.brand{font-family:Arial,sans-serif;font-weight:600;font-size:2.55rem;letter-spacing:-.095em;display:inline-flex;align-items:baseline}.brand-dot{color:var(--red)}.brand-japan{font-size:.8rem;letter-spacing:.21em;margin-left:14px;font-weight:500}.header nav{display:flex;gap:35px;font-size:.875rem}.header nav a:hover{color:var(--red)}.header-contact{font-size:.875rem;border-bottom:1px solid var(--ink);padding:12px 0;display:flex;gap:25px}.hero{height:min(780px,80vw);min-height:620px;position:relative;isolation:isolate;color:white;background:var(--navy);margin:0 24px;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 52%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,34,.75),rgba(8,22,34,.27) 68%,rgba(8,22,34,.1)),linear-gradient(0deg,rgba(8,22,34,.5),transparent 45%);z-index:-2}.hero-content{padding:90px 7% 110px}.eyebrow{font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.15em;line-height:1.8}.hero h1{font-size:clamp(3rem,5.6vw,5rem);letter-spacing:.09em;margin:32px 0 25px;line-height:1.65}.hero-copy{font-size:1rem;letter-spacing:.07em;line-height:2.2}.light-link{display:inline-flex;gap:55px;align-items:center;border-bottom:1px solid #ffffff80;padding:15px 0;font-size:.875rem;margin-top:9px}.hero-bottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.13em}.section{padding:105px max(7.5%,calc((100vw - 1220px)/2));}.section-label{display:flex;align-items:center;gap:12px;font-size:.75rem;font-family:Arial,sans-serif;letter-spacing:.13em;margin-bottom:40px}.section-label p{margin:0}.red-mark{height:7px;width:7px;background:var(--red);border-radius:50%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:45px}.intro-content{display:grid;grid-template-columns:1.05fr 1fr;gap:50px}.intro-text p,.partner-layout p{font-size:1rem;color:var(--muted);line-height:2.1}.services{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:55px}.section-heading>p{color:var(--muted);font-size:.9375rem;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-grid article{border-top:1px solid #9ba6af;padding:25px 24px 0 0;position:relative}.service-grid article+article{padding-left:25px;border-left:1px solid var(--line)}.service-number{font-family:Arial,sans-serif;color:#68747e;font-size:.8rem}.service-en{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.16em;margin-top:42px;margin-bottom:10px;color:var(--muted)}.service-grid h3{margin-bottom:20px}.service-grid article>p:last-child{color:var(--muted);font-size:.9375rem;margin:0}.scope-note{font-size:.875rem;color:var(--muted);margin:38px 0 0;padding-top:25px;border-top:1px solid var(--line)}.partner-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.text-link{display:flex;justify-content:space-between;gap:25px;max-width:420px;margin-top:30px;border-bottom:1px solid var(--ink);padding:15px 0;font-size:.9375rem}.company{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.6fr;gap:70px;padding-top:80px;padding-bottom:90px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.9}.company dl>div:first-child{border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}dd a{overflow-wrap:anywhere}.contact{color:white;background:var(--navy);padding-top:75px;padding-bottom:75px}.contact .eyebrow{color:#bdc8d1}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:25px 0}.contact-row h2{font-size:clamp(1.65rem,3vw,2.7rem)}.contact-button{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:22px 28px;background:white;color:var(--navy);font-size:.9375rem;min-width:235px;transition:background .2s}.contact-button:hover{background:#e7ebef}.contact-note{font-size:.875rem;color:#bdc8d1;margin:0}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 5.5%}footer p,.footer-location{font-size:.75rem;letter-spacing:.04em;margin:0;color:var(--muted)}.skip{position:absolute;left:10px;top:-80px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{max-width:1660px;margin-inline:auto}}@media(max-width:1100px){.intro{grid-template-columns:1fr;gap:0}.intro-content{gap:45px}.section{padding:80px 6%}.header{padding:0 4%}.header nav{gap:20px}.hero{min-height:620px}.partner-layout{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr);gap:35px 0}.service-grid article:nth-child(3){border-left:0;padding-left:0}.service-grid article:nth-child(2){padding-right:0}.service-grid article:nth-child(4){padding-right:0}.service-en{margin-top:22px}}@media(max-width:700px){.header{height:84px;gap:15px;padding:0 6%}.brand{font-size:2.1rem}.brand-japan{font-size:.65rem;margin-left:10px}.header nav{display:none}.header-contact{font-size:.8rem;gap:14px}.hero{margin:0 12px;height:650px;min-height:0}.hero-content{padding:72px 7% 80px}.hero h1{font-size:clamp(2.5rem,8.8vw,3.7rem);letter-spacing:.03em;margin-top:40px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero-copy{font-size:.9375rem}.hero-bottom{font-size:.75rem;bottom:23px;line-height:1.7}.hero-bottom span:last-child{display:none}.section{padding:65px 7%}.section-label{margin-bottom:28px}.intro-content,.partner-layout,.company{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{gap:30px 0}.service-grid article{padding-right:18px}.service-grid article+article{padding-left:18px}.service-grid h3{font-size:1.08rem}.service-grid article>p:last-child{font-size:.9rem}.company dl>div{grid-template-columns:95px 1fr;gap:15px;font-size:.875rem}.contact-row{display:block}.contact-button{margin-top:28px;width:100%}.contact-note{line-height:1.9}footer{padding:30px 7%;flex-wrap:wrap}.footer-location{display:none}footer p{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.photo-credit{padding:0 5.5% 20px;color:#59646d;font:12px/1.7 Arial,sans-serif}.photo-credit a{text-decoration:underline}

.language-switch{display:flex;align-items:center;gap:12px;font-size:.875rem;white-space:nowrap}.language-switch a{padding:8px 0;color:var(--muted)}.language-switch a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--red)}html[lang="en"] h1,html[lang="en"] h2{font-family:Georgia,serif;letter-spacing:-.025em;line-height:1.2}html[lang="en"] .hero h1{margin-block:35px;max-width:800px}html[lang="en"] .hero-copy{max-width:610px;letter-spacing:0}html[lang="en"] .hero{height:auto;min-height:690px}html[lang="en"] .section-heading>p{max-width:430px}@media(max-width:1100px){.header nav{gap:14px}.header{gap:18px}html[lang="en"] .header nav{font-size:.8rem}}@media(max-width:800px){.header nav{display:none}}@media(max-width:700px){.header{height:auto;min-height:105px;flex-wrap:wrap;padding-block:15px;gap:8px 20px}.header .brand{margin-right:auto}.header-contact{margin-left:auto;padding-block:6px}.language-switch{font-size:.875rem}html[lang="en"] .hero{min-height:640px}html[lang="en"] .hero h1{font-size:clamp(2.75rem,10vw,4rem)}html[lang="en"] .service-grid{grid-template-columns:1fr}html[lang="en"] .service-grid article{border-left:0;padding-left:0;padding-right:0}}
