/* CURRENT role-specific typography. Japanese webfont realisation is unverified. */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/cormorant-garamond-600.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-400.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-500.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-400.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-500.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-600.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}
:root{
 --font-heading:'Cormorant Garamond',serif;
 --font-body:'Source Serif 4',serif;
 --font-ui:Inter,sans-serif;
 --font-ja-heading:'秀英明朝','Shuei Mincho','ヒラギノ明朝 ProN W6','Hiragino Mincho ProN','A-OTF リュウミン','A-OTF Ryumin Pr6N',serif;
 --font-ja-body:'秀英角ゴシック','Shuei KakuGo','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','A-OTF 新ゴ','A-OTF Shin Go Pr6N',sans-serif;
}
html{font-size:100%}
body{font-family:var(--font-body);font-size:1.125rem;line-height:1.7;letter-spacing:0;font-synthesis:none}
.bilingual{min-width:0;max-width:100%}
.text-en,.text-ja{display:block;max-width:100%;overflow-wrap:break-word}
.text-en{font-family:var(--font-body);font-weight:400;line-height:1.65;letter-spacing:0;text-wrap:pretty}
.text-ja{font-family:var(--font-ja-body);font-weight:400;font-size:1rem;line-height:1.85;letter-spacing:.02em;margin-top:.65rem;opacity:1;line-break:strict}
h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.12;letter-spacing:-.015em}
h1{font-size:clamp(3rem,5.7vw,4.75rem);margin:0 0 32px}
h2{font-size:clamp(2.25rem,3.8vw,3.25rem);margin:0 0 28px}
h3{font-size:1.875rem;margin:0 0 20px}
h1 .text-en,h2 .text-en,h3 .text-en{font-family:var(--font-heading);font-size:inherit;font-weight:600;line-height:inherit;letter-spacing:inherit;text-wrap:balance}
h1 .text-ja,h2 .text-ja,h3 .text-ja{font-family:var(--font-ja-heading);font-weight:600;line-height:1.7;letter-spacing:.025em}
h1 .text-ja{font-size:1.375rem;margin-top:24px}
h2 .text-ja{font-size:1.125rem;margin-top:16px}
h3 .text-ja{font-size:1rem;margin-top:10px}
p{font-size:inherit;margin:0 0 28px;line-height:1.7}
.lead{font-size:1.25rem;line-height:1.65}
.lead .text-ja{font-size:1rem;margin-top:20px}
.eyebrow,.kicker{font-family:var(--font-ui);font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.13em}
.eyebrow .text-en,.kicker .text-en{font-family:var(--font-ui);font-size:inherit;font-weight:500;line-height:inherit;letter-spacing:inherit}
.eyebrow .text-ja,.kicker .text-ja{font-size:.8125rem;letter-spacing:.05em;margin-top:6px}
.site-header nav,.site-header summary,.footer-nav,.policy-nav{font-family:var(--font-ui);font-size:.8125rem;line-height:1.5}
.site-header nav .text-en,.site-header summary .text-en,.footer-nav .text-en,.policy-nav .text-en{font-family:var(--font-ui);font-size:inherit;font-weight:500;line-height:1.5}
.site-header nav .text-ja,.site-header summary .text-ja,.footer-nav .text-ja,.policy-nav .text-ja{font-size:.75rem;line-height:1.5;letter-spacing:0;margin-top:5px}
.profile-table,.company-table{font-family:var(--font-ui);font-size:.9375rem;line-height:1.65}
.profile-table .text-en,.company-table .text-en{font-family:var(--font-ui);font-size:inherit;line-height:1.65}
.profile-table .text-ja,.company-table .text-ja{font-size:.9375rem;line-height:1.8}
.profile-table th,.company-table dt{font-weight:500}
.profile-table th .text-en,.company-table dt .text-en{font-weight:500}
.corporate-contact-label,.corporate-contact-label .text-en,.corporate-email{font-family:var(--font-ui);font-size:1rem}
.site-footer,.site-footer p{font-family:var(--font-ui);font-size:.75rem;line-height:1.75}
.footer-disclosure .text-en{font-family:var(--font-ui);font-size:.75rem}
.footer-disclosure .text-ja{font-size:.75rem}
.op-list .text-en{font-family:var(--font-ui);font-size:1rem;font-weight:500;line-height:1.55}
.op-list .text-ja{font-size:.9375rem}
.skip-link{position:fixed;z-index:200;left:20px;top:-100px;background:#fff;color:#0b1020;padding:12px 16px;font-family:var(--font-ui);font-size:1rem}
.skip-link:focus{top:12px}
.skip-link .text-en{font-family:var(--font-ui);font-size:1rem;line-height:1.5}
.skip-link .text-ja{font-size:.875rem;margin-top:4px}
@media(max-width:600px){
 body{font-size:1.0625rem}
 .text-ja{font-size:.9375rem;line-height:1.9;margin-top:12px}
 h1{font-size:clamp(2rem,8.8vw,2.625rem);line-height:1.14;margin-bottom:28px}
 h2{font-size:2rem;line-height:1.16;margin-bottom:24px}
 h3{font-size:1.625rem;line-height:1.2}
 h1 .text-ja{font-size:1.0625rem;margin-top:18px}
 h2 .text-ja{font-size:1rem;margin-top:12px}
 h3 .text-ja{font-size:.9375rem;margin-top:8px}
 .lead{font-size:1.0625rem}
 .lead .text-ja{font-size:.9375rem;margin-top:16px}
 .profile-table,.company-table{font-size:.875rem}
 .profile-table .text-ja,.company-table .text-ja{font-size:.875rem}
}
