@charset "UTF-8";
.tab__cont {
  position: relative;
  color: #fff;
  text-align: center;
}
.tab__desc {
  margin-bottom: 1.0666666667vw;
  font-size: 4.2666666667vw;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
}
.tab__tit {
  margin-bottom: 6.4vw;
  font-size: 5.8666666667vw;
  font-weight: 700;
  line-height: 8.8vw;
  letter-spacing: -0.1173333333vw;
}
.tab__date {
  display: inline-block;
  padding: 0 2.1333333333vw;
  margin-bottom: 3.7333333333vw;
  border-radius: 8vw;
  background: rgba(255, 255, 255, 0.18);
  font-size: 3.7333333333vw;
  line-height: 5.6vw;
  letter-spacing: -0.0746666667vw;
}
.tab__txt {
  font-size: 4.2666666667vw;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
}
.tab__info {
  font-size: 3.2vw;
  line-height: 4.8vw;
  letter-spacing: -0.064vw;
}

.festival img {
  max-width: 100%;
}
.festival .noti__drop {
  padding-top: 0 !important;
}
.festival .btn__box {
  width: 100%;
}
.festival__cont {
  padding-top: 0 !important;
}
.festival__vis {
  padding: 18.6666666667vw 0 16vw !important;
  position: relative;
  background: #FFF200;
  text-align: center;
  overflow: hidden;
}
.festival__vis__tit {
  margin-bottom: 13.3333333333vw;
  position: relative;
  z-index: 1;
}
.festival__vis__tit p {
  color: #fff;
  -webkit-text-stroke-width: 1.6vw;
  -webkit-text-stroke-color: #222;
  line-height: 1;
  font-weight: 900;
  paint-order: stroke fill;
}
.festival__vis__tit .line1 {
  margin-bottom: 1.3333333333vw;
  font-size: 22.1333333333vw;
  letter-spacing: 0.8vw;
}
.festival__vis__tit .line2 {
  margin-bottom: 18.6666666667vw;
  font-size: 10.6666666667vw;
}
.festival__vis__tit .logo {
  width: 43.7333333333vw;
  position: absolute;
  top: 29.3333333333vw;
  left: 28.5333333333vw;
}
.festival__vis__tit .line3 {
  font-size: 14.9333333333vw;
  letter-spacing: -0.4vw;
}
.festival__vis__tit .line3 strong {
  font-size: 20vw;
}
.festival__vis__tit .line4 {
  font-size: 11.2vw;
  letter-spacing: -0.6696vw;
}
.festival__vis__obj p {
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.festival__vis__obj .record {
  width: 97.3333333333vw;
  height: 97.3333333333vw;
  left: 1.0666666667vw;
  top: 15.2vw;
  transform: rotate(-2deg);
  background-image: url(../images/festival/penta/vis_obj_record.png);
  animation: visRecordAni 2s infinite;
}
@keyframes visRecordAni {
  50% {
    transform: rotate(2deg);
  }
}
.festival__vis__obj .eye {
  width: 10.6666666667vw;
  height: 10.4vw;
  left: 74.9333333333vw;
  top: 12.5333333333vw;
  background-image: url(../images/festival/penta/vis_obj_eye.png);
}
.festival__vis__obj .face {
  width: 8vw;
  height: 8vw;
  left: 2.6666666667vw;
  top: 38.1333333333vw;
  background-image: url(../images/festival/penta/vis_obj_face.png);
}
.festival__vis__obj .thunder {
  width: 8.2666666667vw;
  height: 11.4666666667vw;
  left: 85.3333333333vw;
  top: 48.5333333333vw;
  background-image: url(../images/festival/penta/vis_obj_thunder.png);
}
.festival__vis__desc {
  font-size: 4.2666666667vw;
  font-weight: 700;
  letter-spacing: -0.0853333333vw;
}
.festival__intro {
  padding: 16vw 4.2666666667vw;
  background: #00A952;
}
.festival__intro .megaphone {
  width: 34.4vw;
  position: absolute;
  left: -13.0666666667vw;
  top: 19.4666666667vw;
}
.festival__intro .megaphone__sound {
  width: 22.9333333333vw;
  position: absolute;
  top: -14.6666666667vw;
  right: -10.6666666667vw;
}
.festival__intro .handsign {
  width: 11.2vw;
  height: 16.5333333333vw;
  position: absolute;
  left: 5.0666666667vw;
  bottom: 60vw;
  background: url(../images/festival/penta/handsign.png) no-repeat center center/contain;
  animation: handsignAni 1s infinite;
}
@keyframes handsignAni {
  50% {
    transform: rotate(-10deg);
  }
}
.festival__intro .thunder {
  width: 24.8vw;
  height: 26.6666666667vw;
  position: absolute;
  right: 0;
  bottom: 25.3333333333vw;
  background: url(../images/festival/penta/intro_thunder.png) no-repeat center center/contain;
}
.festival__intro .tab__txt {
  margin-bottom: 1.0666666667vw;
}
.festival__intro .tab__txt strong {
  position: relative;
}
.festival__intro .tab__txt strong::after {
  content: "";
  display: block;
  width: 59.4666666667vw;
  height: 1.0666666667vw;
  position: absolute;
  left: 0;
  bottom: -1.0666666667vw;
  background: url(../images/festival/penta/intro_highlight.png) no-repeat center center/contain;
}
.festival__intro .tab__info {
  margin-bottom: 6.4vw;
}
.festival__intro .btn__box {
  margin-bottom: 6.4vw;
}
.festival__intro__goods {
  display: flex;
  gap: 4.2666666667vw;
  margin-bottom: 6.4vw;
}
.festival__intro__item {
  width: 42.6666666667vw;
}
.festival__intro__item input + label {
  padding-bottom: 10.6666666667vw;
  background-position: bottom center;
  background-size: 6.4vw;
}
.festival__intro__item input:checked + label {
  background-position: bottom center;
  background-size: 6.4vw;
}
.festival__intro__item input:checked + label .festival__intro__num::after {
  opacity: 1;
}
.festival__intro__num {
  padding-bottom: 4.2666666667vw;
  position: relative;
  font-size: 6.9333333333vw;
  font-family: "lush-eng" !important;
  font-weight: 800;
}
.festival__intro__num::after {
  content: "";
  display: block;
  width: 13.3333333333vw;
  height: 1.8666666667vw;
  position: absolute;
  left: 50%;
  bottom: 1.8666666667vw;
  transform: translateX(-50%);
  opacity: 0;
  background: url(../images/festival/penta/check_highlight.png) no-repeat center center/contain;
  transition: opacity 0.2s ease;
}
.festival__intro__swiper {
  width: 42.6666666667vw;
}
.festival__intro__option {
  padding-top: 2.1333333333vw;
  font-size: 3.7333333333vw;
  line-height: 5.6vw;
  letter-spacing: -0.0746666667vw;
}
.festival__intro__option strong {
  display: block;
}
.festival__intro__desc {
  margin-bottom: 6.4vw;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 5.6vw;
  letter-spacing: -0.0746666667vw;
}
.festival__intro__caution {
  padding-left: 16vw;
  text-align: left;
}
.festival__intro__caution li {
  font-size: 3.2vw;
  line-height: 4.8vw;
  letter-spacing: -0.064vw;
  opacity: 0.8;
}
.festival__share {
  padding: 16vw 4.2666666667vw;
  background: #0D301E;
}
.festival__share .tab__txt {
  margin-bottom: 6.4vw;
}
.festival__share__tip {
  width: 12vw;
  height: 6.6666666667vw;
  margin: 0 auto 1.0666666667vw;
  background: url(../images/festival/penta/tip_tag.png) no-repeat center center/contain;
  font-size: 0;
  text-indent: -9999px;
}
.festival__share__obj {
  display: flex;
  gap: 4.2666666667vw;
  justify-content: center;
  margin-bottom: 6.4vw;
}
.festival__share__obj li {
  animation: shareSongAni 0.9s infinite;
}
.festival__share__obj li:last-of-type {
  animation-delay: 0.6s;
}
@keyframes shareSongAni {
  30% {
    transform: translateY(-2.6666666667vw);
  }
  60% {
    transform: translateY(0px);
  }
}
.festival__share__obj .music {
  width: 9.3333333333vw;
}
.festival__share__obj .face {
  width: 8vw;
  animation-delay: 0.3s;
}
.festival__share__tit {
  margin-bottom: 6.4vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
}
.festival__share__cont {
  padding: 2.6666666667vw 0 0;
  margin-bottom: 6.4vw;
  background: #00A952;
  border-radius: 2.1333333333vw;
  overflow: hidden;
}
.festival__share__cont .btn__box {
  border-radius: 2.1333333333vw;
}
.festival__share__cont .btn__box.border {
  color: #949494;
}
.festival__share__item {
  padding: 8vw 4.2666666667vw;
  position: relative;
}
.festival__share__item::after {
  content: "";
  width: 82.9333333333vw;
  height: 0.5333333333vw;
  position: absolute;
  left: 4.2666666667vw;
  bottom: 0;
  background: url(../images/festival/penta/item_border.png) no-repeat center center/contain;
}
.festival__share__item.step3 .info {
  margin-bottom: 0;
}
.festival__share__item.step3::after {
  display: none;
}
.festival__share__item .info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2.1333333333vw;
  margin-bottom: 6.4vw;
}
.festival__share__item .step {
  padding: 0 2.6666666667vw;
  border-radius: 2.1333333333vw;
  background: rgba(255, 255, 255, 0.8);
  font-size: 4.2666666667vw;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
  color: #222;
}
.festival__share__item .txt {
  font-size: 4.2666666667vw;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
  font-weight: 500;
}
.festival__share__item .mycode__area {
  position: relative;
}
.festival__share__item .mycode__area::after {
  content: "";
  display: block;
  width: 8.5333333333vw;
  height: 6.6666666667vw;
  position: absolute;
  right: 14.6666666667vw;
  top: -9.3333333333vw;
  background: url(../images/festival/penta/share_arrow.png) no-repeat center center/contain;
}
.festival__share__item .mycode__area.active {
  display: block;
}
.festival__share__item .mycode__copy {
  display: block;
  width: 100%;
  padding-left: 4.2666666667vw;
  position: relative;
  border-radius: 0.5333333333vw;
  border: 1px solid #dbdbdb;
  background: #fff;
  line-height: 10.6666666667vw;
  font-size: 3.4666666667vw;
  color: #222;
  letter-spacing: -0.0693333333vw;
  text-align: left;
}
.festival__share__item .mycode__copy::after {
  content: "";
  display: block;
  width: 6.4vw;
  height: 6.4vw;
  position: absolute;
  right: 4.2666666667vw;
  top: 2.1333333333vw;
  background: url(../images/festival/penta/ico_copy.png) no-repeat center center/contain;
  pointer-events: none;
}
.festival__share__code {
  padding: 8vw 4.2666666667vw 10.6666666667vw;
  background: #258755;
}
.festival__share__code .tit {
  margin-bottom: 4vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 6.4vw;
  letter-spacing: -0.0853333333vw;
}
.festival__share__code .bubble {
  width: 31.7333333333vw;
  height: 9.3333333333vw;
  margin: 0 auto 2.1333333333vw;
  background: url(../images/festival/penta/tip_bubble.png) no-repeat center center/contain;
  font-size: 0;
  text-indent: -9999px;
}
.festival__share__code .input__area {
  display: flex;
  gap: 1.6vw;
  margin-bottom: 6.4vw;
}
.festival__share__code .input__area .btn__box {
  width: 18.6666666667vw;
  padding: 0;
}
.festival__share__code .input__area input {
  width: 62.9333333333vw;
  height: 10.6666666667vw;
  border-radius: 0.5333333333vw;
  border: 1px solid #dbdbdb;
  background: #fff;
  font-size: 3.4666666667vw;
  color: #3a3a3a;
  font-weight: 700;
  letter-spacing: -0.0693333333vw;
}
.festival__share__code .input__area input::placeholder {
  color: #949494;
  font-size: 3.4666666667vw !important;
  font-weight: 400;
}
.festival__share__code .caution {
  font-size: 3.2vw;
  letter-spacing: -0.064vw;
  opacity: 0.8;
}
.festival__share__status {
  background: url(../images/festival/penta/tip_star.png) no-repeat center center/contain;
}
.festival__share__status .txt {
  font-size: 5.8666666667vw;
  font-weight: 700;
  line-height: 8.8vw;
  letter-spacing: -0.1173333333vw;
}
.festival__share__status .txt strong {
  color: #FFF200;
}
.festival__share__status .txt a {
  color: inherit;
  text-decoration: none;
}
.festival__premium {
  padding: 16vw 4.2666666667vw 33.6vw;
  position: relative;
  overflow: hidden;
  color: #222;
}
.festival__premium .tab__tit {
  margin-bottom: 1.0666666667vw;
}
.festival__premium__obj {
  width: 17.0666666667vw;
  height: 15.4666666667vw;
  position: absolute;
  left: -16vw;
  top: 23.4666666667vw;
  pointer-events: none;
  offset-path: path("M 0 0 C 70 -4 115 -28 100 -58 C 72 -92 155 -112 200 -118");
  offset-distance: 0%;
  offset-rotate: 0deg;
  will-change: offset-distance, opacity;
  animation: premiumSongObjAni 5.5s linear infinite;
}
.festival__premium__obj img {
  width: 100%;
  height: 100%;
  display: block;
}
@keyframes premiumSongObjAni {
  0% {
    offset-distance: 0%;
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  88% {
    opacity: 0.7;
  }
  100% {
    offset-distance: 100%;
    opacity: 0;
  }
}
.festival__premium__tip {
  width: 12vw;
  height: 6.6666666667vw;
  margin: 0 auto 1.0666666667vw;
  background: url(../images/festival/penta/tip_tag_bck.png) no-repeat center center/contain;
  font-size: 0;
  text-indent: -9999px;
}
.festival__premium__desc {
  margin-bottom: 6.4vw;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 5.6vw;
  letter-spacing: -0.0746666667vw;
}
.festival__premium__char {
  width: 31.7333333333vw;
  position: absolute;
  bottom: 6.6666666667vw;
  left: 63.7333333333vw;
}
.festival__premium__char::after {
  content: "";
  display: block;
  width: 7.7333333333vw;
  height: 11.4666666667vw;
  position: absolute;
  right: 0;
  top: 15.4666666667vw;
  z-index: 1;
  background: url(../images/festival/penta/char_arm.png) no-repeat center center/contain;
}
.festival__premium__marquee {
  position: absolute;
  left: -4.2666666667vw;
  right: -4.2666666667vw;
  bottom: 0;
  overflow: hidden;
  background: #FFF200;
}
.festival__premium__marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: premiumMarqueeAni 15s linear infinite;
}
.festival__premium__marquee img {
  width: 261.8666666667vw;
  height: auto;
  display: block;
  flex-shrink: 0;
}
@keyframes premiumMarqueeAni {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.festival__gift {
  padding: 16vw 4.2666666667vw 21.3333333333vw;
  background: #00A952;
}
.festival__gift.endevt::after {
  content: "재고가 소진되어\a이벤트가 종료되었습니다\a참여해주셔서 감사합니다 ";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.8);
  white-space: pre-wrap;
  font-family: "lush" !important;
  font-size: 9.6vw;
  line-height: 11.4666666667vw;
  letter-spacing: -0.384vw;
}
.festival__gift__char {
  width: 37.8666666667vw;
  position: absolute;
  left: -12.5333333333vw;
  top: 8.5333333333vw;
}
.festival__gift__char::after {
  content: "";
  display: block;
  width: 9.8666666667vw;
  height: 9.6vw;
  position: absolute;
  top: 0;
  right: -4vw;
  transform: scale(0);
  transform-origin: bottom left;
  background: url(../images/festival/penta/heart.png) no-repeat center center/contain;
  transition: transform 0.3s ease 0.5s;
}
.festival__gift__char.aos-animate::after {
  transform: scale(1);
}
.festival__gift__cont {
  display: flex;
  gap: 4.2666666667vw;
  padding: 6.4vw 0;
  position: relative;
}
.festival__gift__cont::after {
  content: "";
  display: block;
  width: 8vw;
  height: 8vw;
  position: absolute;
  left: 50%;
  top: 21.0666666667vw;
  transform: translateX(-50%);
  background: url(../images/festival/penta/gift_plus.png) no-repeat center center/contain;
}
.festival__more {
  padding: 8.5333333333vw 4.2666666667vw !important;
}
.festival__more__tit {
  margin-bottom: 5.3333333333vw;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 7.2vw;
  letter-spacing: -0.096vw;
}
.festival__more__cont {
  display: block;
}