@charset "UTF-8";
:root{--paper:#ffffff;--ink:#17191c;--muted:#666b72;--secondary:#50565d;--line:#e3e5e7;--navy:#17283f;--gutter:clamp(24px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--navy);outline-offset:6px}::selection{background:var(--navy);color:var(--paper)}
.header{margin:0 var(--gutter);height:124px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:31px;font-weight:700;letter-spacing:.14em;margin:0}
main{max-width:1600px;margin:0 auto}.section{display:grid;grid-template-columns:1fr 2.4fr;gap:7vw;margin:0 var(--gutter);padding:90px 0}.section h2{font-size:13px;letter-spacing:.12em;font-weight:500;margin:8px 0 0}.section-content{min-width:0}.intro{font-size:clamp(21px,2.2vw,32px);letter-spacing:.045em;line-height:1.9;font-weight:400;margin:0 0 30px}.description{font-size:14px;line-height:2.3;letter-spacing:.04em;max-width:620px;margin:0 0 58px}.company-info{margin:0;font-size:14px}.company-info>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-top:1px solid var(--line);padding:23px 0;line-height:2}.company-info>div:last-child{border-bottom:0}dt{color:var(--muted);font-size:12px;letter-spacing:.04em}dd{margin:0}address{font-style:normal}
.members{border-top:1px solid var(--line);padding-bottom:120px}.member{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);min-height:94px}.member:first-child{padding-top:0;min-height:64px}.member h3{font-size:16px;letter-spacing:.075em;font-weight:400;margin:0}.member p{font-size:13px;margin:0;line-height:1.8;color:var(--muted)}
footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:52px var(--gutter);display:flex;justify-content:flex-end;align-items:center;gap:24px}.footer-brand{font-size:19px;font-weight:700;letter-spacing:.14em}.copyright{font-size:11px;letter-spacing:.07em;color:var(--muted)}
@media(max-width:760px){.header{height:92px}.brand{font-size:27px}.section{grid-template-columns:1fr;gap:32px;padding:48px 0}.section h2{margin:0;font-size:12px}.intro{font-size:23px;line-height:1.85;margin-bottom:24px}.desktop-break{display:none}.description{font-size:13px;line-height:2.2;margin-bottom:38px}.company-info>div{grid-template-columns:94px 1fr;gap:15px;padding:20px 0}.company-info{font-size:13px}dt{font-size:11px}.members{padding-bottom:68px}.member{align-items:flex-start;flex-direction:column;gap:10px;padding:23px 0;min-height:0}.member:first-child{min-height:0}.member h3{font-size:16px}.member p{font-size:12px;width:auto}footer{padding-top:36px;padding-bottom:36px}.footer-brand{font-size:17px}.copyright{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.clients{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 20px}.clients li{max-width:100%}.map-link{display:inline-block;margin-top:4px;font-size:12px;text-decoration:underline}.member-details{width:230px;max-width:100%}.affiliation{display:block;font-size:11px}.member-links:not([hidden]){display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.member-links a{font-size:11px;text-decoration:underline}.member-links a:hover{color:var(--ink)}

.about .brand{margin-top:clamp(11px,1.1vw,17px)}.about .description{margin-bottom:0}.members{padding-bottom:90px}.company{border-top:1px solid var(--line)}.company-info>div:first-child{border-top:0;padding-top:0}@media(max-width:760px){.about .brand{margin-top:0}.members{padding-bottom:48px}}

.member .member-name-en{margin-top:6px;font-size:12px;line-height:1.5;letter-spacing:.035em;color:var(--muted)}

.about .brand{min-width:0}.brand img{display:block;width:180px;max-width:100%;height:auto;filter:brightness(0)}.company-info>.office-row{border-top:0;padding-top:10px}@media(max-width:760px){.brand img{width:170px}}

.member:last-child{border-bottom:0}

.production-services{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:1.5em}.production-services ul{list-style:none;margin:0;padding:0}@media(max-width:760px){.production-services{column-gap:1em}}

.business-services{display:grid;gap:8px}.service-group ul{margin:2px 0 0;padding-left:1.3em;list-style:none}.service-group li{overflow-wrap:anywhere}

@media(max-width:760px){.company-info>div{grid-template-columns:1fr;gap:10px}.company-info dt{font-size:12px}.company-info dd{min-width:0}.business-services{gap:12px}.service-group ul{margin-top:4px}}

.description,.service-group ul,.clients{color:var(--secondary)}.section h2{color:var(--muted)}.company-info dt{color:var(--muted)}.member-links a,.map-link{color:var(--secondary)}@media(max-width:760px){.company-info dt{font-weight:600;letter-spacing:.06em}.business-services{gap:15px}.service-group ul{line-height:2}.member-links:not([hidden]){margin-top:10px}}

.service-group ul{font-size:13px}@media(max-width:760px){.service-group ul{font-size:12px}}

.service-group ul{line-height:1.7;color:var(--muted)}

.member-links:not([hidden]){margin-top:5px}

@media(min-width:761px){.company-info>div{align-items:baseline}.company-info dt{line-height:28px}}

.about .description{font-size:17px;line-height:2.1}.about .brand{margin-top:10px}@media(max-width:760px){.about .description{font-size:16px;line-height:2}.about .brand{margin-top:0}}

.member-details{text-align:right}.member-links:not([hidden]){justify-content:flex-end}@media(max-width:760px){.member-details{align-self:flex-end}}

.member-details{width:max-content;text-align:left}.member-links:not([hidden]){justify-content:flex-start}

.member-details{width:132px;flex-shrink:0}

.about .description{font-size:19px}@media(max-width:760px){.about .description{font-size:18px}}

.about .description{color:#000;font-family:"Helvetica Neue",Arial,sans-serif;font-weight:300}

.about .description{max-width:none;width:100%}.keep-together{white-space:nowrap}

.about .description{line-height:1.7}

.company-info dt{color:#767676}

.about{align-items:center}.about .brand{margin-top:0}
