.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;
  }
}
.p-about__bnr {
  margin-top: 20px;
}
.p-about__bnr h4 {
  margin-bottom: 15px;
}
@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;
  }
}