.flexcol {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.kv {
  position: relative;
}

.kv::after {
  content: "";
  position: absolute;
  background: url("../img/decor_02.png") no-repeat center center/cover;
  left: 0;
  bottom: 30rem;
  width: 100%;
  height: 80rem;
}
.kv img {
  display: block;
  width: 100%;
}

.kv .head {
  position: relative;
  margin-bottom: -150rem;
}
.slider .swiper-wrapper {
  transition-timing-function: linear;
}

.intro {
  background-color: #fff;
  position: relative;
  margin-top: -76rem;
}
.intro::before {
  content: "";
  position: absolute;
  background: url("../img/decor_03.png") no-repeat center center/cover;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80rem;
}
.intro img {
  display: block;
  width: 100%;
}
.intro h2 {
  width: 74.4%;
  margin: auto;
}
.intro .intro-content {
  width: 89.3333333333%;
  margin: 0 auto 10rem;
}
.intro .intro-slider .swiper-slide {
  width: 160rem;
  height: 160rem;
}
.intro .intro-slider img {
  height: 100%;
  object-fit: cover;
}

.offer {
  padding-bottom: 20rem;
  margin-top: -1rem;
}
.offer img {
  display: block;
  width: 100%;
}
.offer h2 {
  margin-bottom: 30rem;
}
.offer .wrapper {
  background: rgba(48, 109, 38, 0.15);
  padding: 40rem 32rem 88rem 30rem;
  position: relative;
}
.offer .wrapper::after {
  content: "";
  position: absolute;
  background: url("../img/decor_04.png") no-repeat center center/cover;
  left: 0;
  bottom: -40rem;
  width: 100%;
  height: 80rem;
}
.offer.first {
  margin-top: 0;
}
.offer.first .wrapper {
  padding-top: 0;
}
.offer .offer-inner {
  background-color: #fff;
  border-radius: 40rem;
/*  padding-top: 72rem;*/
}
.offer .offer-sub {
  padding: 50rem 24rem 60rem;
  gap: 32rem;
}
.offer .swiper-slide {
  width: 384rem !important;
  margin: 0 36rem;
}
.offer .offer-slider {
  margin: 0 -32rem 0 -30rem;
}
.offer .arrow {
  position: absolute;
  background: url("../img/arrow.png") no-repeat center center/cover;
  width: 49rem;
  height: 49rem;
  top: 55%;
  z-index: 10;
  cursor: pointer;
}
.offer .arrow.prev-arrow {
  transform: rotate(-180deg);
  left: 16%;
}
.offer .arrow.next-arrow {
  right: 16%;
}
.offer .offer-note {
  position: relative;
  width: 574rem;
  margin: auto;
}
.offer .offer-btn {
  transition: all 0.3s ease;
  animation: anime 0.5s ease 0s infinite alternate;
}
@keyframes anime {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}
.offer .offer-btn:hover {
  filter: brightness(1.05);
}
.offer-gift {
  gap: 32rem;
}
.offer-gift h3 {
  width: 576rem;
}
.offer-gift .gift-name {
  width: 384rem;
}
.offer-gift .gift-meal {
  width: 384rem;
}
.offer-gift .gift-note {
  width: 640rem;
}