/* Shared content-page foundation aligned with the current homepage.
   Retain page-specific grids and media behavior in each page. */
:root{--base:#F7F2E8;--navy:#10213F;--gold:#C59A45;--ink:#2A2416}
.content-page{margin:0;background:var(--base);color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:14px;line-height:2.2;overflow-wrap:anywhere}
.content-page header{max-width:none;margin:0;padding:27px 5%;border-bottom:1px solid #10213f25;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.content-page .site-logo{font-family:Baskerville,"Times New Roman",serif;font-size:27px;font-weight:400;letter-spacing:1px;line-height:1.4;text-decoration:none}
.content-page nav{display:flex;flex-wrap:wrap;gap:16px 27px;font-size:13px;line-height:1.8}
.content-page nav a{text-decoration:none}.content-page nav a:hover{color:var(--gold)}
.content-page main{max-width:1060px;margin:0 auto;padding:65px 6% 100px}
.content-page.article-page main,.content-page.student-page main{max-width:860px}
.content-page h1{font-family:inherit;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.6;margin:17px 0 40px}
.content-page h2{font-family:inherit;font-size:clamp(24px,2.5vw,32px);font-weight:500;line-height:1.6;margin:40px 0 22px}
.content-page h3{font-family:inherit;font-size:21px;font-weight:500;line-height:1.7}
.content-page p,.content-page li{color:var(--ink);font-size:14px;line-height:2.2}.content-page p{margin:1.4em 0}
.content-page a{color:inherit}.content-page a:focus-visible,.content-page button:focus-visible,.content-page summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.content-page button,.content-page .button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--navy);color:var(--base);padding:17px 24px;border:1px solid var(--navy);border-radius:0;font-family:inherit;font-size:12px;line-height:1.8;text-decoration:none;cursor:pointer}
.content-page button:hover,.content-page .button:hover{background:#1b345b}
.content-page .button{width:100%;margin:30px 0}
.content-page .notice{border:1px solid #10213f35;padding:24px;font-size:13px;line-height:2.2;margin-bottom:35px}
.content-page .grid{gap:30px}.content-page .card{border-top:1px solid var(--gold);padding:22px 0}.content-page .card h2{font-size:21px;margin:17px 0;line-height:1.8}
.content-page figure{margin:35px 0}.content-page img{max-width:100%;height:auto}.content-page figcaption,.content-page time{font-size:12px}
.content-page details{border:0;border-top:1px solid #10213f35;border-bottom:1px solid #10213f35;border-radius:0;margin:24px 0;padding:24px 0}
.content-page summary{font-size:18px;font-weight:500;line-height:1.8;cursor:pointer}
.content-page footer{max-width:none;margin:0;padding:35px 6%;background:var(--navy);color:var(--base);font-size:12px;line-height:1.8}
@media(max-width:800px){.content-page header{padding:22px 7%;gap:18px}.content-page nav{gap:12px 20px;font-size:12px}.content-page main{padding:45px 7% 65px}.content-page h1{font-size:clamp(28px,7.5vw,36px);margin-bottom:30px}.content-page h2{font-size:26px}.content-page h3{font-size:20px}.content-page .notice{padding:20px}.content-page .button,.content-page button{padding:16px 20px}.content-page footer{padding:30px 7%}}
