@charset "UTF-8";

.inner { position: relative; width: 1200px; margin: 0 auto; }
section { display: flex; justify-content: center; align-items: center; text-align: center; }
.quick-menu { position: fixed; right: 0; bottom: 25%; z-index: 20; }
.intro { height: 100vh; width: 100vw; background: url("imgs/intro_bg01.jpg") no-repeat center center/cover;
  animation: bgScale 3s both; }
.intro ul { font-family: Pretendard; text-align: center; text-shadow: -2.9px 4.1px 5.6px rgba(0, 0, 0, 0.33); margin: 65px auto; }
.intro ul li:nth-of-type(1) { font-size: 60px; letter-spacing: -1.8px; color: #fff; }
.intro ul li:nth-of-type(2) { font-size: 160px; font-weight: 900; letter-spacing: -3.2px; color: #ffe4bd; }
.intro a { width: 760px; height: 100px; background: #fff; border-radius: 50px; text-align: center; display: flex; justify-content: center; align-items: center; margin: 28px auto 0; }
.intro a p { position: relative; font-size: 36px; font-weight: 700; color: #111; display: inline-block; text-align: center; }
.intro a p::after { content: ""; background: url(imgs/intro_arrow.png); margin-left: 28px; width: 17px; height: 30px; display: inline-block; }
.intro a:hover { background: #ffe4bd; }
.intro .look { margin-top: 50px; animation: updown 0.7s infinite; }
.page { opacity: 0; /* 초기 상태는 보이지 않음 */
  visibility: hidden; /* 화면에서 숨김 처리 */
  display: none; /* 섹션 2는 처음에 안 보임 */
}
.show { display: flex; /* 섹션 2를 보이게 함 */
  opacity: 1; /* 섹션 2가 완전히 나타남 */
  visibility: visible; /* 섹션 2가 표시됨 */
}
.hidden { opacity: 0; }
.evt_wp { position: relative; overflow-x: hidden; }
.evt_wp .visual { position: relative; height: 949px; background: #ddecff url(imgs/bg_visual_n.jpg) no-repeat center; }
.evt_wp .visual .typo { padding-top: 120px; z-index: 5; position: relative; }
.evt_wp .visual .typo li:nth-of-type(2) { margin-top: 56px; animation: slide-in-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.evt_wp .visual .typo li:nth-of-type(3) { margin-top: 50px; animation: slide-in-top 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.evt_wp .visual .typo li:nth-of-type(4) { margin-top: 100px; animation: slide-in-bottom 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
.evt_wp .visual .visual_txt { position: absolute; bottom: 290px; right: -290px; animation: slide-in-blurred-tr 0.5s 0.5s cubic-bezier(0.23, 1, 0.32, 1) both; }
.evt_wp .visual .visual_txt img { animation: blink 1s infinite; }
.evt_wp .visual span { position: absolute; top: 120px; left: -180px; z-index: 1; animation: slide-in-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; animation-delay: 0.8s; }
.evt_wp .subbar { height: 120px; width: 100%; background: #2a46f1 url(imgs/subbar_n.png) no-repeat center; }
.evt_wp .subbar a {position: relative; top: 20px;  right: -282px;}
.evt_wp .bg_01 { background: #e6efff; padding-top: 110px; }
.evt_wp .bg_02 { background: #e6efff; }
.evt_wp .bg_03 { background: #e6efff; padding-bottom: 110px; }
.evt_wp .bg_04 { background: #222; padding: 120px 0; }
.evt_wp .bg_04 .package { display: flex; gap: 30px; flex-direction: column; }
.evt_wp .bg_04 .package li { position: relative; }
.evt_wp .bg_04 .package .btn_pack { position: absolute; right: 30px; top: 20px; }
.evt_wp .bg_04 .package .btn_pack li:first-child { margin-bottom: 10px; }
.evt_wp .bg_05 { background: #e6efff; padding: 120px 0; }
.evt_wp .bg_05 .btn_05 { position: absolute; top: 760px; right: 65px; }
.evt_wp .bg_06 { background: #e9cfff; padding: 110px 0; }
.evt_wp .bg_06 .con6_deco img:nth-of-type(1) {position: absolute; left: 130px;  top: 190px; animation: updown .5s infinite ease-in alternate;}
.evt_wp .bg_06 .con6_deco img:nth-of-type(2) {position: absolute; right: 100px;  top: 320px; animation: updown .5s .1s infinite ease-out alternate;}
.evt_wp .bg_07 { background: #cfe4ff; padding: 110px 0; }
.evt_wp .bg_07 .btn_07 { position: absolute; top: 813px; left: 31px; }
.evt_wp .bg_08 { background: #fff; padding: 110px 0; }
.evt_wp .bg_09 { background: #894fff; padding: 110px 0; }
.evt_wp .bg_09 .notice { text-align: left; background: #fff; width: 1000px; margin: 0 auto; padding: 25px 45px; border-radius: 10px; counter-reset: number; }
.evt_wp .bg_09 .notice p { padding: 3px 0; font-size: 16px; color: #222; font-weight: 700; letter-spacing: -1px; }
.evt_wp .bg_09 .notice p::before { counter-increment: number 1; content: counter(number) "."; margin-left: -19px; padding-right: 7px; }
.evt_wp .bg_10 { background: #fff0d3; padding-top: 110px; }
.evt_wp .bg_11 { background: #fff0d3; padding-bottom: 110px; }
.evt_wp .bg_12 { background: #2e40cc; padding: 110px 0; }
.evt_wp .bg_12 .btn_wp span:nth-of-type(1) { margin-right: 10px; }
.evt_wp .bg_13 { background: #e6efff; padding: 110px 0; }
.evt_wp .bg_14 { height: 600px; width: 100%; background: #011047 url(imgs/bg13.jpg) no-repeat center; overflow: hidden; }

.tab_info { position: absolute; top: 200px; left: 55px; width: 601px; }
.tab_wp { margin: 0 auto; text-align: center; overflow: hidden; padding-top: 11px; }
.tab_target { background: #eee; cursor: pointer; float: left; width: 296px; padding: 20px 0 10px; font-size: 20px; color: #111; border: 2px solid #eaeaea; border-bottom: 0; border-radius: 20px 20px 0 0; }
.tab_target.active { background: #2a46f1; border: 2px solid #2a46f1; color: #fff; height: 35px; font-weight: 900; margin-top: -11px; font-size: 25px; }
.review { width: 100%; position: relative; }
.review ul { position: relative; height: 450px; margin-top: 60px; }
.review li { float: left; width: 340px !important; margin: 0 16px 0 17px !important; padding-right: 7px; }
.review .swiper-button-prev { position: absolute; top: 290px; background: none; width: 38px; left: 50%; box-shadow: none; margin-left: -224px; }
.review .swiper-button-next { position: absolute; top: 290px; background: none; width: 38px; right: 50%; box-shadow: none; margin-right: -224px; }
.swiper-slide img { opacity: 0.5; }
.swiper-slide-active img { opacity: 1; }
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after { content: none; }
.up-scroll { transition: transform 0.7s, opacity 1.7s; }
.blink { animation: blink 1s infinite; }
.dungdung { animation: updown 1s both infinite alternate; }

details { position: relative; width: 1200px; margin: 50px auto 0; border-radius: 10px; border: 1px solid #000; text-align: left; }
details summary { font-size: 22px; font-weight: 700; width: 1100px; margin: 0 auto; padding: 15px 0; cursor: pointer; list-style-type: none; text-align: center; color: #333; }
details summary::-webkit-details-marker { display: none; }
details summary .arrow { position: absolute; top: 13px; right: 455px; }
details summary .arrow::after { position: absolute; top: 5px; left: 10px; content: ""; width: 12px; height: 12px; border-top: 3px solid #000; border-right: 3px solid #000; transform: rotate(135deg); }
details[open] summary { border-bottom: 1px solid #000; padding: 15px 0; }
details[open] summary .arrow::after { position: absolute; top: 12px; left: 10px; content: ""; width: 12px; height: 12px; border-top: 3px solid #000; border-right: 3px solid #000; transform: rotate(-45deg); }
details div.info { margin: 30px 50px; padding: 10px; font-size: 18px; font-weight: 700; width: 1100px; }
details div.info dl { margin-bottom: 20px; }
details div.info dl dt { font-size: 20px; font-weight: 600; }
details div.info dl dd { margin-left: 14px; font-weight: 500; margin-bottom: 5px; }
details div.info dl dd a { background: #353637; border-radius: 3px; color: #fff; padding: 4px 10px; font-size: 13px; margin-left: 10px; }
details div.info dl dd a:hover { background: #222; }
details div.info dl dd strong { padding-top: 20px; color: #d32425; font-weight: 600; }
details div.info dl dd span { font-weight: 600; }

.applyBar { position: fixed; bottom: 0; background: rgba(28, 29, 31, 0.9); width: 100%; height: 120px; z-index: 1000001; font-size: 18px; text-align: left; }
.apply_box { position: relative; width: 1090px; margin: 0 auto; }
.apply_box p { color: #fff; }
.apply_box .apply_tit { font-weight: 500; padding: 20px 50px 5px 0; border-bottom: 1px solid #555; font-size: 30px; width: -moz-fit-content; width: fit-content; }
.apply_box .agree { position: absolute; top: 85px; right: 200px; color: #fff; font-weight: 300; cursor: pointer; }
.apply_box .agree a { color: #fff; }
.apply_box .apply_tit span { color: #fffc12; }
.apply_box .info { padding-top: 10px; }
.apply_box .apply_btn { background: #fffc12; text-align: center; font-weight: 700; color: #000; width: -moz-fit-content; width: fit-content; padding: 12px 40px; border-radius: 3px; display: inline-grid; align-items: center; font-size: 20px; height: 60px; position: absolute; top: 20px; right: 0; }
.apply_box .apply_btn:hover { background: #ff004e; color: #fffc12; }
.apply_box input[type=text] { width: 180px; height: 40px; margin: 0 20px 0 10px; padding: 20px 10px; }
.apply_box .number { width: 325px !important; }
.apply_box .conts { width: 388px !important; }
.apply_box input[type=checkbox] { width: 20px; height: 20px; }

@keyframes slide-in-top {
  0% { transform: translateY(-300px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes slide-in-bottom {
  0% { transform: translateY(300px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
@keyframes slide-in-blurred-tr {
  0% { transform: translate(200px, -200px) skew(-30deg, -10deg); transform-origin: 0 0; filter: blur(40px); opacity: 0; }
  100% { transform: translate(0, 0) skew(0deg, 0deg); transform-origin: 50% 50%; filter: blur(0); opacity: 1; }
}
@keyframes scale-img-up {
  0% { transform: scale(1); }
  100% { transform: scale(1.05); }
}
@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0.2; }
  100% { opacity: 1; }
}
@keyframes updown {
  0% { transform: translateY(-5px); }
  100% { transform: translateY(0); }
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes fadeIn_02 {
  0% { opacity: 0.3; }
  30% { opacity: 1; }
  95% { opacity: 1; }
  100% { opacity: 0.3; }
}
@keyframes fadeOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes scale {
  0% { opacity: 0; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes upDown2 {
  0% { transform: translateY(0%); }
  50% { transform: translateY(-12%); }
  100% { transform: translateY(0%); }
}
@keyframes bgScale {
  0% { background-size: 120% 120%; }
  100% { background-size: 100% 100%; }
}
@keyframes bgScale02 {
  0% { background-size: 100% 100%; }
  100% { background-size: 110% 110%; }
}
@keyframes changeBackground {
  0% { background-image: url("imgs/intro_bg01.jpg"); }
  50% { background-image: url("imgs/intro_bg02.jpg"); }
  100% { background-image: url("imgs/intro_bg01.jpg"); }
}