.cp-flexible-image-carousel {
  /* reset css */
  /* component css */
  width: 100%;
  height: auto;
  position: relative;
  background-color: #fff;
  overflow: hidden;
}

.cp-flexible-image-carousel * {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: none;
}

.cp-flexible-image-carousel *:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

.cp-flexible-image-carousel article, .cp-flexible-image-carousel aside, .cp-flexible-image-carousel details, .cp-flexible-image-carousel figcaption, .cp-flexible-image-carousel figure, .cp-flexible-image-carousel footer, .cp-flexible-image-carousel header, .cp-flexible-image-carousel hgroup, .cp-flexible-image-carousel menu, .cp-flexible-image-carousel nav, .cp-flexible-image-carousel section {
  display: block;
}

.cp-flexible-image-carousel ol, .cp-flexible-image-carousel ul, .cp-flexible-image-carousel dl, .cp-flexible-image-carousel li {
  list-style: none;
}

.cp-flexible-image-carousel table {
  border-collapse: collapse;
  border-spacing: 0;
}

.cp-flexible-image-carousel a {
  color: black;
  text-decoration: none;
}

.cp-flexible-image-carousel sup {
  position: relative;
  top: -0.4em;
  vertical-align: middle;
  color: inherit;
  font-size: 0.75em;
}

.cp-flexible-image-carousel .is-pc {
  display: block;
}

.cp-flexible-image-carousel .is-mo {
  display: none;
}

@media (max-width: 1023px) {
  .cp-flexible-image-carousel .is-pc {
    display: none;
  }
  .cp-flexible-image-carousel .is-mo {
    display: block;
  }
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__inner {
  width: 100%;
  height: auto;
  max-width: 1920px;
  max-width: 192rem;
  margin: 0 auto;
  padding: 80px 140px 100px;
  padding: 8rem 14rem 10rem;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper {
  width: 78.9%;
  height: auto;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper:has(.cp-flexible-image-carousel__swiper-list > li:only-child) {
  width: 100%;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper:has(.cp-flexible-image-carousel__swiper-list > li:only-child) .cp-flexible-image-carousel__swiper-list > li {
  cursor: default;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-wrap {
  width: 100%;
  height: auto;
  position: relative;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-navigation {
  width: auto;
  height: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: auto;
  right: 0;
  z-index: 3;
  gap: 20px;
  gap: 2rem;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-navigation-prev {
  width: 42px;
  width: 4.2rem;
  height: 42px;
  height: 4.2rem;
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Previous slide"><path id="Vector" d="M40.6777 21.7012H1.07973M1.07973 21.7012L11.9498 32.5713M1.07973 21.7012L12.105 10.6759" stroke="black" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
  cursor: pointer;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-navigation-next {
  width: 42px;
  width: 4.2rem;
  height: 42px;
  height: 4.2rem;
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Next slide"><path id="Vector" d="M1.32227 21.2988H40.9203M40.9203 21.2988L30.0502 10.4287M40.9203 21.2988L29.895 32.3241" stroke="black" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
  cursor: pointer;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-navigation .swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-active .cp-flexible-image-carousel__swiper-sub, .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-active .cp-flexible-image-carousel__swiper-disc {
  opacity: 1;
  will-change: opacity;
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-active .cm-section-title__subtitle, .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-active .cm-section-title__title {
  opacity: 1;
  will-change: opacity;
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-active .cm-section-desc__text {
  opacity: 1;
  will-change: opacity;
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-list > li.swiper-slide-prev {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-txt {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 40px;
  gap: 4rem;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-title {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub > li {
  padding-top: 24px;
  padding-top: 2.4rem;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub-title {
  color: #000;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub-desc {
  color: #7c7c7c;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-disc {
  padding-top: 24px;
  padding-top: 2.4rem;
  color: #7c7c7c;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.56;
  font-weight: 400;
  letter-spacing: -0.01em;
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-disc:empty {
  display: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-img {
  width: 100%;
  height: auto;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-img img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle {
  margin: 0;
  padding-top: 20px;
  padding-top: 2rem;
  color: #767676;
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle:has(.is-pc:empty) {
  display: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title {
  margin: 0;
  padding-top: 20px;
  padding-top: 2rem;
  color: #000;
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title.second-title {
  font-size: 44px;
  font-size: 4.4rem;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title:has(.is-pc:empty) {
  display: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-desc__text {
  margin: 0;
  color: #767676;
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .swiper-notification {
  width: 0;
  height: 0;
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  color: #b0b0b0;
  font-family: "genesis-head-office-light", sans-serif;
  font-size: 40px;
  font-size: 4rem;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.04em;
}

.cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-pagination .swiper-pagination-current {
  color: #000;
}

.type-dark .cp-flexible-image-carousel {
  background-color: #000;
}

.type-dark .cp-flexible-image-carousel__swiper-navigation-prev {
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Previous slide"><path id="Vector" d="M40.6777 21.7012H1.07973M1.07973 21.7012L11.9498 32.5713M1.07973 21.7012L12.105 10.6759" stroke="white" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
}

.type-dark .cp-flexible-image-carousel__swiper-navigation-next {
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Next slide"><path id="Vector" d="M1.32227 21.2988H40.9203M40.9203 21.2988L30.0502 10.4287M40.9203 21.2988L29.895 32.3241" stroke="white" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
}

.type-dark .cp-flexible-image-carousel__swiper-sub-title {
  color: #fff;
}

.type-dark .cp-flexible-image-carousel__swiper-sub-desc {
  color: rgba(255, 255, 255, 0.5);
}

.type-dark .cp-flexible-image-carousel__swiper-disc {
  color: rgba(255, 255, 255, 0.5);
}

.type-dark .cp-flexible-image-carousel__swiper .cm-section-title__subtitle {
  color: rgba(255, 255, 255, 0.5);
}

.type-dark .cp-flexible-image-carousel__swiper .cm-section-title__title {
  color: #fff;
}

.type-dark .cp-flexible-image-carousel__swiper .cm-section-desc__text {
  color: #7c7c7c;
}

.type-dark .cp-flexible-image-carousel__swiper-pagination {
  color: rgba(255, 255, 255, 0.5);
}

.type-dark .cp-flexible-image-carousel__swiper-pagination .swiper-pagination-current {
  color: #fff;
}

.type-light .cp-flexible-image-carousel {
  background-color: #fff;
}

.type-light .cp-flexible-image-carousel__swiper-navigation-prev {
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Previous slide"><path id="Vector" d="M40.6777 21.7012H1.07973M1.07973 21.7012L11.9498 32.5713M1.07973 21.7012L12.105 10.6759" stroke="black" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
}

.type-light .cp-flexible-image-carousel__swiper-navigation-next {
  background: url('data:image/svg+xml,<svg width="42" height="43" viewBox="0 0 42 43" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="ic_Next slide"><path id="Vector" d="M1.32227 21.2988H40.9203M40.9203 21.2988L30.0502 10.4287M40.9203 21.2988L29.895 32.3241" stroke="black" stroke-width="1.5"/></g></svg>') no-repeat center;
  background-size: contain;
}

.type-light .cp-flexible-image-carousel__swiper-sub-title {
  color: #000;
}

.type-light .cp-flexible-image-carousel__swiper-sub-desc {
  color: #7c7c7c;
}

.type-light .cp-flexible-image-carousel__swiper-disc {
  color: #7c7c7c;
}

.type-light .cp-flexible-image-carousel__swiper .cm-section-title__subtitle {
  color: #767676;
}

.type-light .cp-flexible-image-carousel__swiper .cm-section-title__title {
  color: #000;
}

.type-light .cp-flexible-image-carousel__swiper .cm-section-desc__text {
  color: #767676;
}

.type-light .cp-flexible-image-carousel__swiper-pagination {
  color: #b0b0b0;
}

.type-light .cp-flexible-image-carousel__swiper-pagination .swiper-pagination-current {
  color: #000;
}

/* @media (max-width: 1919px) */
@media (max-width: 1919px) {
  /* component css */
  .cp-flexible-image-carousel .cp-flexible-image-carousel__inner {
    padding: 80px 120px 100px;
    padding: 8rem 12rem 10rem;
  }
}

/* @media (max-width: 1599px) */
@media (max-width: 1599px) {
  /* component css */
  .cp-flexible-image-carousel .cp-flexible-image-carousel__inner {
    padding: 80px 100px 100px;
    padding: 8rem 10rem 10rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub-title, .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-sub-desc {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-disc {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title.second-title {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-desc__text {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-pagination {
    font-size: 32px;
    font-size: 3.2rem;
  }
}

/* @media (max-width: 1359px) */
@media (max-width: 1359px) {
  /* component css */
  .cp-flexible-image-carousel .cp-flexible-image-carousel__inner {
    padding: 80px 76px 100px;
    padding: 8rem 7.6rem 10rem;
  }
}

/* @media (max-width: 1023px) */
@media (max-width: 1023px) {
  /* component css */
  .cp-flexible-image-carousel .cp-flexible-image-carousel__inner {
    padding: 48px 20px 60px;
    padding: 4.8rem 2rem 6rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper {
    width: 94.94%;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-navigation {
    display: none;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-img {
    padding-top: 40px;
    padding-top: 4rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle, .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title {
    padding-top: 12px;
    padding-top: 1.2rem;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle:has(.is-pc:empty), .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title:has(.is-pc:empty) {
    display: block;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__subtitle:has(.is-mo:empty), .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-title__title:has(.is-mo:empty) {
    display: none;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper .cm-section-desc__text {
    color: #767676;
  }
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper-pagination {
    padding-top: 24px;
    padding-top: 2.4rem;
    font-size: 24px;
    font-size: 2.4rem;
  }
}

/* @media (max-width: 672px) */
@media (max-width: 672px) {
  /* component css */
  .cp-flexible-image-carousel .cp-flexible-image-carousel__swiper {
    width: 94.03%;
  }
}
