*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #ececec;
  color: #2f3238;
}

/* Use the same header shell as top page, but fixed for document pages. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(15, 12, 10, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(220, 195, 154, 0.14);
}

.header-inner {
  min-height: 86px;
  padding-top: 0;
}

.legal-main {
  width: min(1600px, calc(100% - 60px));
  margin: 38px auto 84px;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.legal-main h1 {
  margin: 0 0 36px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  letter-spacing: 0.01em;
}

.legal-block {
  margin-bottom: 56px;
}

.legal-block h2 {
  margin: 0 0 28px;
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1.55;
}

.legal-block p {
  margin: 0 0 20px;
  font-size: 1.02rem;
  line-height: 1.95;
}

.legal-note {
  margin-top: 40px;
  padding-top: 34px;
  border-top: 1px solid #d7d7d7;
}

.site-footer {
  color: #f4eee3;
}

.site-footer .footer-branding p,
.site-footer .footer-contact p {
  color: rgba(244, 238, 227, 0.82);
}

@media (max-width: 920px) {
  .legal-main {
    width: min(100% - 32px, 1600px);
    margin: 26px auto 58px;
  }

  .legal-block {
    margin-bottom: 42px;
  }

  .legal-main h1 {
    margin-bottom: 26px;
  }
}
