/* ボタン */
.btn{display:inline-flex;align-items:center;min-height:var(--target);padding:.5rem 1.5rem;border:1px solid var(--c-red);background:var(--c-red);color:var(--c-on-accent);font:700 var(--fs-0)/1.4 var(--f-sans);text-decoration:none;border-radius:var(--radius);transition:background var(--dur) var(--ease)}
.btn:hover{background:var(--c-orange-deep);border-color:var(--c-orange-deep);color:var(--c-on-accent)}
.btn--ghost{background:transparent;color:var(--c-red)} .btn--ghost:hover{background:var(--c-paper);color:var(--c-orange-deep)}
/* ヘッダー・ナビ */
.site-header{border-bottom:1px solid var(--c-line);background:var(--c-bg)}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:4.5rem}
.gnav{display:flex;flex-wrap:wrap;gap:0 var(--s-3);list-style:none;margin:0;padding:0;font-size:var(--fs-sm)}
.gnav a{display:inline-flex;align-items:center;min-height:var(--target);color:var(--c-ink);text-decoration:none;border-bottom:2px solid transparent}
.gnav a:hover{border-color:var(--c-orange)} .gnav a[aria-current="page"]{border-color:var(--c-red);font-weight:700}
/* パンくず */
.breadcrumb{font-size:var(--fs-sm);color:var(--c-ink-sub)} .breadcrumb ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;margin:0;padding:var(--s-1) 0}
.breadcrumb li+li::before{content:"／";margin-right:.5rem;color:var(--c-line)}
/* ロゴ枠 */
.logo-slot{width:var(--logo-anniv-width);padding:var(--logo-anniv-clearspace);background:var(--logo-anniv-bg)}
.logo-slot--placeholder{border:2px dashed var(--c-ink-sub);color:var(--c-ink);font-size:var(--fs-sm);text-align:center;aspect-ratio:3/2;display:grid;place-items:center}
/* 仮素材の表示（本番前に必ず差し替える） */
.placeholder{display:grid;place-items:center;background:var(--c-paper);border:1px dashed var(--c-ink-sub);color:var(--c-ink);font-size:var(--fs-sm);text-align:center;padding:var(--s-2)}
.placeholder::before{content:"【仮】";font-weight:700;margin-right:.25em}
/* カード（導線） */
.card{display:block;position:relative;color:var(--c-ink);text-decoration:none;background:var(--c-bg);border-top:3px solid var(--c-orange)}
.card__media{aspect-ratio:4/3;background:var(--c-paper);overflow:hidden} .card__media img{width:100%;height:100%;object-fit:cover}
.card__title{font:700 var(--fs-1)/1.5 var(--f-serif);margin:var(--s-2) 0 .25rem}
.card__text{font-size:var(--fs-sm);color:var(--c-ink-sub);margin:0}
.card:hover .card__title,.card:focus-visible .card__title{color:var(--c-red);text-decoration:underline;text-underline-offset:.2em}
/* ニュース行 */
.news-item{display:grid;grid-template-columns:7.5rem 6rem 1fr;gap:.5rem var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--c-line);align-items:baseline}
.news-item time{color:var(--c-ink-sub);font-size:var(--fs-sm)} .news-item__cat{font-size:var(--fs-sm);color:var(--c-orange-deep);font-weight:700}
@media (max-width:40rem){.news-item{grid-template-columns:1fr}}
/* 年表 */
.timeline{list-style:none;margin:0;padding:0 0 0 var(--s-3);border-left:2px solid var(--c-line)}
.timeline__item{position:relative;padding:0 0 var(--s-4)}
.timeline__item::before{content:"";position:absolute;left:calc(-1*var(--s-3) - 6px);top:.75rem;width:10px;height:10px;background:var(--c-orange);border-radius:50%}
.timeline__year{font:700 var(--fs-3)/1.2 var(--f-serif);color:var(--c-red);margin:0 0 .25rem}
/* 前へ／次へ */
.pager{display:flex;justify-content:space-between;gap:var(--s-2);padding-block:var(--s-3);border-top:1px solid var(--c-line)}
