/* common */
@charset "utf-8";
@import url("https://spoqa.github.io/spoqa-han-sans/css/SpoqaHanSansNeo.css");

html {
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
}

body,
button,
p,
span {
  position: relative;
  font-family: "Spoqa Han Sans Neo", -apple-system, BlinkMacSystemFont, "Malgun Gothic", "맑은 고딕", dotum, "돋움", helvetica, "Apple SD Gothic Neo", sans-serif;
  letter-spacing: -0.05em;
  font-weight: 400;
}

button span, a {
  color: #ffffff;
}

body {
  direction: ltr;
  -webkit-text-size-adjust: none;
  word-break: keep-all;
  word-wrap: break-word;
}

body,
ul,
li,
button {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
}

div,
ul,
p {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: 0;
}

p {
  margin: 0;
}

button {
  position: relative;
  border: 0 none;
  background-color: transparent;
  cursor: pointer;
  color: rgba(60, 44, 36, 0.8);
}

button span {
  z-index: 10;
}

.hover {
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  top: 0;
  left: 0;
}

button:hover > .hover {
  background: rgba(0, 0, 0, 0.12);
}

/* typography */
.h1 {
  font-size: 21px;
  line-height: 28px;
}
.h2 {
  font-size: 20px;
  line-height: 28px;
}
.h3 {
  font-size: 18px;
  line-height: 135%;
}
.h3.bold {
  line-height: 24px;
}
.caption1 {
  font-size: 17px;
  line-height: 22px;
}
.caption2 {
  font-size: 15px;
  line-height: 20px;
}

.opacity_50 {
  opacity: 0.5;
}
.opacity_55 {
  opacity: 0.55;
}
.opacity_60 {
  opacity: 0.6;
}
.opacity_80 {
  opacity: 0.8;
}
.opacity_88 {
  opacity: 0.88;
}
.opacity_90 {
  opacity: 0.9;
}
.opacity_77 {
  opacity: 0.77;
}
.mid {
  font-weight: 500;
}
.semi_bold {
  font-weight: 600;
}
.bold {
  font-weight: 700;
}
.ext_bold {
  font-weight: 900 !important;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.underline {
  text-decoration: underline;
}

.break_all {
  word-break: break-all;
}

/* color  */
body {
  background-color: #5A90DE;
  color: #111111;
}
.white {
  color: #ffffff;
}
.white2 {
  color: #FFFCF7;
}
.black {
  color: #000000;
}
.black2 {
  color: #111111;
}
.red {
  color: #D93200;
}
.blue {
  color: #3D5766;
}
.kv_bg_blue {
  background-color: #98BCDD;
  background: -webkit-linear-gradient(180deg, #699AE3 0%, #98BCDD 100%);
  background: -moz-linear-gradient(180deg, #699AE3 0%, #98BCDD 100%);
  background: -o-linear-gradient(180deg, #699AE3 0%, #98BCDD 100%);
  background: -ms-linear-gradient(180deg, #699AE3 0%, #98BCDD 100%);
  background: linear-gradient(180deg, #699AE3 0%, #98BCDD 100%);
}

/* box */
.min_wrap {
  min-width: 360px;
  width: 100%;
  overflow: hidden;
}
.container {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.flex_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.grow {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.only_pc {
  display: block;
}
.only_mo {
  display: none;
}

.x_center {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.relative {
  position: relative;
}


/* fixed_top_button */
.fixed_top_button {
  position: fixed;
  z-index: 99;
  width: 504px;
  height: 173px;
  top: 0px;
  left: calc(50% - 252px);
  padding: 16.8px 11.2px;
  gap: 11.2px;
  justify-content: flex-start;
  align-items: flex-start;
  cursor:pointer;
}
.fixed_top_button > p.white {
  font-size: 12.6px;
  line-height: 12.6px;
  letter-spacing: -0.05rem;
  padding-left: 19.6px;
}
.fixed_inner {
  width: 100%;
  height: 100%;
}
.fixed_title_wrap {
  width: 100%;
  height: 100%;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
  background: #FFFFFFF5;
  border-top-left-radius: 19.6px;
  border-top-right-radius: 11.2px;
  border-bottom-right-radius: 11.2px;
  border-bottom-left-radius: 19.6px;
  gap: 2.8px;
  padding-left: 14px;
  padding-right: 15px;
}
.fxd_btn_txt {
  width: 306px;
  height: auto;
}
.btn_wrap {
  width: auto;
  height: 100%;
  padding-left: 11.2px;
  padding-right: 19.6px;
  flex-shrink: 0;
  background: #FFFFFFF5;
  border-top-left-radius: 11.2px;
  border-top-right-radius:19.6px;
  border-bottom-right-radius: 19.6px;
  border-bottom-left-radius: 11.2px;
}
.btn_pink {
  padding: 11.2px 16.8px;
  border-radius: 11.2px;
  background-color: #47BEC2;
  gap: 2.8px;
}
.icon_arrow {
  width: 17px;
  height: auto;
}
#go_apply_fixed .wobble {
  animation: wobble 2s ease infinite;
}
@keyframes wobble {
  0% { transform: translateX(0%); }
  15% { transform: translateX(-6%); }
  30% { transform: translateX(6%); }
  45% { transform: translateX(-2%); }
  60% { transform: translateX(2%); }
  75% { transform: translateX(-1%); }
  100% { transform: translateX(0%); }
}

/* main */
.main {
  width: 100%;
  height: 1074px;
  position: relative;
}
.kv_main {
  position: relative;
  width: 504px;
  height: 100%;
  padding-top: 173px;
  padding-bottom: 14px;
  justify-content: flex-end;
}
.kv_main_btm {
  position: absolute;
  width: 100%;
  height: 180px;
  bottom: 0px;
  left: 0px;
  background-color: #5A90DE;
}
.cloud_1 {
  position: absolute;
  width: 208.6px;
  height: auto;
  top: 267px;
  left: -67.2px;
}
.cloud_2 {
  position: absolute;
  width: 194.6px;
  height: auto;
  top: 725.2px;
  left: 394.8px;
}
.kv_img_1_rainbow {
  position: absolute;
  width: 98px;
  height: auto;
  top: 194.6px;
  left: 15.4px;
}
.kv_img_split {
  position: absolute;
  width: 504px;
  height: 420px;
  top: 162.4px;  
  left: 0px;
}
.kv_img_2_spiral {
  position: absolute;
  width: 98px;
  height: 91px;
  top: 282.8px;
  left: -4.2px;
}
.kv_main_title {
  position: absolute;
  width: 504px;
  height: 182px;
  top: 183px;
  left: 0px;
}
.kv_img_3 {
  position: absolute;
  width: 35px;
  height: auto;
  top: 214.2px;
  left: 432.6px;
}
.kv_img_name {
  position: absolute;
  width: 152.6px;
  height: auto;
  top: 364px;
  left: 187.6px;
}
.kv_img_right {
  position: absolute;
  width: 117.6px;
  height: auto;
  top: 334.6px;
  left: 359.8px;
}
.kv_img_left {
  position: absolute;
  width: 123.2px;
  height: auto;
  top: 399px;
  left: 19.6px;
}
.kv_img_accent {
  position: absolute;
  width: 218.4px;
  height: auto;
  top: 453.6px;
  left: 313.6px;
}
.card_deco {
  position: absolute;
  width: 225.4px;
  height: auto;
  top: 438.2px;
  left: 133px;
  z-index: 3;
}
.kv_img_line {
  position: absolute;
  width: 135.8px;
  height: auto;
  top: 466.2px;
  left: 368.2px;
}

.kv_cont_box {
  width: 452px;
  height: 305px;
  gap: 8.4px;
  border-radius: 44.8px;
  padding: 30.8px 33.6px 22.4px;
  background-color: #ffffff;
  position: absolute;
  top: 754px;
  left: 25px;
  z-index: 2;
}
.kv_cont_box > .flex_col {
  width: 100%;
  gap: 11.2px;
  justify-content: flex-start;
  align-items: flex-start;
}
.kv_cont_txt {
  width: 68px;
  height: auto;
}
.kv_btn_txt {
  width: 161px;
  height: auto;
  margin-right: 5.6px;
}
.icon_kv_arrow {
  width: 22.4px;
  height: 22.4px;
  margin-left: 4.2px;
}
.kv_cont_btn {
  width: 100%;
  height: 75.6px;
  border-radius: 22.4px;
  background-color: #F4CB5A;
  overflow: hidden;
}
#go_apply.kv_cont_btn {
  background-color: #47BEC2;
}
#go_detail.kv_cont_btn {
  background-color: #3D57661A;
}
.kv_cont_box > .flex_col > p {
  margin: 0 auto;
}

#active_slide_clone {
  position: absolute;
  z-index: 3; 
  pointer-events: none;
  width: 174px;
  height: 290px;
  top: 492px;
  left: calc(50% - 87px);
}
#active_slide_clone img {
  width: 174px;
  height: 278px;
}

.swiper-container {
  width: 100%;
  max-width: 450px;
  position: absolute;
  top: 490px;
}
.swiper-wrapper {
  align-items: flex-end;
}

.swiper-slide {
  width: 174px;
  height: 278px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  transform-origin: center center;
  visibility: hidden;
  transform: rotate(0deg);
}
.swiper-slide.swiper-slide-active {
  z-index: 3;
  visibility: visible;
  transition: none;
  /* transition: transform 0.5s ease; */
}
.swiper-slide.swiper-slide-prev,
.swiper-slide.swiper-slide-next {
  width: 137px;
  height: 220px;
  z-index: 1;
  visibility: visible;
  transition: transform 0.5s ease, z-index 0.5s;
} 
/* .swiper-slide.swiper-slide-prev {
  transform: rotate(-6deg);
}
.swiper-slide.swiper-slide-next {
  transform: rotate(6deg);
} */
.swiper-slide img {
  width: 137px;
  height: 220px;
  z-index: 1;
}
.swiper-slide.swiper-slide-active img {
  width: 174px;
  height: 290px;
  z-index: 3;
  visibility: hidden;
}
.swiper-slide.swiper-slide-prev img {
  margin-top: 70px;
  margin-left: 75px;
  z-index: 2;
  transform: rotate(-6deg);
}
.swiper-slide.swiper-slide-next img {
  margin-top: 70px;
  margin-right: 86px;
  z-index: 2;
  transform: rotate(6deg);
}
.swiper-button-prev, .swiper-button-next {
  width: 70px;
  height: 70px;
  position: absolute;
  /* top: 114px; */
  top: unset;
  bottom: 93px;
}
.swiper-button-prev {
  left: 0px;
}
.swiper-button-next {
  right: 0px;
}
.swiper-button-prev::after, .swiper-button-next::after {
  content: "";
  width: 70px;
  height: 70px;
  background-image: url("../../static/images/city_edition_16_cashback_2507/icon_arrow.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.swiper-button-next::after {
  transform: rotate(180deg);
}

/* 대상카드 swiper 애니메이션 */
/* flip */
.swiper_flip_left_before {
  transform: perspective(2500px) rotateY(-100deg);
}
.swiper_flip_left {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-duration: .7s;
  transform: perspective(2500px) rotateY(0);
  backface-visibility: hidden;
  transition-property: transform;
}
.swiper_flip_upright_before {
  transform: perspective(2500px) rotateX(-100deg) rotateY(45deg);
}
.swiper_flip_upright {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-duration: .7s;
  transform: perspective(2500px) rotateX(0) rotateY(0);
  backface-visibility: hidden;
  transition-property: transform;
}
/* slide */
.swiper_slide_up_before {
  transform: translateY(60%);
  opacity: 0;
}
.swiper_slide_up {
  transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateY(0);
  opacity: 1;
}
.swiper_slide_left_before {
  transform: translateX(100%);
  opacity: 0;
}
.swiper_slide_left {
  transition: transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateX(0);
  opacity: 1;
}
.swiper_slide_right_before {
  transform: translateX(-100%);
  opacity: 0;
}
.swiper_slide_right {
  transition: transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateX(0);
  opacity: 1;
}
/* fade */
.swiper_fade_up_right_before {
  transform: translateY(20%) translateX(-20%);
  opacity: 0;
}
.swiper_fade_up_right {
  transition: transform 0.7s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.7s cubic-bezier(0.39, 0.575, 0.565, 1);
  transform: translateY(0) translateX(0);
  opacity: 1;
}
.swiper_fade_before {
  display: block;
  opacity: 0;
}
.swiper_fade {
  display: block;
  transition-property: opacity;
  transition-duration: .7s;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 1;
}
.swiper_fade_up_before {
  display: block;
  opacity: 0;
  /* transform: translate3d(0,60px,0); */
  transform: translateY(3%);
}
.swiper_fade_up {
  display: block;
  transition-property: opacity,transform;
  transition-duration: .7s;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 1;
  /* transform: translateZ(0); */
  transform: translateY(0);
}
.swiper_fade_down_before {
  display: flex;
  opacity: 0;
  /* transform: translate3d(0,-60px,0); */
  transform: translateY(-3%);
}
.swiper_fade_down {
  display: flex;
  transition-property: opacity,transform;
  transition-duration: .7s;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 1;
  /* transform: translateZ(0); */
  transform: translateY(0);
}

/* event */
#event1 {
  background-color: #5A90DE;
}
.eve_wrap {
  position: relative;
  width: 100%;
  max-width: 504px;
  margin: 0px auto;
  padding: 53.2px 19.6px
}
.body_deco_1 {
  position: absolute;
  width: 210px;
  height: auto;
  top: -14px;
  left: -67px;
}
.body_deco_2 {
  position: absolute;
  width: 250.6px;
  height: auto;
  bottom: 0px;
  left: 375px;
}
.body_box {
  width: 100%;
  height: 100%;
  position: relative;
  background: #FFFFFF;
  border-radius: 50.4px;
  padding: 36.4px 33.6px;
  gap: 22.4px;
}
.eve_tit {
  gap: 11.2px;
}
.eve_sub_title {
  width: 76.2px;
  height: auto;
}
.eve_title {
  width: 257px;
  height: auto;
}
.eve_img {
  width: 397.6px;
  height: auto;
}
.body_box_wrap {
  width: 100%;
  gap: 22.4px;
  justify-content: flex-start;
  align-items: flex-start;
}
.body_box_wrap .flex_col {
  width: 100%;
  justify-content: flex-start;
  align-items: flex-start;
}
.body_box_wrap > .flex_col > .flex_row {
  justify-content: flex-start;
}
.gap_14 {
  gap: 14px;
}
.gap_8_4 {
  gap: 8.4px;
}
.gap_4_2 {
  gap: 4.2px;
}
.gap_4 {
  gap: 4px;
}
.body_title {
  width: auto;
  height: 18.2px;
}
.star_li {
  padding-left: 16.8px;
  position: relative;
}
.star_li::before {
  content: "※";
  font-size: inherit;
  font-weight: inherit;
  position: absolute;
  top: 0px;
  left: 0px;
}
.gray_tag {
  background: #0000000A;
  padding: 5.6px;
  border-radius: 8.4px;
  box-sizing: border-box;
  display: inline-block;
}
.apply_eve_box_wrap {
  width: 100%;
  height: 39.2px;
}
.apply_eve_box {
  width: 100%;
  height: 100%;
}
#go_apply_eve {
  width: 81.8px;
  height: 39.2px;
  padding: 7.6px 8.4px;
  margin: 0px 5.6px;
  border-radius: 11.2px;
  background-color: #494444;
}
#go_apply_eve .hover {
  border-radius: 11.2px;
}
#go_apply_eve img.click_icon {
  width: 44.2px;
  height: 32px;
  position: absolute;
  top: 37px;
  left: 11px;
}
.show .wobble {
  animation: wobble 2s ease 0.6s;
}

.step {
  justify-content: flex-start;
  align-items: flex-start;
}
.step_img {
  width: 37.8px;
  height: 53.2px;
  margin-right: 11.2px;
}
.step2 {
  justify-content: flex-start;
  align-items: center;
}
.benefits {
  width: 100%;
  height: 134px;
  border: 0.56px solid #0000001A;
  border-radius: 9.8px;
}
.benefits > div {
  width: 50%;
  height: 100%;
}
.benefits > div:first-child {
  border-right: 0.56px solid #0000001A;
}
.benefits_tit {
  width: 100%;
  height: 63.6px;
  background-color: #F5F5F5;
  padding: 8.4px 0px;
  align-items: center !important;
  justify-content: center !important;
}
.benefits_tit img {
  width: auto;
  height: 46.8px;
}
div.benefits_cont {
  height: 70.4px;
  align-items: center !important;
  justify-content: center !important;
}
/* .step_img2 {
  width: 63px;
  height: 47.6px;
  margin-right: 11.2px;
} */
.benefit_wrap {
  width: 100%;
  gap: 5.6px;
  justify-content: flex-start;
  align-items: flex-start;
}
.benefit_li {
  padding-left: 12.6px;
  position: relative;
}
.benefit_li::before {
  content: "*";
  font-size: inherit;
  font-weight: inherit;
  position: absolute;
  top: 4.2px;
  left: 0px;
}

/* footer */
.footer {
  width: 100%;
  background-color: #111111;
  color: #F6EEF0;
}
.footer_wrap {
  max-width: 1000px;
  align-items: flex-start;
  padding: 36.4px 19.6px 50.4px;
  gap: 14px;
}
.footer_title {
  gap: 8.4px;
  padding-left: 11.2px;
}
.alert {
  width: 25.2px;
}
.footer ul {
  list-style: none;
}
.footer ul p {
  padding-left: 28px;
  margin-bottom: 5.6px;
}
.footer ul li {
  position: relative;
}
.footer ul li::before {
  position: absolute;
}
.footer .li_txt {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding-left: 16px;
}
.footer ul li.default {
  padding-left: 10px;
}
.footer ul li.default.important {
  margin-bottom: 5.6px;
}
.footer ul li.default::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background-color: #F9F6F4;
  top: 9px;
}
.footer ul li.dashed::before {
  content: "-";
}
.footer ul li.star::before {
  content: '※';
  border-radius: 0px;
  background-color: unset;
  top: 0px;
  left: 3px;
  width: auto;
  height: auto;
}
.footer .dashed_wrap {
  padding-left: 24px;
}

.no-click {
  cursor:default !important;
}