/* ==============================
   共通リセット
============================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f9f9f9;
  color: #333;
  line-height: 1.6;
}

/* ==============================
   ヘッダー
============================== */
.header {
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #ddd;
}

.header .logo img {
  height: 50px;
}

.global-nav ul {
  list-style: none;
  display: flex;
  gap: 20px;
}

.global-nav a {
  text-decoration: none;
  color: #2f6627; /* 濃いグリーン */
  font-weight: 500;
  transition: color 0.3s;
}

.global-nav a:hover {
  color: #ff9900; /* アクセントカラー */
}

/* ==============================
   パンくずリスト
============================== */


#breadCrumb-wrapper {
  font-size: 16px;
  margin: 15px 0;
}

#breadCrumb-wrapper a {
  text-decoration: underline;  /* アンダーライン */
  color: #666;
}

#breadCrumb-wrapper a:hover {
  text-decoration: underline;
}

/* ==============================
   メインコンテンツ
============================== */
.container {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
}

h1 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2f6627;
}

h2 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 15px;
  border-bottom: 2px solid #2f6627;
  padding-bottom: 5px;
  display: inline-block;
}

h3 {
  font-size: 1.1rem;
  color: #4a7f4a;
  border-left: 4px solid #4a7f4a;
  padding-left: 8px;
  margin: 16px 0 8px;
}

/* ==============================
   記事・リスト
============================== */
.sm_menu ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sm_menu li {
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px 15px;
  transition: background-color 0.3s, transform 0.2s;
  display: flex;           /* 記号とリンクを横並びにする */
  align-items: center;
  gap: 5px;                /* 記号とテキストの間隔 */
}

.sm_menu li::before {
  content: "▶";       /* 行頭の記号（例: 黒丸） */
  color: #8fc78f;     /* 行頭記号の色 */
  display: inline-block;
  width: 20px;        /* 左余白分を確保 */
  text-align: center;
  font-size: 8px;
}

.sm_menu li:hover {
  background-color: #f7f7f7;
  transform: translateY(-2px);
}

.sm_menu a {
  text-decoration: none;
  color: #333;
  display: block;
  font-weight: 500;
}

.sm_menu a:hover {
  color: #2f6627;
}

.sm_menu {
  margin-bottom: 60px; /* 以前は30pxでしたが、60pxに増やす */
}


/* ==============================
   ナビゲーション区切り（フッター）
============================== */
.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-nav li + li::before {
  content: "|";
  margin: 0 8px;
  color: #ccc;
}

.footer-nav a {
  text-decoration: none;
  color: #333;
  font-size: 14px;
  transition: color 0.3s;
}

.footer-nav a:hover {
  color: #2f6627;
}

/* ==============================
   フッター
============================== */
.footer {
  background-color: #f9f9f9;
  border-top: 1px solid #ddd;
  padding: 20px;
  text-align: center;
}

.footer p {
  font-size: 12px;
  color: #777;
  margin-top: 10px;
}

/* ==============================
   レスポンシブ
============================== */
@media (max-width: 768px) {
  .global-nav ul {
    flex-direction: column;
    gap: 10px;
  }

  .sm_menu ul {
    gap: 6px;
  }

  .footer-nav ul {
    flex-direction: column;
    gap: 8px;
  }
}
