.page-label,.sec-label,.anniv-en{font-family:'Marcellus',serif !important;font-style:normal !important;}

:root{
  --serif-jp:'Noto Serif JP',serif; --serif-en:'Newsreader',serif; --sans-jp:'Noto Sans JP',sans-serif;
  --navy:#1B2A4A; --cream:#F5F0EB; --paper:#FBF9F6; --gold:#8B7355; --gold-soft:#B59C7E;
  --ink:#2B2B28; --ink-soft:#6B665E; --line:#DAD2C6; --line-soft:#EBE5DB;
  --sp-md:21px; --sp-lg:34px; --sp-xl:55px; --sp-2xl:89px; --sp-3xl:130px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--serif-jp);color:var(--ink);background:var(--paper);line-height:1.9;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1000px;margin:0 auto;padding:0 6vw;}
a{color:inherit;text-decoration:none;}

/* Nav（共通） */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) 6vw;background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,194,186,0.3);}
.nav-brand{display:flex;flex-direction:column;gap:0.15rem;}
.nav-brand-en{font-family:var(--serif-en);font-size:0.9rem;letter-spacing:0.14em;color:var(--navy);white-space:nowrap;}
.nav-brand-jp{font-family:var(--sans-jp);font-size:0.55rem;letter-spacing:0.18em;color:var(--gold);font-weight:300;}
.nav-links{display:flex;gap:1.5rem;align-items:center;list-style:none;}
.nav-links a{font-family:var(--serif-jp);font-weight:400;font-size:0.78rem;letter-spacing:0.06em;color:var(--navy);position:relative;display:flex;flex-direction:column;align-items:center;gap:0.1rem;transition:color 0.3s;white-space:nowrap;}
.nav-links a .nav-en{font-family:var(--serif-en);font-style:italic;font-size:0.62rem;letter-spacing:0.1em;color:var(--gold-soft);}
.nav-links a:not(.nav-contact)::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width 0.4s ease;}
.nav-links a:not(.nav-contact):hover{color:var(--gold);}
.nav-links a:not(.nav-contact):hover::after{width:100%;}
.nav-links a.is-current{color:var(--gold);}
.nav-links a.is-current::after{width:100%;}
.nav-contact{background:var(--gold);color:#FAF7F3;padding:0.7rem 1.3rem;border:1px solid var(--gold);transition:background 0.3s,border-color 0.3s;white-space:nowrap;flex-direction:row!important;}
.nav-contact .nav-en{color:rgba(250,247,243,0.8)!important;}
.nav-contact:hover{background:var(--navy);border-color:var(--navy);}
.nav-lang{font-family:var(--serif-en);font-size:0.7rem;letter-spacing:0.1em;color:var(--gold-soft);}
.nav-lang-divider{color:var(--line);font-size:0.7rem;}

/* Page head */
.page-head{text-align:center;padding:calc(var(--sp-3xl) + 30px) 0 var(--sp-lg);}
.page-label{font-family:var(--serif-en);font-style:italic;font-size:0.95rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:var(--sp-md);}
.page-title{font-family:var(--serif-jp);font-weight:200;font-size:2.4rem;letter-spacing:0.22em;color:var(--navy);}
.page-lead{font-size:0.92rem;color:var(--ink-soft);margin-top:var(--sp-md);letter-spacing:0.06em;}

/* 70周年 布石 */
.anniv{position:relative;background:var(--navy);color:#F5F0EB;text-align:center;padding:var(--sp-xl) 6vw;overflow:hidden;}
.anniv::before,.anniv::after{content:none;}
.anniv-en{font-family:var(--serif-en);font-style:italic;font-size:0.92rem;letter-spacing:0.24em;color:var(--gold-soft);}
.anniv-years{font-family:var(--serif-en);font-size:2.9rem;letter-spacing:0.14em;color:#fff;margin:10px 0 6px;display:flex;align-items:center;justify-content:center;gap:26px;}
.anniv-years .dash{width:80px;height:1px;background:var(--gold-soft);display:inline-block;}
.anniv-badge{display:inline-block;font-family:var(--serif-jp);font-weight:300;font-size:1.15rem;letter-spacing:0.16em;color:#fff;border:1px solid var(--gold-soft);border-radius:40px;padding:8px 28px;margin-top:8px;}
.anniv-badge b{color:var(--gold-soft);font-weight:400;font-family:var(--serif-en);font-style:italic;margin:0 4px;}
.anniv-sub{font-size:0.82rem;color:rgba(245,240,235,0.78);margin-top:var(--sp-md);letter-spacing:0.06em;line-height:1.95;}

/* セクション */
.sec{padding:var(--sp-2xl) 0;}
.sec-head{margin-bottom:var(--sp-lg);}
.sec-label{font-family:var(--serif-en);font-style:italic;font-size:0.78rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;}
.sec-title{font-family:var(--serif-jp);font-weight:300;font-size:1.55rem;color:var(--navy);letter-spacing:0.1em;margin-top:6px;}
.sec-link{float:right;margin-top:18px;font-family:var(--serif-en);font-style:italic;font-size:0.82rem;color:var(--gold);border-bottom:1px solid var(--gold-soft);padding-bottom:2px;}

/* テーブル */
.profile{border-top:1px solid var(--navy);}
.prow{display:grid;grid-template-columns:170px 1fr;gap:var(--sp-lg);padding:16px 8px;border-bottom:1px solid var(--line-soft);}
.prow dt{font-family:var(--serif-jp);font-weight:500;font-size:0.86rem;color:var(--navy);letter-spacing:0.06em;}
.prow dd{font-size:0.86rem;color:var(--ink);letter-spacing:0.02em;line-height:1.85;}
.prow dd .en{font-family:var(--serif-en);font-style:italic;color:var(--gold-soft);font-size:0.78rem;}
.prow dd small{color:var(--ink-soft);font-size:0.78rem;}
.exec{display:grid;grid-template-columns:auto 1fr;gap:6px 28px;}
.exec dt2{font-size:0.84rem;color:var(--ink-soft);}
.exec dd2{font-size:0.86rem;color:var(--navy);}
.perm{font-size:0.82rem;line-height:1.95;color:var(--ink);}
.perm b{font-weight:500;color:var(--navy);}

/* ページャ */
.pager{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:var(--sp-xl);padding-top:var(--sp-lg);}
.pager a{display:flex;flex-direction:column;gap:3px;}
.pager .pe{font-family:var(--serif-en);font-style:italic;font-size:0.72rem;letter-spacing:0.12em;color:var(--gold-soft);}
.pager .pj{font-family:var(--serif-jp);font-size:0.9rem;color:var(--navy);}
.pager .next{text-align:right;}

/* Footer */
footer{padding:var(--sp-2xl) 6vw var(--sp-lg);background:var(--cream);border-top:1px solid var(--line);margin-top:var(--sp-2xl);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-lg);margin-bottom:var(--sp-xl);}
.footer-brand-en{font-family:var(--serif-en);font-size:1.1rem;letter-spacing:0.16em;color:var(--navy);margin-bottom:0.3rem;}
.footer-brand-jp{font-family:var(--serif-jp);font-size:0.82rem;color:var(--gold);margin-bottom:var(--sp-md);}
.footer-address{font-size:0.78rem;line-height:1.95;color:rgba(27,42,74,0.68);}
.footer-col h4{font-family:var(--serif-en);font-size:0.66rem;letter-spacing:0.16em;color:var(--gold);text-transform:uppercase;margin-bottom:var(--sp-md);}
.footer-col a{display:block;font-size:0.82rem;color:rgba(27,42,74,0.72);margin-bottom:0.5rem;transition:color 0.3s;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px;padding-top:var(--sp-md);border-top:1px solid var(--line);}
.footer-copy{font-family:var(--serif-en);font-size:0.72rem;letter-spacing:0.1em;color:rgba(27,42,74,0.55);}
.footer-links{display:flex;gap:var(--sp-md);}
.footer-links a{font-size:0.72rem;color:rgba(27,42,74,0.55);}

.demo-badge{position:fixed;left:18px;bottom:16px;z-index:90;font-family:var(--serif-en);font-style:italic;font-size:0.62rem;letter-spacing:0.12em;color:var(--gold);background:rgba(248,245,240,0.86);border:1px solid var(--line);padding:5px 12px;border-radius:2px;}

@media(max-width:980px){
  .nav-links{display:none;}
  .prow{grid-template-columns:120px 1fr;gap:var(--sp-md);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .anniv-years{font-size:2rem;gap:14px;}
  .anniv-years .dash{width:40px;}
}