/* common */
@charset "utf-8";
@import url("https://spoqa.github.io/spoqa-han-sans/css/SpoqaHanSansNeo.css");
@import url("https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2/fonts/static/woff2/SUIT.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.07em;
  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: 115%;
}

.h2 {
  font-size: 20px;
  line-height: 28px;
}

.h3 {
  font-size: 18px;
  line-height: 24px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

.caption1 {
  font-size: 17px;
  line-height: 22px;
}

.caption2 {
  font-size: 15px;
  line-height: 22px;
}

.caption2.mid {
  font-size: 15px;
  line-height: 18px;
}

.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;
}

.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: #464646;
  color: #232323;
}

.white {
  color: #ffffff;
}

.black {
  color: #000000;
}

.black2 {
  color: #464646;
}

.black3 {
  color: #232323;
}

.orange {
  color: #ec6634;
}

/* 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;
}

.align_start {
  align-items: start !important;
}

.align_center {
  align-items: center !important;
}

/* fixed_top_button */
.fixed_top_button {
  position: fixed;
  z-index: 99;
  width: 460.6px;
  height: 93.8px;
  top: 16.8px;
  left: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
  align-items: start;
  gap: 5.6px;
}

.fixed_top_button .logo_wrap {
  padding-left: 22.4px;
  height: fit-content;
}

.fixed_top_button .logo_wrap .logo {
  height: 11.2px;
}

.fixed_inner {
  background: #4f3d2f;
  width: 100%;
  height: 77px;
  align-items: center;
  margin: 0 auto;
  justify-content: space-between;
  padding: 0 14px 0 22.4px;
}

.fixed_inner .fxd_btn_txt {
  font-weight: 700;
  font-size: 23.8px;
  line-height: 28px;
  letter-spacing: -0.7px;
  color: #ffffffe0;
  gap: 5px;
}

.fixed_inner .fxd_btn_txt span {
  font-weight: 700;
  font-size: 16.8px;
  line-height: 28px;
  letter-spacing: -0.7px;
}

.fixed_inner .btn_wrap {
  width: 127px;
  height: 50.4px;
  cursor: pointer;
  background: #322d1e;
  gap: 2.8px;
}

.fixed_inner .btn_wrap p {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #edd097;
}

.fixed_inner .btn_wrap img {
  width: 19.6px;
}

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

/* main */
.main {
  width: 100%;
  height: 1008px;
  background-image: url("../../static/images/city_edition_22_cashback_2510/bg.png");
  background-position: center;
  background-size: cover;
}

.main .kv_main {
  width: 504px;
  height: inherit;
  gap: 56px;
  margin: auto;
  align-items: center;
  justify-content: end;
  position: relative;
}

.main .main_deco_wrap {
  position: absolute;
  top: 0;
  align-items: start;
  justify-content: space-between;
  width: 655px;
  left: 52%;
  margin: auto;
  transform: translateX(-50%);
}


.main .main_deco_wrap .deco_top_left {
  width: 56px;
  height: 112px;
}

.main .main_deco_wrap .deco_top_right {
  width: 98px;
  height: 238px;
}

.main .main_deco_wrap>div {
  display: flex;
}

.main .main_deco_wrap img {
  object-fit: cover;
}

.main .main_deco_wrap .main_deco_left img:first-child,
.main .main_deco_wrap .main_deco_right img:last-child {
  transform: scaleX(-1);

}

.main .kv_main .main_top .title_wrap {
  width: 460.6px;
  height: 142px;
}

.main .kv_main .main_top .title_wrap .data-title {
  padding-left: 50.4px;
  display: flex;
  align-items: start;
}

.main .kv_main .main_top .title_wrap .data-title .main_sub_title {
  height: 28px;
}

.main .kv_main .main_top .title_wrap .data-title .main_title {
  height: 114px;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap {
  height: 64.4px;
  position: relative;
  width: 460px;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_buttons {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  justify-content: space-between;
  align-items: center;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_buttons .swiper_button {
  width: 53.2px;
  aspect-ratio: 1;
  border-radius: 100%;
  background: #efece4;
  box-shadow: 0px 1.4px 2.8px 0px #573a1e1a, 0px 5.6px 5.6px 0px #573a1e17, 0px 14px 8.4px 0px #573a1e0d, 0px 23.8px 9.8px 0px #573a1e03, 0px 37.8px 11.2px 0px #573a1e00;

  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_buttons .swiper_button img {
  width: 33.6px;
  aspect-ratio: 1;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_desc {
  width: 100%;
  gap: 11.2px;
  height: 64.4px;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_desc .line {
  width: 114.7px;
  height: 1.4px;
  background: #aaa087;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_desc .description {

  width: 80px;
  height: 48px;
}

.main .kv_main .main_top .swiper_container .swiper_desc_wrap .swiper_desc p {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.7px;
  text-align: center;
  color: #4f3d2f;
}

.main .kv_main .main_top .swiper-container {
  width: 460.6px;
  position: relative;
  overflow: hidden;

}

.main .kv_main .main_top .swiper_container .swiper-wrapper {
  height: 226.8px;
  width: 100%;
}

.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide {
  width: 141.57px;
  display: flex;

  justify-content: center;
  align-items: end;
  position: relative;
}


.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-active.active::before,
.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-next.next::before,
.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-prev.prev::before {
  opacity: 1;
}

.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-active::before {
  content: '';
  width: 249.2px;
  height: 86.6px;
  background: url('../../static/images/city_edition_22_cashback_2510/card-shadow-active.png');
  background-size: contain;
  background-position: center;
  position: absolute;
  opacity: 0;
}

.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-prev::before,
.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide-next::before {
  content: '';
  width: 147px;
  height: 44.8px;
  background: url('../../static/images/city_edition_22_cashback_2510/card-shadow-inactive.png');
  background-size: contain;
  background-position: center;
  position: absolute;
  opacity: 0;
}

.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide img {
  width: 111.66px;
}

.main .kv_main .main_top .swiper_container .swiper-wrapper .swiper-slide.active img {
  width: 137.57px;
}


/* 모든 카드의 기본 상태 */
.swiper-slide .motion {
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: end;
}

/* 카드 swiper 애니메이션 (참고 코드에서 가져옴) */
/* flip 애니메이션 시작 전 상태 */
.swiper-slide .swiper_flip_left_before {
  opacity: 0;
  transform: perspective(2500px) rotateY(-90deg);
}

/* flip 애니메이션 적용 후 상태 */
/* 모든 카드의 기본 상태 */
.swiper-slide .swiper_flip_left {
  opacity: 1;
  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;
  /* opacity도 transition에 포함 */
}



.main .kv_main .data-cont {

  height: 324.8px;
  padding: 61.6px 22.4px 29.6px;
  width: 436.8px;
  position: relative;
  gap: 11.2px;
  background: #efece4;
  box-shadow: 0px 1.4px 2.8px 0px #573a1e1a, 0px 5.6px 5.6px 0px #573a1e17, 0px 14px 8.4px 0px #573a1e0d, 0px 23.8px 9.8px 0px #573a1e03, 0px 37.8px 11.2px 0px #573a1e00;
}

.main .kv_main .data-cont .badge {
  width: 174.99px;
  height: 66.59px;
  position: absolute;
  top: 15.4px;
  left: 36.4px;
  z-index: 1;
}

.main .kv_main .data-cont .btn {
  width: 392px;
  height: 75.6px;
  background: #322d1e;
  cursor: pointer;
}

.main .kv_main .data-cont .btn.secondary {
  background: #aaa087;
  gap: 4.2px;
}

.main .kv_main .data-cont .btn.primary {
  gap: 10px;
}

.main .kv_main .data-cont .btn.primary .text {
  font-weight: 700;
  font-size: 23.8px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #ffffffe0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.main .kv_main .data-cont .btn.primary .text span {
  font-weight: 700;
  font-size: 16.8px;
  line-height: 28px;
  letter-spacing: -5%;
}

.main .kv_main .data-cont .btn.primary .arrow {
  gap: 4.2px;
}

.main .kv_main .data-cont .btn.primary .arrow p {
  font-weight: 700;
  font-size: 19.6px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #edd097;
}

.main .kv_main .data-cont .btn img {
  width: 19.6px;
}

.main .kv_main .data-cont .btn.secondary .text {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #322d1e;
}

.main .kv_main .data-cont .data-cont-desc-wrap {
  width: 100%;
  height: 60px;
}

.main .kv_main .data-cont .desc {
  font-size: 15px;
  line-height: 20px;
  letter-spacing: -5%;
  text-align: center;
  color: #6b6861;
}

/* event */
.event {
  width: 100%;
  padding: 72.8px 0;
  background: #394031;
  gap: 58.8px;
}

.event>div {
  background: #efece4;
  width: 464.8px;
}

.event>div .event_top {
  background: #e3dfcf;
  width: 100%;
  height: 353.6px;
  gap: 14px;
  padding: 33.6px;
}

.event>div .event_top .eve_sub {
  height: 50.4px;
}

.event>div .event_top .eve_img {
  height: 168px;
}

.event>div .event_top .eve_title {
  height: 54px;
}

.event .event_body {
  padding: 44.8px 33.6px;
  gap: 19.6px;
}

.event .event_body .content_wrap {
  gap: 14px;
  align-items: start;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.event .event_body .content_wrap .cont_title {
  height: 26.6px;
}

.event .event_body .content_wrap .cont_title .content {}

.event .event_body .content_wrap .content.type1 {
  gap: 5.6px;
}

.event .event_body .content_wrap .content h1 {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #333;
  align-items: start;
  width: 100%;
}

.event .event_body .content_wrap .content h1 span {
  font-size: 15.4px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #333;
}

.event .event_body .content_wrap .content.type1 .desc {
  font-size: 15px;
  line-height: 20px;
  letter-spacing: -5%;
  color: #394031;
  display: flex;
  gap: 2.8px;
}

.event .event_body .content_wrap .content.type1 .desc::before {
  content: "※";
  font-size: 15px;
  line-height: 20px;
  letter-spacing: -5%;
  color: #394031;
}

.event_2 .event_body .content_wrap .content.type1 {
  gap: 0;
}

.event_2 .event_body .content_wrap .content.type1 .desc {
  gap: 0;
}

.event_2 .event_body .content_wrap .content.type1 .desc::before {
  content: unset;
}

.event .event_body .content_wrap .content.type2 {
  gap: 8.4px;
  align-items: center;
  justify-content: start;
}

.event .event_body .content_wrap .content.type2 .title {
  font-size: 17px;
  line-height: 22px;
  letter-spacing: -0.7px;
  padding: 5.6px;
  color: #333;
  background: #3333330a;
  border-radius: 8.4px;
}

.event .event_body .content_wrap .content.type2 .date {
  font-size: 17px;
  line-height: 22px;
  letter-spacing: -0.7px;
  color: #333;
}

.event .event_body .content_wrap .content.type3 {}

.event .event_body .content_wrap .content.type3 h1 span {
  font-size: 18px;
  line-height: 135%;
  letter-spacing: -5%;
  color: #333;
}

.event .event_body .content_wrap .content.type3 .desc_wrap {
  display: flex;
  gap: 5.6px;
  width: 100%;
}

.event .event_body .content_wrap .content.type3 .desc_wrap img {
  height: 14px;
  width: 11.2px;
}

.event .event_body .content_wrap .content.type3 .desc {
  font-weight: 500;
  font-size: 16.8px;
  line-height: 18.2px;
  letter-spacing: -4%;
  color: #026f00;
  flex-direction: column;
  align-items: start;
}

.event .event_body .content_wrap .content.type3 .desc::before {
  content: unset;
}

.event .event_body .content_wrap .content.type3 .desc span {
  font-size: 16.8px;
  line-height: 22.4px;
  letter-spacing: -0.7px;
}

.event .event_body .content_wrap .content.type4 {
  gap: 8.4px;
  align-items: start;
}

.event .event_body .content_wrap .content.type4 .item {
  align-items: start;
  justify-content: start;
  gap: 11.2px;
}

.event .event_body .content_wrap .content.type4 .item img {
  width: 39.2px;
  height: 50.4px;
}

.event .event_body .content_wrap .content.type4 .item .item_content {
  align-items: start;
  gap: 8.4px;
}

.event .event_body .content_wrap .content h2 {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #333;
}

.event .event_body .content_wrap .content.type4 .item h2 span,
.event .event_body .content_wrap .content.type4 .item h3 span {
  color: #026f00;
  font-weight: 700;
}

.event .event_body .content_wrap .content h3 {
  font-weight: 700;
  font-size: 19.6px;
  line-height: 28px;
  letter-spacing: -5%;
  color: #333;
}

.event .event_body .content_wrap .content.type5 {
  gap: 2.8px;
  align-items: start;
}

.event .event_body .content_wrap .content h4 {
  color: #026f00;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.7px;
}

.event .event_body .content_wrap .content.type6 {
  gap: 5.6px;
  align-items: start;
}

.event .event_body .content_wrap .content.type6 .title_wrap {
  display: flex;
  gap: 2.8px;
}

.event .event_body .content_wrap .content.type6 .title_wrap img {
  width: 16.8px;
  height: 19.6px;
}

.event .event_body .caption_wrap {
  align-items: start;
  gap: 5.6px;
}

.event .event_body .caption_wrap .caption_title {
  height: 32.2px;
}

.event .event_body .caption_wrap .caption_content_wrap {
  gap: 5.6px;
  align-items: start;
}

.event .event_body .caption_wrap .caption_content_wrap .caption {
  display: flex;
  gap: 2.8px;
}

.event .event_body .caption_wrap .caption_content_wrap p {
  font-weight: 500;
  font-size: 15.4px;
  line-height: 19.6px;
  letter-spacing: -5%;
  color: #394031;
}

.event .event_body .caption_wrap .caption_content_wrap .caption::before {
  display: flex;
  width: 9.8px;
  content: "*";

  font-weight: 500;
  font-size: 15.4px;
  line-height: 19.6px;
  letter-spacing: -5%;
  color: #394031;
}

/* footer */
.footer {
  background: #322d1e;

  width: 100%;
  padding: 36.4px 0 50.4px;
}

.footer .footer_content {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  gap: 14px;
  align-items: start;
}

.footer .footer_content .title_wrap {
  padding: 0 11.2px;
  justify-content: start;
  align-items: center;
  gap: 8.4px;
}

.footer .footer_content .title_wrap .icon_alert {
  width: 25.2px;
}

.footer .footer_content .title_wrap p {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.7px;
  color: #efece4;
}

.footer .footer_content ul {
  list-style: none;
}

.footer .footer_content ul li {
  position: relative;
  padding-left: 24px;
  color: #efece4;
  font-size: 18.2px;
  line-height: 135%;
  letter-spacing: -5%;
}

.footer .footer_content ul li::before {
  position: absolute;

  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background-color: #efece4;
  top: 9px;
  left: 8px;
}

.footer .footer_content ul li span {
  display: flex;
  gap: 8.4px;
  font-weight: 700;
}

.footer .footer_content ul li span::before {
  content: "-";
}

.footer .footer_content .sub_title {
  font-weight: 700;
  font-size: 18.2px;
  line-height: 23.8px;
  letter-spacing: -0.7px;

  color: #efece4;
}

.footer .footer_content .btm p {
  display: flex;
  gap: 5.6px;
  padding: 0 5.6px;
  font-size: 18px;
  line-height: 27px;
  letter-spacing: -5%;
  color: #efece4;
}

.footer .footer_content .btm p::before {
  content: "※";
}