/* =====================================================
   SWIT / LEGAL PAGE
===================================================== */


/* =====================================================
   LEGAL PAGE / BASE
===================================================== */

.legal-page {
  width: 100%;
  max-width: 900px;

  margin: 0 auto !important;
  padding: 80px 0 104px !important;
}


.legal-page
> .wp-block-group__inner-container,
.legal-page__header
> .wp-block-group__inner-container,
.legal-page__body
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* -----------------------------------------------------
   LEGAL PAGE / HEADER
----------------------------------------------------- */

.legal-page__header {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}


.legal-page__lead {
  max-width: 760px;

  margin-top: 28px !important;
  margin-bottom: 0 !important;

  color: var(--site-body);

  font-size: 15px;
  line-height: 2;
}


/* -----------------------------------------------------
   LEGAL PAGE / BODY
----------------------------------------------------- */

.legal-page__body {
  width: 100%;

  margin-top: 64px !important;
  padding: 0 !important;
}


/*
 * SWELL標準の見出し装飾を解除し、
 * 法務ページではシンプルな見出しとして表示する。
 */
.post_content
.legal-page
:is(h2, h3, h4) {
  position: relative;

  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;
}


.post_content
.legal-page
:is(h2, h3, h4)::before,
.post_content
.legal-page
:is(h2, h3, h4)::after {
  display: none !important;

  content: none !important;
}


/* -----------------------------------------------------
   LEGAL PAGE / H2
----------------------------------------------------- */

/*
 * SWELL側の見出し文字色を確実に上書きする。
 * 現在の白背景で見出しが薄くなる問題への対策。
 */
.post_content
.legal-page
.legal-page__body
h2 {
  margin-top: 52px !important;
  margin-bottom: 18px !important;

  color: var(--site-heading) !important;

  font-size: 22px !important;
  font-weight: 700 !important;

  line-height: 1.6 !important;
  letter-spacing: -.015em !important;
}


.post_content
.legal-page
.legal-page__body
h2:first-child {
  margin-top: 0 !important;
}


/* -----------------------------------------------------
   LEGAL PAGE / H3
----------------------------------------------------- */

.post_content
.legal-page
.legal-page__body
h3 {
  margin-top: 36px !important;
  margin-bottom: 14px !important;

  color: var(--site-heading) !important;

  font-size: 18px !important;
  font-weight: 700 !important;

  line-height: 1.7 !important;
}


/* -----------------------------------------------------
   LEGAL PAGE / TEXT
----------------------------------------------------- */

.legal-page__body
p {
  max-width: 820px;

  margin-top: 0 !important;
  margin-bottom: 14px !important;

  color: var(--site-body) !important;

  font-size: 14px;
  line-height: 2;
}


.legal-page__body
:is(ul, ol) {
  max-width: 820px;

  margin-top: 14px !important;
  margin-bottom: 20px !important;
  padding-left: 1.5em !important;
}


.legal-page__body
li {
  margin: 5px 0 !important;

  color: var(--site-body) !important;

  font-size: 14px;
  line-height: 1.9;
}


.legal-page__body
a {
  color: var(--site-primary) !important;

  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}


/* =====================================================
   RESPONSIVE / <= 959px
===================================================== */

@media (max-width: 959px) {

  .legal-page {
    padding-top: 64px !important;
    padding-bottom: 88px !important;
  }


  .legal-page__body {
    margin-top: 56px !important;
  }

}


/* =====================================================
   RESPONSIVE / <= 767px
===================================================== */

@media (max-width: 767px) {

  .legal-page {
    padding-top: 48px !important;
    padding-bottom: 72px !important;
  }


  .legal-page__lead {
    margin-top: 24px !important;

    font-size: 14px;
    line-height: 1.95;
  }


  .legal-page__body {
    margin-top: 44px !important;
  }


  .post_content
  .legal-page
  .legal-page__body
  h2 {
    margin-top: 44px !important;
    margin-bottom: 14px !important;

    font-size: 20px !important;
  }


  .post_content
  .legal-page
  .legal-page__body
  h3 {
    margin-top: 30px !important;

    font-size: 17px !important;
  }


  .legal-page__body
  p,
  .legal-page__body
  li {
    font-size: 14px;
  }

}
