@charset "utf-8";

/* Block: page-visual */
.page-visual::before {
  display: none;
}

.page-visual {
  z-index: 1;
  height: 45vh;
  background-color: #ccc;
}

/* section--sitemap */
/* サイトマップのリスト */
.sitemap__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

/* サイトマップの各アイテム */
.sitemap__item {
  font-style: normal;
  line-height: 1.6;
  background: #fff;
  border-left: 4px solid #0082c8;
  padding: 8px 16px;
}

/* 現在のページ（グレーアウト） */
.sitemap__item--current {
  background-color: #e2e8f0;
  border-left-color: #a0aec0;
  opacity: 0.7;
  cursor: not-allowed;
}

.sitemap__item--current:hover {
  transform: none;
  box-shadow: none;
}

/* サイトマップリンク */
.sitemap__link {
  display: block;
  color: #000;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
  transition: color 0.2s ease;
}

.sitemap__link:hover {
  color: #4299e1;
}

.sitemap__item--current .sitemap__link {
  color: #718096;
  cursor: not-allowed;
}

.sitemap__item--current .sitemap__link:hover {
  color: #718096;
}

/* サブリスト */
.sitemap__sublist {
  list-style: none;
  margin-top: 12px;
  padding-left: 20px;
  border-left: 2px solid #e2e8f0;
}

.sitemap__subitem {
  margin-bottom: 8px;
}

.sitemap__sublink {
  text-decoration: none;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  transition: color 0.2s ease;
}

.sitemap__sublink::before {
  content: '・';
  margin-right: 8px;
  color: #a0aec0;
}

.sitemap__sublink:hover {
  color: #0082c8;
}

/* 説明文 */
.sitemap__description {
  font-size: 0.85rem;
  margin-top: 8px;
}



/* スマホ対応 */
@media screen and (max-width: 767px) {
  .page-visual {
    height: 35vh;
  }

  .sitemap__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .sitemap__item {
    padding: 15px;
  }
}