#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-af2a55f03abf6d8c6aaa8c83e2abab7d.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: 800px;}
.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; max-width: 600px;}

.main_notice .inner{display: flex; justify-content: space-between; gap: 150px;}
.main_notice .tit_text{flex-shrink: 0;max-width: 600px;}
.main_notice .tit_text .tit{font-size: 2.5rem;font-weight: 600;min-width: 460px;word-break: break-word;}
.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;word-break: break-all;}
.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; word-break: break-all;}
.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; max-width: 600px;}
.main_map .tit_text .tit{font-size: 2.5rem;font-weight: 600;min-width: 460px;}
.main_map .tit_text .btn{display: grid;grid-template-columns: repeat(2, 1fr); 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;position: relative; display: inline-block; word-break:break-all;}
.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%; flex-shrink: 0;}
.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;padding: 0 20px; 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: 15px 90px 15px 70px;}
.sub_fee .btn .notice_btn:after{right: 55px;}

/* 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;font-size: 1.125rem;}
.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;}
.btn .delete_qna{display: inline-block;color: #ffffff;padding: 12px 48px;background: #727272;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; }
.apply_form .form_item:last-child{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: 180px;height: 50px;line-height: 50px;}
.apply_form .form_row{display: grid; gap:16px}
.apply_form .form_row.center{text-align: center;}
.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 .edit-field input {width: 100%;display: block;border: 1px solid #ddd;padding: 15px;border-radius: 10px;}
.apply_form .form_row .edit-field input:disabled{background: #f3f3f3;}
.apply_form .form_row .edit-field 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; text-align: center;}
.apply_form .form_row .form_box .btn_b.btn_down{background: #19478C;}
.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 .form_row .medal{margin-top: 30px;}
.apply_form .form_row .medal p{font-size: 0.875rem; margin-top: 20px;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_p{background: #19478C;display: inline-block; color: #fff;font-size: 1.5rem;font-weight: 600; padding: 15px 70px; 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{    flex-shrink: 0;font-size: 1.125rem;font-weight: 500;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;}
.apply_detail_form .form_box .nae a{border-bottom: 1px solid #000;}

.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: grid;grid-template-columns: repeat(2, 1fr);max-width: 600px;margin: 0 auto; justify-content: center; align-items: center;gap: 10px;margin-top: 40px;}
.course_btn .down_btn {background: #222;color: #fff;font-weight: 600;padding: 15px 40px 15px 35px;font-size: 1.5rem;border-radius: 10px;position: relative;display: inline-block;}
.course_btn .share_btn {background: #FFC300;color: #000;font-weight: 600;padding: 15px 58px 15px 35px;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: 24px;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: 24px;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;}

.txt_list.border_list .comt-bg{background: #eaf3ff; width: 60%; margin: 0 auto;padding: 5px 0;}
.txt_list.border_list .bd-top{margin-top: 10px;padding-top: 10px;position: relative; border-top: 2px solid #d7e3f1;}
.txt_list.border_list .bd-bot{margin-bottom: 10px;padding-bottom: 10px;position: relative;border-bottom: 2px solid #d7e3f1;}

.edit-field{width: 100%;display: grid; gap: 16px;}
.apply_modify .gu{height: 50px; line-height: 50px;}
.apply_modify .nae{height: 50px; line-height: 50px;}


.apply_table{width: 100%;border: 1px solid #ddd;margin-top: 30px; word-break: break-all;}
.apply_table th{border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;background: #f1f1f1;padding: 10px 20px;vertical-align: middle;}
.apply_table td{border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;padding: 10px 20px; vertical-align: middle;}
.apply_table td.center{text-align: center; vertical-align: middle;}
.apply_table td:last-child{border-right: 0;}
.apply_form .form_box.size .input label{height: 40px; line-height: 40px;}
.apply_form .form_box.size .size_tit{line-height: 1.4;}
.form_box.size.essen label span::after{bottom: 25px; right: 15px;}
.form_item .txt_list li {font-size: 1.25rem;position: relative;margin-left: 10px;}
.form_item .txt_list li::before {content: '';background: #000;width: 3px;height: 3px;border-radius: 10px;position: absolute;top: 14px;left: -10px;}

.timeline-section {max-width: 1200px;margin: 0 auto 80px;padding: 0 24px;}
.section-title {text-align: center;margin-bottom: 60px;}
.section-title h2 {font-size: 2.4rem;font-weight: 900;color: #1a2332;margin-bottom: 12px;}
.section-title .deco {width: 60px;height: 4px;background: linear-gradient(to right, #004d7b, #009cb0);margin: 0 auto;border-radius: 2px;}

.timeline {position: relative;}
.timeline::before {content: '';position: absolute;left: 50%;top: 0;bottom: 0;width: 3px;background: linear-gradient(to bottom, #004d7b, #009cb0);transform: translateX(-50%);}
.event {position: relative;margin-bottom: 80px;display: grid;grid-template-columns: 1fr 80px 1fr;align-items: center;gap: 20px;}
.event:nth-child(even) { direction: rtl; }
.event:nth-child(even) > * { direction: ltr; }
.event-image {border-radius: 16px;overflow: hidden;box-shadow: 0 16px 40px rgba(0,0,0,0.12);transition: transform 0.4s ease;aspect-ratio: 3 / 2;}
.event-image:hover { transform: translateY(-6px); }
.event-image img {width: 100%; height: 100%; object-fit: cover;display: block;}
.event-marker {width: 80px; height: 80px;border-radius: 50%;background: #fff;border: 4px solid #004d7b;display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 0 auto;box-shadow: 0 8px 24px rgba(0,77,123,0.25);z-index: 2;position: relative;}
.event-marker .num {font-size: 1.6rem; font-weight: 900;color: #004d7b; line-height: 1;}
.event-marker .label {font-size: 0.7rem; color: #5a6c7d;margin-top: 2px; font-weight: 600;}
.event-content {background: #fff;padding: 32px;border-radius: 16px;box-shadow: 0 10px 30px rgba(0,0,0,0.06);border-top: 4px solid #004d7b;}
.event-year {display: inline-block;font-size: 0.85rem;font-weight: 700;color: #009cb0;background: #e6f7fa;padding: 4px 12px;border-radius: 20px;margin-bottom: 12px;}
.event-content h3 {font-size: 1.6rem;font-weight: 800;color: #1a2332;margin-bottom: 16px;line-height: 1.3;}
.event-content .date {font-size: 0.95rem;color: #5a6c7d;margin-bottom: 16px;font-weight: 500;}
.event-content p {font-size: 0.98rem;color: #4a5568;margin-bottom: 16px;}
.event-stats {display: flex;gap: 16px;flex-wrap: wrap;padding-top: 16px;border-top: 1px solid #e9ecf0;}
.event-stats div {flex: 1;min-width: 100px;}
.event-stats .v {display: block;font-size: 1.2rem;font-weight: 800;color: #004d7b;}
.event-stats .l {font-size: 0.8rem;color: #8a96a3;}
.badge {display: inline-block;font-size: 0.75rem;font-weight: 700;padding: 3px 10px;border-radius: 4px;margin-right: 6px;margin-bottom: 6px;}
.badge-first { background: #fff4e0; color: #c77700; }
.badge-record { background: #e6f7e6; color: #1d7a1d; }
.badge-sponsor { background: #ffe6e6; color: #c41e1e; }
.badge-weather { background: #fef3c7; color: #92400e; }

/* =====================================================
   2026 통영그랑폰도 레이어 팝업 스타일
   ===================================================== */

.tygf-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  padding: clamp(0px, 3vw, 24px);
  animation: tygfFadeIn 0.3s ease;
  font-family: 'Malgun Gothic', '맑은 고딕', 'Noto Sans KR',
               -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
  -webkit-tap-highlight-color: transparent;
}

@keyframes tygfFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes tygfSlideUp {
  from { transform: translateY(30px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

.tygf-popup-overlay.tygf-hidden { display: none !important; }

.tygf-popup-container {
  background: #ffffff;
  width: 100%;
  max-width: 760px;
  max-height: 94dvh;
  border-radius: clamp(0px, 1.5vw, 10px);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-top: clamp(4px, 0.6vw, 6px) solid #002855;
  animation: tygfSlideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.tygf-popup-container *,
.tygf-popup-container *::before,
.tygf-popup-container *::after { box-sizing: border-box; }

/* ===== 헤더 ===== */
.tygf-popup-header {
  padding: clamp(20px, 4vw, 32px) clamp(20px, 4vw, 40px) clamp(16px, 3vw, 24px);
  text-align: center;
  border-bottom: 2px solid #002855;
  flex-shrink: 0;
}

.tygf-doc-no {
  font-size: clamp(10px, 2.2vw, 12px);
  color: #888;
  letter-spacing: 2px;
  margin: 0 0 12px;
  font-weight: 500;
}

.tygf-notice-date {
  display: inline-block;
  background: #002855;
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: clamp(11px, 2.5vw, 12px);
  margin-bottom: 14px;
  letter-spacing: 0.5px;
}

.tygf-popup-header h1 {
  font-size: clamp(18px, 4.5vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.5px;
  color: #002855;
  word-break: keep-all;
  margin: 0;
}

.tygf-subtitle {
  font-size: clamp(12px, 2.8vw, 14px);
  margin: 12px 0 0;
  color: #555;
  padding-top: 14px;
  position: relative;
}

.tygf-subtitle::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: #c8a45e;
  margin: 0 auto 14px;
}

/* ===== 본문 ===== */
.tygf-popup-body {
  padding: clamp(20px, 4vw, 32px) clamp(20px, 4vw, 40px);
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
  line-height: 1.85;
  color: #222;
  font-size: clamp(14px, 3.2vw, 15px);
  -webkit-overflow-scrolling: touch;
}

.tygf-popup-body::-webkit-scrollbar { width: 6px; }
.tygf-popup-body::-webkit-scrollbar-track { background: #f5f5f5; }
.tygf-popup-body::-webkit-scrollbar-thumb {
  background: #c8a45e;
  border-radius: 3px;
}

.tygf-opening {
  margin: 0 0 18px;
  font-size: clamp(15px, 3.5vw, 16px);
  font-weight: 500;
}

.tygf-popup-body p {
  margin: 0 0 16px;
  text-align: justify;
  word-break: keep-all;
}

.tygf-popup-body strong { color: #002855; }

.tygf-closing-text { margin-top: 24px !important; }

/* ===== 섹션 타이틀 ===== */
.tygf-section-title {
  font-size: clamp(15px, 3.5vw, 16px);
  font-weight: 700;
  color: #002855;
  margin: 28px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #d4d4d4;
  word-break: keep-all;
}

.tygf-section-title::before {
  content: "□ ";
  color: #002855;
}

/* ===== 리스트 ===== */
.tygf-popup-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 14px;
}

.tygf-popup-body > ul > li {
  padding: 6px 0 6px 22px;
  position: relative;
  margin-bottom: 6px;
  word-break: keep-all;
}

.tygf-popup-body > ul > li::before {
  content: "○";
  position: absolute;
  left: 2px;
  top: 11px;
  color: #002855;
  font-size: 10px;
}

.tygf-popup-body ul ul { margin: 6px 0 0 4px; }

.tygf-popup-body ul ul li {
  padding: 4px 0 4px 16px;
  position: relative;
  font-size: clamp(13px, 3vw, 14px);
  color: #444;
  word-break: keep-all;
}

.tygf-popup-body ul ul li::before {
  content: "-";
  position: absolute;
  left: 2px;
  color: #666;
}

/* ===== 인용 박스 ===== */
.tygf-quote-box {
  background: #fafaf5;
  border-top: 1px solid #c8a45e;
  border-bottom: 1px solid #c8a45e;
  padding: 22px 24px;
  margin: 24px 0;
  text-align: center;
}

.tygf-quote {
  font-size: clamp(14px, 3.3vw, 16px);
  color: #002855;
  line-height: 1.8;
  font-weight: 600;
  word-break: keep-all;
  margin: 0;
}

/* ===== 연락처 박스 ===== */
.tygf-contact-box {
  background: linear-gradient(135deg, #f7f8fa 0%, #fafaf5 100%);
  border: 2px solid #002855;
  padding: 22px 24px;
  border-radius: 6px;
  margin-top: 24px;
  line-height: 1.7;
  word-break: keep-all;
}

.tygf-contact-title {
  color: #002855;
  display: block;
  margin-bottom: 12px;
  font-size: clamp(15px, 3.3vw, 16px);
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 1px dashed #c8a45e;
}

.tygf-contact-desc {
  font-size: clamp(13px, 3vw, 14px);
  color: #444;
  margin: 0 0 14px;
}

.tygf-contact-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  background: #ffffff;
  border: 1px solid #d4d4d4;
  border-radius: 6px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.tygf-label {
  font-size: clamp(12px, 2.8vw, 13px);
  color: #666;
  font-weight: 600;
}

.tygf-phone-link {
  color: #002855;
  font-size: clamp(18px, 4.5vw, 22px);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  transition: color 0.2s;
}

.tygf-phone-link:hover { color: #c8a45e; }

/* ===== 서명 ===== */
.tygf-signature {
  text-align: right;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 2px solid #002855;
  color: #333;
  font-size: clamp(13px, 3vw, 15px);
  line-height: 1.9;
}

.tygf-date {
  font-size: 14px;
  color: #002855;
  margin: 0 0 8px;
  font-weight: 600;
}

.tygf-signature strong {
  color: #002855;
  font-size: 17px;
  display: block;
  margin-top: 6px;
  letter-spacing: 1px;
}

/* ===== 푸터 ===== */
.tygf-popup-footer {
  background: #f5f5f5;
  padding: 16px clamp(20px, 4vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #e0e0e0;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.tygf-popup-footer label {
  font-size: 13px;
  color: #555;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
  margin: 0;
}

.tygf-popup-footer label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #002855;
  background: #fff;
  border: 1px solid #000;
  margin: 0;
}

.tygf-popup-footer button {
  background: #002855;
  color: #ffffff;
  border: none;
  padding: 11px 28px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  transition: all 0.2s ease;
  min-height: 44px;
  min-width: 120px;
  font-family: inherit;
}

.tygf-popup-footer button:hover {
  background: #003d7a;
  transform: translateY(-1px);
}

body.tygf-no-scroll { overflow: hidden; }

/* ===== 반응형 — 태블릿 ===== */
@media (max-width: 768px) {
  .tygf-popup-overlay { padding: 12px; }
  .tygf-popup-container { max-height: 96dvh; }
}

/* ===== 반응형 — 모바일 ===== */
@media (max-width: 480px) {
  .tygf-popup-overlay { padding: 0; }
  .tygf-popup-container {
    max-height: 100dvh;
    height: 100dvh;
    border-radius: 0;
    border-top-width: 4px;
  }
  .tygf-popup-header h1 { line-height: 1.4; }
  .tygf-contact-info {
    flex-direction: column;
    gap: 4px;
    padding: 14px;
  }
  .tygf-popup-footer {
    flex-direction: column-reverse;
    gap: 10px;
    padding: 14px 20px;
  }
  .tygf-popup-footer button { width: 100%; min-width: 0; }
  .tygf-popup-footer label { width: 100%; justify-content: center; }
}

/* ===== 초소형 모바일 ===== */
@media (max-width: 360px) {
  .tygf-popup-header h1 { font-size: 17px; }
  .tygf-popup-body { font-size: 13.5px; line-height: 1.75; }
}

/* ===== 가로 모드 ===== */
@media (max-height: 500px) and (orientation: landscape) {
  .tygf-popup-container { max-height: 95dvh; }
  .tygf-popup-header { padding: 14px 24px 12px; }
  .tygf-popup-header h1 { font-size: 16px; }
  .tygf-popup-body { padding: 16px 24px; line-height: 1.7; }
  .tygf-popup-footer { padding: 10px 24px; }
}

.tygf-check {display: inline-flex;align-items: center;gap: 10px;cursor: pointer;user-select: none;}
.tygf-check input {position: absolute;opacity: 0;width: 1px;height: 1px;margin: 0;}
.tygf-check-box {width: 20px;height: 20px;border: 2px solid #cfcfcf;border-radius: 4px;background: #fff;position: relative;flex-shrink: 0;}
.tygf-check input:checked + .tygf-check-box {background: #004d7b;border-color: #004d7b;}
.tygf-check input:checked + .tygf-check-box::after {content: "";position: absolute;left: 6px;top: 2px;width: 5px;height: 10px;border: solid #fff;border-width: 0 2px 2px 0;transform: rotate(45deg);}

.board_list.qna_list thead th{font-size: 1.125rem; background: #19478C; color: #fff;padding: 16px 0;}
.board_list.qna_list tbody tr:first-child{border-top: 2px solid #19478C;}
.board_list.qna_list .date{text-align: center;}
.write_btn{background: #19478C;color: #fff; height: 50px;line-height: 50px;width: 130px; text-align: center; border-radius: 10px;}
.write_btn a{display: block;}

.board_write table {border-top: 2px solid #19478C;border-bottom: 2px solid #19478C;max-width: 1000px;margin: 0 auto;}
.board_write table tr td {border:1px solid #ddd; padding:15px; vertical-align: middle; font-size: 16px;}
.board_write .write_t {width: 15%; background: #19478C; color:#fff; text-align: center;font-size: 1.125rem;}
.board_write .write_c {width: 85%;}
.board_write .bTxt input {width: 100%; display: block;border: 1px solid #ddd;padding: 15px;border-radius: 10px;}
.board_write .bTxtarea textarea {width: 100%; height:300px; border: 1px solid #ddd;padding: 15px; border-radius: 10px;} 
.board_write .cmnt {font-size: 14px; line-height: 18px; margin: 15px 0;  color:#555;}
.board_write .btn {text-align: center; margin-top:60px;display: flex; align-items: center; justify-content: center; gap: 10px;}
.board_write .btn a { background: #19478C;display: inline-block;color: #fff;font-size: 1.5rem;font-weight: 600;padding: 15px;width: 180px; border-radius: 10px;}
.board_write .btn a.submit {background: #19478C;}
.board_write .btn a.cancel {background: #777;}
.board_write .file_box {margin-bottom: 10px;}
.board_write .file_box label {
	display: inline-block; vertical-align: middle; color:#fff; background: #19478C;
	height: 49px; line-height: 49px; width:135px;border-radius: 10px; margin-left: 6px; cursor: pointer; text-align: center; margin-right: 0 !important;
}
.board_write .file_box input[type="file"] {position: absolute; width: 1px; height: 1px; padding:0; margin:-1px; overflow:hidden; border:0; clip:rect(0,0,0,0);}
.board_write .file_box .upload_name {display: inline-block; vertical-align: middle;  padding: 14px; border-radius: 10px; border: 1px solid #ddd;}

.board_pw_view .view_box {width: 400px; background: #fff; margin:0 auto; }
.board_pw_view .tit {background: #19478C; color:#fff; text-align: center; padding:15px; font-size: 18px;}
.board_pw_view .txt {text-align: center; font-size: 15px; line-height: 20px; padding:15px ;}
.board_pw_view .txt p input[type="password"] {padding:10px; border:1px solid #ccc; width: 100%; margin-top:10px; }
.board_pw_view .btn {padding:0 15px 15px; display: flex;margin-top: 0;}
.board_pw_view .btn a {width: 49%; margin-right: 2%; font-size: 16px; color:#fff; padding:10px; display: inline-block; text-align: center;}
.board_pw_view .btn a.submit {background:#19478C;}
.board_pw_view .btn a.cancel {background:#777; margin-right: 0;}

.b_popup {overflow-y:auto; display:none; position:fixed; width:100%; height:100%; z-index:9999;top:0; left:0; bottom:0; right:0; background:rgba(0,0,0,.5); z-index: 9999;}
.b_popup.on {display:block;}
.b_popup .popup_inner {width:100%; height: 100%; padding:15px; display: table; position: relative; margin:0 auto; box-sizing: border-box;}
.b_popup .popup_wrap {display:table-cell; vertical-align: middle; position: relative; }
.b_popup .view_box {position: relative; background: #fff;}
.b_popup .view_box .close {position: absolute; right: 0; top: -35px; width: 25px; height: 25px; cursor: pointer;}
.b_popup .view_box .pop_tit {font-size: 18px; line-height: 24px; background:#0067Ac; color:#fff; font-weight: 700; padding:20px; text-align: center; }
.b_popup .view_box .pop_layer {padding:20px;}
.b_popup .view_box .pop_scroll {overflow-x: hidden; overflow-y: auto; max-height: 450px;}
.b_popup .view_box .pop_box {padding:10px;}

.rule_list .sub_txt_box{border-bottom: 1px solid #ddd;padding-bottom: 40px;}
.rule_list .sub_txt_box:last-child{border-bottom: 0; padding-bottom: 0;}
.rule_list .sub_txt_box.no_dot li::before{display: none;}
.rule_list .sub_txt_box .danger{background-color: #fff5f5;border: 1px solid #feb2b2;padding: 20px;font-size: 1.125rem;border-radius: 12px;margin: 15px 0 25px;text-align: left;}
.rule_list .sub_txt_box .essen{background-color: #f8fbfe;border-radius: 12px;padding: 25px;margin: 15px 0 25px;border: 1px solid #edf2f7;font-size: 1.125rem;}

/* 번역 */
.lang_floating {position: fixed;right: 40px;z-index: 99;top: 50%; transform: translateY(-50%);}
.lang_btn {width: 100%;padding: 0 30px; height: 40px;border: 0;border-radius: 999px;background: #111;color: #fff;font-weight: 700;cursor: pointer;}
.lang_menu {display: block;margin-top: 8px;padding: 8px;background: #fff;border-radius: 12px;box-shadow: 0 8px 24px rgba(0,0,0,.15);}
.lang_floating .lang_menu {display: block;}
.lang_menu li + li {margin-top: 4px;}
.lang_menu button {width: 80px; padding: 8px 4px;border: 0;background: transparent;text-align: left;cursor: pointer;white-space: nowrap;}
.lang_menu button:hover {background: #f6f9ff;}
#google_translate_element {position: absolute;left: -9999px;top: -9999px;}
.goog-te-banner-frame,
.goog-te-balloon-frame {display: none !important;}
body{top: 0 !important; min-height: inherit !important;}
.VIpgJd-ZVi9od-ORHb-OEVmcd{display: none;}


.lang_menu img{
    box-shadow:0 2px 6px rgba(0,0,0,.15);
}

.sub_intro .inner{max-width: 1200px;}

.souvenirs_list ul{display: grid; grid-template-columns: repeat(2, 1fr); text-align: center; gap: 50px 0; max-width: 1000px; margin: 0 auto;}
.souvenirs_list ul li img{max-height: 500px;}
.souvenirs_list ul li div{font-size: 1.5rem;}

.main_host{position: absolute; bottom: 100px; color: #fff; z-index: 9;}
.main_host ul li{display: flex; gap: 10px; font-size: 1.25rem; align-items: center;}
.main_host ul li span img{max-width: 50px;}
.main_host ul li span:nth-child(2) img{max-width: 100px;}
.main_host ul li .gu{font-weight: 400;}
.main_host ul li .nae{display: flex; align-items: center; font-weight: 600; gap: 5px;}
.main_host ul li .nae span{display: flex; align-items: center;}

.souvenirs_txt{ font-size: 2rem;color: #19478C;font-weight: 600;margin-bottom: 24px;text-align: center; margin-top: 80px;}