/* Minimal legal-page treatment, measured from the supplied reference. */
body.kp-legal-page {
  background: #ffffff;
  color: #404040;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.95;
}

.kp-skip-link {
  position: fixed;
  top: -80px;
  left: 16px;
  z-index: 1200;
  padding: 9px 12px;
  background: #ffffff;
  color: #0000cc;
  font-weight: 700;
}

.kp-skip-link:focus {
  top: 12px;
}

body.kp-legal-page main#main {
  width: min(920px, calc(100% - 44px));
  padding: clamp(116px, 12vw, 156px) 0 clamp(104px, 14vw, 152px);
}

body.kp-legal-page .back-link,
body.kp-legal-page .category {
  display: none;
}

body.kp-legal-page h1,
body.kp-legal-page h2 {
  color: #3b3b3b;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0;
}

body.kp-legal-page h1 {
  max-width: none;
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #c9c9c9;
  font-size: clamp(1.32rem, 2.6vw, 2.05rem);
  line-height: 1.42;
}

body.kp-legal-page .kp-legal-meta {
  margin: 0;
  color: #777777;
  font-size: 0.875rem;
  line-height: 1.75;
}

body.kp-legal-page .kp-legal-title__jp {
  display: inline-block;
  white-space: normal;
}

.kp-legal-title__en {
  display: block;
  margin-top: 3px;
  color: #777777;
  font-size: 0.48em;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

body.kp-legal-page .article-card {
  margin-top: clamp(64px, 8vw, 88px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.kp-legal-page .article-card section,
body.kp-legal-page .article-card section:first-child {
  margin: clamp(76px, 9vw, 104px) 0 0;
  padding: 0;
  border: 0;
}

body.kp-legal-page .article-card section:first-child {
  margin-top: 0;
}

body.kp-legal-page .article-card h2 {
  margin: 0 0 19px;
  padding-bottom: 12px;
  border-bottom: 1px solid #c9c9c9;
  color: #3b3b3b;
  font-size: clamp(1.16rem, 2.2vw, 1.72rem);
  font-weight: 700;
  line-height: 1.48;
}

body.kp-legal-page .article-card p,
body.kp-legal-page .article-card li {
  margin-bottom: 14px;
  color: #4a4a4a;
  font-size: 1.0625rem;
  line-height: 1.95;
}

body.kp-legal-page .article-card a {
  color: #404040;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

body.kp-legal-page .article-card > p:last-child {
  margin-top: clamp(90px, 13vw, 145px);
  color: #565656;
}

.kp-legal-footer {
  margin: 0;
  padding: 44px 22px calc(88px + env(safe-area-inset-bottom));
  border-top: 1px solid #c9c9c9;
  background: #ffffff;
  color: #4a4a4a;
}

.kp-legal-footer__inner {
  width: min(920px, 100%);
}

.kp-legal-footer__top {
  align-items: flex-start;
  padding-bottom: 24px;
  border-bottom-color: #dddddd;
}

.kp-legal-footer__brand {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.kp-legal-footer__brand img {
  width: 118px;
}

.kp-legal-footer a,
.kp-legal-footer__legal a,
.kp-legal-footer__bottom p {
  color: #4a4a4a;
}

.kp-legal-footer a:hover,
.kp-legal-footer a:focus-visible {
  color: #0000cc;
}

@media (max-width: 700px) {
  body.kp-legal-page main#main {
    width: calc(100% - 44px);
    padding-top: 100px;
  }

  body.kp-legal-page h1 {
    font-size: 1.32rem;
  }

  body.kp-legal-page .kp-legal-title__jp {
    white-space: normal;
  }

  body.kp-legal-page .article-card h2 {
    font-size: 1.18rem;
  }

  body.kp-legal-page .article-card p,
  body.kp-legal-page .article-card li {
    font-size: 1rem;
    line-height: 1.9;
  }

  .kp-legal-footer__links,
  .kp-legal-footer__legal {
    gap: 12px 18px;
  }
}
