/* =========================================================
   sitemap.html — サイトマップ
   ========================================================= */
.sitemap-sec { padding: 40px 0 0; }

.sitemap-grid {
  max-width: 840px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 140px;
  align-items: start;
}

.sitemap-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 2px;
  border-bottom: 1px solid var(--navy);
  color: var(--navy);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .04em;
}
a.sitemap-item { transition: opacity .25s; }
a.sitemap-item:hover { opacity: .7; }
.sitemap-item::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 6px solid var(--navy);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  flex: none;
}
.sitemap-item--plain::after { display: none; }

.sitemap-subs { padding: 10px 0 26px; }
.sitemap-subs a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 2px;
  color: var(--navy);
  font-size: 15px;
  transition: opacity .25s;
}
.sitemap-subs a:hover { opacity: .7; }
.sitemap-subs a::before {
  content: "";
  width: 14px;
  height: 1px;
  background: var(--navy);
  flex: none;
}

/* PC カンプに無い行 (SP カンプのみ) */
.sitemap-item--sp { display: none; }

/* カンプはリスト下に大きな余白 */
.page-body { padding-bottom: 420px; }

@media (max-width: 768px) {
  .sitemap-sec { padding: 20px 0 0; }
  .sitemap-grid { grid-template-columns: 1fr; margin-top: 24px; }
  .sitemap-item { padding: 14px 2px; font-size: 16px; }
  .sitemap-subs { padding: 8px 0 20px; }
  .sitemap-subs a { font-size: 14px; padding: 6px 2px; }
  .sitemap-item--sp { display: flex; }
  .page-body { padding-bottom: 100px; }
}
