/* Policy typography only; the approved shared Header/Footer remain unchanged. */
.privacy-page {
  color: #102c53;
  background: #fff;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.privacy-page * { box-sizing: border-box; }
.privacy-page .privacy-page__outer { max-width: 1180px; margin-inline: auto; padding: 54px 20px 80px; }
.privacy-page .privacy-document { max-width: 880px; margin-inline: auto; }
.privacy-page .privacy-page__intro { margin-bottom: 40px; padding-bottom: 26px; border-bottom: 1px solid #b9d2f0; }
.privacy-page h1 { margin: 0; color: #052a5f; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 38px; line-height: 1.5; font-weight: 600; }
.privacy-page h2 { margin: 34px 0 12px; color: #052a5f; font-size: 22px; line-height: 1.6; font-weight: 700; }
.privacy-page .privacy-page__content > h2:first-child { margin-top: 0; }
.privacy-page p { margin: 0 0 16px; }
.privacy-page ul { margin: 0 0 18px; padding-left: 1.5em; }
.privacy-page li { margin-block: 4px; }
.privacy-page a { color: #2766b9; text-decoration: underline; text-underline-offset: .2em; }
.privacy-page a:hover { color: #073575; }
.privacy-page a:focus-visible { outline: 3px solid #2766b9; outline-offset: 3px; }
@media (max-width: 959px) {
  .privacy-page { font-size: 15px; }
  .privacy-page .privacy-page__outer { padding-block: 32px 48px; }
  .privacy-page .privacy-page__intro { margin-bottom: 28px; padding-bottom: 20px; }
  .privacy-page h1 { font-size: 28px; line-height: 1.6; }
  .privacy-page h2 { margin-top: 28px; font-size: 19px; }
}
