.legal-body {
  margin: 0;
  color: #252521;
  background: #f8f7f4;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.legal-page {
  box-sizing: border-box;
  width: min(100%, 700px);
  margin: 0 auto;
  padding: max(28px, env(safe-area-inset-top)) 22px max(32px, env(safe-area-inset-bottom));
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.legal-page .brand { margin: 0 0 20px; color: #6d706b; font-size: 13px; letter-spacing: .08em; }
.legal-page h1 { margin: 0 0 8px; font-size: clamp(23px, 5.8vw, 30px); line-height: 1.5; }
.legal-page .date { margin: 0 0 28px; color: #6d706b; font-size: 13px; }
.legal-page h2 { margin: 28px 0 8px; font-size: 18px; line-height: 1.6; }
.legal-page p { margin: 0 0 14px; }
.legal-page a { color: #286653; text-underline-offset: .2em; }
.legal-page a:focus-visible { outline: 2px solid #286653; outline-offset: 4px; }
.legal-page footer { margin-top: 36px; padding-top: 18px; border-top: 1px solid #deded9; }
.legal-page .back { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.legal-page .other { display: block; padding-top: 10px; font-size: 13px; }
