.swiper-slide img {
  height: auto;
  width: 100%;
}

.swiper-slide video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .swiper-wrapper {
    height: calc(540 / 1366 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .swiper-wrapper {
    height: calc(468 / 375 * 100vw);
  }
}

.panel01-component .panel {
  position: relative;
}

@media screen and (min-width: 768px) {
  .panel01-component .panel {
    height: calc(540 / 1366 * 100vw - 540 / 1366 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel {
    height: calc(468 / 375 * 100vw - 468 / 375 * var(--scrollbar-size-px));
  }
}

.panel01-component .flex-container {
  display: flex;
}

@media screen and (max-width: 767px) {
  .panel01-component .flex-container {
    justify-content: center;
    margin-top: calc(20 / 375 * 100vw - 20 / 375 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_cta_wrap {
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_cta {
    height: calc(50 / 1366 * 100vw - 50 / 1366 * var(--scrollbar-size-px));
    width: calc(260 / 1366 * 100vw - 260 / 1366 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_cta {
    height: calc(48 / 375 * 100vw - 48 / 375 * var(--scrollbar-size-px));
    width: calc(160 / 375 * 100vw - 160 / 375 * var(--scrollbar-size-px));
  }
}

.panel01-component .panel_cta a {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_cta a {
    font-size: calc(18 / 1366 * 100vw - 18 / 1366 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_cta a {
    font-size: calc(14 / 375 * 100vw - 14 / 375 * var(--scrollbar-size-px));
  }
}

.panel01-component .panel_text_wrap {
  position: absolute;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_text_wrap {
    bottom: calc(100 / 468 * 100%);
    left: 0;
    right: 0;
    margin: auto;
    width: calc(335 / 375 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_text_wrap.text-bottom-center {
    left: calc(50 / 1366 * 100%);
    bottom: calc(50 / 540 * 100%);
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .text-bottom-centersp {
    position: relative;
  }
}

.panel01-component .text-bottom-centersp .position {
  position: absolute;
  top: calc(-135 / 375 * 100vw - -135 / 375 * var(--scrollbar-size-px));
  left: 50%;
  transform: translateX(-50%);
}

.panel01-component .panel_text {
  z-index: 2;
  font-family: "IBMPlexSemiMono", sans-serif;
  font-size: clamp(45px, 6.4vw, 80px);
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_text {
    margin-bottom: calc(10 / 1366 * 100vw - 10 / 1366 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_text {
    font-size: 45px;
    margin-bottom: calc(10 / 375 * 100vw);
    line-height: 1.1;
  }
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_text.panel_text_large {
    font-size: calc(50 / 1366 * 100vw - 50 / 1366 * var(--scrollbar-size-px));
    line-height: calc(55/ 50);
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_text.panel_text_large {
    font-size: calc(34 / 375 * 100vw - 34 / 375 * var(--scrollbar-size-px));
    margin-bottom: calc(15 / 375 * 100vw - 15 / 375 * var(--scrollbar-size-px));
    line-height: calc(38/ 34);
  }
}

@media screen and (min-width: 768px) {
  .panel01-component .panel_text.panel_text_small {
    font-size: calc(28 / 1366 * 100vw - 28 / 1366 * var(--scrollbar-size-px));
    margin-bottom: calc(20 / 1366 * 100vw - 20 / 1366 * var(--scrollbar-size-px));
  }
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_text.panel_text_small {
    font-size: calc(17 / 375 * 100vw - 17 / 375 * var(--scrollbar-size-px));
    letter-spacing: calc(2 / 375 * 100vw - 2 / 375 * var(--scrollbar-size-px));
    margin-bottom: calc(20 / 375 * 100vw - 20 / 375 * var(--scrollbar-size-px));
    width: calc(285 / 375 * 100vw - 285 / 375 * var(--scrollbar-size-px));
  }
}

.panel01-component .panel_cta {
  border: 2px solid #FFF;
}

@media screen and (max-width: 767px) {
  .panel01-component .panel_cta {
    margin: auto;
  }
}

.panel01-component .panel_cta a {
  color: #fff;
}

.panel01-component .panel01-component-panel-link {
  display: block;
  height: 100%;
}
