/* evt 공통 */
.evt_wrap { overflow: hidden; } 
.ov { overflow: hidden; } 
.p_r { position: relative; } 
.p_c { position: absolute; left: 50%; transform: translateX(-50%); } 

/* button */

.evt_btn { display: block; height: 11%; } 
.evt_btn01 { bottom: 8%; width: 90%; height: 36%; } 
.evt_btn02 { top: 28%; width: 27%; height: 4%; } 
.evt_btn03 { top: 0%; width: 95%; height: 38%; } 
.evt_btn04 { bottom: 3%; width: 95%; } 

.cursor { background: url('//cdn.edu2080.co.kr/sabok/images/event/2026/0303/cursor.png') 0 0 no-repeat; background-size: 100%; display: block; width: 5vw; height: 5vw; position: absolute; right: 5%; bottom: 5%; pointer-events: none; animation: cursor-diagonal 1.2s ease-in-out infinite; border: none !important; } 

@keyframes cursor-diagonal { 
 0% { transform: translate(-50%,-50%) translate3d(-18px,-18px,0); opacity: .85; } 
 50% { transform: translate(-50%,-50%) translate3d(18px,18px,0); opacity: 1; } 
 100% { transform: translate(-50%,-50%) translate3d(-18px,-18px,0); opacity: .85; } 
 }

 .file_input_wrap { width: 86%; max-width: 650px; display: flex; align-items: center; justify-content: space-between; bottom: 35%; } 
 .file_input_wrap_inner { width: 73%; background: #fff; padding: 2.4% 2%; border-radius: 1.6vw; display: flex; justify-content: left; align-items: center; gap: 1vw; } 
 .file_input_wrap_inner input[type="file"] { display: none; } 
 .file_input_wrap_inner label { display: inline-block; background: #cfe0f0; border-radius: 1.6vw; text-align: center; font-size: 2.9vw; color: #728ba3; cursor: pointer; padding: 2% 3%; animation: file-label-blink 0.7s steps(2, end) infinite; } 
@keyframes file-label-blink { 
 0% { background: #5380aa; color: #ffffff; } 
 100% { background: #0a8cf7; color:#ffffff; } 
 }
 .file_input_wrap_inner span { display: block; width: 70%; text-align: left; font-size: 2.6vw; color: #728ba3; } 
 .file_input_wrap a { display: block; width: 25%; height: 100%; background: #333; border-radius: 1.6vw; text-align: center; font-size: 3.2vw; padding: 3.4% 0; color: #fff; cursor: pointer; font-weight: 700; } 
 .agree_area { width: 86%; max-width: 610px; bottom: 27%; } 
 .agree_area >p { font-size: 3.6vw; color: #fff; font-weight: 700; margin-bottom: 2%; display: flex; align-items: center; justify-content: left; gap: 2%; } 
 .agree_area >p::before { content: ''; display: block; width: 3px; height: 3px; background: #fff; border-radius: 50%; } 
 .agree_area >.agree_wrap { display: flex; align-items: center; justify-content: left; gap:5% } 
 .agree_area >.agree_wrap .agree_input { width: 45%; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"] + label { position: relative; font-size: 3.5vw; font-weight: 700; text-align: left; color: #fff; display: flex; align-items: center; justify-content: left; gap: 7%; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"] { display: none; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"] + label::before { content: ''; display: block; width: 4vw; height: 4vw; background: rgba(255, 255, 255, 0.2); border-radius: 3px; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"] + label::after { content: '\221A'; display: block; font-size: 3.5vw; color: #1f5300; position: absolute; top: 50%; transform: translateY(-50%); left: 2%; opacity: 0; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"]:checked + label::before { background: #fff; } 
 .agree_area >.agree_wrap p.agree_input input[type="checkbox"]:checked + label::after { opacity: 1; } 
 .agree_area >.agree_wrap a { display: inline-block; padding: 1.5% 5%; border-radius: 20px; color: #1f5300; font-size: 2.5vw; font-weight: 500; border: 1px solid #1f5300; } 

/* 약력 */
.teacher_info { width: 90%; height: 20%; overflow-y: scroll; padding: 3%; box-sizing: border-box; top: 78%; font-size: 3vw; line-height: 1.9; text-align: left; background: #fff; max-width: 610px; box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); border-radius: 2.7vw; } 
.teacher_info::-webkit-scrollbar { width: 5px; } 
.teacher_info::-webkit-scrollbar-thumb { background-color: #f2f2f2; border-radius: 10px; } 


.book_slide_area { width: 90%; top: 50%; display: flex; align-items: center; justify-content: space-between; max-width: 650px; } 
.book_slide_area .slide_btn { width: 38%; } 
.book_slide_area .slide_btn li { width: 100%; border-radius: 10px; padding: 10px 0; font-size: 1.25rem; color: #8b8b8b; border: 1px solid #8b8b8b; text-align: center; margin-bottom: 10px; position: relative; } 
.book_slide_area .slide_btn li.active { background: #049f00; color: #fff; font-weight: 700; border: 1px solid #049f00; } 
.book_slide_area .slide_btn li::after { content: ''; display: block; position: absolute; right: -8%; bottom: -37%; width: 40px; height: 40px; background: url('//cdn.edu2080.co.kr/sabok/images/event/2026/0303/cursor.png') 0 0 no-repeat; background-size: 100%; opacity: 0; } 
.book_slide_area .slide_btn li.active::after { opacity: 1; } 
.book_slide_area .slide_wrap { width: 60%; } 
.book_slide_area .slide_list { display: grid; } 
.book_slide_area .tab_cont { grid-area: 1 / 1; opacity: 0; transition: opacity 0.5s; z-index: 1; width: 100%; } 
.book_slide_area .tab_cont.active { opacity: 1; z-index: 2; } 
 

.pass_slide_wrap { width: 100%; position: absolute; left: 0; top: 52%; } 
.pass_slide_wrap li { width: 49vw !important; border-radius: 2.7vw; overflow: hidden; } 
.pass_slide_wrap li img { width:100%; } 

.review_slide_wrap { width: 90%; position: absolute; left: 5%; top: 40%; } 
.review_slide_wrap .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto { bottom: -6vw; } 
.review_slide_wrap .bx-wrapper .bx-pager.bx-default-pager a { width: 2.5vw; height: 2.5vw; background: #8b8b8b !important; } 
.review_slide_wrap .bx-wrapper .bx-pager.bx-default-pager a:hover, .review_slide_wrap .bx-wrapper .bx-pager.bx-default-pager a.active { background: #019331 !important; width: 8.5vw !important; border-radius: 30px; } 
/* reason */
.reason, .open_reason.reason { position: absolute; width:95%; top:33%; left:50%; padding: 5%; box-sizing: border-box; background:rgba(0,0,0,0.85); color:rgba(255,255,255,0.7); text-align: left; font-size:12px; letter-spacing: -0.04em; display:none; transform: translateX(-50%); } 
.reason.active, .open_reason.reason.active { display: block; } 
.reason .close, .open_reason.reason .close { position: absolute; width:4vw; height:4vw; top:4%; right:1.5%; cursor: pointer; } 
.reason .close::before, .reason .close::after, .open_reason.reason .close::before, .open_reason.reason .close::after { content:''; display:block; width:100%; height:1px; background:rgba(255,255,255,0.7); position: absolute; top:50%; left:50%; transform: translate(-50%,-50%) rotate(45deg); } 
.reason .close::after, .open_reason.reason .close::after { transform: translate(-50%,-50%) rotate(-45deg); } 

.video_popup { position: fixed; left:0; top:0; width: 100%; height: 100%; display: none; z-index: 9999; } 
.video_popup.active { display: block; } 
.video_popup .bg { width: 100%; height: 100%; background: rgba(0,0,0,0.7); } 
.video_popup .pop_inner { position: absolute; left:50%; top:50%; transform: translate(-50%,-50%); width: 90vw; height: 60vw; } 
.video_popup .pop_inner video { width: 100%; height: 100%; } 
.video_popup .close { position: absolute; right: 0; top: -40px; display: block; width: 40px; height: 40px; } 
.video_popup .close::before, .video_popup .close::after { content: ''; position: absolute; width: 20px; height: 2px; background: #fff; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); } 
.video_popup .close::after { transform: translate(-50%,-50%) rotate(-45deg); } 


.fr_banner { display: block; position: fixed; bottom: 13vw; left: 50%; transform: translateX(-50%); width: 100%; } 
.fr_banner a { display: block; width: 100%; } 
.fr_banner img { display: block; width: 100%; } 

/* 약관 팝업 */
.agree_popup { width: 90%; max-width: 610px; position: absolute; left: 50%; top: 82%; transform: translate(-50%, -50%); background: #fff; padding: 30px; border-radius: 1.45rem; box-shadow: 0 0 23px rgba(0, 0, 0, 0.5); display: none; z-index: 99; text-align: left; } 
.agree_popup h2 { margin-bottom: 3%; font-size: 1.15rem; font-weight: 700;; } 
.agree_popup strong { font-size: 1.1rem; font-weight: 700; margin-bottom: 2%; } 
.agree_popup p { margin-top: 1%; font-size: 0.95rem; font-weight: 400; line-height: 1.15rem; } 
.agree_popup.active { display: block; } 
.agree_popup .close { position: absolute; right: 0; top: -15%; display: block; width: 7vw; height: 7vw; background: #333; border-radius: 24%; } 
.agree_popup .close::before, .agree_popup .close::after { content: ''; position: absolute; width: 60%; height: 2px; background: #FFF; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); } 
.agree_popup .close::after { transform: translate(-50%,-50%) rotate(-45deg); } 