@charset "UTF-8";
.section:has(.smap) { padding-top: 0; }
.smap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
.smap__g { border-top: var(--bd) solid var(--c-ink); padding-top: var(--space-5); }
.smap__g--full { grid-column: 1 / -1; }
.smap__g--wide { grid-column: span 2; }
.smap__g--top { display: flex; align-items: baseline; gap: var(--space-5); padding-top: var(--space-4); }
.smap__g--top .smap__h { margin-top: 0; }
.smap__en { font-size: var(--fs-2); font-weight: var(--fw-medium); letter-spacing: calc(var(--fs-2) * 7 / 100); color: var(--c-accent-2-dark); }
.smap__h { margin-top: var(--space-2); font-family: var(--ff-serif); font-size: var(--fs-5); font-weight: normal; }
.smap__h a { transition: color var(--t-1); }
.smap__list { margin-top: var(--space-4); }
.smap__list--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7); }
.smap__list li { border-bottom: var(--bd) solid var(--c-line); }
.smap__list a, .smap__list [aria-current] { position: relative; display: block; padding: var(--space-3) var(--space-5) var(--space-3) 0; font-size: var(--fs-3); color: var(--c-ink); text-decoration: none; transition: color var(--t-1); }
.smap__list a:not([target])::after { content: "\203A"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--c-accent); }
.smap__list [aria-current] { color: var(--c-ink-sub); }
.smap a:is(:hover, :focus-visible) { color: var(--c-accent); }
.smap__sub { margin-top: var(--space-6); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7); row-gap: var(--space-3); }
.smap__sub-t { grid-column: 1 / -1; font-size: var(--fs-2); color: var(--c-ink-sub); }
.smap__card { padding: var(--space-4) var(--space-5); background: var(--c-tint); }
.smap__card .smap__h { margin-top: 0; font-size: var(--fs-4); }
.smap__card .smap__list { margin-top: var(--space-2); }
.smap__card .smap__list li { border-bottom: 0; }
.smap__card .smap__list a { padding-block: var(--space-1); }
@media (max-width: 1024px) {
  .smap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smap__g--wide { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .smap { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .smap__list--2, .smap__sub { grid-template-columns: minmax(0, 1fr); }
}
