.site-legal {
  max-width: 72rem;
  margin: 0 auto;
  padding: 1rem clamp(1.2rem, 5vw, 4rem) 2rem;
  font: .9rem/1.5 system-ui, sans-serif;
}
.site-legal nav, .notice nav { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; }
.site-legal a, .notice a { color: #384766; text-underline-offset: .2em; }
.notice {
  margin: 0;
  background: #f6f4fa;
  color: #282938;
  font: 1rem/1.65 system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.notice header, .notice main, .notice footer {
  max-width: 43rem;
  margin: 0 auto;
  padding: 1.5rem clamp(1.2rem, 5vw, 3rem);
}
.notice header { border-bottom: 1px solid #ddd9e7; }
.notice header a { font-weight: 650; }
.notice h1, .notice h2 { line-height: 1.15; letter-spacing: -.035em; }
.notice h1 { font-size: clamp(2.2rem, 9vw, 3.8rem); margin: .2em 0; }
.notice h2 { font-size: 1.45rem; margin: 2em 0 .5em; }
.notice p { margin: .6em 0; }
.notice time { color: #53576b; font-size: .89rem; }
.notice footer { border-top: 1px solid #ddd9e7; padding-bottom: 3rem; }
.notice a:focus-visible, .site-legal a:focus-visible { outline: 2px solid #423770; outline-offset: 3px; }
