/* ===== 変数（index.htmlのトンマナに寄せる前提の仮値） ===== */
:root{
  --ink:     #e8eef2;              /* 文字色（高コントラスト） */
  --muted:   #9fb7c6;              /* 補助色（薄めの青み） */
  --accent:  #4aa0c7;              /* 見出しの差し色 */

  --panel-bg: rgba(0,0,0,.88);    /* 半透明の黒パネル */
  --panel-border: rgba(255,255,255,.15);

  --max: 1200px;
  --radius: 12px;
}

/* ===== ベース ===== */
*{ box-sizing: border-box; }
html,body{ margin:0; }
body{
  color: var(--ink);
  line-height: 1.9;
}

/* ===== stickyナビ ===== */
.site-nav{
  position: sticky; top: 0; z-index: 20;
  background: rgba(0,0,0,.9);
  backdrop-filter: blur(2px);
}
.site-nav__inner{
  max-width: var(--max); margin: 0 auto; padding: 10px 16px;
  display: flex; gap: 18px; justify-content: flex-end;
  text-align: center;
}
.site-nav a{
  color: var(--ink); text-decoration: none; opacity:.85;
  padding: 2px 4px;
}
.site-nav a:hover{ opacity:1; }
.site-nav .is-active{ border-bottom: 2px solid var(--accent); }

/* ===== ページ見出し（indexの“章タイトル”風） ===== */
.page-hero{
  max-width: var(--max);
  margin: 24px auto 12px;
  padding: 0 16px;
  display: flex;
  justify-content: center;
}
.page-hero__badge{
  display: inline-block;
  background: rgba(255,255,255,.06);
  padding: 18px 28px;
  border-radius: 10px;
  letter-spacing: .12em;
  text-transform: lowercase;
}

/* ===== コンテナ＆パネル ===== */
.container{ max-width: var(--max); margin: 0 auto 56px; padding: 0 16px; }
.panel{
  background: var(--panel-bg);
  border-radius: var(--radius);
  padding: 1rem;
}

/* ===== 用語ブロック（1カラム） ===== */
.term{ 
  border-radius: 10px;
  padding: 18px 16px 100px;
}
.term + .term{ margin-top: 18px; }

/* タイトル（漢字＋読み） */
.term-title {
  text-align: center;
  margin-bottom: 1.5rem;
}

.term-title h2 {
  font-size: 1.8rem;
  margin: 0;
}

.term-title .kana {
  font-size: 0.9rem;
  margin: 0.3rem 0;
  color: #ccc; /* 読み仮名用の淡い色 */
}

.term-title .catch {
  font-size: 1rem;
  color: var(--color-turquoise);
  margin: 0.5rem 0 0;
}
.term__reading {
  display: block;
  font-size: .85em;
  color: var(--muted);
  font-weight: 400;
  margin-top: 2px;
}

/* リード（青寄りの差し色） */
.term__lead{
  margin: 6px 0 10px;
  color: var(--accent);
}

/* 仕切り線 */
.term__rule{
  height: 1px;
  border: 0;
  margin: 12px 0 12px;
  background: rgba(255,255,255,.18);
}

/* 本文（定義＋箇条） */
.term__body p{
  margin: 2rem 10rem;
}
.term__list{ 
  margin: 1rem 5rem;
  padding: 0 0 0 1.4em; 
}
.term__list li{ margin: .2em 0;
}

/* ラベル（定義） */
.label{
  display: inline-block;
  background: #0e3040;
  color: #dff3ff;
  border: 1px solid rgba(255,255,255,.15);
  padding: .12em .5em;
  margin-right: .5em;
  border-radius: .4em;
  font-size: .82em;
  vertical-align: 2px;
}

/* フッターリンク */
.page-foot{
  display:flex; gap: 12px; justify-content: flex-end;
  margin-top: 14px;
}
.page-foot a{ color: var(--ink); text-decoration: none; opacity:.85; }
.page-foot a:hover{ opacity:1; }

/* ===== モバイル最適化 ===== */
@media (max-width: 720px){
  .panel{ padding: 16px 14px; }
  .term{ padding: 14px 12px; }

/* 本文（定義＋箇条） */
.term__body p{
  margin: .4rem;
}
.term__list{ 
  margin: .8rem;
  padding: 0 0 0 1.4em; 
}

}