:root{
  --enji:#9A2846; --ink:#222A3D; --paper:#FBFAF7; --muted:#6F6A62; --line:#ECE8E1; --soft:#9a948a;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; background:var(--paper); color:var(--ink);
  font-family:'Noto Sans JP',sans-serif; line-height:1.85; font-size:16px;}
.wrap{max-width:760px; margin:0 auto; padding:0 24px;}
h1,h2,h3,.brand,.name,.eyebrow,.theme-t,.page-title{font-family:'Noto Serif JP',serif; font-weight:600;}
.pub-body i,.name-en,.pub-year,.news-date{font-family:'Source Serif 4',serif; font-style:italic;}
a{color:inherit;}

.site-header{border-bottom:1px solid var(--line); background:rgba(251,250,247,.92);
  position:sticky; top:0; z-index:10; backdrop-filter:saturate(120%) blur(4px);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px;}
.brand{font-size:17px; text-decoration:none;}
.site-header nav a{font-size:13px; color:var(--muted); text-decoration:none; margin-left:18px;}
.site-header nav a:hover{color:var(--enji);}

.hero{padding:50px 24px 42px; border-bottom:1px solid var(--line);}
.hero .rule{width:40px; height:3px; background:var(--enji); margin-bottom:20px;}
.name{font-size:32px; margin:0; line-height:1.35; letter-spacing:.01em;}
.name-en{color:var(--enji); font-size:16px; margin-top:3px;}
.affil{font-size:14px; color:var(--muted); margin-top:14px;}
.lead{font-size:16px; margin-top:14px; max-width:600px;}
.links{display:flex; flex-wrap:wrap; gap:9px; margin-top:22px;}
.pill{font-size:12.5px; border:1px solid #d9d4cb; border-radius:999px; padding:6px 14px; text-decoration:none;}
.pill:hover{border-color:var(--enji); color:var(--enji);}
.pill-solid{background:var(--enji); color:#fff; border-color:var(--enji);}
.pill-solid:hover{color:#fff; opacity:.9;}

.block{padding:36px 0; border-bottom:1px solid var(--line);}
.eyebrow{font-size:13px; color:var(--enji); letter-spacing:.08em; margin:0 0 18px;}
.themes{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:22px;}
.theme-t{font-size:15px;}
.theme-d{font-size:13px; color:var(--muted); margin-top:6px; line-height:1.75;}

.pub{display:flex; gap:18px; margin-bottom:16px;}
.pub-year{color:var(--enji); min-width:46px; font-size:15px;}
.pub-body{font-size:14px; line-height:1.75;}
.pub-body a{color:var(--enji); text-decoration:none;}
.more{display:inline-block; margin-top:10px; color:var(--enji); text-decoration:none; font-size:13px;}

.cols{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
.news{margin-bottom:12px;}
.news-date{font-size:12.5px; color:var(--soft);}
.news-text{font-size:13.5px; line-height:1.65;}

.page{padding:44px 24px 10px;}
.page-title{font-size:27px; margin:0 0 6px;}
.page .content{font-size:15px; color:#3c3a35; margin-bottom:24px;}
.page .content h2{font-size:16px; color:var(--enji); margin:22px 0 8px;}
.page .content ul{padding-left:1.1em;}

.site-footer{padding:26px 0 36px;}
.site-footer .wrap{color:var(--soft); font-size:11px; text-align:center;}

@media(max-width:560px){.cols{grid-template-columns:1fr; gap:20px;} .name{font-size:26px;} .hero{padding:38px 24px 32px;}}

.cnt{font-family:'Source Serif 4',serif; font-style:italic; font-size:13px; color:var(--soft); margin-left:6px;}
.cnt::before{content:"";}
.pub-no{color:var(--soft); margin-right:4px; font-size:13px;}
.tag{display:inline-block; font-size:11px; border:1px solid var(--enji); color:var(--enji); border-radius:4px; padding:0 6px; margin-left:6px; line-height:1.6; vertical-align:1px;}
.lnk{color:var(--enji); text-decoration:none; border-bottom:1px solid rgba(154,40,70,.35); margin-left:4px; font-size:12.5px;}
.lnk:hover{border-bottom-color:var(--enji);}
