.p-dynamic-concept {
  padding-top: 0;
  font-family: "Noto Serif CJK JP";
  margin-bottom: 26.66667vw;
}

.p-dynamic-concept h2 {
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept {
    margin-bottom: 10rem;
  }
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept--pc-ml4 {
    margin-left: 4rem;
  }
}

.p-dynamic-concept__mv {
  margin-top: 16vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__mv {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
    margin-top: 3rem;
  }
}

.p-dynamic-concept__mv-image {
  width: 100%;
  height: auto;
}

.p-dynamic-concept__content {
  padding: 0 8vw;
  margin-top: 16vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__content {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
    margin-top: 10rem;
  }
}

.p-dynamic-concept__media-title {
  font-size: 4.8vw;
  line-height: 1.22;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-title {
    font-size: 2.6rem;
  }
}

.p-dynamic-concept__media-description {
  font-size: 3.46667vw;
  line-height: 2;
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-description {
    font-size: 1.6rem;
    margin-top: 4rem;
  }
}

.p-dynamic-concept__media-text-big {
  font-size: 4.26667vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-text-big {
    font-size: 1.8rem;
  }
}

.p-dynamic-concept__media-text-small {
  font-size: 2.93333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-text-small {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-01 {
    display: flex;
    align-items: center;
    width: 100%;
  }
}

.p-dynamic-concept__media-image-01 {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-image-01 {
    width: calc(700 / 1200 * 100%);
    margin-right: 6.66667vw;
    margin-left: -8.33333vw;
  }
}

.p-dynamic-concept__media-body-01 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-01 {
    margin-top: 0;
  }
}

.p-dynamic-concept__media-title-01 {
  font-size: 5.86667vw;
  line-height: 1.72;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-title-01 {
    font-size: 3.6rem;
  }
}

.p-dynamic-concept__media-description-01 {
  margin-top: 9.33333vw;
  font-size: 3.73333vw;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-description-01 {
    margin-top: 5rem;
    font-size: 2rem;
  }
}

.p-dynamic-concept__media-02 {
  margin-top: 21.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-02 {
    margin-top: 8rem;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
  }
}

.p-dynamic-concept__media-image-02 {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-image-02 {
    width: calc(460 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-body-02 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-02 {
    margin-top: 0;
    width: calc(540 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-body-image-wrap-02 {
  text-align: center;
  margin-top: 16vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-image-wrap-02 {
    margin-top: 4rem;
    width: 60%;
  }
}

.p-dynamic-concept__media-body-image-02 {
  width: calc(255 / 315 * 100%);
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-image-02 {
    width: 100%;
    margin-bottom: 4rem;
  }
}

.p-dynamic-concept__media-03 {
  margin-top: 24vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-03 {
    margin: 0;
    display: flex;
    align-items: flex-start;
  }
}

.p-dynamic-concept__media-image-03 {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-image-03 {
    width: calc(540 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-body-03 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-03 {
    margin-top: 8rem;
    width: calc(460 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-body-image-wrap-03 {
  text-align: center;
  margin-top: 16vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-image-wrap-03 {
    margin-top: 0;
    max-width: 430px;
  }
}

.p-dynamic-concept__media-body-image-03 {
  width: calc(255 / 315 * 100%);
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-image-03 {
    width: 100%;
  }
}

.p-dynamic-concept__media-04 {
  margin-top: 21.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-04 {
    margin-top: 8rem;
    padding-right: calc(100 / 1000 * 100%);
    padding-left: calc(240 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-image-04 {
  width: 100%;
  height: auto;
}

.p-dynamic-concept__media-body-04 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-04 {
    margin-top: 4rem;
  }
}

.p-dynamic-concept__media-05 {
  margin-top: 21.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-05 {
    margin-top: 10rem;
    padding-right: calc(240 / 1000 * 100%);
    padding-left: calc(100 / 1000 * 100%);
  }
}

.p-dynamic-concept__media-image-05 {
  width: 100%;
  height: auto;
}

.p-dynamic-concept__media-body-05 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-05 {
    margin-top: 4rem;
  }
}

.p-dynamic-concept__media-06 {
  margin-top: 21.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-06 {
    margin-top: 8rem;
    margin-bottom: 28rem;
    padding-right: calc(100 / 1000 * 100%);
    padding-left: calc(100 / 1000 * 100%);
    position: relative;
  }
}

.p-dynamic-concept__media-image-06 {
  width: 100%;
  height: auto;
}

.p-dynamic-concept__media-body-06 {
  margin-top: 9.33333vw;
}

@media screen and (min-width: 768px) {
  .p-dynamic-concept__media-body-06 {
    background: #fff;
    padding: 4rem 3rem;
    z-index: 1;
    position: absolute;
    bottom: -20rem;
    right: 0;
    margin-right: calc(100 / 1000 * 100%);
  }
}
