/* Photo-led company presentation; the supplied logo remains unchanged. */
.logo-crop{display:block;position:relative;overflow:hidden;width:108px;height:79px;flex:none}
.brand .logo-crop img{position:absolute;width:155px;height:122px;max-width:none;left:-23px;top:-28px}
header{padding:13px 4%;min-height:105px}.brand{gap:18px}.brand small{letter-spacing:.09em}
.hero{padding:0;background:#f3f5f7;color:var(--navy)}
.hero-main{grid-template-columns:46% 54%;gap:0;padding:0;align-items:stretch;min-height:640px}
.hero-copy{padding:78px 9% 48px 13%;align-self:center}
.hero .eyebrow{color:#9a7426;letter-spacing:.23em}
.hero h1{font-family:"HikariNumerals","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,3.4vw,54px);letter-spacing:.035em;line-height:1.7}
.hero h1 em{font-style:normal;color:var(--blue)}
.intro{color:#526074;line-height:2.1;font-size:16px}
.hero-location{font:12px/1.9 "HikariNumerals",Arial,sans-serif;letter-spacing:.12em;color:#718096;margin:42px 0 0}
.hero-photo{position:relative;margin:0;min-height:640px;overflow:hidden}
.hero-photo>img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-photo figcaption{position:absolute;bottom:20px;right:22px;background:#0d2044b8;color:white;padding:6px 12px;font-size:12px;letter-spacing:.06em}
.services{display:block;padding-top:90px}.services .section-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:0 9%;align-items:end;margin-bottom:40px}
.services .section-heading .eyebrow{grid-column:1/-1}.services .section-heading h2{margin:0}.services .section-heading>p:last-child{margin:0 0 5px}
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-list article,.service-list article:last-child{display:block;border:0;padding:0;min-width:0}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;margin-bottom:24px}
.service-list .number{display:block;padding:0 0 10px;border-bottom:1px solid var(--line);margin-bottom:18px}
.service-list h3{font-size:21px}.service-list article p:last-child{font-size:15px;line-height:1.95}.service-list br{display:none}
.photo-note{font-size:12px;color:#637087;margin:30px 0 0;text-align:right}
@media(max-width:1050px){header{flex-wrap:wrap}.brand{font-size:15px}nav{font-size:14px;gap:20px}.hero-copy{padding:50px 9%}.hero-main,.hero-photo{min-height:570px}.hero h1{font-size:34px}.service-list{gap:22px}.service-list h3{font-size:19px}}
@media(max-width:800px){.logo-crop{width:98px;height:73px}.brand .logo-crop img{width:145px;height:auto;left:-22px;top:-26px}.brand small{font-size:11px}.hero-main{grid-template-columns:1fr;min-height:0}.hero-copy{padding:46px 7% 36px}.hero h1{font-size:clamp(29px,7.5vw,46px);margin-bottom:20px}.hero-location{margin-top:26px}.hero-photo{min-height:0;aspect-ratio:1.25}.hero-photo img{object-position:center}.services{padding-top:60px}.services .section-heading{display:block;margin-bottom:32px}.services .section-heading>p:last-child{margin-top:20px}.service-list{grid-template-columns:1fr;gap:44px}.service-photo{aspect-ratio:1.55;margin-bottom:18px}.service-list h3{font-size:23px}.service-list article p:last-child{font-size:16px}.photo-note{text-align:left}.hero-photo figcaption{right:12px;bottom:12px}.brand{gap:12px}.brand>span:last-child{font-size:14px}}
@font-face{font-family:"HikariNumerals",'Zen Maru Gothic';src:url('assets/fonts/ZenMaruGothic-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:"HikariNumerals",'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif}
h2,h3,.brand{font-family:"HikariNumerals",'Yu Gothic','Meiryo',sans-serif}
.hero h1{font-family:"HikariNumerals",'Yu Mincho','Hiragino Mincho ProN',serif}
.intro,.service-list article p:last-child,.section-heading>p:last-child,.company-data dd{line-height:2.05}
.contact-label{font-size:15px;letter-spacing:.08em;margin:0 0 16px}
.main-email{display:block;font-size:clamp(20px,2.5vw,34px);line-height:1.6;overflow-wrap:anywhere;margin-bottom:28px}
.email-button{display:inline-flex;align-items:center;gap:36px;background:#fff;color:var(--navy);padding:16px 28px;font-size:17px;border-bottom:3px solid var(--gold)}
.contact-hint{font-size:14px;line-height:2;margin-top:22px}
