.page-label,.sec-label{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:920px;margin:0 auto;padding:0 6vw;}
a{color:inherit;text-decoration:none;}
.tbd{color:var(--gold-soft);font-size:0.78rem;font-family:var(--serif-en);font-style:italic;letter-spacing:0.04em;}

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{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;}

/* タイムライン */
.tl{position:relative;padding:var(--sp-xl) 0 var(--sp-2xl);}
.tl-line{position:absolute;left:118px;top:0;bottom:0;width:1px;background:var(--line);}
.tl-row{position:relative;display:grid;grid-template-columns:96px 1fr;gap:48px;padding-bottom:var(--sp-xl);}
.tl-row:last-child{padding-bottom:0;}
.tl-year{text-align:right;font-family:var(--serif-en);font-size:1.35rem;color:var(--gold);letter-spacing:0.04em;padding-top:2px;}
.tl-year small{display:block;font-family:var(--serif-jp);font-size:0.66rem;color:var(--ink-soft);letter-spacing:0.08em;margin-top:2px;}
.tl-body{position:relative;padding-left:34px;}
.tl-body::before{content:'';position:absolute;left:-5px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1.5px solid var(--gold-soft);z-index:2;}
.tl-body h3{font-family:var(--serif-jp);font-weight:500;font-size:1.02rem;color:var(--navy);letter-spacing:0.04em;margin-bottom:4px;}
.tl-body p{font-size:0.84rem;color:var(--ink-soft);line-height:1.85;letter-spacing:0.02em;}
.ev{display:flex;gap:14px;align-items:baseline;padding:5px 0;}
.ev+.ev{border-top:1px dashed var(--line-soft);}
.evm{font-family:var(--serif-jp);font-weight:400;font-size:0.84rem;color:var(--gold);letter-spacing:0.04em;min-width:42px;flex-shrink:0;}
.evx{font-size:0.86rem;color:var(--ink);line-height:1.7;letter-spacing:0.02em;}
.tl-row.mark .evx{color:var(--navy);font-weight:500;}

/* 起点（創業）・現在の強調 */
.tl-row.mark .tl-body::before{background:var(--gold);border-color:var(--gold);width:13px;height:13px;left:-6px;}
.tl-row.mark .tl-body h3{color:var(--gold);}

/* 70周年エンド */
.tl-future{position:relative;display:grid;grid-template-columns:96px 1fr;gap:48px;}
.tl-future .tl-year{font-size:1.5rem;color:var(--gold);}
.anniv-end{background:var(--navy);color:#F5F0EB;padding:var(--sp-lg) var(--sp-xl);position:relative;margin-left:34px;overflow:hidden;}
.anniv-end::before{content:'';position:absolute;left:-40px;top:14px;width:13px;height:13px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(139,115,85,0.18);}
.anniv-end .en{font-family:var(--serif-en);font-style:italic;font-size:0.84rem;letter-spacing:0.2em;color:var(--gold-soft);}
.anniv-end h3{font-family:var(--serif-jp);font-weight:300;font-size:1.5rem;letter-spacing:0.12em;color:#fff;margin:8px 0 10px;}
.anniv-end h3 b{font-family:var(--serif-en);color:var(--gold-soft);font-weight:400;margin:0 4px;font-style:italic;}
.anniv-end p{font-size:0.84rem;color:rgba(245,240,235,0.82);line-height:1.95;letter-spacing:0.04em;}

/* ページャ */
.pager{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:var(--sp-lg);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{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;}
.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;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .tl-row,.tl-future{grid-template-columns:64px 1fr;gap:20px;}
  .tl-line{left:80px;}
  .tl-year{font-size:1.1rem;}
}