.fv {
  position: relative;
  background-color: #c6d5d4;
  z-index: 3;
}
@media (min-width: 768px) {
  .fv {
    height: 300px;
    margin-bottom: 8.78vw;
  }
}
@media (max-width: 767px) {
  .fv {
    height: 34.67vw;
    margin: 70px 0 13.33vw;
  }
}
.fv::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(../img/common/co_gr1_fr_btm_2x.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 101% auto;
}
@media (min-width: 768px) {
  .fv::after {
    height: 8.78vw;
    bottom: -8.65vw;
  }
}
@media (max-width: 767px) {
  .fv::after {
    height: 13.33vw;
    bottom: -13vw;
  }
}
.fv__wrapper {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .fv__wrapper {
    padding-top: 220px;
  }
}
@media (max-width: 767px) {
  .fv__wrapper {
    padding-top: 12vw;
  }
}
.fv__head {
  color: #2FC986;
  line-height: 1;
  letter-spacing: 0.04em;
  z-index: 10;
}
@media (min-width: 768px) {
  .fv__head {
    font-size: 6vw;
  }
}
@media (max-width: 767px) {
  .fv__head {
    font-size: 14.67vw;
  }
}
.fv__subtitle {
  color: #fff;
}

.privacy {
  position: relative;
  background-color: #fff;
  z-index: 2;
}
@media (min-width: 768px) {
  .privacy {
    margin-bottom: 8.78vw;
    padding: 60px 0 20px;
  }
}
@media (max-width: 767px) {
  .privacy {
    margin-bottom: 13.33vw;
    padding: 40px 0 0;
  }
}
.privacy::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(../img/common/co_w_fr_btm_2x.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 101% auto;
}
@media (min-width: 768px) {
  .privacy::after {
    height: 8.78vw;
    bottom: -8.65vw;
  }
}
@media (max-width: 767px) {
  .privacy::after {
    height: 13.33vw;
    bottom: -13vw;
  }
}
@media (min-width: 768px) {
  .privacy__wrapper {
    max-width: 1060px;
    padding: 0 30px;
  }
}
@media (max-width: 767px) {
  .privacy__wrapper {
    width: 80vw;
  }
}
.privacy__p, .privacy__dl {
  line-height: 44px;
}
.privacy__dl dt {
  color: #2fc986;
}
.privacy__ol, .privacy__ul {
  list-style-position: inside;
}
@media (min-width: 768px) {
  .privacy__ol .privacy__ol,
  .privacy__ol .privacy__p, .privacy__ul .privacy__ol,
  .privacy__ul .privacy__p {
    padding-left: 30px;
  }
}
@media (max-width: 767px) {
  .privacy__ol .privacy__ol,
  .privacy__ol .privacy__p, .privacy__ul .privacy__ol,
  .privacy__ul .privacy__p {
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .privacy__ol .privacy__ol .privacy__ol,
  .privacy__ol .privacy__p .privacy__ol, .privacy__ul .privacy__ol .privacy__ol,
  .privacy__ul .privacy__p .privacy__ol {
    padding-left: 70px;
  }
}
@media (max-width: 767px) {
  .privacy__ol .privacy__ol .privacy__ol,
  .privacy__ol .privacy__p .privacy__ol, .privacy__ul .privacy__ol .privacy__ol,
  .privacy__ul .privacy__p .privacy__ol {
    padding-left: 0;
  }
}
.privacy__ol li, .privacy__ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.privacy__ol li::marker, .privacy__ul li::marker {
  font-weight: bold;
  color: #2fc986;
}

.contact {
  position: relative;
  background-color: #c6d5d4;
  z-index: 1;
}
@media (min-width: 768px) {
  .contact {
    margin: -8.78vw 0 8.78vw;
    padding: calc(8.78vw + 40px) 0 20px;
  }
}
@media (max-width: 767px) {
  .contact {
    margin-top: -13.33vw;
    padding: calc(13.33vw + 40px) 0 0;
  }
}
.contact::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(../img/common/co_gr1_fr_btm_2x.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 101% auto;
}
@media (min-width: 768px) {
  .contact::after {
    height: 8.78vw;
    bottom: -8.65vw;
  }
}
@media (max-width: 767px) {
  .contact::after {
    height: 13.33vw;
    bottom: -13vw;
  }
}
@media (min-width: 768px) {
  .contact__wrapper {
    max-width: 1040px;
    padding: 0 20px;
  }
}
.contact__p, .contact__dl {
  line-height: 44px;
}
.contact__dl dt {
  color: #2fc986;
}
.contact__ol, .contact__ul {
  list-style-position: inside;
}
.contact__ol .privacy__ol,
.contact__ol .privacy__p, .contact__ul .privacy__ol,
.contact__ul .privacy__p {
  padding-left: 30px;
}
.contact__ol .privacy__ol .privacy__ol,
.contact__ol .privacy__p .privacy__ol, .contact__ul .privacy__ol .privacy__ol,
.contact__ul .privacy__p .privacy__ol {
  padding-left: 70px;
}
.contact__ol li, .contact__ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.contact__ol li::marker, .contact__ul li::marker {
  font-weight: bold;
  color: #2fc986;
}
.contact__box {
  background-color: #fff;
  border-radius: 10px;
}
@media (min-width: 768px) {
  .contact__box {
    max-width: 620px;
    padding: 40px;
  }
}
@media (max-width: 767px) {
  .contact__box {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .contact__text {
    line-height: 28px;
    padding-left: 1em;
    text-indent: -1em;
  }
}
.contact__text span {
  color: #2fc986;
}
@media (min-width: 768px) {
  .contact__text span {
    width: 9em;
  }
}