:root {
  --main-color: #2c7a7b; /* メイン色（後で変更しやすい） */
  --sub-color: #e2e8f0; /* サブ色 */
  --text-color: #333;
}

h2 {
  font-size: 1.8em;
  font-weight: 700;
  color: #2c3e50;
  padding: 12px 20px;
  border-left: 4px solid #2c5aa0;
  background: linear-gradient(90deg, #e8f0f8 0%, transparent 100%);
  margin-bottom: 30px;
}

h3 {
  font-weight: bold;
  color: #2c3e50;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.08);
  letter-spacing: 0.5px;
}

body {
  margin: 0;
  font-family: sans-serif;
  line-height: 1.6;
  color: var(--text-color);

  font-family: "Roboto", "Noto Sans JP", sans-serif;
  /*動作確認用*/
  /*
  font-family: 'Noto Serif JP', serif;*/
}

.container {
  width: 90%;
  max-width: 1100px;
  margin: auto;
}

/*containerと同じ幅の、最終更新日（各ページの上部にある更新日） */
.update_time {
  display: block;
  width: 90%;
  max-width: 1100px;
  margin: auto;
  font-size: 0.8em;
}

/* ヘッダー */
.site-header {
  background: var(--main-color);
  color: #fff;
  padding: 10px 0;
}

.site-header .site-title {
  margin: 0;
  font-size: 1.2rem;
}
.site-title a {
  /* 下線なし */
  text-decoration: none;
  color: white;
}

/* フッター */
.site-footer {
  background: #f8f8f8;
  padding: 20px;
  text-align: center;
  font-size: 0.9rem;
  color: #666;
}
