.p-sitemap {
  --sitemap-inner: calc(1040 * var(--to-rem));
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}

.p-sitemap__inner {
  width: min(var(--sitemap-inner), 100% - 48 * var(--to-rem));
  margin-inline: auto;
}

.p-sitemap__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(52 * var(--to-rem)) calc(56 * var(--to-rem));
  padding-block: calc(88 * var(--to-rem)) calc(130 * var(--to-rem));
}

.p-sitemap__main-link {
  display: flex;
  gap: calc(16 * var(--to-rem));
  align-items: baseline;
  padding-block-end: calc(16 * var(--to-rem));
  border-bottom: 1px solid #2f3e5c;
  color: #1f1f1f;
  text-decoration: none;
  transition: border-color 0.25s;
}

.p-sitemap__english {
  flex: none;
  color: #2f3e5c;
  font-family: Jost, sans-serif;
  font-size: calc(13 * var(--to-rem));
  letter-spacing: 0.2em;
}

.p-sitemap__title {
  font-size: calc(19 * var(--to-rem));
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
  transition: color 0.25s;
}

.p-sitemap__list {
  display: grid;
  gap: calc(2 * var(--to-rem));
  margin: calc(18 * var(--to-rem)) 0 0;
  padding: 0;
  list-style: none;
}

.p-sitemap__sub-link {
  display: flex;
  gap: calc(12 * var(--to-rem));
  padding: calc(11 * var(--to-rem)) calc(4 * var(--to-rem));
  border-bottom: 1px solid #f0efed;
  color: #444;
  font-size: calc(15 * var(--to-rem));
  letter-spacing: 0.02em;
  text-decoration: none;
}

.p-sitemap__arrow {
  flex: none;
  stroke: #2f3e5c;
  stroke-width: 1.6;
  transition: transform 0.2s;
}

@media (any-hover: hover) {
  .p-sitemap__main-link:hover {
    border-color: #2f3e5c;
    opacity: 1;
  }
  .p-sitemap__main-link:hover .p-sitemap__title,
  .p-sitemap__sub-link:hover {
    color: #2f3e5c;
    opacity: 1;
  }
  .p-sitemap__sub-link:hover .p-sitemap__arrow {
    transform: translateX(calc(4 * var(--to-rem)));
  }
}
@media screen and (max-width: 767px) {
  .p-sitemap__grid {
    grid-template-columns: 1fr;
    gap: calc(52 * var(--to-rem));
    padding-block: calc(88 * var(--to-rem)) calc(130 * var(--to-rem));
  }
}