/**
 * Mixin
 */
:root {
  --ww: 100vw;
  --pw: 1920;
}
@media (min-width: 1921px) {
  :root {
    --ww: 1920px;
  }
}
@media only screen and (max-width: 767px) {
  :root {
    --pw: 375;
  }
}

.page_ttl {
  color: #000000;
  padding: 200px 0 90px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .page_ttl {
    padding: 70px 0 36px;
  }
}

.page_ttl::after {
  top: 0;
}

.content {
  background-color: #F5F5F5;
  padding-bottom: 170px;
}

.page_ttl__txt {
  font-size: 1.8rem;
  max-width: 860px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .page_ttl__txt {
    font-size: 1.6rem;
  }
}

.pp_content {
  background-color: #fff;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .pp_content {
    margin-top: 30px;
  }
}

.pp_content__inner {
  max-width: 860px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 90px 0 160px;
}
@media only screen and (max-width: 767px) {
  .pp_content__inner {
    padding: 0;
    width: 100%;
  }
}
.pp_content__inner h2 {
  background-color: #A8A8A8;
  color: #fff;
  padding: 10px 16px;
}
@media only screen and (max-width: 767px) {
  .pp_content__inner h2 {
    padding: 10px 20px;
  }
}
.pp_content__inner p {
  padding: 15px 0 20px;
}
@media only screen and (max-width: 767px) {
  .pp_content__inner p {
    padding: 10px 20px 15px;
  }
}
.pp_content__inner ol {
  padding-left: 2em;
  padding-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .pp_content__inner ol {
    padding: 0 20px 15px calc(2em + 20px);
  }
}