.kv {
  background: #b40096;
}
@media screen and (min-width: 500px) {
  .kv {
    border-radius: 20px 20px 0 0;
    overflow: hidden;
  }
}
.kv__image img {
  width: 100%;
}

.notice {
  position: relative;
  padding: 12px 20px 0;
  overflow: hidden;
  margin-top: -123px;
}
.notice:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 12px solid #fff;
}
.notice__text-wrap {
  background: #fff;
  border-radius: 12px;
  position: relative;
}
.notice__text {
  color: #b40096;
  padding: 24px;
  font-size: 16px;
  font-weight: 700;
}
.notice .slick-dots {
  display: flex !important;
  justify-content: center;
  margin-top: 16px;
}
.notice .slick-dots li {
  margin: 0 4px;
  display: inline-block;
  font-size: 0;
}
.notice .slick-dots li button {
  width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  font-size: 0;
  border: none;
  transition: background 0.3s;
}
.notice .slick-dots li button:hover, .notice .slick-dots li button:focus {
  background: rgba(255, 255, 255, 0.3);
}
.notice .slick-dots li.slick-active button {
  background: #fff;
}

.section {
  padding: 40px 20px;
}
.section--special {
  background: #b40096;
}
.section--special .section__heading {
  background: linear-gradient(90deg, #fcecff 30%, #ffbfca 75%, #ffb9a7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  display: inline-block;
  letter-spacing: normal !important;
}
.section--special .section__sub-heading {
  color: #fff;
}
.section--yukimaji, .section--trip-info {
  background: #fff;
}
.section--howto, .section--wear-and-gear {
  background: rgba(180, 0, 150, 0.12);
}
.section__heading-wrap {
  line-height: 1;
  text-align: center;
}
.section__heading {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  background: linear-gradient(90deg, #cc66bc 30%, #f5788e 75%, #f58a28 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  display: inline-block;
  letter-spacing: normal !important;
  font-size: 30px;
}
.section__sub-heading {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
}

.card-list {
  padding: 0 20px 20px;
  margin: 32px -20px -20px -20px;
  display: flex;
  gap: 0 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-padding: 0 20px;
}
.card-list__item {
  flex: 0 0 auto;
  width: 244px;
  scroll-snap-align: start;
  border-radius: 12px;
  box-shadow: 4px 4px 8px 0 rgba(146, 24, 133, 0.2);
}
.card-list__link {
  display: block;
  color: #4c3852;
  border-radius: 12px;
  overflow: hidden;
}
.card-list__thumb img {
  width: 100%;
}
.card-list__detail {
  padding: 16px 24px 24px;
  background: #fff;
}
.card-list__heading {
  font-size: 14px;
  font-weight: 700;
}
.card-list__text {
  margin-top: 4px;
  font-size: 13px;
}

.comingsoon {
  margin-top: 32px;
  background: #f3eef4;
  padding: 71px 0;
  border-radius: 12px;
}
.comingsoon__text {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 18px;
  color: rgba(76, 56, 82, 0.3);
  text-align: center;
  line-height: 1;
}