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

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

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

.mch_title {
  margin: 15px 0;
  color: #333;
  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_section {
  width: 100%;
  position: relative;
}

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

.mch_section-first-items {
  display: flex;
  flex-direction: column;
}

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

.mch_section-first-item:nth-child(2n) .mch_section-first-block {
  left: initial;
  right: 2%;
}

.mch_section-first-block {
  display: flex;
  flex-direction: column;
  gap: 1vw;
  padding: 2%;
  max-width: 60%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 2%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 15px;
}

.mch_section-first-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vw;
  padding: 0 3% 3%;
}

.mch_section-first-container .mch_title {
  grid-column: 1 / -1;
  text-align: center;
}

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

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

.mch_section-first-text .mch_subtitle {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mch_image-container-flex > p {
    display: flex;
    height: 100%;
    width: 100%;
  }

  .mch_image-container-flex > p > img {
    -o-object-fit: cover;
    object-fit: cover;
  }

  .mch_section-first-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 640px) {
  .mch_section-first-items {
    gap: 3vw;
  }

  .mch_section-first-item {
    display: flex;
    flex-direction: column;
    gap: 2vw;
  }

  .mch_section-first-block {
    position: static;
    max-width: initial;
    -webkit-transform: none;
    transform: none;
    background: none;
    border-radius: 0;
    padding: 0 3%;
  }
}

@media screen and (max-width: 480px) {
  .mch_section-first-container {
    grid-template-columns: 1fr;
  }
}