.project_intro {
  margin-top: 2.7994791667vw;
}
.project_intro_box {
  display: flex;
  justify-content: space-between;
  margin-top: 5.5338541667vw;
}
.project_intro_box .item {
  width: 36.6536458333vw;
  position: relative;
}
.project_intro_box .item::after, .project_intro_box .item::before {
  position: absolute;
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2307692308;
  font-size: 0.8463541667vw;
  color: #fff;
  background-color: #2DDCAD;
  z-index: 1;
}
.project_intro_box .item::after {
  content: "After";
  right: 0;
  bottom: 0;
  padding: 7px 14px;
}
.project_intro_box .item::before {
  content: "Before";
  top: 0;
  left: 0;
  padding: 7px 8px;
}
.project_intro .p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  font-size: 1.0416666667vw;
  text-align: center;
}
.epis {
  position: relative;
}
.epis .container {
  position: relative;
}
.epis .p {
  position: absolute;
  z-index: 2;
  display: inline-block;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.6;
  font-size: 1.5625vw;
}
.epis .p span {
  background-image: linear-gradient(180deg, rgb(45, 220, 173) 0%, rgb(45, 220, 173) 100%);
  padding-left: 4px;
  padding-right: 6px;
  display: inline-block;
  margin-bottom: 4px;
}
.epis .block {
  width: 58.59375vw;
  display: flex;
  align-items: center;
}
.epis .block .image {
  width: 44.2708333333vw;
}
.epis .block .content {
  width: 11.71875vw;
  padding-left: 1.5625vw;
}
.epis .block .content::before {
  content: "";
  width: 0.3255208333vw;
  height: 6.5104166667vw;
  background-color: #DB9D47;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.epis .block .content .en {
  font-family: "Montserrat", sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.1428571429;
  font-size: 1.8229166667vw;
  text-transform: uppercase;
  color: #2DDCAD;
  display: block;
}
.epis .block .content .jp {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  font-size: 1.0416666667vw;
  color: #505554;
}
.epis .detail {
  width: 55.9895833333vw;
  max-width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  font-size: 1.0416666667vw;
  background-color: #fff;
  position: relative;
  left: 9.765625vw;
}
.epis_heading {
  font-family: "Montserrat", sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.2222222222;
  font-size: 2.34375vw;
  color: #2DDCAD;
  text-align: center;
}
.epis .decor {
  width: calc(100% - 120px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.epis .decor .shape {
  position: absolute;
}
.epis__normal .container {
  margin-top: 3.2552083333vw;
}
.epis__normal .p {
  right: 0;
}
.epis__normal .block .content {
  margin-top: -0.6510416667vw;
  margin-left: 2.6041666667vw;
  position: relative;
}
.epis__normal .block .content .en {
  margin-bottom: 8px;
}
.epis__reverse .container {
  margin-top: 3.9713541667vw;
}
.epis__reverse .p {
  top: 1.2369791667vw;
  left: 0;
}
.epis__reverse .block {
  flex-direction: row-reverse;
  margin-left: auto;
}
.epis__reverse .block .content {
  position: relative;
}
.epis__reverse .block .content .en {
  margin-bottom: 8px;
}
.epis__reverse .detail {
  top: -7.2265625vw;
  padding: 2.9947916667vw 3.6458333333vw;
  padding-right: 3.515625vw;
}
.epis_1 {
  margin-top: 6.5104166667vw;
}
.epis_1 .decor .shape:nth-child(1) {
  width: 5.4036458333vw;
  top: 0;
  right: 0;
}
.epis_1 .decor .shape:nth-child(2) {
  width: 4.3619791667vw;
  top: 3.515625vw;
  right: 3.515625vw;
}
.epis_1 .decor .shape:nth-child(3) {
  width: 8.4635416667vw;
  top: 31.25vw;
  left: 0.6510416667vw;
}
.epis_1 .decor .shape:nth-child(4) {
  width: 6.8359375vw;
  top: 37.3697916667vw;
  left: 6.7708333333vw;
}
.epis_1 .p {
  top: 1.3671875vw;
}
.epis_1 .detail {
  top: -7.2265625vw;
  padding: 2.9947916667vw 3.90625vw;
  padding-right: 3.2552083333vw;
}
.epis_2 {
  margin-top: -0.78125vw;
}
.epis_2 .decor .shape:nth-child(1) {
  width: 8.4635416667vw;
  top: 35.8072916667vw;
  right: 0;
}
.epis_2 .decor .shape:nth-child(2) {
  width: 6.7708333333vw;
  top: 41.6666666667vw;
  right: 5.859375vw;
}
.epis_3 {
  margin-top: -0.9765625vw;
}
.epis_3 .decor .shape:nth-child(1) {
  width: 8.4635416667vw;
  top: 28.6458333333vw;
  left: 0.6510416667vw;
}
.epis_3 .decor .shape:nth-child(2) {
  width: 6.7708333333vw;
  top: 34.5052083333vw;
  left: 6.5104166667vw;
}
.epis_3 .p {
  top: 1.2369791667vw;
  right: 0;
}
.epis_3 .detail {
  top: -7.4869791667vw;
  padding: 2.9947916667vw 3.6458333333vw;
  padding-right: 3.515625vw;
}
.epis_4 {
  margin-top: -6px;
}
.epis_4 .decor .shape:nth-child(1) {
  width: 6.640625vw;
  top: 0vw;
  right: 5.2083333333vw;
}
.epis_endimage {
  margin-top: -1.0416666667vw;
}
@media only screen and (max-width: 767px) {
  .project_intro {
    margin-top: 16vw;
  }
  .project_intro_box {
    display: block;
    margin-top: 10.6666666667vw;
  }
  .project_intro_box .item {
    width: 100%;
    margin-bottom: 5.3333333333vw;
  }
  .project_intro_box .item::after, .project_intro_box .item::before {
    font-size: 3.2vw;
  }
  .project_intro .p {
    font-size: 3.7333333333vw;
    text-align: left;
    padding: 5.3333333333vw 0;
  }
  .project_intro .p br {
    display: none;
  }
  .epis {
    margin-top: 10.6666666667vw;
  }
  .epis .p {
    position: relative;
    top: 0;
    left: 0;
    font-size: 3.7333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  .epis .p span {
    margin-bottom: 2px;
  }
  .epis .container {
    margin-top: 5.3333333333vw;
  }
  .epis .block {
    width: 100%;
    justify-content: space-between;
  }
  .epis .block .image {
    width: calc(70% - 10px);
  }
  .epis .block .content {
    width: 30%;
    padding-left: 2.6666666667vw;
  }
  .epis .block .content::before {
    width: 2px;
    height: 100%;
  }
  .epis .block .content .en {
    font-size: 4.2666666667vw;
  }
  .epis .block .content .jp {
    font-size: 3.2vw;
  }
  .epis .detail {
    width: 100%;
    font-size: 3.7333333333vw;
    top: 0;
    padding: 0;
    left: 0;
    margin-top: 5.3333333333vw;
  }
  .epis_heading {
    font-size: 5.8666666667vw;
  }
  .epis .decor {
    width: calc(100% - 40px);
  }
  .epis__normal .block .content {
    margin-top: -0.6510416667vw;
    margin-left: 0;
  }
  .epis__normal .block .content .en {
    margin-bottom: 8px;
  }
  .epis__reverse .block {
    margin: 0;
  }
  .epis__reverse .block .content {
    position: relative;
  }
  .epis__reverse .block .content .en {
    margin-bottom: 8px;
  }
  .epis_1 .decor .shape:nth-child(1) {
    width: 10.6666666667vw;
  }
  .epis_1 .decor .shape:nth-child(2) {
    width: 6.9333333333vw;
    top: 6.4vw;
    right: 6.4vw;
  }
  .epis_1 .decor .shape:nth-child(3) {
    width: 10.6666666667vw;
  }
  .epis_1 .decor .shape:nth-child(4) {
    width: 6.9333333333vw;
  }
  .epis_2 .decor .shape:nth-child(1) {
    width: 10.6666666667vw;
  }
  .epis_2 .decor .shape:nth-child(2) {
    width: 6.9333333333vw;
  }
  .epis_3 .decor .shape:nth-child(1) {
    width: 10.6666666667vw;
  }
  .epis_3 .decor .shape:nth-child(2) {
    width: 6.4vw;
  }
  .epis_4 .decor .shape:nth-child(1) {
    width: 10.6666666667vw;
    right: -5.3333333333vw;
  }
  .epis_endimage {
    margin-top: 10.6666666667vw;
  }
  .page_mv__2::after {
    height: 50vw;
  }
}