@charset 'UTF-8';

/* main > article */
#wrapper > main > article {
  padding: 6.4rem 0;
}
@media screen and (min-width: 768px) {
  #wrapper > main > article {
    padding: 10.4rem 0;
  }
}

/* policy */
#policy {
  padding-top: 6.7rem;
  margin-left: auto;
  /* max-width: 79rem; */
  max-width: 80rem;
}
#policy h2 {
  padding: 0.35em 0;
  margin: 0;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: calc(1.28 / 32 * 1em);
}
@media screen and (min-width: 768px) {
  #policy h2 {
    font-size: 3.2rem;
  }
}
#policy .desc {
  padding: 0.365em 0;
  font-size: 1.5rem;
  line-height: 1.73;
}
#policy .desc p {
  margin: 0;
  font-weight: 500;
  letter-spacing: calc(0.6 / 15 * 1em);
  text-align: start;
}

/* policy dl */
#policy dl {
  padding: 0;
  margin: 0;
}
#policy > dl {
  padding-top: 2.4rem;
  counter-reset: pnum;
}
@media screen and (min-width: 768px) {
  #policy > dl {
    padding-top: 4.5rem;
  }
}
#policy > dl > div {
  padding: 2.4rem 0;
  counter-increment: pnum;
}
@media screen and (min-width: 768px) {
  #policy > dl > div {
    padding: 4.5rem 0;
  }
}
#policy > dl > div:last-of-type {
  padding-bottom: 0;
}
#policy > dl > div > dt {
  padding: 0.3em 0 0.3em 1.04em;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: calc(0.88 / 22 * 1em);
  text-indent: -1.04em;
}
@media screen and (min-width: 768px) {
  #policy > dl > div > dt {
    font-size: 2.2rem;
  }
}
#policy > dl > div > dt::before {
  content: counter(pnum) ".";
  display: inline-block;
  min-width: 1.04em;
  text-indent: 0;
}
#policy dd {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.73;
  letter-spacing: calc(0.6 / 15 * 1em);
}
#policy > dl > div > dd {
  padding: 0.365em 0;
}
#policy dd p {
  margin: 0;
}
#policy dd ul {
  padding: 0;
  margin: 1.73em 0 0 0;
  list-style: none;
}
#policy dd li {
  padding-left: 1.04em;
  text-indent: -1.04em;
}
#policy dd li::before {
  content: "\30FB";
}
#policy dd dl {
  margin-top: 1.73em;
}
