/* ==========================================================================
   サイトマップ（HTML）固有スタイル：写真なしの読みやすい情報ページ
   ========================================================================== */

.sm-narrow { max-width: 860px; }
.sm-head { padding: 36px 0 8px; }

.sm-title {
  margin-bottom: 18px;
  font-size: clamp(1.8rem, 1.3rem + 2vw, 2.6rem);
  color: var(--color-green-deep);
  text-wrap: balance;
}

.sm-lead p + p { margin-top: 4px; }
.sm-main { padding-bottom: var(--section-gap-sp); }

.sm-group { margin-top: 36px; scroll-margin-top: 110px; }

.sm-group__title {
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-green-soft);
  font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.4rem);
  color: var(--color-green-deep);
  text-wrap: balance;
}

.sm-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.sm-item { padding: 16px 0; border-bottom: 1px solid var(--color-border); }

.sm-item__link {
  display: inline-block;
  min-height: 44px;
  padding: 8px 0;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--color-green-deep);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.sm-item__link::after { content: " →"; text-decoration: none; display: inline-block; }
.sm-item__link:hover { color: var(--color-accent-gold-dark); }

.sm-item__desc { margin-top: 0; font-size: 0.95rem; color: var(--color-text-sub); line-height: 1.85; text-wrap: pretty; word-break: auto-phrase; }

.sm-item__note {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: baseline;
  margin-top: 6px;
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--color-text-main);
  text-wrap: pretty;
  word-break: auto-phrase;
}

.sm-item__tag {
  flex: none;
  padding: 1px 10px;
  border: 1px dashed var(--color-accent-gold-dark);
  border-radius: 999px;
  color: var(--color-accent-gold-dark);
  font-size: 0.78rem;
  font-weight: 700;
}

@media (min-width: 900px) {
  .sm-list { grid-template-columns: 1fr 1fr; column-gap: 40px; }
}

.sm-note {
  margin-top: 40px;
  padding: 14px 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-m);
  background-color: #fff;
  font-size: 0.9rem;
  color: var(--color-text-sub);
  line-height: 1.85;
}

.nb { white-space: nowrap; }
.sm-lead p { text-wrap: pretty; word-break: auto-phrase; }

.sm-item__url { margin-top: 4px; font-size: 0.85rem; color: var(--color-text-sub); word-break: break-all; }
