/* English pages and readable, bilingual policy pages. */
html[lang="en"] body { font-family: 'Roboto', 'Noto Sans JP', sans-serif; }
html[lang="en"] .main-nav li { margin-left: 1rem; }
html[lang="en"] .main-nav a { font-size: 0.94rem; }
html[lang="en"] .logo h1 { font-size: 1.2rem; }
html[lang="en"] .hero-content { max-width: 850px; }
html[lang="en"] .english-hero-title { font-size: clamp(2rem, 5vw, 3rem); color: var(--primary-color); margin-bottom: 0.5rem; }
html[lang="en"] .english-hero-affiliation { font-size: 1.2rem; color: var(--primary-color); margin-bottom: 0; }
html[lang="en"] .member-info,
html[lang="en"] .research-theme-content { min-width: 0; }
html[lang="en"] .publication-list { overflow-wrap: anywhere; }
.translation-note { color: #576574; font-size: 0.92rem; line-height: 1.7; }
.document-page { padding: 9rem 0 5rem; }
.document-container { max-width: 880px; }
.document-page h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); color: var(--primary-color); }
.page-kicker { color: var(--primary-color); font-weight: 700; margin-bottom: 0.75rem; }
.document-date { font-size: 0.9rem; color: #576574; }
.document-lead { margin-top: 2rem; padding-bottom: 2rem; border-bottom: 2px solid var(--light-color); font-size: 1.08rem; }
.document-page section { margin-top: 2.5rem; }
.document-page h2 { font-size: 1.4rem; color: var(--primary-color); }
.document-page p, .document-page address { margin-bottom: 1rem; line-height: 1.9; overflow-wrap: anywhere; }
.document-page address { font-style: normal; }
.document-page ul { list-style: disc; padding-left: 1.5rem; margin: 1rem 0; }
.document-page li { margin-bottom: 0.5rem; }
.document-page a:not(.btn) { text-decoration: underline; text-underline-offset: 0.18em; }
.document-contact { background: var(--light-color); padding: 1.5rem; border-radius: var(--border-radius); }
.document-note { font-size: 0.9rem; color: #576574; }
.document-return { margin-top: 3rem; }
:where(a, button):focus-visible { outline: 3px solid var(--primary-color); outline-offset: 4px; }
@media (min-width: 769px) and (max-width: 1100px) {
    html[lang="en"] .header-inner { align-items: flex-start; flex-direction: column; gap: 0.75rem; }
    html[lang="en"] .main-nav ul { flex-wrap: wrap; gap: 0.25rem 1rem; }
    html[lang="en"] .main-nav li { margin-left: 0; }
    html[lang="en"] .hero { padding-top: 0; }
    html[lang="en"] .document-page { padding-top: 11rem; }
    html[lang="en"] .page-header { padding-top: 11rem !important; }
}
@media (max-width: 768px) {
    html[lang="en"] .main-nav li { margin-left: 0; }
    html[lang="en"] .main-nav a { font-size: 1rem; }
    .document-page { padding: 7.5rem 0 3rem; }
    .document-contact { padding: 1.25rem; }
    .document-page h2 { font-size: 1.25rem; }
}
