.p-philo__wrap {
  position: relative;
  max-width: 100rem;
  margin: 0 auto;
  padding: 9rem 9rem 9rem 17.5rem;
}
@media screen and (max-width: 767px) {
  .p-philo__wrap {
    padding: 3.5rem 1.9rem 22rem;
  }
}
.p-philo__wrap::before {
  content: "";
  position: absolute;
  bottom: -1.4rem;
  left: -10rem;
  width: 22rem;
  height: 69rem;
  background: url(../img/mvp/img_philo.svg) 0 0/100% auto no-repeat;
}
@media screen and (max-width: 767px) {
  .p-philo__wrap::before {
    left: 0;
    bottom: -0.7rem;
    width: 20.05rem;
    height: 19.5rem;
    background: url(../img/mvp/img_philo_sp.svg) 0 0/100% auto no-repeat;
  }
}
.p-philo__ttl {
  font-weight: 700;
  color: #308ddb;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0 0 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-philo__ttl {
    margin: 0 0 2rem;
  }
}
.p-philo__sub {
  font-weight: 900;
  font-size: 5.2rem;
  letter-spacing: 0.1em;
  line-height: 1;
  border-bottom: 2px solid #308ddb;
  padding: 0 0 2rem;
  margin: 6rem 0 2.2rem;
}
.p-philo__sub:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-philo__sub {
    border-bottom: 0;
    margin: 4rem 0 2rem;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-philo__border {
    display: block;
    width: max-content;
    border-bottom: 2px solid #308ddb;
    padding: 0 0 1.6rem;
  }
  .p-philo__border + .p-philo__border {
    margin-top: 1.2rem;
  }
}
.p-philo__txt {
  letter-spacing: 0.2em;
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .p-philo__txt {
    letter-spacing: 0.05em;
  }
}

.p-about {
  background: #308ddb;
  padding: 12rem 0 11rem;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding: 4.75rem 1.9rem;
  }
}
.p-about-block {
  position: relative;
  max-width: 100rem;
  margin: 0 auto;
}
.p-about-block-head {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  max-width: max-content;
  gap: 0 2.4rem;
  border-bottom: 1px solid #b5e0f8;
  padding: 0 2.8rem 1.6rem 0;
  margin: 0 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-about-block-head {
    padding: 0 0 1.7rem 0;
    margin: 0 0 1.6rem;
  }
}
.p-about-block-head__en {
  width: auto;
  height: 1.4rem;
  line-height: 0;
}
.p-about-block-head__en img {
  width: auto;
  height: 100%;
}
.p-about-block-head__ttl {
  font-size: 2.4rem;
  font-weight: 900;
  color: #b5e0f8;
  letter-spacing: 0.05em;
  line-height: 1;
}
.p-about-block__ttl {
  line-height: 1.6;
  font-size: 3.6rem;
  color: #fff;
  font-weight: 900;
}
.p-about-block__large {
  color: #ffe100;
  font-size: 5.6rem;
  line-height: 1;
}
.p-about-block__txt {
  font-weight: 500;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.15em;
  margin: 1rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-about-block__txt {
    letter-spacing: 0.05em;
  }
}
.p-about-block__icn {
  position: absolute;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-block__icn {
    position: relative;
    margin: 0 0 2.5rem;
  }
}
.p-about-block__img {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-about-block__img {
    display: none;
  }
}
.p-about-block--mission {
  padding: 0 0 0 40.3rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--mission {
    padding: 0;
  }
}
.p-about-block--mission .p-about-block__icn {
  top: 0;
  left: 0;
  width: 35rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--mission .p-about-block__icn {
    top: auto;
    left: auto;
    width: 30.8rem;
  }
}
.p-about-block--mission .p-about-block__img {
  width: 16rem;
  right: -3.4rem;
  bottom: -3rem;
}
.p-about-block--vision {
  margin-top: 18rem;
  padding: 0 0 0 20rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--vision {
    padding: 0;
    margin-top: -4rem;
  }
}
.p-about-block--vision .p-about-block__icn {
  top: -7rem;
  right: -5rem;
  width: 34rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--vision .p-about-block__icn {
    top: auto;
    right: auto;
    width: 35.2rem;
    margin-left: -0.6rem;
  }
}
.p-about-block--vision .p-about-block__img {
  width: 16rem;
  top: -1rem;
  left: -3.4rem;
}
.p-about-block--principles {
  margin-top: 12rem;
  padding: 0 0 0 33rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--principles {
    margin-top: 2rem;
    padding: 0;
  }
}
.p-about-block--principles .p-about-block__icn {
  top: 0;
  left: 1.4rem;
  width: 28.4rem;
}
@media screen and (max-width: 767px) {
  .p-about-block--principles .p-about-block__icn {
    top: auto;
    left: auto;
    width: 31.5rem;
    margin-left: auto;
  }
}
.p-about-block--principles .p-about-block__img {
  width: 24rem;
  top: 0;
  right: -2rem;
}
.p-about-list {
  max-width: 100rem;
  margin: 21rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-about-list {
    margin-top: 9rem;
  }
}
.p-about-list__item {
  padding: 0 0 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-list__item {
    padding: 0;
  }
}
.p-about-list__item + .p-about-list__item {
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-list__item + .p-about-list__item {
    margin-top: 5.4rem;
  }
}
.p-about-list__head {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.6rem;
  margin: 0 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-about-list__head {
    align-items: flex-start;
    flex-flow: column;
    gap: 1.5rem;
    margin: 0 0 1rem;
  }
}
.p-about-list__ttl {
  font-size: 5.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #ffe100;
}
@media screen and (max-width: 767px) {
  .p-about-list__ttl {
    line-height: 1.2;
    font-size: 5.4rem;
  }
}
.p-about-list__small {
  font-size: 4.2rem;
  line-height: 1;
}
.p-about-list__sub {
  font-weight: 900;
  color: #fff;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin: 0 0 1rem;
  padding: 0 0 0 7rem;
}
@media screen and (max-width: 767px) {
  .p-about-list__sub {
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    padding: 0;
  }
}
.p-about-list__txt {
  font-weight: 500;
  color: #fff;
  line-height: 1.875;
  letter-spacing: 0.2em;
  padding: 0 0 0 7rem;
}
@media screen and (max-width: 767px) {
  .p-about-list__txt {
    letter-spacing: 0.1em;
    padding: 0;
  }
}
.p-about-list__btn {
  width: 23rem;
  height: 3.2rem;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  margin: 2.4rem 4.5rem 0 auto;
}
@media screen and (max-width: 767px) {
  .p-about-list__btn {
    width: 27.6rem;
    height: 3.85rem;
    font-size: 1.6rem;
    margin: 2rem auto 0;
  }
}
.p-about-list__btn a {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 5rem;
  color: #fff;
  padding: 0 0 0.2rem;
}
@media (any-hover: hover) {
  .p-about-list__btn a:hover {
    background: #3064db;
    opacity: 1;
  }
}
.p-about-list__btn a:focus-visible, .p-about-list__btn a:active {
  background: #3064db;
  opacity: 1;
}
.p-about-list__btn a::before {
  content: "";
  position: absolute;
  top: 1.1rem;
  right: -2rem;
  width: 4rem;
  height: 0.4rem;
  background: url(../img/common/icn_arrow.svg) 0 0/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .p-about-list__btn a::before {
    width: 4.8rem;
    height: 0.48rem;
  }
}