#container{padding: 120px 0;}
.sub_content{padding: 60px 0 0;}
.sub_tab{padding-bottom: 60px;}

.main_t {width: 100%; height: 100vh; overflow: hidden; background: url(/img/banner_img-e421fc245af3d266fc50ea57d56941a2.png) no-repeat; background-size: cover; background-position: center;}
.main_t .sec_box {height: 100%;}
.main_t .main_banner{display: flex;align-items: center;justify-content: center;flex-direction: column;height: 100%; position: relative;}
.main_t .main_banner img{max-width: 500px;}
.main_t .main_banner::after{content: ''; background: url(/img/main_bg_line-c837e8f55bae06c71d1b76baca8cfd50.png) no-repeat; width: 100%; height: 540px; background-size: contain;background-position: bottom; position: absolute;bottom: 50px;}

.paging-wrap {position: absolute;bottom: 50px !important;left: 50% !important;transform: translateX(-50%);z-index: 10;width: auto !important;}
.paging-wrap .swiper-pagination-bullet {width: 12px;height: 12px;background: #ffffffc0;opacity: 1;margin: 0 4px !important;border-radius: 50%;}
.paging-wrap .swiper-pagination-bullet-active {background: #19478C;width: 12px;border-radius: 10px;transition: 0.3s;}

.main_ev{background: #FFFDF5;position: relative;}
.main_ev::after{content: ''; background: url(/img/main_ev_bg-344f2a2a6b1430fb6b30cf84d23997d2.png) no-repeat 100%; width: 100%; height: 100vh; display:block;background-size: contain;}
.main_ev .txt_box{position: absolute;}
.main_ev .txt_box .tit{color: #19478C; font-weight: 700; font-size: 4rem;}
.main_ev .txt_box .desc{font-size: 1.5rem; font-weight: 400;}

.main_notice .inner{display: flex; justify-content: space-between; gap: 150px;}
.main_notice .tit_text{flex-shrink: 0;}
.main_notice .tit_text .tit{font-size: 2.5rem;font-weight: 600;min-width: 460px;}
.main_notice .tit_text .tit span{color: #19478C;}
.notice_btn{background: #19478C;color: #fff; font-weight: 600;padding: 8px 38px 8px 18px; font-size: 1.5rem;border-radius: 10px;margin-top: 40px;position: relative; display: inline-block;}
.notice_btn::after{content: ''; background: url(/img/ico_arrow_right-05ce1ca870c4117eca0164a38b119487.png) no-repeat; width: 10px; height: 14px; display: block; position: absolute;right: 18px; top: 50%; transform: translateY(-50%); background-size: cover;}
.main_notice .notice_box{width: 100%;display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.main_notice .notice_box li{background: #F5F5F5;border-radius: 20px; padding: 30px;}
.main_notice .notice_box li .n_tit{color: #19478C;font-size: 1.125rem;margin-bottom: 20px;font-weight: 600;}
.main_notice .notice_box li .gu{font-size: 1.5rem; font-weight: 700;}
.main_notice .notice_box li .nae{font-size: 1.125rem;font-weight: 400;color: #555; overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;}
.main_notice .notice_box li .n_date{margin-top: 10px; text-align: right;color: #555;font-weight: 400;}

.main_map .inner{display: flex; justify-content: space-between; gap: 150px;}
.main_map .tit_text{flex-shrink: 0;}
.main_map .tit_text .tit{font-size: 2.5rem;font-weight: 600;min-width: 460px;}
.main_map .tit_text .btn{display: flex; align-items: center; gap: 10px}
.main_map .tit_text .down_btn{background: #222;color: #fff; font-weight: 600;padding: 8px 48px 8px 18px; font-size: 1.5rem;border-radius: 10px;margin-top: 40px;position: relative; display: inline-block;}
.main_map .tit_text .down_btn::after{content: ''; background: url(/img/down_ico-beb9d38ecbba15958b35ee002bcdaa4d.png) no-repeat; width: 20px; height: 20px; display: block; position: absolute;right: 18px; top: 50%; transform: translateY(-50%); background-size: cover;}
.main_map .tit_text .share_btn{background: #FFC300;color: #000; font-weight: 600;padding: 8px 48px 8px 18px; font-size: 1.5rem;border-radius: 10px;margin-top: 40px;position: relative; display: inline-block;}
.main_map .tit_text .share_btn::after{content: ''; background: url(/img/ico_kakao-5971a843b62e55d37c67bc6bbe623d5c.png) no-repeat; width: 20px; height: 18px; display: block; position: absolute;right: 18px; top: 50%; transform: translateY(-50%); background-size: cover;}



/* sub page */
.sub_t{padding: 172px 0 0; text-align: center; color: #fff;}
.sub_t .sec_box{background: url(/img/sub_banner.png) no-repeat;background-size: cover; width: 100%; padding: 150px 0;}
.sub_t.about .sec_box{background: url(/img/sub_banner_about-ab7d4e8304066c639b14d12b3313c7fc.png) no-repeat;background-size: cover;}
.sub_t.notice .sec_box{background: url(/img/sub_banner_notice-d51a5fa39ed9934b22051f6b5ec4390b.png) no-repeat;background-size: cover;}
.sub_t.faq .sec_box{background: url(/img/sub_banner_faq-5698e8451b99911430edbcb649f50935.png) no-repeat;background-size: cover;}
.sub_t.apply .sec_box{background: url(/img/sub_banner_apply-dbb21e03b52849896cc5b5d5c0cf48bd.png) no-repeat;background-size: cover;}
.sub_t.apply_detail .sec_box{background: url(/img/sub_banner_apply_detail-4614fcb54634de5c8db3b44f7d056ca3.png) no-repeat;background-size: cover;}
.sub_t.course .sec_box{background: url(/img/sub_banner_course-2bc220ac189fefea5b4d825ee844d5f5.png) no-repeat;background-size: cover;}
.sub_t .sec_box div{font-size: 3rem; font-weight: 700;}

.about_wrap{display: flex;gap: 40px;position: relative;}
.about_wrap .poster{position: sticky;width: 550px;top: 170px;height: 100%;}
.about_wrap .poster img{display: block;}
.about_wrap .info{position: relative;}
.about_wrap .info .info_tit{font-size: 2rem; font-weight: 600;margin-bottom: 30px;}
.about_wrap .info .info_box{display: grid;gap: 16px;}
.about_wrap .info .info_box li{display: flex;align-items: center; gap: 24px;}
.about_wrap .info .gu{background: #EEEEEE;font-weight: 600;flex-shrink: 0; font-size: 1.125rem;width: 100px;text-align: center; border-radius: 10px;height: 32px; line-height: 32px;}
.about_wrap .info .type_box{display: flex; gap: 16px;align-items: end;}
.about_wrap .info .type_box .type_item{background: #F3F8FF; border: 1px solid #C7DCFD; border-radius: 10px; padding: 10px; text-align: center;}
.about_wrap .info .type_box .comt-g{color: #555;}
.about_wrap .info li .nae .comt{color:#777;font-size: 0.875rem;font-weight: 400;}

.sub_fee .tit{font-size: 2rem; font-weight: 600;margin-bottom: 30px;}
.sub_fee .join_fee{border: 1px solid #777; border-radius: 10px;padding: 40px;display: flex; justify-content: space-between; align-items: end;}
.sub_fee .join_fee .txt .gu{font-size: 1.5rem;}
.sub_fee .join_fee .txt .cost{font-size: 2rem; font-weight: 700;margin-top: 10px;}
.sub_fee .comt{text-align: center; margin-top: 30px; color: #555;}
.sub_fee .btn{margin: 0 auto; text-align: center;margin-top: 40px;}
.sub_fee .btn .notice_btn{padding: 8px 58px 8px 38px;}
.sub_fee .btn .notice_btn:after{right: 35px;}

/* board */
.board_top {margin-bottom: 30px; display: flex; align-items: center; justify-content: space-between;}
.board_top .search_box{display: flex; gap: 10px;margin-left: auto;}
.board_top .search_box select{height: 50px;line-height: 50px; font-weight: 500; border-radius: 10px;border: 1px solid #ddd;background: url(/img/ico_select_arr-9048cf23965dee63cedf5217debea6d1.png) no-repeat #fff calc(100% - 10px) 50% / 20px auto; padding: 0 26px 0 20px;}
.board_top .search_box .input{position: relative;}
.board_top .search_box .input input{padding: 0 50px 0 20px;height: 50px;border-radius: 10px;border: 1px solid #ddd;}
.board_top .search_box .input input::placeholder{font-weight: 500;color: #aaa;}
.search_btn {position: absolute;right: 10px;top: 50%;width: 22px;height: 22px;background: url('/img/icon_main_search-994745fbd4aaf1274f488bb26798be6b.png') no-repeat center / contain;transform: translateY(-50%);cursor: pointer;}

.board_list table{width: 100%;}
.board_list tbody tr{border-top: 1px solid #ddd;}
.board_list tbody tr:first-child{border-top: 2px solid #000;}
.board_list tbody tr:last-child{border-bottom: 2px solid #000;}
.board_list tbody tr td{padding: 30px; cursor: pointer;text-align: center;}
.board_list .date{font-weight: 500; color: #777;text-align: right; font-size: 1.125rem;}
.board_list .tit{font-size: 1.125rem;position: relative;text-align: left; display: flex;align-items: center; gap: 5px;}
.board_list .tit .file img{vertical-align: middle;margin-top: -3px;}
.board_list .num{font-size: 1.125rem;}
.board_list .kind{font-size: 1.125rem;}
.board_list .import .tit::after{display: inline-block;content: "";background: url(/img/ico_file-eb95b5a81f1647c1715baeaf12616f8b.png) no-repeat center center / cover;width: 24px;height: 24px;vertical-align: middle;margin-left: 10px;}
.board_list ul li{position: relative; padding: 30px 20px; cursor: pointer; border-bottom: 1px solid #ddd;display: flex;align-items: center;}
.board_list ul li.import .tit::before{content: ''; background-color:#000; width: 8px; height: 8px; border-radius: 15px;position: absolute;top: -10px;}
.board_list ul li:first-child{border-top: 2px solid #000}
.board_list ul li:last-child{border-bottom: 2px solid #000;}

.view_top{display: flex; justify-content: space-between;align-items: center; gap: 30px; margin-bottom: 40px;}
.view_top .gu{font-size: 2rem;font-weight: 600;}
.view_top .date{font-size: 1rem; color: #777; flex-shrink: 0;}
.view_detail{padding: 40px 20px;text-align: left;font-weight: 500;border-top: 2px solid #000;border-bottom: 1px solid #D5D5D5;}
.view_post li{padding: 20px;display: flex;align-items: center;gap: 10px;border-bottom: 1px solid #ddd;}
.view_post div{font-weight: 600;}
.view_post .tit{font-weight: 400;cursor: pointer;}
.btn .move_list{display: inline-block;color: #fff;padding: 12px 48px;background: #000;border-radius: 20px;}

/* paging */
.paging {text-align: center; margin-top: 60px;margin-bottom: 80px; display: flex; justify-content: center; align-items: center;} 
.paging img{vertical-align: middle;}
.paging ol {display: flex; align-items: center; justify-content: center; gap: 2px;} 
.paging ol li a {font-size: 1em; padding: 0 5px;  border-radius: 10px; width: 40px; height: 40px; line-height: 40px; display: block;} 
.paging ol li a.this { background: #19478C; color: #fff; } 

.faq_tab{display: flex; align-items: center;margin-bottom: 30px;}
.faq_tab li{font-size: 1.25rem; margin-right: 20px;padding-right: 20px;position: relative;color:#999}
.faq_tab li::after{content: ''; background: #ddd; width: 1px; height: 70%; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
.faq_tab li:last-child::after{display: none;}
.faq_tab li.on{font-weight: 700;color: #000;}
.faq_tab li.on span{position: relative;padding-bottom: 3px;}
.faq_tab li.on span::before{content: '';background: #000; width: 100%; height: 1px; position: absolute;top: inherit; bottom: 0;}
.faq_list .faq_item{border-top: 1px solid #ddd;}
.faq_list .faq_item:first-child{border-top: 2px solid #000;}
.faq_list .faq_item:last-child{border-bottom: 2px solid #000;}
.faq_list .faq_item .q_text{font-weight: 600; font-size: 1.125rem;}
.faq_list .faq_item.on .q_text{color: #19478C;}
.faq_list .faq_q{display: flex; justify-content: space-between; align-items: center; padding: 30px 24px; width: 100%; text-align: left;position: relative;}
.faq_list .faq_a{display: none;}
.faq_list .faq_a_inner{ padding: 30px;border-top: 1px solid #ddd;font-size: 1.125rem}
.faq_list .faq_q::after {content: '';background: url(/img/qna_arrow-56e642d85b060df248c173bd02ee502d.png) no-repeat;width: 24px;height: 24px;transition: transform 0.3s ease;}
.faq_item.on .faq_q::after {content: '';background: url(/img/qna_arrow-56e642d85b060df248c173bd02ee502d.png) no-repeat;width: 24px;height: 24px;transform: rotate(180deg);}

/* 참가 신청 */
.mw-1000{max-width: 1000px;margin:0 auto;}
.sub_txt_box {margin-bottom: 40px;}
.sub_txt_box .tit{font-size: 1.75rem;font-weight: 700; display: flex; align-items: center; gap:10px;}
.sub_txt_box .tit::before{content: ''; background: url(/img/ico_rhombus-ed994cbf94ba2243640ce49d1d4bee3e.png) no-repeat; width: 24px; height: 24px; display: block;}
.sub_txt_box .txt_list{margin-top: 24px;}
.sub_txt_box .txt_list li{font-size: 1.25rem;position: relative;margin-left: 10px;}
.sub_txt_box .txt_list li::before{content: ''; background: #000; width: 3px; height: 3px; border-radius: 10px; position: absolute;top: 14px; left: -10px}

.apply_wrap .btn{margin-top: 40px;}

.apply_form .form_item{padding: 40px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.apply_form .form_tit{font-size: 2rem; color: #19478C;font-weight: 600;margin-bottom: 24px;}
.apply_form .form_box label{flex-shrink: 0;font-size: 1.125rem;font-weight: 500;width: 150px;height: 50px;line-height: 50px;}
.apply_form .form_row{display: grid; gap:16px}
.apply_form .form_row .form_box {display: flex;align-items: start;}
.apply_form .form_row .form_box .input {width: 100%; display: grid; gap: 16px;}
.apply_form .form_row .form_box .input input {width: 100%;display: block;border: 1px solid #ddd;padding: 15px;border-radius: 10px;}
.apply_form .form_row .form_box .input input:disabled{background: #f3f3f3;}
.apply_form .form_row .form_box .input input::placeholder{color: #aaa;}
.apply_form .form_row .form_box .select select {color: #000;border-radius: 10px;}
.apply_form .form_row .form_box .select select:disabled{background: #f3f3f3;}
.apply_form .form_row .form_box .w-33{display: flex; align-items: center; gap: 10px;}
.apply_form .form_row .form_box .w-50{display: flex; align-items: center; gap: 10px;}
.apply_form .form_row .form_box .btn_b{background: #000; color: #fff;height: 50px;line-height: 50px; border-radius: 10px;width: 180px;flex-shrink: 0;}
.apply_form .form_row .form_box .input.radio {display: flex;flex-wrap: wrap; align-items: center;gap:5px 20px;}
.apply_form .form_row .form_box .input.radio label {display: flex;gap: 5px;align-items: center; width: auto;}
.apply_form .form_row .form_box .input.radio input[type="radio"] {flex-shrink: 0;accent-color: var(--mainColor);width: 1rem;margin-top: -1px;height: 30px;}
.apply_form .form_row .form_box .input.radio input[type='radio']:checked {background-color: var(--mainColor);}
.apply_form .form_row .comt{font-size: 0.875rem; display: block; margin-top: 10px; font-weight: 400;color: #222;}

.apply_form .sub_box .chk_box {width: 24px;height: 24px;flex-shrink: 0;position: relative;background: url(/img/pop_check_off-c8af607ad9710be14656990dd85f1519.png) no-repeat;background-size: cover;}
.apply_form .sub_box input:checked + .chk_box::after {content: '';position: absolute;top: 50%;left: 50%;width: 24px;height: 24px;background: url(/img/pop_check_on-fb3eca5e937638be18bdbc6726f3c84a.png) no-repeat;background-size: cover;transform: translate(-50%, -50%);}
.apply_form .sub_box .input{display: grid; gap: 15px;}
.apply_form .sub_box .input input {width: 100%;display: block;border: 1px solid #ddd;padding: 15px;border-radius: 10px;}
.apply_form .sub_box .agree{display: flex; justify-content: space-between;}
.apply_form .sub_box .agree label{display: flex; align-items: center; gap: 10px;}
.apply_form .sub_box .agree div {font-weight: 500;font-size: 1.25rem;}
.apply_form .sub_box .agree input {display: none;}
.apply_form .sub_box .agree button{border-bottom: 1px solid #000;padding: 0;}

.apply_form .timer_input{position: relative;}
.detail_wrap .btn.receipt{margin-top: 0;width: 180px; width: 200px;}
.apply_form .timer_input .timer{position: absolute;color: #aaa; font-weight: 400; right: 20px;top: 50%; transform: translateY(-50%);}

.btn 
.btn_p{background: #19478C;display: inline-block; color: #fff;font-size: 1.25rem;padding: 10px 40px; border-radius: 10px;}
.btn_w{background: #F5F5F5;border: 1px solid #000; border-radius: 10px;width: 100%; height: 56px;line-height: 56px;}

/* 참가신청내역 */
.detail_wrap .apply_form .form_row .form_box .gu{font-size: 1.125rem; width: 180px;}
.detail_wrap .apply_form .form_row .form_box .nae{font-size: 1.125rem;}
.apply_detail_form .form_item{padding: 20px 0;border-top: 2px solid #000;border-bottom: 2px solid #000;}
.apply_detail_form .form_row .form_box{border-bottom: 1px solid #ddd;padding-bottom: 20px;}
.apply_detail_form .form_row .form_box:last-child{border: none; padding-bottom: 0;}
.receipt_box{display: flex; align-items: center; justify-content: space-between;}

.btn.flex{display: flex; align-items: center; justify-content: center; gap: 20px;}
.prev_btn{background: #fff;border: 1px solid #000; border-radius: 10px;padding: 13px 40px; font-size: 1.125rem;}
.cancle_btn{background: #F5F5F5;border: 1px solid #000; border-radius: 10px;padding: 13px 40px; font-size: 1.125rem;}

.comt_txt{text-align: center; background: #F3F8FF;padding: 18px 0;margin-top: 40px;font-size: 1.125rem; font-weight: 600;}
.comt_txt.pd-40{padding: 40px 0;}
.comt_txt .big{font-size: 2rem; font-weight: 700;margin-bottom: 10px;}
.comt_txt .big span{color: #19478C;}

/* 코스안내 */
.course_btn{ display: flex;justify-content: center; align-items: center;gap: 10px;}
.course_btn .down_btn {background: #222;color: #fff;font-weight: 600;padding: 8px 48px 8px 18px;font-size: 1.5rem;border-radius: 10px;margin-top: 40px;position: relative;display: inline-block;}
.course_btn .share_btn {background: #FFC300;color: #000;font-weight: 600;padding: 8px 48px 8px 18px;font-size: 1.5rem;border-radius: 10px;margin-top: 40px;position: relative;display: inline-block;}
.course_btn .down_btn::after {content: '';background: url(/img/down_ico-beb9d38ecbba15958b35ee002bcdaa4d.png) no-repeat;width: 20px;height: 20px;display: block;position: absolute;right: 18px;top: 50%;transform: translateY(-50%);background-size: cover;}
.course_btn .share_btn::after {content: '';background: url(/img/ico_kakao-5971a843b62e55d37c67bc6bbe623d5c.png) no-repeat;width: 20px;height: 18px;display: block;position: absolute;right: 18px;top: 50%;transform: translateY(-50%);background-size: cover;}

/* 신청취소 팝업 */
body.scroll_lock {overflow: hidden;height: 100vh;}
.popup_cancel {display: none;position: fixed;inset: 0;z-index: 999;}
.popup_cancel .dim {position: absolute;inset: 0;background: rgba(0,0,0,.6);}
.popup_cancel .popup_box {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: calc(100% - 40px);max-width: 400px;padding: 30px;border-radius: 16px;background: #fff;text-align: center;}
.popup_tit {font-size: 20px;font-weight: 700;}
.popup_desc {margin-top: 15px;color: #666;}
.popup_btn {display: flex;gap: 10px;margin-top: 25px;}
.popup_btn button {flex: 1;height: 48px;border: 0;border-radius: 8px;cursor: pointer;}
.btn_close {background: #eee;}
.btn_confirm {background: #19478C;color: #fff;}

.view_file{margin-top: 20px;}
.view_file div{display: flex; align-items: center; gap: 5px;cursor: pointer;}
.view_file div img{vertical-align: middle;}
