body {
  background-image: url(../img/body_bg.png);
  background-position: center top;
  background-repeat: repeat;
  background-size: cover;
  background-attachment: fixed;
}

.policy {
  margin: 6.5rem auto;
}

.policy .section {
  margin-bottom: 8rem;
}

.mt-30 {
  margin-top: 3rem;
}

h2 {
  display: block;
  position: relative;
  font-size: 1.6rem;
  margin-bottom: 7rem;
}

h2::before {
  content: "";
  background-image: url(../img/privacy-policy_ttl.png);
  display: block;
  width: 27rem;
  height: 4.32rem;
  margin-bottom: 0.5rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center left;
}

h3 {
  margin-bottom: 4rem;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

ol {
  list-style: decimal;
  list-style-position: outside;
  padding-left: 2rem;
}


ol.ml-2 {
  margin-left: 1.6rem;
}

ol li {
  font-size: 1.6rem;
  line-height: calc(30/16);
}

main a {
  font-size: 1.6rem;
  line-height: 1.875;
  text-decoration: underline;
  text-underline-offset: 1rem;
}

.l-main {
 background: none;
 background-attachment: unset;
}

@media screen and (max-width: 768px) {
  .policy {
    margin: 7rem auto 5rem;
  }

  .policy .section {
    margin-bottom: 9rem;
  }

  h2 {
    font-size: 3rem;
    margin-bottom: 11rem;
  }

  h2::before {
    width: 33.8rem;
    height: 5.4rem;
    margin-bottom: 1rem;
  }

  h3 {
    font-size: 4rem;
  }

  ol li {
    font-size: 3rem;
  }

  main a {
    font-size: 3rem;
    text-underline-offset: 1.5rem;
  }

  .l-main {
    background: none;
  }
}