/* ===== カラーパレット ===== */
:root {
  --green-dark:  #2d6a4f;
  --green-mid:   #52b788;
  --green-light: #d8f3dc;
  --bg:          #f4f7f5;
  --text:        #333;
}

/* ===== 全体フォント ===== */
html, body, * {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

/* ===== 全体背景 ===== */
body {
  background-color: var(--bg) !important;
}

/* ===== ヘッダー ===== */
.header {
  background: #fff !important;
  border-bottom: 1px solid var(--green-light) !important;
  box-shadow: 0 2px 10px rgba(45,106,79,.07) !important;
  padding: 20px 0 0 !important;
}

/* ロゴ全体の余白 */
.logo {
  padding: 8px 0 16px !important;
}

/* サイトタイトル */
.logo__title {
  font-weight: 900 !important;
  color: #1b4332 !important;
  font-size: 1.9rem !important;
  letter-spacing: .03em !important;
  line-height: 1.2 !important;
}

/* ① サブタイトルの大文字を解除・スタイル改善 */
.logo__tagline {
  text-transform: none !important;
  color: #7aab92 !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
  border-top: 1px solid var(--green-light) !important;
  margin-top: 6px !important;
  padding-top: 5px !important;
}

/* ===== ナビゲーション ===== */
.menu, .menu__list, .menu__item, .menu__link, .menu__text, .menu__btn, .menu__btn-title {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
}

.menu__list {
  background: var(--green-dark) !important;
}

.menu__btn {
  background: var(--green-dark) !important;
  color: #fff !important;
}

.menu__link {
  color: rgba(255,255,255,.92) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  padding: 12px 18px !important;
}

/* ===== カテゴリバッジ ===== */
.post-cat-badges {
  margin-bottom: 8px !important;
}

.post-cat-badge {
  display: inline-block !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: #888 !important;
  margin-right: 4px !important;
}

/* 資産形成：オレンジ */
.post-cat-badge--asset {
  background: #e8a020 !important;
  color: #fff !important;
}

/* 介護：緑 */
.post-cat-badge--care {
  background: #2e7d32 !important;
  color: #fff !important;
}

/* 釣り：青 */
.post-cat-badge--fishing {
  background: #1565c0 !important;
  color: #fff !important;
}

/* ===== メインコンテンツ ===== */
.wrapper {
  background: transparent !important;
}

/* 記事カード */
.post {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 12px rgba(45,106,79,.07) !important;
  margin-bottom: 20px !important;
  padding: 28px 32px !important;
  border: none !important;
}

/* 記事タイトル */
.post__title {
  font-size: 1.15rem !important;
  line-height: 1.55 !important;
}

.post__title a {
  color: #1b4332 !important;
}

.post__title a:hover {
  color: var(--green-mid) !important;
  text-decoration: none !important;
}

/* メタ情報 */
.post__meta {
  color: #999 !important;
  font-size: .8rem !important;
  margin: 6px 0 12px !important;
}

.post__meta a {
  color: var(--green-dark) !important;
}

/* 記事本文 */
.post__content {
  color: #444 !important;
  line-height: 1.85 !important;
  font-size: .93rem !important;
}

/* 続きを読むボタン */
.btn {
  background: var(--green-dark) !important;
  border-radius: 5px !important;
}

.btn:hover {
  background: var(--green-mid) !important;
}

.post__footer .btn {
  background: var(--green-dark) !important;
  border-color: var(--green-dark) !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-size: .85rem !important;
  padding: 8px 20px !important;
  transition: background .2s !important;
}

.post__footer .btn:hover {
  background: var(--green-mid) !important;
  border-color: var(--green-mid) !important;
}

/* ===== サイドバー ===== */
.widget {
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 12px rgba(45,106,79,.07) !important;
  margin-bottom: 20px !important;
  padding: 18px 20px !important;
}

.widget__title {
  color: var(--green-dark) !important;
  border-bottom: 2px solid var(--green-light) !important;
  padding-bottom: 8px !important;
  margin-bottom: 14px !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
}

/* ② 空のコメントウィジェット非表示 */
.widget--recent-comments {
  display: none !important;
}

/* 検索ボタン */
.search-form__submit {
  background: var(--green-dark) !important;
  border-color: var(--green-dark) !important;
  border-radius: 0 4px 4px 0 !important;
}

/* カテゴリ・リンク */
.widget__list a,
.widget a {
  color: var(--green-dark) !important;
  font-size: .88rem !important;
}

.widget__list a:hover,
.widget a:hover {
  color: var(--green-mid) !important;
}

/* タグバッジ */
.widget-taglist__link {
  background: var(--green-light) !important;
  color: var(--green-dark) !important;
  border-radius: 4px !important;
  padding: 4px 12px !important;
  margin: 3px !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.widget-taglist__link:hover {
  background: var(--green-mid) !important;
  color: #fff !important;
}

/* ===== 記事個別ページ ===== */
.post__content a {
  color: var(--green-dark) !important;
}

.post__content a:hover {
  color: var(--green-mid) !important;
}

.post__content table th {
  background: var(--green-dark) !important;
  color: #fff !important;
}

.post__content table tr:nth-child(even) {
  background: var(--green-light) !important;
}

/* ===== ③ フッター強化 ===== */
.footer {
  background: #1b4332 !important;
  color: rgba(255,255,255,.7) !important;
  border-top: none !important;
  padding: 36px 0 20px !important;
  margin-top: 40px !important;
}

.footer__container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}

.footer a {
  color: var(--green-mid) !important;
}

.footer a:hover {
  color: #fff !important;
}

/* フッターコピーライト */
.copyright {
  color: rgba(255,255,255,.5) !important;
  font-size: .78rem !important;
  text-align: center !important;
  margin-top: 12px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  width: 100% !important;
}

/* ===== ページネーション ===== */
.pagination__item--current,
.pagination__item:hover {
  background: var(--green-dark) !important;
  border-color: var(--green-dark) !important;
}
