.p-concept {
  padding: 9rem 0;
}
@media screen and (max-width: 767px) {
  .p-concept {
    padding: 21.3333333333vw 0 16vw;
  }
}
.p-concept-headline {
  font-size: 4.5rem;
  letter-spacing: 0.06em;
  line-height: 3.3333333333;
  font-weight: 700;
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-concept-headline {
    font-size: 7.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-concept-lead {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 2.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-concept-lead {
    font-size: 3.4666666667vw;
    letter-spacing: 0;
  }
}
.p-concept-lead + p {
  margin-top: 4.3rem;
}
@media screen and (max-width: 767px) {
  .p-concept-lead + p {
    margin-top: 9.0666666667vw;
  }
}

.p-movement {
  background: #f3f4f5;
  padding: 9.3rem 0 10rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-movement {
    padding: 13.3333333333vw 0 10.6666666667vw;
    margin-bottom: 13.3333333333vw;
  }
}
.p-movement-headline {
  font-size: 4.5rem;
  letter-spacing: 0.08em;
  line-height: 2.2222222222;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-movement-headline {
    font-size: 7.4666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-movement-lead {
  margin-bottom: 10.2rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 2.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-movement-lead {
    font-size: 3.4666666667vw;
    letter-spacing: 0;
    margin-bottom: 8vw;
  }
}
.p-movement-note {
  color: #666;
  margin-bottom: 12rem;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-movement-note {
    font-size: 2.6666666667vw;
    text-align: left;
  }
}
.p-movement-unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-movement-unit {
    display: block;
    padding: 0 5.3333333333vw;
  }
}
.p-movement-unit .txt {
  margin-bottom: 3.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .p-movement-unit .txt {
    margin-bottom: 5.3333333333vw;
  }
}
.p-movement-unit .txt .ttl {
  font-size: 3.8rem;
  letter-spacing: 0.04em;
  line-height: 1.5789473684;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit .txt .ttl {
    font-size: 5.3333333333vw;
    letter-spacing: 0;
  }
}
.p-movement-unit .txt p {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 2.8125;
}
@media screen and (max-width: 767px) {
  .p-movement-unit .txt p {
    font-size: 3.2vw;
    letter-spacing: 0;
    line-height: 2;
  }
}
.p-movement-unit:nth-of-type(1) .img {
  width: 72.9rem;
  margin-top: -2rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit:nth-of-type(1) .img {
    margin: 0 auto;
    width: 90%;
  }
}
.p-movement-unit:nth-of-type(1) .txt {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit:nth-of-type(1) .txt {
    margin-top: 0;
  }
}
.p-movement-unit:nth-of-type(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit:nth-of-type(2) {
    margin-top: 5.3333333333vw;
    padding-left: 0;
  }
}
.p-movement-unit:nth-of-type(2) .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 75.8rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit:nth-of-type(2) .img {
    margin: 0 auto;
    width: 90%;
    position: static;
  }
}
.p-movement-unit:nth-of-type(2) .txt {
  margin-top: 12rem;
  text-align: right;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-movement-unit:nth-of-type(2) .txt {
    margin-bottom: 5.3333333333vw;
    margin-top: 0;
  }
}

.p-bunner {
  margin: 15rem 0 13rem;
  text-align: center;
}
.p-bunner img {
  width: 90rem;
}
@media screen and (max-width: 767px) {
  .p-bunner img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-bunner {
    margin: 0 0 18.6666666667vw;
  }
  .p-bunner .c-inner {
    margin: 0;
    padding: 0;
  }
}

.p-movement {
  padding-bottom: 0.1rem;
}
@media screen and (max-width: 767px) {
  .p-movement {
    padding-bottom: 5.3333333333vw;
  }
}

.p-movement-unit + .p-movement-note {
  margin-top: 18rem;
}
@media screen and (max-width: 767px) {
  .p-movement-unit + .p-movement-note {
    margin-top: 5rem;
  }
}