/* sitemap — 生成元: 実装/sitemap.dc.html */
a { color: #E24369; }
    a:hover { color: #C63056; }
    .sm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
    .sm-col { display: flex; flex-direction: column; gap: 22px; }
    .sm-parent[aria-current="page"] { color: #E24369; }
    .sm-card { background: #FFFFFF; border: 1px solid #EFE7DB; border-radius: 14px; padding: 26px 26px 28px; box-shadow: 0 8px 24px rgba(180,120,130,0.06); }
    .sm-parent { display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 700; text-decoration: none; color: #524740; letter-spacing: 0.04em; line-height: 1.5; }
    .sm-parent:hover { color: #E24369; }
    .sm-parent__icon { flex: none; display: inline-flex; }
    .sm-children { margin: 20px 0 0; padding: 18px 0 0; border-top: 1px dashed #EAD9C9; list-style: none; display: flex; flex-direction: column; gap: 12px; }
    .sm-children a { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; color: #6B6058; text-decoration: none; letter-spacing: 0.03em; transition: color 0.2s ease; }
    .sm-children a:hover { color: #E24369; }
    .sm-children a::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #F0A9BA; }
    .sm-children a:hover::before { background: #E24369; }

    /* ===== SP (≤768px) — PC版(769px以上)は一切変更しない ===== */
    @media (max-width: 768px) {
      .sm-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
      .sm-col { gap: 16px; }
      .sm-card { padding: 22px 20px 24px !important; }
    }
