@charset "UTF-8";
:root{--ink:#17435e;--muted:#516c7c;--paper:#f7fbfe;--line:#cee3ef;--accent:#a8dff5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #2182b0;outline-offset:6px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}.header,main,footer{max-width:1240px;margin:auto}.header{padding:27px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:Arial,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.2px}.brand span{font-weight:400;margin-left:5px}nav{display:flex;flex-wrap:wrap;gap:25px;font-size:13px;font-weight:700}nav a:hover,footer a:hover{ text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:75px 40px 65px;align-items:center}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 22px}h1{font-size:clamp(38px,4.8vw,62px);line-height:1.45;letter-spacing:.04em;margin:0 0 25px}h1 span{color:#247fa9}.intro{color:var(--muted);font-size:14px}.button{display:inline-flex;gap:65px;background:var(--ink);color:white;padding:13px 23px;margin-top:22px;font-size:14px;border-radius:3px}.button:hover{background:#245f80}.hero-art{height:450px;position:relative;overflow:hidden;border-radius:180px 180px 10px 10px;background:var(--ink);color:var(--accent)}.orbit{position:absolute;border:1px solid #9cdbf588;border-radius:50%;width:370px;height:370px;left:calc(50% - 185px);top:35px}.orbit-two{transform:rotate(50deg);width:175px;left:calc(50% - 87px)}.orbit-three{transform:rotate(-50deg);width:175px;left:calc(50% - 87px)}.dot{position:absolute;width:17px;height:17px;background:var(--accent);border-radius:50%}.dot-one{top:62px;left:29%}.dot-two{bottom:97px;right:15%;width:10px;height:10px}.art-label{position:absolute;top:151px;left:13%;font-family:Arial,sans-serif;font-size:40px;line-height:1.14;letter-spacing:-1px;font-weight:bold}.art-caption{position:absolute;bottom:20px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px}.notice{margin:0 40px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.notice span{display:inline-block;color:var(--ink);font-weight:bold;margin-right:22px}.section{padding:75px 40px;border-bottom:1px solid var(--line)}h2{font-size:28px;line-height:1.5;margin:0 0 24px;letter-spacing:.04em}h3{font-size:21px;line-height:1.6;margin:0 0 18px}p{margin:0 0 16px}.section p:not(.eyebrow){color:var(--muted);font-size:14px}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:55px}.facts{margin:22px 0 0;font-size:13px}.facts div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:14px 0;gap:14px}.facts dt{font-weight:bold}.facts dd{margin:0;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:27px;background:#eaf6fc;border-radius:5px}.number{font-family:Georgia,serif;font-size:35px;color:#3988ad;display:block;margin-bottom:34px}.card h3{font-size:18px}.tag{font-size:11px;border:1px solid #a5cfe3;border-radius:30px;padding:4px 12px}.placeholder{padding:23px;background:#e7f4fc;border-left:3px solid #79badb;color:var(--muted);font-size:14px}.access{display:grid;grid-template-columns:1fr 1fr;gap:55px;background:#e7f4fc}.access .facts{margin:0}footer{padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:11px;margin:0;color:var(--muted)}
@media(max-width:800px){.header{align-items:flex-start;flex-direction:column;padding:20px 24px;gap:14px}nav{gap:10px 20px;font-size:12px}.hero{padding:40px 24px;gap:25px}.hero-art{height:370px}.art-label{font-size:30px;left:10%}.section{padding:50px 24px}.notice{margin:0 24px}.about,.access{gap:25px;grid-template-columns:1fr}.cards{gap:12px}.card{padding:20px}.card h3{font-size:16px}.section-heading{align-items:start;flex-direction:column;gap:0}footer{padding:25px 24px;flex-wrap:wrap}}
@media(max-width:540px){.hero{grid-template-columns:1fr}.hero-art{height:300px;border-radius:140px 140px 5px 5px}.orbit{top:-32px}.art-label{top:100px;left:20%;font-size:33px}.cards{grid-template-columns:1fr}.number{margin-bottom:15px}.intro br{display:none}.notice span{display:block}.facts div{grid-template-columns:90px 1fr}h2{font-size:24px}footer p{width:100%}}
.university{letter-spacing:1px}.news{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px}.news h2{margin-bottom:0}.news .eyebrow{margin-bottom:8px}.news-empty{align-self:center}.news-empty p{margin-bottom:4px}.news-empty span{font-size:12px;color:var(--muted)}.member{border-top:2px solid var(--ink);padding:24px 0 8px}.member h3{font-size:28px;letter-spacing:.12em}.member .eyebrow{font-size:10px}.pending{margin-top:15px}@media(max-width:540px){.news{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.news-list{list-style:none;margin:0 0 20px;padding:0}
.research-overview{max-width:960px;margin-bottom:25px}
.research-theme-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 36px;padding:18px 22px;background:#e7f4fc}
.research-theme-nav a{text-decoration:underline;text-underline-offset:4px}
.research-theme{margin:42px 0 52px;scroll-margin-top:25px}
.theme-heading{display:flex;gap:20px;align-items:baseline;border-bottom:2px solid #79badb;margin-bottom:20px}
.theme-heading .number{font-size:28px;margin-bottom:12px}
.theme-heading h2{margin-bottom:12px;font-size:26px}
.theme-description{max-width:920px}
.examples-heading{font-size:16px;margin:28px 0 0;color:var(--muted)}
.research-theme .research-case{margin-top:15px;padding:24px;background:#f0f8fd;border:1px solid var(--line);border-radius:5px}
.research-case h4{font-size:20px;line-height:1.6;margin:0 0 12px}
@media(max-width:540px){.theme-heading h2{font-size:21px}.research-theme .research-case{padding:18px}.research-case h4{font-size:18px}}
.research-intro{max-width:900px;margin:0 0 42px;padding:28px;background:#e7f4fc;border-left:3px solid #79badb}
.research-intro h2{font-size:23px;line-height:1.7}
.research-intro p:last-child{margin-bottom:0}
.case-section-title{margin-top:42px}
.research-case{padding:30px 0;border-top:1px solid var(--line)}
.research-case-heading{display:flex;align-items:baseline;gap:22px}
.research-case-heading .number{margin:0}
.research-case-heading .eyebrow{letter-spacing:.06em;margin-bottom:8px;line-height:1.6}
.research-details{margin:12px 0 20px;font-size:14px}
.research-details>div{display:grid;grid-template-columns:110px 1fr;gap:20px;margin:12px 0}
.research-details dt{font-weight:bold}.research-details dd{margin:0;color:var(--muted)}
.research-reference a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:540px){.research-intro{padding:20px}.research-intro h2{font-size:20px}.research-details>div{grid-template-columns:1fr;gap:4px}.research-case-heading{gap:14px}}
.contact-address{overflow-wrap:anywhere;user-select:all}
[hidden]{display:none!important}
.year-filter{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:18px 20px;background:#e7f4fc;margin:20px 0 28px}
.year-filter label{font-weight:bold;font-size:14px}
.year-filter select{font:inherit;color:var(--ink);background:white;border:1px solid #79badb;border-radius:4px;padding:7px 30px 7px 12px}
.year-filter select:focus-visible{outline:3px solid #2182b0;outline-offset:3px}
#publication-count{font-size:13px;color:var(--muted)}
.year-note{flex-basis:100%;color:var(--muted);font-size:12px}
#publication-reset{font:inherit;font-size:13px;border:1px solid var(--ink);background:white;color:var(--ink);border-radius:4px;padding:9px 14px;cursor:pointer}
.header{position:relative;padding-top:65px}
.language-switch{position:absolute;right:40px;top:14px;display:flex;gap:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;font:12px/1.5 Arial,sans-serif}
.language-switch a,.language-switch span{display:block;padding:7px 13px}
.language-switch [aria-current]{background:var(--ink);color:white}
.language-switch a:hover{background:#d5edfa}
html[lang="en"] .home-intro h1{font-size:clamp(28px,4vw,48px);max-width:960px;line-height:1.3;letter-spacing:0}
@media(max-width:800px){.header{padding-top:62px}.language-switch{right:24px}}
.publication-page{overflow-wrap:anywhere}
.publication-group{margin-top:42px}
.publication-group h2{font-size:24px;border-bottom:1px solid var(--line);padding-bottom:12px}
.publication-group ol{padding-left:28px}
.publication-group li{padding-left:6px;margin-bottom:16px;font-size:14px;line-height:1.9}
.publication-group li p{margin:0;color:var(--ink)!important}
.publication-source a,.publication-group a{text-decoration:underline;text-underline-offset:3px}
.member-group{margin-top:40px}
.member-profile{display:flex;align-items:center;gap:28px}
.member-profile .eyebrow{font-size:18px;line-height:1.6;letter-spacing:.04em;margin-bottom:10px}
.member-avatar{display:block;width:80px;height:80px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#d5eaf6}
.faculty-avatar{width:144px;height:144px}
.member-name-link{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.student-list li{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
@media(max-width:540px){.member-profile{align-items:flex-start;flex-direction:column}.faculty-avatar{width:112px;height:112px}}
.member-group h2 .tag{vertical-align:middle;margin-left:12px;font-weight:normal;letter-spacing:0}
.student-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.student-list li{padding:24px;background:#e7f4fc;border-top:2px solid #79badb;font-size:20px;letter-spacing:.08em}
@media(max-width:800px){.student-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.student-list{grid-template-columns:1fr}}
.home-intro{padding:65px 40px 55px;background:#e7f4fc}
.home-intro h1{font-size:clamp(27px,3.5vw,43px);line-height:1.6;letter-spacing:.025em;margin-bottom:18px}
.home-intro>p:not(.eyebrow){max-width:740px;color:var(--muted);font-size:15px}
.mobile-break{display:none}
.page-title{font-size:clamp(28px,4vw,40px);line-height:1.5;margin:0 0 24px}
main{min-height:65vh}
.access-page h2{margin-top:44px}
.access-note{padding:18px 20px;background:#e7f4fc;border-left:3px solid #79badb;margin-top:25px}
@media(max-width:800px){.home-intro{padding:45px 24px}.header nav{gap:10px 18px}}
@media(max-width:540px){.mobile-break{display:block}}
.news-list li{display:grid;grid-template-columns:100px 100px minmax(0,1fr);align-items:baseline;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
.news-list time{font-family:Arial,sans-serif;font-size:12px;color:var(--muted)}
.news-list .tag{justify-self:start;width:100px;text-align:center;white-space:nowrap}
.news-list li>a{min-width:0;overflow-wrap:anywhere}
.news-list a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.text-link{display:inline-block;font-size:13px;font-weight:bold;border-bottom:1px solid var(--ink);padding-bottom:3px}
.publications{list-style:none;padding:0;margin:28px 0}
.publications li{padding:25px 0;border-top:1px solid var(--line)}
.publications .eyebrow{display:block;margin-bottom:10px;line-height:1.6}
.publications h3{font-size:19px;margin-bottom:10px}
.publications p{margin-bottom:0}
.post{max-width:860px;margin:auto;min-height:65vh;overflow-wrap:anywhere}
.post-heading{margin:40px 0;border-bottom:1px solid var(--line);padding-bottom:24px}
.post h1{font-size:clamp(28px,4vw,42px)}
.post-content img{max-width:100%;height:auto;border-radius:5px}
.post-content h2{margin-top:40px}
.post-content h3{margin-top:28px}
.post-content a{text-decoration:underline;text-underline-offset:4px}
.post-content pre{padding:20px;overflow:auto;background:#e7f4fc}
.post-content blockquote{margin-left:0;padding-left:20px;border-left:3px solid #79badb}
@media(max-width:540px){.news-list li{grid-template-columns:100px 1fr}.news-list li>a{grid-column:1 / -1}.publications h3{font-size:17px}}

/* Readable body typography across Japanese and English pages. */
body{font-family:Meiryo,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:17px;font-weight:400;line-height:1.95}
.section p:not(.eyebrow),.home-intro>p:not(.eyebrow),.intro,.research-details,.publication-group li,.facts,.placeholder,.news-list li{font-size:17px}
:root{--muted:#3f5969}
nav,.header nav{font-size:15px}
.news-empty span,.text-link,.news-list time,.year-filter label,.year-filter select,#publication-reset{font-size:15px}
.year-note,#publication-count,.facts small{font-size:14px}
footer p,footer>a:last-child{font-size:13px}
@media(max-width:540px){body{font-size:16px}.section p:not(.eyebrow),.home-intro>p:not(.eyebrow),.intro,.research-details,.publication-group li,.facts,.placeholder,.news-list li{font-size:16px}.header nav{font-size:14px}}
/* Compact research overview, with details available on demand. */
.research{padding-top:38px}
.research-overview{margin-bottom:18px;line-height:1.7}
.research-overview p{margin-bottom:10px}
.research-theme-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;background:none;margin:20px 0 28px}
.research-theme-nav a{display:block;padding:16px;background:#e7f4fc;border-top:3px solid #79badb;text-decoration:none;line-height:1.6}
.research-theme-nav strong{display:block;font-size:17px}
.research-theme-nav span{display:block;margin-top:7px;font-size:14px;font-weight:400;color:var(--muted)}
.research-theme{margin:28px 0 32px}
.theme-heading{gap:14px;margin-bottom:12px}
.theme-heading h2{font-size:23px;margin-bottom:8px}
.theme-heading .number{font-size:24px;margin-bottom:8px}
.theme-description{line-height:1.7;margin-bottom:12px}
.examples-heading{margin:14px 0 8px;font-size:15px}
.research-theme .research-case{margin-top:8px;padding:0;background:white}
.research-case summary{padding:12px 16px;cursor:pointer;line-height:1.6}
.research-case summary::marker{color:#247fa9}
.case-title{font-size:17px;font-weight:700}
.case-label{display:block;margin:3px 0 0 20px;font-size:13px;color:var(--muted)}
.case-content{padding:0 18px 14px}
.research-details{line-height:1.7;margin:10px 0}
.research-details>div{margin:8px 0;gap:14px}
.research .research-reference{font-size:14px!important;margin-bottom:0}
.research-case summary:focus-visible{outline:3px solid #2182b0;outline-offset:2px}
@media(max-width:700px){.research-theme-nav{grid-template-columns:1fr;gap:8px}.research-theme-nav a{padding:12px 16px}.research-theme-nav span{margin-top:3px}.theme-heading h2{font-size:21px}}
