/* 共通CSS - 全ページで読み込む */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700;900&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

:root {
  --ink:    #1a1208;
  --red:    #8b1a1a;
  --red-d:  #6b1010;
  --gold:   #b8860b;
  --gold-l: #f5e6b0;
  --cream:  #faf6ee;
  --stone:  #e8dfc8;
  --green:  #2d5a1b;
  --gray:   #6b6255;
  --white:  #ffffff;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--cream); font-family:'Noto Sans JP',sans-serif; color:var(--ink); }

/* ナビゲーション */
.nav {
  background:var(--ink);
  padding:0;
  position:sticky; top:0; z-index:100;
  border-bottom:2px solid var(--gold);
}
.nav-inner {
  display:flex; align-items:center; overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.nav-inner::-webkit-scrollbar { display:none; }
.nav-logo {
  font-family:'Noto Serif JP',serif;
  color:var(--gold);
  font-size:12px; font-weight:700;
  white-space:nowrap;
  padding:12px 16px;
  border-right:1px solid rgba(184,134,11,0.3);
  text-decoration:none;
  letter-spacing:0.1em;
}
.nav-links {
  display:flex; list-style:none;
}
.nav-links a {
  display:block;
  padding:12px 14px;
  color:rgba(255,255,255,0.75);
  text-decoration:none;
  font-size:12px; font-weight:500;
  white-space:nowrap;
  letter-spacing:0.05em;
  border-bottom:2px solid transparent;
  transition:color 0.2s, border-color 0.2s;
}
.nav-links a:hover,
.nav-links a.active {
  color:var(--gold);
  border-bottom-color:var(--gold);
}

/* ページヘッダー */
.page-header {
  background:var(--red);
  background-image:repeating-linear-gradient(
    45deg, transparent, transparent 8px,
    rgba(0,0,0,0.06) 8px, rgba(0,0,0,0.06) 16px
  );
  padding:24px 16px 20px;
  text-align:center;
}
.page-header-label {
  color:var(--gold-l);
  font-size:10px; letter-spacing:0.4em;
  margin-bottom:6px;
}
.page-header-title {
  font-family:'Noto Serif JP',serif;
  color:var(--white);
  font-size:22px; font-weight:900;
  letter-spacing:0.1em;
}

/* セクションタイトル */
.section-title {
  display:flex; align-items:center; gap:10px;
  padding:20px 16px 12px;
}
.section-title::before,.section-title::after {
  content:''; flex:1; height:1px;
  background:var(--gold); opacity:0.4;
}
.section-title span {
  font-family:'Noto Serif JP',serif;
  font-size:13px; font-weight:700;
  color:var(--red); letter-spacing:0.25em; white-space:nowrap;
}

/* カード */
.card {
  margin:0 14px 14px;
  background:var(--white);
  border-radius:8px;
  border:1px solid var(--stone);
  overflow:hidden;
  box-shadow:0 2px 8px rgba(26,18,8,0.07);
}
.card-header {
  background:var(--red);
  padding:10px 16px;
  display:flex; align-items:center; gap:10px;
}
.card-header-title {
  color:var(--white);
  font-weight:700; font-size:14px;
  letter-spacing:0.05em;
}
.card-body { padding:14px 16px; }
.card-row {
  display:flex; gap:8px;
  font-size:13px; line-height:1.7;
  margin-bottom:6px;
}
.card-row:last-child { margin-bottom:0; }
.card-label {
  color:var(--gray); font-size:11px; font-weight:500;
  white-space:nowrap; min-width:38px; padding-top:2px;
}
.card-value { color:var(--ink); flex:1; }
.card-value strong { color:var(--red); font-weight:700; }

/* フッター */
.footer {
  background:var(--ink);
  padding:20px 16px;
  text-align:center;
  margin-top:8px;
}
.footer p {
  color:rgba(255,255,255,0.55);
  font-size:11px; line-height:2;
}
.footer strong { color:var(--gold); }

/* ボタン */
.btn {
  display:block; width:100%;
  padding:11px; text-align:center;
  font-size:12px; font-weight:700;
  letter-spacing:0.2em;
  text-decoration:none;
  border-top:1px solid var(--stone);
  color:var(--white); background:var(--ink);
  transition:background 0.2s;
}
.btn:active { background:var(--red); }
