/* 이벤트 공통 */
.event_contents {
  overflow: hidden;
  padding-bottom: 32px;
  margin: 0 auto;
  width: 100%;
}
.event_contents img {
  display: block;
  margin: 0 auto;
}
.blind {
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
}
.section .section_title {
  margin: 0 auto;
}
:root {
  --baseWidth: 360;
}

/* 이벤트 내용 */
.key_visual {
  overflow: hidden;
  position: relative;
  min-height: 700px;
  background: url('../../images/event/APTI000562/KV_bg_summer.jpg') no-repeat center bottom 0 / auto 100%;
}
.key_visual .card_name {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  color: #adddff;
}
.key_visual .top_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 51px 0 0;
  text-align: center;
  z-index: 1;
}
.key_visual .top_title .collabo {
  opacity: 0;
  transform: translateY(100px);
  margin: 0 auto 11px;
}
.key_visual .top_title .collabo .inner {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  border-radius: 99px;
  border: 1px solid #bae9ff;
}
.key_visual .top_title .collabo .text {
  line-height: 30px;
  font-size: 1.4rem;
  font-weight: var(--font-weight-regular);
  color: var(--gray50);
}
.key_visual .top_title .collabo .bullet {
  width: 14px;
  height: 14px;
  background: url('../../images/common/ico_close_gray50_14.svg') no-repeat center / contain;
}
.key_visual .top_title .title_area {
  opacity: 0;
  transform: translateY(100px);
}
.key_visual .top_title .title {
  display: block;
  line-height: 1.333;
  font-size: 3rem;
  font-weight: var(--font-weight-bold);
  color: var(--gray50);
}
.key_visual .top_title .title02 {
  display: inline-block;
  background: linear-gradient(90deg, #01f -0.75%, #0932ff 28.29%, #a500ff 79.68%, #d000ff 103.8%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.key_visual .top_title .kv_text {
  margin-top: 6px;
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
  color: #ecf7ff;
  text-shadow: 0 1px 4px rgba(30, 104, 148, 0.5);
  opacity: 0;
  transform: translateY(100px);
}
.key_visual .btn_bottom_fix {
  background-image: none;
  background-color: transparent;
}
.key_visual .btn_bottom_fix.ver_wh {
  position: absolute;
  bottom: 24px;
}
.key_visual .btn_bottom_fix.ver_wh .btn_primary {
  color: var(--gray50);
  background-color: var(--black700);
}
.key_visual .btn_bottom_fix.active {
  animation: button-slide-up 0.4s forwards linear;
}
@keyframes button-slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.key_visual.fade_up .collabo {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s ease;
}
.key_visual.fade_up .title_area {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s 0.2s ease;
}
.key_visual.fade_up::after {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s 0.4s ease;
}
.key_visual.fade_up .kv_text {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s 0.4s ease;
}
.benefit_section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 40px;
  padding: 0 28px;
}
.benefit_section .badge_title {
  opacity: 0;
  transform: translateY(100px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
}
.benefit_section .badge_title .badge {
  padding: 6px 10px;
  line-height: 1;
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  color: var(--gray50);
  text-align: center;
  border-radius: 99px;
  background-color: #000;
}
.benefit_section .badge_title .title_area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  text-align: center;
}
.benefit_section .badge_title .title_area .title {
  color: var(--black800);
  word-break: keep-all;
}
.benefit_section .badge_title .title_area .title em {
  color: var(--blue800);
}
.benefit_section .badge_title .title_area .text {
  color: var(--black600);
}
.benefit_section .badge_title .title_area .text em {
  color: var(--blue800);
}
.benefit_section .card_wrap {
  opacity: 0;
  transform: translateY(100px);
  overflow: hidden;
  border-radius: 20px;
  background-color: var(--blue100);
}
.benefit_section.fade_up .badge_title {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s ease;
}
.benefit_section.fade_up .card_wrap {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s 0.3s ease;
}

/* 카드 혜택 추가 바텀시트 - 202504: 모달사용X, 페이지에 영역 합쳐짐 */
.benefit_summary {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 20px 40px;
}
.benefit_summary .benefit {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 16px;
  border-radius: 16px;
  background-color: var(--gray200);
}
.benefit_summary .benefit.column {
  flex-direction: column;
  gap: 20px;
  align-items: stretch;
}
.benefit_summary .benefit .benefit_inner {
  display: flex;
  align-items: center;
  gap: 7px;
}
.benefit_summary .benefit .img_area {
  flex: 0 0 auto;
  width: 60px;
  height: 48px;
}
.benefit_summary .benefit .img_area img,
.benefit_summary .benefit .img_area svg {
  display: block;
  height: 100%;
}
.benefit_summary .benefit .text_area {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.benefit_summary .benefit .text_area .title_area {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.benefit_summary .benefit .text_area .title_area span {
  color: var(--black500);
}
.benefit_summary .benefit .text_area .title_area .badge {
  width: 61px;
  height: 24px;
}
.benefit_summary .benefit .text_area .title {
  color: var(--black800);
}
.benefit_summary .benefit .text_area .title em {
  color: var(--blue800);
}
.benefit_summary .benefit .text_area .text {
  color: var(--black800);
}
.benefit_summary .benefit .text_area .subtext {
  color: var(--black500);
}
.benefit_summary .benefit table {
  table-layout: fixed;
  border-spacing: 0;
  width: 100%;
}
.benefit_summary .benefit table tr {
  border-bottom: 1px solid var(--gray600);
}
.benefit_summary .benefit table tr th,
.benefit_summary .benefit table tr td {
  padding: 10px 0;
  line-height: 1.35;
  font-size: var(--font-size-text-md);
  text-align: center;
  border-right: 1px solid var(--gray600);
}
.benefit_summary .benefit table tr th:last-child,
.benefit_summary .benefit table tr td:last-child {
  border-right: 0;
}
.benefit_summary .benefit table thead tr th {
  font-weight: var(--font-weight-semibold);
  color: var(--black800);
  background-color: var(--gray400);
}
.benefit_summary .benefit table tbody tr td {
  font-weight: var(--font-weight-regular);
  color: var(--black800);
}
.benefit_summary .benefit table tbody tr:first-child td {
  font-weight: var(--font-weight-semibold);
  background-color: var(--gray200);
}
.benefit_summary .notice_wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.benefit_summary .notice {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.benefit_summary .list {
  display: flex;
  flex-direction: column;
  gap: var(--unit-2);
}
.benefit_summary .list .text {
  position: relative;
  padding: 0 0 0 12px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
}
.benefit_summary .list .text::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  line-height: 1.45;
  font-size: var(--font-size-text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--black600);
  content: '·';
}
.benefit_summary .sub_notice {
  color: var(--black600);
}
.benefit_summary .sub_notice::before {
  margin-right: 8px;
  line-height: 1.45;
  font-size: var(--font-size-text-lg);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
  content: '※';
}
.benefit_summary.type02 {
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: var(--blue100);
  border-radius: 0;
}
.benefit_summary.type02 .benefit {
  background-color: var(--gray50);
}
.event_detail_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 40px 20px 0;
}
.event_detail_wrap .title_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.event_detail_wrap .title_wrap .badge {
  margin: 0 0 4px;
  padding: 4px 8px;
  line-height: 1.35;
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
  color: var(--gray50);
  border-radius: 99px;
  background-color: var(--blue800);
}
.event_detail_wrap .title_wrap .event_title {
  display: block;
  color: var(--black800);
}
.event_detail_wrap .title_wrap .text {
  color: var(--black800);
}
.event_detail_wrap .text_wrap {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  border-radius: 12px;
  background-color: var(--blue50);
}
.event_detail_wrap .text_wrap .text_area {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.event_detail_wrap .text_wrap .text_area.sub_text {
  gap: 2px;
}
.event_detail_wrap .text_wrap .title,
.event_detail_wrap .text_wrap .text {
  color: var(--black800);
}
.event_detail_wrap .text_wrap .text ul {
  margin-top: 8px;
}
.event_detail_wrap .text_wrap .text ul li {
  display: flex;
}
.event_detail_wrap .text_wrap .text ul li::before {
  content: '·';
  margin-right: 6px;
}
.event_detail_wrap .text_wrap .text ul li + li {
  margin-top: 6px;
}
.event_detail_wrap .text_wrap .text ul li .sub_text {
  margin-top: 2px;
  color: var(--black600);
}
.event_detail_wrap .text_wrap .text ul li span + p {
  margin-top: 2px;
}
.event_detail_wrap .text_wrap .text ul li.sub_item p {
  color: var(--black500);
}
.event_detail_wrap .text_wrap .text ul.short_list {
  margin-top: 0;
}
.event_detail_wrap .text_wrap .text ul.short_list li + li {
  margin-top: 2px;
}
.event_detail_wrap table {
  table-layout: fixed;
  border-spacing: 0;
  width: 100%;
}
.event_detail_wrap table tr {
  border-bottom: 1px solid var(--gray600);
}
.event_detail_wrap table tr th,
.event_detail_wrap table tr td {
  padding: 8px 0;
  line-height: 1.35;
  font-size: var(--font-size-text-xs);
  text-align: center;
  border-right: 1px solid var(--gray600);
}
.event_detail_wrap table tr th:last-child,
.event_detail_wrap table tr td:last-child {
  border-right: 0;
}
.event_detail_wrap table thead tr th {
  font-weight: var(--font-weight-semibold);
  color: var(--black800);
  background-color: var(--blue100);
  border-top: 1px solid var(--gray600);
}
.event_detail_wrap table tbody tr td {
  height: 52px;
  font-weight: var(--font-weight-regular);
  color: var(--black800);
  background-color: var(--gray50);
}
.event_detail_wrap table tbody tr td.c_blue {
  color: var(--blue800);
  font-weight: var(--font-weight-semibold);
}
.dropdown_disclaimer {
  padding: 32px 24px 16px;
}
.dropdown_disclaimer .title_area .title {
  font-size: var(--font-size-text-lg);
}
.dropdown_disclaimer .title_area .btn_dropdown {
  width: 12px;
  height: 12px;
  background: url('../../images/common/arrow_up_black800_12.svg') no-repeat center / contain;
}
.dropdown_disclaimer .contents_area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.dropdown_disclaimer .contents_area .section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dropdown_disclaimer .contents_area .sub_title {
  display: block;
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .list {
  gap: 6px;
}
.dropdown_disclaimer .contents_area .list .text {
  font-size: var(--font-size-text-md);
}
.dropdown_disclaimer .contents_area .list .text.notice {
  padding-left: 0;
}
.dropdown_disclaimer .contents_area .list .text.notice::before {
  display: none;
}
.dropdown_disclaimer .contents_area .list .underline {
  text-decoration: underline;
}
.dropdown_disclaimer .contents_area .list .sub_text {
  position: relative;
  padding: 0 0 0 22px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .list .sub_text::before {
  position: absolute;
  top: 0;
  left: 12px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
  content: '-';
}
.dropdown_disclaimer .contents_area .list .sub_text.asterisk::before {
  content: '*';
}
.dropdown_disclaimer .contents_area .list .text em,
.dropdown_disclaimer .contents_area .list .sub_text em {
  font-weight: var(--font-weight-semibold);
}
.dropdown_disclaimer .contents_area .list .text.none_dot::before {
  content: '';
}
.dropdown_disclaimer .contents_area .noti_text {
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .noti_text02 {
  display: block;
  color: var(--black300);
}

/* 모바일웹 최대너비에 맞추기 위해 추가 */
.top_navi {
  max-width: 500px;
  margin: 0 auto;
}
.event_contents {
  max-width: 500px;
  background: var(--gray50);
  padding-bottom: calc(32px + var(--cta-main-h));
}
body {
  background: var(--gray100);
}

@media screen and (min-width: 500px) {
  .key_visual video,
  .key_visual .btn_bottom_fix {
    margin: 0 auto;
    max-width: 360px;
  }
  .key_visual .btn_bottom_fix {
    padding-left: 20px;
    padding-right: 20px;
  }

  .benefit_summary:not(.type02),
  .benefit_summary.type02 .benefit_summary_inner,
  .event_detail_wrap > * {
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    max-width: 350px;
  }

  .dropdown_disclaimer {
    max-width: 390px;
    margin: 0 auto;
  }
}
