.c-page-hdr {
  background-image: url("../img/ttl_bg.png");
}
@media screen and (max-width: 767px) {
  .c-page-hdr {
    background-image: url("../img/ttl_bg_sp.png");
  }
  .c-page-hdr__ttl {
    text-align: center;
  }
}

.p-first {
  padding-bottom: 6.25em;
}
@media screen and (max-width: 767px) {
  .p-first {
    padding-bottom: 16vw;
  }
}
.p-first__ttl {
  text-align: center;
  font-size: 3.4rem;
  margin-bottom: 1.1764705882em;
}
@media screen and (max-width: 980px) {
  .p-first__ttl {
    font-size: 3.4693877551vw;
  }
}
@media screen and (max-width: 767px) {
  .p-first__ttl {
    font-size: 5.6vw;
  }
}
.p-first__body {
  font-size: 1.8rem;
}
@media screen and (max-width: 980px) {
  .p-first__body {
    font-size: 1.8367346939vw;
  }
}
@media screen and (max-width: 767px) {
  .p-first__body {
    font-size: 4vw;
  }
}

.p-about {
  padding-top: 4.375em;
  padding-bottom: 6.25em;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding-top: 13.3333333333vw;
    padding-bottom: 16vw;
  }
}
.p-about__ttl {
  text-align: center;
  font-size: 3.4rem;
  margin-bottom: 1.1764705882em;
}
@media screen and (max-width: 980px) {
  .p-about__ttl {
    font-size: 3.4693877551vw;
  }
}
@media screen and (max-width: 767px) {
  .p-about__ttl {
    font-size: 5.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .p-about__row + .p-about__row {
    margin-top: 3.125em;
  }
  .p-about__row.is-r {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .p-about__row {
    margin-top: 12vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__fig {
    width: 46.9387755102%;
  }
  .p-about__fig img {
    border-radius: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-about__fig img {
    border-radius: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__wtxt {
    width: 46.9387755102%;
    line-height: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-about__txt {
    line-height: 2;
    min-height: 5.5em;
  }
}
.p-about__sttl {
  position: relative;
  font-size: 2.6rem;
  margin-bottom: 0.8em;
  padding-left: 0.8461538462em;
}
@media screen and (max-width: 980px) {
  .p-about__sttl {
    font-size: 2.6530612245vw;
  }
}
@media screen and (max-width: 767px) {
  .p-about__sttl {
    margin: 4vw 0 3.3333333333vw 0;
    font-size: 5.6vw;
  }
}
.p-about__sttl::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #0069F0;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .p-about__sttl::before {
    top: 3.2vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
}

.p-graph {
  text-align: center;
  border-radius: 60px;
  padding: 3.125em;
  background: #fff;
  border: 3px solid #edf4fa;
  text-align: center;
  margin-bottom: 6.25em;
}
@media screen and (max-width: 767px) {
  .p-graph {
    border-radius: 5.3333333333vw;
    margin-bottom: 13.3333333333vw;
    padding: 8vw 5.3333333333vw;
  }
}
.p-graph img {
  width: 400px;
}
@media screen and (max-width: 980px) {
  .p-graph img {
    width: 40.8163265306vw;
  }
}
@media screen and (max-width: 767px) {
  .p-graph img {
    width: 100%;
  }
}
.p-graph figcaption {
  display: block;
  margin-bottom: 3.125em;
  font-size: 1.8rem;
}
.p-graph figcaption b {
  display: block;
  font-size: 2rem;
}
@media screen and (max-width: 980px) {
  .p-graph figcaption {
    margin-bottom: 4vw;
    font-size: 1.8367346939vw;
  }
  .p-graph figcaption b {
    font-size: 2.0408163265vw;
  }
}
@media screen and (max-width: 767px) {
  .p-graph figcaption {
    font-size: 4.2666666667vw;
  }
  .p-graph figcaption b {
    font-size: 4.2666666667vw;
  }
}

.p-feature {
  margin-top: 6.25em;
  border-radius: 40px;
  background: #fff;
  border: 3px solid #edf4fa;
  padding: 3.125em 2.5em;
}
@media screen and (max-width: 767px) {
  .p-feature {
    margin-top: 12vw;
    border-radius: 5.3333333333vw;
    padding: 5.3333333333vw 4vw;
  }
}
.p-feature__ttl {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 980px) {
  .p-feature__ttl {
    font-size: 2.4489795918vw;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__ttl {
    font-size: 4.2666666667vw;
  }
}
.p-feature dt {
  margin: 2em 0 1em 0;
  border-radius: 20px;
  background: #102b54;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.3em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-feature dt {
    margin: 5.3333333333vw 0 2.6666666667vw 0;
    font-size: 3.7333333333vw;
    padding: 0.1em 0 0.3em 0;
  }
}
@media screen and (max-width: 767px) {
  .p-feature dd {
    font-size: 3.2vw;
  }
}

.p-example {
  padding: 6.25em 0;
}
@media screen and (max-width: 767px) {
  .p-example {
    padding: 16vw 0;
  }
}
.p-example__ttl {
  text-align: center;
  font-size: 3.4rem;
  margin-bottom: 1.1764705882em;
}
@media screen and (max-width: 980px) {
  .p-example__ttl {
    font-size: 3.4693877551vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__ttl {
    font-size: 5.6vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__witems {
    overflow: auto;
    padding-bottom: 20px;
    margin-left: -8vw;
    margin-right: -8vw;
    padding-left: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__items {
    width: 169.3333333333vw;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-right: 4vw;
  }
}
.p-example__item {
  border-radius: 40px;
  background: #fff;
  padding: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-example__item {
    border-radius: 8vw;
    padding: 5.3333333333vw;
    width: 80vw;
    box-shadow: 0px 0px 20px rgba(39, 39, 39, 0.15);
  }
}
@media screen and (min-width: 768px) {
  .p-example__item + .p-example__item {
    margin-top: 1.875em;
  }
}
@media screen and (min-width: 768px) {
  .p-example__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-example__fig {
    width: 44.4444444444%;
  }
  .p-example__fig img {
    border-radius: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-example__fig {
    margin-bottom: 4vw;
  }
  .p-example__fig img {
    border-radius: 5.3333333333vw;
  }
}
.p-example__hdr {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-example__hdr {
    width: 48.8888888889%;
  }
}
.p-example__div {
  font-size: 1.8rem;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 980px) {
  .p-example__div {
    font-size: 2.4489795918vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__div {
    font-size: 3.4666666667vw;
  }
}
.p-example__sttl {
  font-size: 2.2rem;
}
.p-example__sttl b {
  font-size: 3.2rem;
}
.p-example__sttl span {
  font-weight: normal;
}
@media screen and (max-width: 980px) {
  .p-example__sttl {
    font-size: 2.2448979592vw;
  }
  .p-example__sttl b {
    font-size: 3.2653061224vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__sttl {
    font-size: 4.2666666667vw;
  }
  .p-example__sttl b {
    font-size: 5.6vw;
  }
}
.p-example__date {
  font-size: 1.8rem;
  margin-top: 0.5em;
  color: #B4B4B4;
}
@media screen and (max-width: 980px) {
  .p-example__date {
    font-size: 1.8367346939vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__date {
    margin-top: 0.2em;
    font-size: 3.4666666667vw;
  }
}
.p-example__wtxt {
  margin-top: 1.875em;
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width: 980px) {
  .p-example__wtxt {
    font-size: 1.8367346939vw;
  }
}
@media screen and (max-width: 767px) {
  .p-example__wtxt {
    margin-top: 0.5em;
    font-size: 3.7333333333vw;
  }
}