.banner-block {
  display: flex;
  margin-bottom: clamp(40px, 36px + 0.0125 * 100vw, 60px);
}
.banner-block .wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  border-radius: 30px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .banner-block .wrapper {
    flex-wrap: wrap;
  }
}
.banner-block .background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.banner-block .background-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner-block .content-wrapper {
  padding: clamp(30px, 16px + 0.04375 * 100vw, 100px) clamp(20px, 13px + 0.021875 * 100vw, 55px);
  padding-right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 1440px) {
  .banner-block .content-wrapper {
    padding: clamp(30px, 24px + 0.01875 * 100vw, 60px) clamp(20px, 12px + 0.025 * 100vw, 60px);
  }
}
@media (max-width: 768px) {
  .banner-block .content-wrapper {
    padding: clamp(30px, 16px + 0.04375 * 100vw, 100px) clamp(20px, 4px + 0.05 * 100vw, 100px);
  }
}
.banner-block .content-wrapper .title {
  color: var(--color-white);
  font-size: clamp(20px, 16.8px + 0.01 * 100vw, 36px);
  text-align: left;
  margin-bottom: clamp(30px, 24px + 0.01875 * 100vw, 60px);
}
.banner-block .content-wrapper .title em {
  color: var(--color-green);
  font-style: normal;
  font-weight: 700;
}
@media (max-width: 768px) {
  .banner-block .content-wrapper .title {
    text-align: center;
  }
}
.banner-block .content-wrapper .description {
  color: var(--color-white);
  font-size: clamp(14px, 13.2px + 0.0025 * 100vw, 18px);
}
@media (max-width: 768px) {
  .banner-block .content-wrapper .description {
    text-align: center;
  }
}
.banner-block .image-wrapper {
  display: flex;
  flex: 1 0 clamp(300px, 250px + 0.15625 * 100vw, 550px);
}
.banner-block .image-wrapper .pc {
  margin-top: auto;
}
.banner-block .image-wrapper .pc img {
  display: block;
  height: auto;
  max-height: 100%;
}
.banner-block .image-wrapper .mobile {
  display: none;
}
@media (max-width: 768px) {
  .banner-block .image-wrapper.has-mobile .pc {
    display: none;
  }
  .banner-block .image-wrapper.has-mobile .mobile {
    display: block;
    margin-top: 15px;
    width: 100%;
  }
  .banner-block .image-wrapper.has-mobile .mobile img {
    width: 100%;
    height: auto;
    display: block;
  }
}
