/* Readable typography shared by the laboratory's public pages. */
:root{--serif:'Times New Roman','Meiryo','Yu Gothic',serif;--muted:#405765}
body{font-size:18px;line-height:1.9;background:#fff;color:#173447}
h1,h2,h3{letter-spacing:.015em;font-weight:600}
nav,.language{font-size:16px}
.eyebrow{font-size:14px;letter-spacing:.09em}
.affiliation{font-size:17px}
.hero-description{font-size:18px;line-height:1.9;color:#d2e3ed}
.hero-deck{font-size:22px}.hero h1{white-space:normal}
.hero .button,.button,.text-link{font-size:17px}
.hero-bottom{font-size:14px;letter-spacing:.05em;gap:15px;flex-wrap:wrap}
.hero-research-index>.eyebrow{font-size:14px}
.hero-research-index span{font-size:19px}
.hero-research-index{margin-left:45px}
.split-heading p,.theme-question,.theme-description,.feature-copy p,.project-inner p,.intro-section p{font-size:18px;line-height:1.95}
.theme h3{font-size:24px}.theme .text-link{font-size:17px}.theme-number{font-size:18px}
.keywords{font-size:16px;color:#405b6d;letter-spacing:.01em}
.news-row,.news-row time,.tag{font-size:17px}.news-row .tag{font-size:15px}
.timeline-item>div>p,.activity-card .activity-description,.activity-card .activity-role{font-size:18px;line-height:1.9}
main .timeline-item>div:last-child>p{font-size:18px;line-height:1.9}
.timeline-item .tag{font-size:16px;line-height:1.8}.timeline-item a,.activity-card a{font-size:17px}
.activity-meta,.activity-organization,.activity-year summary{font-size:17px}
.activity-card h3{font-size:23px}.activity-card>div{min-width:0}
.page-intro>p:not(.eyebrow),.research-opening>p:not(.eyebrow),.research-lede,.research-categories p,.yasui-overview>p:not(.eyebrow){font-size:18px;line-height:1.9}
.publication h2{font-size:25px;line-height:1.55}.paper-title-ja{font-size:18px;line-height:1.85;color:#3c586b}
.paper-abstracts p{font-size:18px!important;line-height:1.9!important}
.paper-label,.paper-abstracts h3{font-size:16px!important;letter-spacing:.025em}
.full-citation{font-size:17px!important;line-height:1.85!important}
.paper-doi,.paper-link{font-size:17px!important}.pub-year{font-size:18px}
.publication-tools label,.publication-tools select,.publication-tools input,.publication-filters button,.result-count,.publication-pagination{font-size:17px}
.person-introduction,.person-keywords,.person .role,.roman-name,.student-note p,.profile-links{font-size:18px!important;line-height:1.9}
.person h2{font-size:32px}.person-monogram{font-size:32px}.person-monogram span{font-size:15px}
.person .group-link p,.person .group-link a{font-size:18px;line-height:1.9}
.contact-grid p,.contact-grid address,.contact-grid a,.contact-panel h3,.figure-note{font-size:18px;line-height:1.85}
main .contact-grid p:not(.eyebrow),main .contact-grid address,main .contact-grid a,main .contact-grid h3{font-size:18px;line-height:1.85}
.email-image{height:30px}
.source-card p,.source-card a,.source-list p,.source-list a{font-size:18px;line-height:1.9}
footer p,footer a,.footer-bottom{font-size:17px}
@media(max-width:1100px){header{position:relative}.menu-toggle{display:block;margin-left:auto;border:0;background:none;font-size:25px;padding:8px}#main-nav{display:none;position:absolute;z-index:20;top:131px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:22px 28px;flex-wrap:wrap;gap:22px 30px;margin-left:0;font-size:18px}#main-nav.open{display:flex}.language{margin-left:0}}
@media(max-width:850px){#main-nav{top:115px}.hero-research-index{margin-left:0}.hero-research-index span{font-size:18px}.hero{gap:35px}}
@media(max-width:600px){body{font-size:18px}.wrap{padding-left:22px;padding-right:22px}.hero{padding-left:22px;padding-right:22px}.hero h1{font-size:32px;line-height:1.6}.hero-deck{font-size:21px}.hero-bottom{left:22px;right:22px;font-size:14px}.hero-research-index>.eyebrow{font-size:13px}.paper-abstracts p{font-size:18px!important}.publication h2{font-size:23px}.paper-title-ja{font-size:18px}.activity-card h3{font-size:22px}.activity-card{gap:18px}.contact-panel{padding:24px}.full-citation{font-size:17px!important}#main-nav{top:104px}.timeline-item{gap:20px}.language{font-size:16px}.page-intro{padding-top:45px;padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:380px){header{padding-left:12px;padding-right:12px;gap:6px}.brand{width:164px}.brand img.official-logo{width:158px;top:12px}.brand:after{left:53px;bottom:9px;font-size:4px}.language{padding-left:10px;min-width:36px}.menu-toggle{padding:6px}.page-home .brand{--logo-width:158px}.page-home .brand::before{top:calc(var(--logo-width)*.1904 + 12px)}}
