.mch_wrapper * {
  box-sizing: border-box;
  font-family: foxtrot, sans-serif, serif;
  line-height: 1.5;
}

.mch_image {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.mch_color {
  color: #B40465;
}

.mch_desktop {
  display: block;
}

.mch_mobile {
  display: none;
}

.mch_sup {
  display: inline;
  font-size: clamp(8px, 1vw, 14px);
  vertical-align: super;
}

.mch_video {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.mch_text-bold {
  font-weight: 700;
}

.mch_title {
  font-size: clamp(14px, 2.5vw, 40px);
}

.mch_subtitle {
  font-size: clamp(12px, 2vw, 30px);
}

.mch_caption {
  font-size: clamp(10px, 1.5vw, 26px);
}

.mch_empty {
  font-size: clamp(9px, 1.2vw, 22px);
}

.mch_section {
  width: 100%;
  position: relative;
}

.mch_section-first-content {
  display: flex;
  flex-direction: column;
  gap: 3vw;
  padding-bottom: 3%;
}

.mch_section-first-items {
  position: relative;
}

.mch_section-first-item {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  padding: 3%;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 3vw;
  max-width: 50%;
}

.mch_section-first-text {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}

.mch_section-first-block {
  display: flex;
  flex-direction: column;
  gap: 2vw;
  text-align: center;
}

.mch_section-first-block .mch_section-first-text {
  padding: 0 3%;
}

@media screen and (max-width: 640px) {
  .mch_desktop {
    display: none;
  }

  .mch_mobile {
    display: block;
  }
}

@media screen and (max-width: 480px) {
  .mch_section-first-item {
    max-width: 65%;
    background: #0000001a;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    border-radius: 10px;
    left: 2%;
    gap: 2vw;
    padding: 2%;
  }
}

@media screen and (max-width: 380px) {
  .mch_section-first-item .mch_title {
    font-size: 12px;
  }

  .mch_section-first-item .mch_caption {
    font-size: 9px;
  }
}

@media screen and (max-width: 375px) {
  .mch_image-container-flex {
    display: flex;
  }

  .mch_image-container-flex > p {
    display: flex;
  }

  .mch_image--cover {
    -o-object-fit: cover;
    object-fit: cover;
  }
}

@media screen and (max-width: 320px) {
  .mch_section-first-item {
    max-width: 80%;
  }

  .mch_section-first-item .mch_title {
    font-size: 10px;
  }
}