/* 브레드크럼 */
.sub_path{position:relative; z-index:10; border-bottom:1px solid #e2e2e2;}
.sub_path .inner{position:relative;}
.breadcrumb{width:100%; height:46px; background:#fff; display:flex; align-items:center;}
.bc_home{display:flex; align-items:center; justify-content:center; width:45px; flex-shrink:0; align-self:stretch; border-left:1px solid #e2e2e2;}
.bc_home img{width:18px;}
.bc_bar{width:1px; align-self:stretch; background:#e2e2e2; flex-shrink:0;}
.bc_select{position:relative; width:200px; flex-shrink:0;}
.bc_selected{display:flex; align-items:center; gap:8px; padding:0 20px; height:46px; font-size:1.6rem; color:#333; white-space:nowrap; justify-content:space-between;}
.bc_arrow{width:14px; flex-shrink:0;}
.bc_list{display:none; position:absolute; top:100%; left:0; width:100%; background:#fff; border-radius:0 0 8px 8px; overflow:hidden; z-index:10; box-shadow:0 6px 12px rgba(0,0,0,0.12);}
.bc_list li a{display:block; padding:10px 20px; font-size:1.6rem; color:#333;}
.bc_list li a:hover{background:#f0f4ff;}
.bc_select.is_open .bc_list{display:block;}

/*sub_convey*/
.sub_convey{padding:70px 0; min-height:calc(100vh - 447px);}
.sub_tit{text-align:center; font-size:3.8rem; font-weight:700; margin-bottom: 50px;}
.sub_tit_divided{display:flex; align-items:center; justify-content:center; gap:20px;}
.sub_tit_bar{display:inline-block; width:1px; height:32px; background:#c0c3cc; flex-shrink:0;}
/* 20260629 수정 – Lv1 섹션 제목 2.6rem */
.h3_tit{font-size: 2.6rem; font-weight: 700; color:#222222; }
.h3_tit::before{content: ''; background: url(../images/sub/com_tit.png)no-repeat; display: inline-block; width: 16px; height: 17px; margin-right: 10px;}

/*==============================================================================
    sub01_01  오프라인교육 - 교육안내
==============================================================================*/
.target_banner{display:flex; align-items:center; background:#f4f6fb; border-radius:12px; padding:22px 30px; margin-top: 40px;}
/* 20260629 수정2 */
.target_banner_head{display:flex; align-items:center; flex-shrink:0;}
/* //20260629 수정2 */
.target_banner_icon{flex-shrink:0; display:flex; align-items:center; margin-right:50px;}
.target_banner_icon img{display:block;}
.target_banner_tit{font-size:2.4rem; color:#222; font-weight:700; white-space:nowrap; margin-right:40px; flex-shrink:0;}
/* 20260629 수정 – Lv3 강조본문 2.0rem */
.target_banner_desc{font-size:2.0rem; color:#444; line-height:1.6; word-break:keep-all;}

/* sub01_01 연간 보수교육 이수시간 */
.annual_edu_section{margin-top:60px;}
/*20260617 추가수정2*/
.box_type1{border:1px solid #ccc; padding:20px; border-radius: 10px; background-color: #fef7f2; border:1px solid #ffd0bc;}
.annual_edu_section .h3_tit{margin-bottom:16px;}
/*20260619 수정*/
.badge_year{display:inline-block; font-size:2rem; color:#ff0000; font-weight:700; width:auto; padding:8px 10px; border-radius:17px; background:#ffe4e4; line-height:1; vertical-align:middle;}
/*//20260619 수정*/
.annual_dot_list > li{font-size:1.8rem; color:#444; line-height:1.8;}
.annual_dot_list > li::before{top:17px;}
.aed_emph{color:#0059c7; vertical-align:baseline;}
.aed_emph_bold{color:#0059c7; font-weight:700;}
.annual_info_box{margin-top:16px; background:#fff; border:1px solid #e1e1e1; border-radius:8px; padding:15px 20px; text-align:center; font-size:2.0rem; color:#222; font-weight:500; line-height:1.6; box-shadow:0 4px 20px rgba(0,0,0,0.08); word-break:keep-all;}
.annual_notice_list{margin-top:20px;}
.aed_red{color:#ff0000; font-weight:700; vertical-align: baseline;}
.aed_blue{color:#0059c7; font-weight:700; vertical-align: baseline;}

/* sub01_01 오프라인 보수교육 평점 인정 기준 */
.score_criteria_section{margin-top:60px;}
.score_criteria_section .h3_tit{margin-bottom:20px;}
.score_criteria_box{background:#f7f7f7; border-radius:15px; padding:30px; display:flex; align-items:flex-start; justify-content:center; gap:20px;}
.score_criteria_label{font-size:2rem; color:#00227b; font-weight:700; flex-shrink:0; white-space:nowrap; padding-top:8px;}
.score_row_wrap{position:relative; width:680px; flex-shrink:0;}
.score_row_list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.score_row{display:flex; align-items:center; height:40px; border:1px solid #cfcfcf; border-radius:10px; overflow:hidden; background:#fff;}
.score_row_cond{flex:1; display:flex; align-items:center; padding:0 16px; font-size:1.8rem; color:#444; background:#f4f6fb; height:100%; border-right:1px solid #cfcfcf; word-break:keep-all; white-space:nowrap;}
.score_row_result{flex:1; display:flex; align-items:center; justify-content:center; padding:0 16px; height:100%; gap:6px;}
.score_row_bold{font-size:1.8rem; color:#222; font-weight:700;}
/* 20260629 수정2 */.score_row_point{font-size:1.5rem; color:#666; font-style:normal;}/* //20260629 수정2 */
.score_criteria_icon{position:absolute; right:-105px; bottom:-16px; z-index:0;}
.score_criteria_icon img{display:block; width:110px; height:auto;}
.score_row_list{position:relative; z-index:1;}

/*20260625 수정2*/
.score_criteria_in_td{background:none; padding:0; border-radius:0;}
.score_criteria_in_td .score_row_wrap{width:auto; flex:1; min-width:0;}
/*//20260625 수정2*/
/* sub01_01 환불 지침 */
.refund_section{margin-top:60px;}
.refund_section .h3_tit{margin-bottom:20px;}
.refund_card_list{display:flex; gap:20px; list-style:none; padding:0; margin:0;}
.refund_card{flex:1; background:#fff; border:1px solid #e1e1e1; border-radius:15px; padding:30px; box-shadow:0 2px 12px rgba(0,0,0,0.06); display:flex; align-items:center; justify-content:space-between; gap:20px;}
.refund_card_txt{flex:1; min-width:0;}
.refund_card_tit{display:block; font-size:1.8rem; color:#00227b; font-weight:700; line-height:1.4; word-break:keep-all;}
.refund_card_desc{margin:15px 0 0; font-size:1.8rem; color:#444; line-height:1.5; word-break:keep-all;}
.refund_card_icon{flex-shrink:0;}
.refund_notice_list{margin-top:30px;}
.refund_notice_list > li{font-size:1.8rem !important;}

/*==============================================================================
    sub01_02  오프라인교육 - 관련 법규 및 규정
==============================================================================*/
.sub_con01_02 .ol_list li{font-size:1.8rem;}
.con_pp_box{background:#f4f6fb; padding:30px; border:1px solid #8596c0; border-radius:10px; display:flex; align-items:center; gap:30px; justify-content: center;}
.con_pp_img_wrap{flex-shrink:0; box-shadow:0 4px 16px rgba(0,0,0,0.14); border-radius:4px; overflow:hidden; line-height:0;}
.con_pp_img_wrap img{display:block; max-width:100%;}
.con_pp_desc{font-size:2.0rem; color:#444; line-height:1.8; word-break:keep-all;}
.con_pp_tab{margin-top:40px;}
.con_pp_tab_body{padding:30px 0;}

/* sub01_02 edu_ex_box - 보수교육 이수시간 예시 박스 */
.edu_ex_box{border-radius:15px; overflow:hidden; margin-top:20px; border:1px solid #e1e5ee;}
.edu_ex_top{background:#fff; padding:30px;}
/*20260625 수정2*/
.edu_ex_bottom{background:#f4f4f4; padding:30px; text-align:center; border-radius: 15px;}
/*20260625 수정2*/
.edu_ex_btm_txt{text-align: left; font-size: 1.8rem; font-weight: 700; color:#1e276a}
.edu_ex_bottom img{display:inline-block; max-width:100%; height:auto;}
.edu_ex_desc{font-size:1.8rem; color:#222; font-weight:600; line-height:1.6; word-break:keep-all; margin-bottom:20px;}
.edu_ex_tbl_row{display:flex; align-items:stretch; gap:10px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.edu_ex_arrow{flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.edu_ex_arrow img{display:block;}
.edu_ex_tbl{border-collapse:collapse; flex-shrink:0;}
.edu_ex_tbl_l{width:530px;}
.edu_ex_tbl_r_wrap{display:flex; align-self:stretch;}
.edu_ex_tbl_r{width:560px; height:100%;}
.edu_ex_tbl_r tbody{display:block; height:150px;}
.edu_ex_tbl_r tbody tr{display:block; height:100%;}
.edu_ex_tbl_r tbody tr td{display:flex; align-items:center; justify-content:center; height:100%; box-sizing:border-box; padding:14px 16px; border-top:none; flex-direction: column;}
.edu_ex_tbl th{height:50px; background:#1e276a; color:#fff; font-size:1.7rem; border:1px solid #bcbcbc; padding:0 16px; text-align:center; font-weight:600;}
.edu_ex_tbl td{height:50px; background:#fff; color:#444; font-size:1.4rem; border:1px solid #bcbcbc; padding:0 16px; text-align:center; word-break:keep-all; line-height:1.5;}
.ex_tbl_txt01{font-size: 1.6rem;}
.ex_tbl_txt02{font-size: 1.7rem;}
/* 탭 내용 공통 - 회색박스 / 섹션 */
.pp_gray_box{background:#f9f9f9; padding:30px; border-radius:15px; border:1px solid #e1e5ee;}
.pp_section{margin-top: 40px;}
.pp_section + .pp_section{margin-top:40px;}
.pp_section .h3_tit{margin-bottom:16px;}
/* 법적 근거 박스 내 제목 */
.pp_law_tit{font-size:1.8rem; font-weight:700; color:#222; margin-bottom:14px;}
/* h3_tit 옆 소제목 */
.pp_tit_sub{font-size:1.8rem; font-weight:400; color:#666; margin-left:8px;}
/*20260629 수정4*/
/* 연속 회색박스 간격 */
.pp_gray_box + .pp_gray_box{margin-top:30px;}
/* 회색박스 내 테이블 상단 간격 */
.pp_gray_box .layout_tbl_wrap{margin-top:20px;}
/* 면제·유예 회색박스 상단 본문 텍스트 */
.pp_gray_tit{font-size:2.0rem; color:#222; line-height:1.8; word-break:keep-all; margin-bottom:14px;}
/*//20260629 수정4*/
/* rowspan td 왼쪽 border 보정 */
.layout_tbl .tbl_rowspan{border-left:1px solid #dbdbdb;}
/* 회색박스 내 중첩 ko_list 들여쓰기 축소 */
.pp_gray_box .ko_list .ko_list > li{padding-left:14px;}
/* 예시 회색박스 (pp_gray_box 동일 스타일, padding:20px) */
.pp_ex_box{background:#f9f9f9; padding:20px; border-radius:15px; border:1px solid #e1e5ee; font-size:1.5rem; color:#555; line-height:1.8; word-break:keep-all;}
.pp_section .pp_ex_box{margin-top:10px;}
/*20260629 수정4*/
.pp_section > .ko_list > li{padding-left:20px;}
.pp_section > .ko_list .ko_list > li{padding-left:20px;}
/*//20260629 수정4*/
.pp_notice_box{background:#fcf3ec; border-radius:15px; padding:20px; display:flex; align-items:center; justify-content:center; gap:12px; word-break:keep-all;}
.pp_notice_box img{flex-shrink:0;}
.pp_notice_box p{font-size:2.0rem; color:#222; line-height:1.7;}
/* 예시 레이블 */
.pp_ex_label{font-size:1.8rem; color:#444; line-height:1.7; word-break:keep-all; font-weight: 700;}
/* 면제·유예 테이블 제목 행 */
.pp_tbl_tit{font-size:1.7rem; font-weight:600; color:#202738; text-align:center; background:#eef1f8; border-bottom:1px solid #dbdbdb; border-right:none !important;}
/* 대상 분류체계 이미지 */
.pp_org_img_wrap{display:flex; justify-content:center;}
.pp_org_img_wrap img{max-width:100%; height:auto;}
/* 보수교육기관 테이블 */
.pp_edu_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:16px;}
.pp_edu_tbl{width:600px; border-collapse:collapse; table-layout:fixed;}
.pp_edu_tbl th,.pp_edu_tbl td{height:50px; padding:0 16px; font-size:1.7rem; color:#000; text-align:center; vertical-align:middle; border-right:1px solid #bcbcbc; border-bottom:1px solid #bcbcbc; word-break:keep-all;}
.pp_edu_tbl th:first-child,.pp_edu_tbl td:first-child{border-left:1px solid #bcbcbc;}
.pp_edu_tbl thead th{background:#f3f3f3; font-weight:600; border-top:1px solid #bcbcbc;}
.pp_edu_tbl tbody td{background:#fff; font-weight:400;}
/* ol_list 내부 num_dot_list */
.ol_list > li .num_dot_list{margin-top:6px;}
.ol_list > li .num_dot_list > li{font-size:1.7rem;}
/* 추진 경과 히스토리 리스트 */
.pp_history_list{list-style:none; padding:0; margin:0;}
.pp_history_list > li{display:flex; gap:0; font-size:1.8rem; color:#444; line-height:1.8; word-break:keep-all;}
.pp_history_list > li + li{margin-top:10px;}
.pp_hist_date{flex-shrink:0; font-weight:600; color:#444; min-width:95px;}
.pp_hist_colon{flex-shrink:0; margin-right:6px;}
.pp_hist_txt{flex:1;}
.pp_hist_sub{list-style:none; padding:0; margin:6px 0 0;}
.pp_hist_sub > li{position:relative; padding-left:14px; font-size:1.5rem; color:#666; line-height:1.7;}
.pp_hist_sub > li + li{margin-top:4px;}
.pp_hist_sub > li::before{content:"·"; position:absolute; left:0; color:#999;}

/*==============================================================================
    sub01_03  오프라인교육 - 교육일정
==============================================================================*/
.sch_form_wrap{background-color: #f4f6fb; padding:30px; border-radius: 10px; border:1px solid #8596c0; margin-top: 50px;}
.sch_form{display:flex; align-items:center; gap:50px; flex-wrap:wrap;}
.sch_form.center_role{justify-content: center;}
#schForm{gap:20px; flex-wrap:nowrap;}
#schForm .sch_form_group{gap:16px;}
#schForm .sch_inp{width:280px;}
.sch_form_group{display:flex; align-items:center; gap:30px;}
.sch_form_label{font-size:1.8rem; color:#222222; font-weight:500; white-space:nowrap;}
.sch_sel_wrap{display:flex; align-items:center; gap:5px;}
.sch_sel{height:45px; border-radius:5px; border:1px solid #cdcdcd; background:#fff url(../images/sub/icon_select_blk.png) no-repeat right 12px center; background-size:12px; padding:0 36px 0 15px; font-size:1.6rem; color:#444444; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none;}
.sch_sel.sch_sel_s{width:160px;}
.sch_sel.sch_sel_m{width:200px;}
.sch_inp_wrap{display:flex; align-items:center; gap:30px;}
.sch_inp{width:430px; height:45px; border-radius:5px; border:1px solid #cdcdcd; padding:0 15px; font-size:1.6rem; color:#444444; outline:none; background-color: #fff;}
.sch_inp::placeholder{color:#aaaaaa; font-size:1.6rem;}
.sch_btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:45px; border-radius:5px; padding:0 15px; background:#2a4ea4; color:#fff; font-size:1.7rem; white-space:nowrap; width: 95px;}
.sch_btn img{width:16px; flex-shrink:0;}
.sch_btn:hover{background:#444444;}
.sch_btn:focus-visible{outline:2px solid #222222; outline-offset:2px;}
.sch_down_wrap{display:flex; justify-content:flex-end; margin-top:10px;}
.sch_down_btn{display:inline-flex; align-items:center; gap:8px; height:40px; background:#0278fe; color:#fff; font-size:1.6rem; border-radius:7px; padding:0 16px; white-space:nowrap;}
.sch_down_btn img{width:16px; flex-shrink:0;}
.sch_down_btn:hover{background:#0260d0;}
.sch_down_btn:focus-visible{outline:2px solid #0278fe; outline-offset:2px;}
/* year_box ------------------------------------------------*/
.year_box{position:relative; border-radius:10px; overflow:hidden; margin:50px 0;}
.year_box_bg{display:block; width:100%; height:auto;}
.year_box_content{position:absolute; top:0; left:0; right:0; bottom:40px; display:flex; align-items:center; justify-content:space-between; padding:0 44px;}
.year_box_txt{flex:1; min-width:0;}
.year_box_sub{font-size:2.6rem; color:#fff; line-height:1.3; margin-bottom:6px;}
.year_box_tit{display:block; font-size:3.2rem; font-family:'YeogiOttaeJalnanGothic', sans-serif; color:#fff; line-height:1.3; font-weight:400;}
.year_box_btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; width:120px; height:40px; border-radius:20px; color:#fff; font-size:1.5rem; text-decoration:none; white-space:nowrap; flex-shrink:0; background:#000; box-shadow:0 4px 14px rgba(0,0,0,0.35);}
.year_box_btn img{width:14px; display:block; flex-shrink:0;}
.year_box_btn:hover{background:rgba(255,255,255,0.22);}
.year_box_btn:focus-visible{outline:2px solid #fff; outline-offset:2px;}
.year_box_info{position:absolute; bottom:0; left:0; right:0; height:40px; background:rgba(0,4,34,0.65); display:flex; align-items:center; padding:0 44px; overflow-y:hidden;}
.year_box_dot_list{display:flex; gap:30px; list-style:none; padding:0; margin:0; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;}
.year_box_dot_list::-webkit-scrollbar{display:none;}
.year_box_dot_list li{position:relative; padding-left:12px; font-size:1.5rem; color:#8bd0e3; white-space:nowrap; line-height:1; flex-shrink:0;}
.year_box_dot_list li::before{content:'·'; position:absolute; left:0; top:0; color:#8bd0e3;}
/* --------------------------------------------------------*/
.sch_yearly_area{margin-top:30px;}
.sch_yearly_head{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:20px 0;}
.sch_yearly_tit{grid-column:2; font-size:2.6rem; color:#333; font-weight:600; text-align:center;}
.sch_ctrl_wrap{grid-column:3; justify-self:end; display:flex; align-items:center; gap:5px;}
.sch_ctrl_btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; width:90px; height:34px; border:1px solid #e0e2e5; border-radius:7px; font-size:1.4rem; color:#444; white-space:nowrap;}
.sch_ctrl_btn img{width:12px; flex-shrink:0;}
.sch_ctrl_btn:hover{background:#f5f5f5;}
.sch_ctrl_btn:focus-visible{outline:2px solid #444; outline-offset:2px;}
.sch_acc_list{display:flex; flex-direction:column; gap:10px;}
.sch_acc_item{}
.sch_acc_head{display:flex; align-items:center; justify-content:space-between; height:60px; padding:0 20px; border:1px solid #e0e2e5; border-radius:7px; background:#f5f5f5; box-shadow:0 3px 8px rgba(0,0,0,0.06); width:100; cursor:pointer;}
.sch_acc_tit{font-size:2rem; color:#444444;}
.sch_acc_ico{width:20px; height:20px; flex-shrink:0; background:url(../images/sub/close_act.png) no-repeat center; background-size:contain;}
.sch_acc_item.is_open .sch_acc_head{border-bottom-left-radius:0; border-bottom-right-radius:0; border-bottom:none; box-shadow:none;}
.sch_acc_item.is_open .sch_acc_tit{font-weight:700; color:#2a4ea4;}
.sch_acc_item.is_open .sch_acc_ico{background-image:url(../images/sub/open_act.png);}
.sch_acc_body{display:none; padding:20px; border:1px solid #e0e2e5; border-top:none; border-bottom-left-radius:7px; border-bottom-right-radius:7px;}
.sch_acc_head:hover .sch_acc_tit{color:#2a4ea4;}
.sch_acc_head:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px; border-radius:7px;}
.sch_acc_item.is_open .sch_acc_head:focus-visible{border-radius:7px 7px 0 0;}
.cal_monthly_wrap{padding-top:40px;}
/* 20260616 수정 : 연간일정 지역명 */
/*20260619 수정*/
/*20260630 수정*/
.cal_tbl_region_name{display:flex; align-items:center; padding:0 16px; height:50px; background:#edf6f4; border-radius:7px; font-size:2rem; font-weight:700; color:#222; margin-bottom:16px; margin-top:40px;}
/*//20260630 수정*/
/*//20260619 수정*/
.yearly_nav_row{display:flex; align-items:center; justify-content:center; position:relative;}
.yearly_nav_right{position:absolute; right:0;}
.cal_monthly_nav{display:flex; align-items:center; justify-content:center; gap:40px;}
/* 20260616 수정 : 연간일정 뱃지 */
.yearly_badge_group{position:absolute; left:0; display:flex; align-items:center; gap:6px;}
.yearly_badge{display:inline-flex; align-items:center; justify-content:center; width:80px; height:40px; border-radius:6px; font-size:1.6rem; font-weight:600; white-space:nowrap; cursor:pointer; transition:background 0.2s, color 0.2s;}
/*20260630 수정*/
.yearly_badge_center{background:#fff; color:#003fb7; border:1px solid #6393f3;}
.yearly_badge_center:hover, .yearly_badge_center.is_active{background:#003fb7; color:#fff;}
.yearly_badge_local{background:#fff; color:#00795e; border:1px solid #16cba3;}
.yearly_badge_local:hover, .yearly_badge_local.is_active{background:#00795e; color:#fff;}
.yearly_badge_branch{background:#fff; color:#726615; border:1px solid #c3aa00;}
.yearly_badge_branch:hover, .yearly_badge_branch.is_active{background:#726615; color:#fff;}
.yearly_badge_external{background:#fff; color:#b200b9; border:1px solid #c87bcb;}
.yearly_badge_external:hover, .yearly_badge_external.is_active{background:#b200b9; color:#fff;}
.yearly_badge_all{display:inline-flex; align-items:center; justify-content:center; width:80px; height:40px; border-radius:6px; font-size:1.6rem; font-weight:600; color:#000; background:#fff; border:1px solid #d0d0d0;cursor:pointer; transition:background 0.2s, color 0.2s;}
.yearly_badge_all:hover, .yearly_badge_all.is_active{background:#222; color:#fff; border-color:#222;}
/*//20260630 수정*/
/*20260630 수정*/
.cal_year_btn{font-weight:300; font-family:'NexonFootballGothic', sans-serif; font-size: 3.4rem; display: inline-flex; justify-content: center; align-items: center; padding:6px 30px; border:1px solid #d0d0d0; border-radius:20px; box-shadow:0 2px 6px rgba(0,0,0,0.08);}
.cal_year_btn.is_link{flex-direction:column; justify-content:center; align-items:center; gap:2px; font-size:3rem;}
.cal_year_btn.is_link .cal_year_sub{font-family:'Pretendard', sans-serif; font-size:1.2rem; font-weight:400; color:#888; line-height:1; transition:color 0.2s;}
/*//20260630 수정*/
/*20260630 수정6*/
.cal_year_btn.is_link{transition:background 0.2s, color 0.2s;color: #333333;}
.cal_year_btn.is_link:hover{background:#f5462e; color:#fff;}
.cal_year_btn.is_link:hover .cal_year_sub{color:#fff;}
/*//20260630 수정6*/
/*20260619 수정*/
.cal_nav_btn{display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid rgba(0,0,0,0.1); box-shadow:0 2px 6px rgba(0,0,0,0.08); flex-shrink:0;}
.cal_nav_btn img{width:8px; display:block;}
.cal_nav_btn:hover{background:#f5f5f5;}
.cal_nav_btn:focus-visible{outline:2px solid #333333; outline-offset:2px;}
/*//20260619 수정*/
.cal_monthly_tit{font-size:4rem; color:#333333; font-weight:300; font-family:'NexonFootballGothic', sans-serif; transform:translateY(4px);}
.cal_month_bar_wrap{margin-top:30px; overflow-x:auto;}
.cal_month_bar{border:1px solid #cccccc; border-radius:25px; min-width:600px;}
.cal_month_list{display:flex; align-items:center; height:50px; list-style:none;}
.cal_month_item{flex:1; position:relative; height:100%;}
.cal_month_item + .cal_month_item::before{content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:30px; background:#e2e2e2;}
.cal_month_item.is_active::before{display:none;}
.cal_month_item.is_active + .cal_month_item::before{display:none;}
.cal_month_btn{display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; gap:1px;}
.cal_month_num{font-size:2rem; font-weight:700; color:#727272; line-height:1;}
.cal_month_eng{font-size:1.2rem; color:#9f9f9f; line-height:1;}
.cal_month_item.is_active .cal_month_btn{background:#f5462e; border-radius:25px;}
.cal_month_item.is_active .cal_month_num{color:#fff;}
.cal_month_item.is_active .cal_month_eng{color:#fff;}
.cal_month_item:not(.is_active) .cal_month_btn:hover .cal_month_num{color:#333;}
.cal_month_item:not(.is_active) .cal_month_btn:focus-visible{outline:2px solid #f5462e; outline-offset:-2px; border-radius:25px;}
.cal_month_box{margin-top: 40px; background-color:#e4eef6; padding: 15px 30px 30px 30px; border-radius: 30px;}
/* 달력 범례 뱃지 */
.cal_legend_wrap{display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px 16px;}
.cal_legend_item{display:flex; align-items:center; gap:5px;}
.cal_badge{display:inline-flex; align-items:center; justify-content:center; width:auto; padding:0 5px; height:22px; border-radius:11px; border:1px solid; font-size:1.2rem; font-weight:700; flex-shrink:0; line-height:1;}
.cal_badge_center{color:#003fb7; background:#eff4fe; border-color:#6393f3;}
.cal_badge_branch{color:#00795e; background:#e7faf6; border-color:#16cba3;}
.cal_badge_division{color:#726615; background:#f6f4e9; border-color:#c3aa00;}
.cal_badge_specialist{color:#d95700; background:#fbeee5; border-color:#ce7134;}
.cal_badge_external{color:#b200b9; background:#faecfa; border-color:#c87bcb;}
.cal_legend_txt{font-size:1.4rem; color:#333333; white-space:nowrap;}
/* 연간 일정 뱃지 */
/*20260617 추가수정*/
.badge_cal{display: inline-flex; width: auto; min-width: 60px; padding:0 5px; height:22px; justify-content: center; align-items: center; border-radius: 11px; font-size:1.2rem;}
/*20260617 추가수정*/
.badge_cal.opt1{color:#003fb7; background-color:#eff4fe; border:1px solid #6393f3;}
.badge_cal.opt2{color:#00795e; background-color:#e7faf6; border:1px solid #16cba3;}
.badge_cal.opt3{color:#726615; background-color:#f6f4e9; border:1px solid #c3aa00;}
.badge_cal.opt4{color:#b200b9; background-color:#faecfa; border:1px solid #c87bcb;}
.badge_cal.is_3ch{letter-spacing: 4px; padding-left: 4px;}
/* 달력 그리드 */
.cal_grid_wrap{background:#fff; border-radius:20px; padding:40px; margin-top:16px;}
.cal_grid_head{display:grid; grid-template-columns:repeat(7,1fr); background:#003568; border-radius:25px; height:50px; overflow:hidden;}
.cal_grid_th{display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.8rem; font-weight:700;}
.cal_grid_body{display:grid; grid-template-columns:repeat(7,1fr); border-bottom:1px solid #efefef;}
.cal_grid_cell{min-height:100px; padding:10px 8px; border-right:1px solid #efefef; border-bottom:1px solid #efefef; box-sizing:border-box; overflow:hidden;}
.cal_grid_cell:nth-child(7n){border-right:none;}
.cal_grid_cell.is_last_row{border-bottom:none;}
.cal_grid_date{display:block; font-size:1.5rem; color:#444444; line-height:1;}
.cal_grid_cell.is_sun .cal_grid_date{color:#ff0000;}
.cal_grid_cell.is_sat .cal_grid_date{color:#083bcc;}
.cal_ev_list{list-style:none; margin-top:6px; display:flex; flex-direction:column; gap:3px;}
.cal_ev_item{display:flex; align-items:center; gap:5px; overflow:hidden; position:relative;}
.cal_ev_txt{font-size:1.2rem; color:#444444; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; text-decoration:none;}
.cal_ev_txt:hover{text-decoration:underline; color:#003fb7;}

/* 달력 이벤트 말풍선 tooltip */
.cal_tooltip{ position:fixed; background:#333; color:#fff; padding:6px 12px; border-radius:8px; font-size:1.2rem; white-space:nowrap; z-index:9999; pointer-events:none; opacity:0; visibility:hidden; transition:opacity 0.15s, visibility 0.15s; transform:translateX(-50%); }
.cal_tooltip::before{ content:''; position:absolute; top:-10px; left:50%; transform:translateX(-50%); border:5px solid transparent; border-bottom-color:#333; }
.cal_tooltip.is_show{ opacity:1; visibility:visible; }
/* 달력 하단 테이블 */
.cal_tbl_area{margin-top:30px;}
.cal_tbl_top{display:flex; margin-bottom:10px;}
.cal_tbl_count{font-size:1.6rem; color:#666666;}
/*20260619 수정*/
.sub_con01_03 .cal_tbl_top{padding-bottom:20px; border-bottom:1px solid #000;}
/*//20260619 수정*/
/*20260623 수정*/
.cal_tbl_notice{padding:12px 0; font-size:1.8rem; color:#333; line-height:1.6; word-break:keep-all; margin-bottom:15px;}
/*//20260623 수정*/
.cal_tbl_count strong{color:#000000; font-weight:700;}
.layout_tbl .tbl_c{text-align:center; vertical-align:middle;}
/*20260630 수정*/
.delay_edu_tbl .tbl_c:first-child, .delay_edu_tbl .tbl_c:last-child{white-space:nowrap;}
.delay_edu_tbl .tbl_c .blue{vertical-align:baseline;}
/*//20260630 수정*/

/*교육신청*/
.pre_box{background-color: #fafbfd; border-radius: 10px; border:1px solid #e5e8ee; padding:30px; margin-top:50px;}

/*교육 상세 - 지도 이미지 래퍼*/
.map_img_wrap{border-radius:5px; border:1px solid #c8c8c8; overflow:hidden; max-width:100%;}
.map_img_wrap img{width:100%; height:100%; object-fit:cover; display:block;}
.map_loc_txt{font-size:1.8rem; color:#444;}

/*교육 상세 - 서브 불릿/대시 리스트*/
.sub_bullet_list{list-style:none; padding-left:4px; margin-top:6px;}
.sub_bullet_list > li{position:relative; padding-left:18px; font-size:1.8rem; color:#555; line-height:1.8; word-break:keep-all;}
.sub_bullet_list > li::before{content:"●"; position:absolute; left:0; top:0; font-size:0.75em; line-height:2.2;}
.sub_dash_list{list-style:none; padding-left:2px; margin-top:2px;}
.sub_dash_list > li{position:relative; padding-left:14px; font-size:1.8rem; color:#555; line-height:1.8; word-break:keep-all;}
.sub_dash_list > li::before{content:"-"; position:absolute; left:0;}

/*교육 상세 - 파일 링크*/
.file_link{display:inline-flex; align-items:center; gap:6px; font-size:1.8rem; color:#333; text-decoration:none;}
.file_link:hover{text-decoration:underline; color:#2a4ea4;}
.file_link i{font-size:1.9rem; color:#2a4ea4; flex-shrink:0;}

/*교육 상세 - 문의처*/
.contact_row{display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px;}
.contact_item{font-size:1.8rem; color:#444;}
.contact_divider{color:#ccc; font-size:1.8rem;}

/*교육 상세 - 강의내용 헤더 + 다운로드 버튼*/
.lecture_hd{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:40px;}
.dwn_btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:195px; height:40px; background:#0278fe; border-radius:7px; font-size:1.6rem; color:#fff; text-decoration:none; white-space:nowrap; flex-shrink:0;}
.dwn_btn:hover{background:#005fd4;}
.dwn_btn:focus-visible{outline:2px solid #222; outline-offset:2px;}
.dwn_btn_icon{display:flex; align-items:center; flex-shrink:0;}
.pre_notice_list{list-style:none;}
/* 20260629 수정 – Lv4 본문 1.8rem */
.pre_notice_list li{position:relative; padding-left:2.2rem; font-size:1.8rem; color:#444444; line-height:1.7; word-break:keep-all;}
.pre_notice_list li+li{margin-top:8px;}
.pre_notice_list li::before{content:"※"; position:absolute; left:0; top:0; color:#444444;}
/*20260626 수정*/
.pre_plain_list{list-style:none;}
.pre_plain_list li{font-size:1.8rem; color:#444444; line-height:1.7; word-break:keep-all;}
.pre_plain_list li+li{margin-top:8px;}
/*//20260626 수정*/
.tbl_fee span{display:block; font-size:1.5rem; line-height:1.8; color:#333333;}
.tbl_period span{display:block; font-size:1.5rem; line-height:1.8; color:#333333;}
.tbl_quota span{display:block; font-size:1.5rem; line-height:1.8; color:#333333;}
.tbl_status_open{color:#0057c8; font-size:1.5rem; font-weight:600;}
.tbl_status_close{color:#e03030; font-size:1.5rem; font-weight:600;}
.tbl_apply_btn{display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:32px; padding:0 10px; background-color:#2a4ea4; color:#ffffff; font-size:1.3rem; border-radius:4px; text-decoration:none; white-space:nowrap;}
.tbl_apply_btn:hover{background-color:#1e3a7a;}
.tbl_apply_btn.done{background-color:#666666;}
.tbl_apply_btn.done:hover{background-color:#555555;}

/*==============================================================================
    tab_local  시도회 교육 일정
==============================================================================*/
.sido_schedule{padding-top:40px;}
.sido_layout{display:flex; align-items:flex-start; gap:70px;}
.sido_map_area{flex-shrink:0;}
#sidoMap area{outline:none;}
.sido_map_box{background:#f4f7f9; border-radius:20px; padding:25px; display:flex; justify-content:center; align-items:center;}
.sido_map_img{display:block; max-width:100%;}
.sido_map_desc{display:flex; align-items:flex-start; gap:6px; margin-top:14px; font-size:1.4rem; color:#444444; line-height:1.5; word-break:keep-all;}
.sido_map_icon{width:16px; flex-shrink:0; margin-top:2px;}
.sido_tbl_area{flex:1; min-width:0;}
.sido_tbl_head{display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:20px;}
.sido_tbl_period{font-size:2.4rem; color:#333333; line-height:1;}
.sido_tbl_period strong{font-size:3rem; font-weight:700; color:#333333;}
.sido_tbl_div{display:inline-block; width:1px; height:30px; background:#d0d0d0;}
.sido_tbl_region{font-size:2.8rem; font-weight:700; color:#333333; line-height:1;}
.sido_paging{margin-top:30px;}
.sido_schedule > .sido_tbl_wrap{margin-top:30px;}
.sido_tbl_wrap .layout_tbl{table-layout:fixed;}
.sido_tbl_wrap .layout_tbl td{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.sido_notice{display:flex; align-items:center; gap:12px; height:80px; background:#fcf3ec; border-radius:10px; padding:0 20px; margin-bottom:20px;}
.sido_notice_txt{font-size:1.8rem; color:#222;}
/* 시도회·월 필터 버튼 */
.sido_filter_wrap{display:flex; flex-direction:column; gap:50px; margin-top:50px;}
.sido_filter_row{display:grid; grid-template-columns:repeat(6, 1fr); gap:8px;}
.sido_filter_row > .sido_btn{grid-column:1; grid-row:1;}
.sido_btn_items{grid-column:2 / 7; grid-row:1 / span 3; display:grid; grid-template-columns:subgrid; gap:8px; align-content:start;}
.sido_btn{display:flex; align-items:center; justify-content:center; height:40px; border:1px solid #e1e1e1; border-radius:10px; font-size:1.6rem; color:#333333; background:#fff; text-decoration:none; white-space:nowrap; box-shadow:0 2px 6px rgba(0,0,0,0.06); transition:background .2s, color .2s, border-color .2s;}
.sido_btn.is_active{background:#001e59; color:#fff; border-color:#001e59; box-shadow:none;}
.sido_btn:hover:not(.is_active){background:#f0f4ff; color:#001e59; border-color:#001e59;}
.sido_btn:focus-visible{outline:2px solid #001e59; outline-offset:2px;}
.sido_btn:focus-visible{outline:2px solid #001e59; outline-offset:2px;}

/*==============================================================================
    sub01_02  분과학회 필터 탭
==============================================================================*/
.dv_tab_wrap{display:flex; align-items:center; gap:14px; margin-top:40px;}
.dv_tab_nav{display:flex; align-items:center; justify-content:center; width:45px; height:45px; border-radius:50%; border:1px solid #dcdcdc; background:#fff; flex-shrink:0; box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.dv_tab_nav img{display:block; width:8px;}
.dv_tab_scroll{flex:1; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none;}
.dv_tab_scroll::-webkit-scrollbar{display:none;}
.dv_tab_list{display:flex; gap:10px; list-style:none; padding:3px 0; margin:0;}
.dv_tab_btn{display:block; padding:15px 18px; font-size:1.5rem; color:#333333; border:1px solid #dcdcdc; border-radius:22.5px; background:#fff; white-space:nowrap; line-height:1; text-decoration:none;}
.dv_tab_item.is_active .dv_tab_btn{background:#222222; border-color:#222222; color:#fff;}
.dv_tab_btn:focus-visible{outline:2px solid #003fb7; outline-offset:2px; border-radius:22.5px;}

.branch_filter_box{display:flex; flex-wrap:wrap; gap:10px; padding:20px 24px; background:#f4f4f4; border-radius:15px; border:1px solid #e2e1e1; margin-top:40px; margin-bottom:30px; justify-content: center;}
.branch_tab_btn{display:flex; align-items:center; justify-content:center; height:45px; padding:0 22px; border-radius:22.5px; border:1px solid #dcdcdc; background:#fff; font-size:1.5rem; color:#333333; white-space:nowrap; text-decoration:none; line-height:1; transition:background .2s, color .2s, border-color .2s;}
.branch_tab_btn.is_active{background:#222222; border-color:#222222; color:#fff;}
.branch_tab_btn:hover:not(.is_active){background:#ebebeb;}
.branch_tab_btn:focus-visible{outline:2px solid #003fb7; outline-offset:2px;}

/*==============================================================================
    info_tbl  - 회원정보
==============================================================================*/
.info_sel{width:220px; height:38px; border-radius:5px; border:1px solid #949494; padding:0 30px 0 10px; font-size:1.6rem; color:#444444; background:#fff url('../images/sub/icon_select_blk.png') no-repeat right 10px center; background-size:12px; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none;}
.info_sel:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.info_tel_wrap{display:flex; align-items:center; gap:15px;}
.info_tel_inp{width:110px; height:38px; border-radius:5px; border:1px solid #949494; padding:0 10px; font-size:1.6rem; color:#444444; outline:none;}
.info_tel_bar{font-size:1.6rem; color:#444444; flex-shrink:0;}
.info_tel_inp:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.info_email_wrap{display:flex; align-items:center;}
.info_email_inp{width:190px; height:38px; border-radius:5px; border:1px solid #949494; padding:0 10px; font-size:1.6rem; color:#444444; outline:none;}
.info_email_at{font-size:1.7rem; color:#444444; flex-shrink:0; margin:0 17px;}
.info_email_inp:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.info_work_wrap{display:flex; align-items:center; gap:5px;}
.info_work_inp{width:390px; height:38px; border-radius:5px; border:1px solid #949494; padding:0 10px; font-size:1.6rem; color:#444444; outline:none;}
.info_work_inp:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.info_search_btn{display:inline-flex; align-items:center; justify-content:center; width:80px; height:38px; border-radius:5px; background:#222; color:#fff; font-size:1.6rem; flex-shrink:0; white-space:nowrap;}
.info_search_btn:hover{background:#444;}
.info_search_btn:focus-visible{outline:2px solid #222; outline-offset:2px;}
.info_agree_sub{font-size:1.5rem; color:#333333; margin-left:4px;}
.apply_agree_wrap.role2{align-items:flex-start; margin-top: 20px;}
.new03_box ~ .new03_box{margin-top: 50px;}

/* 결제정보 테이블 */
.pay_tbl_wrap{overflow-x:visible;}
.pay_tbl{width:100%; table-layout:fixed; border-collapse:collapse; border-top:2px solid #050f26; border-bottom:1px solid #dbdbdb;}
.pay_tbl col.col_no{width:60px;}
.pay_tbl col.col_type{width:140px;}
.pay_tbl col.col_item{}
.pay_tbl col.col_score{width:180px;}
.pay_tbl col.col_year{width:150px;}
.pay_tbl col.col_price{width:120px;}
.pay_tbl thead th{height:50px; padding:8px 12px; background:#f9faff; color:#202738; font-size:1.5rem; font-weight:600; text-align:center; vertical-align:middle; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; word-break:keep-all; box-sizing:border-box;}
.pay_tbl thead th:last-child{border-right:none;}
.pay_tbl tbody td{height:50px; padding:8px 12px; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; vertical-align:middle; font-size:1.5rem; color:#444; text-align:center; box-sizing:border-box;}
.pay_tbl tbody td:last-child{border-right:none;}
.pay_tbl_note{display:block; font-size:1.3rem; color:#888; word-break:keep-all; line-height:1.4; margin-top:3px;}
.pay_tbl_sel{width:100%; height:38px;}
.pay_tbl_sum{height:50px; padding:8px 12px; background:#f9faff; color:#202738; font-size:1.5rem; font-weight:700; text-align:center; vertical-align:middle; border-right:1px solid #dbdbdb; border-bottom:none; box-sizing:border-box;}
.pay_tbl_sum_amt{font-weight:700; color:#222; border-bottom:none; border-right:none;}



/*==============================================================================
    edu_btn - 교육 상세 하단 버튼
==============================================================================*/
.edu_btn_wrap{display:flex; align-items:center; justify-content:center; gap:10px; margin-top:30px;}
.edu_btn{display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; font-size:1.7rem; color:#fff; font-weight:500;}
.edu_btn_list{background:#4b505a;}
.edu_btn_list:hover{background:#363b43;}
.edu_btn_apply{background:#2a4ea4;}
.edu_btn_apply:hover{background:#1f3c83;}
.edu_btn:focus-visible{outline:2px solid #222; outline-offset:2px;}

/*==============================================================================
    sub02_01  온라인교육 - 교육안내
==============================================================================*/
/* sub02_01 탭 패널 상단 여백 */
.tab_panel .edu_info,
.tab_panel .env_section {margin-top:50px;}

/* 탭1 교육 공통 사항 | 20260612 수정 */
.pl_info_list {list-style:none; margin-top:50px;}
.pl_info_item {display:flex; align-items:center; gap:30px; padding:36px 0;}
.pl_info_item + .pl_info_item {border-top:1px solid #e6e6e6;}
.pl_info_icon_wrap {display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:50%; background:#f4f6fb; flex-shrink:0;}
.pl_info_icon {max-width:100%; max-height:100%; object-fit:contain;}
.pl_info_body {flex:1; min-width:0;}
.pl_info_tit {display:block; font-size:2.1rem; color:#222; font-weight:700;}
.pl_info_txt {font-size:1.8rem; color:#444; margin-top:10px; line-height:1.7;}
.pl_info_txt.dot_list > li {font-size:1.8rem; color:#444;}

/* 온라인 교육 이수안내 | 20260612 수정 */
.edu_notice_wrap {display:flex; align-items:flex-start; gap:60px; background:#f4f6fb; border-radius:10px; padding:50px; margin-top:80px;}
.edu_notice_left {flex-shrink:0; display:flex; flex-direction:column; align-items:flex-start;}
.edu_notice_badge {display:block; margin-bottom:16px;}
.edu_notice_title {font-family:'YeogiOttaeJalnanGothic', sans-serif; font-size:3rem; color:#111; line-height:1.4; white-space:nowrap; text-align:left;}
.edu_notice_right {flex:1; min-width:0; display:flex; flex-direction:column; gap:10px;}
.edu_notice_card {display:flex; align-items:center; gap:50px; background:#fff; border:1px solid #cfcfcf; border-radius:20px; padding:40px 60px;}
.edu_notice_card_icon {flex-shrink:0;}
.edu_notice_card_body {flex:1; min-width:0;}
.edu_notice_card_tit {display:block; font-size:2.3rem; color:#001b63; font-weight:700; line-height:1.5;}
.edu_notice_step_row {display:flex; align-items:center; gap:10px; margin-top:14px;}
.edu_notice_step_box {display:flex; align-items:center; justify-content:center; flex:1; height:50px; padding:0 20px; background:#ffeded; border-radius:10px; font-size:1.8rem; color:#f12727; text-align:center;}
.edu_notice_step_arrow {flex-shrink:0;}

/* 브라우저 지원 */
.browser_wrap {display:flex; gap:40px; margin-top:40px;}
.browser_box {flex:1; border-radius:15px; overflow:hidden;}
.browser_box--support {flex:1.3;}
.browser_box_hd {padding:16px 20px; font-size:2.2rem; color:#fff; font-weight:600; text-align:center;}
.browser_box--support .browser_box_hd {background:#2a4ea4;}
.browser_box--unsupport .browser_box_hd {background:#5e636f;}
.browser_box_body {background:#fff; padding:40px 30px;}
.browser_box--support .browser_box_body {border:1px solid #2a4ea4; border-top:none; border-radius:0 0 15px 15px;}
.browser_box--unsupport .browser_box_body {border:1px solid #5e636f; border-top:none; border-radius:0 0 15px 15px;}
.browser_list {display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; justify-content:center;}
.browser_item {display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; flex:1 0 auto; min-width:80px; word-break:keep-all;}
@media (max-width:640px) {
    .browser_box--support .browser_item {flex:0 0 calc(50% - 5px);}
}
.browser_icon {width:72px; height:72px; object-fit:contain;}
.browser_name_en {font-size:2rem; color:#000; font-weight:700;}
.browser_name_ko {font-size:1.8rem; color:#555;}


/*==============================================================================
    sub02_02_02 온라인교육 - 교육신청
==============================================================================*/
.btn_area{display:flex; gap:10px; justify-content: center; align-items: center; margin-top: 30px;}
.btn_ipt{display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; font-size:1.7rem; color:#000; font-weight:500;}
.btn_ipt.type01{color:#5C6166; border:1px solid #72747D;}
.btn_ipt.type02{color:#fff; background-color: #F25010;}
.btn_ipt.type03{color:#fff; background-color: #2A4EA4;}
.btn_ipt.type04{color:#fff; background-color: #4C505B;}

/*==============================================================================
    sub02_02_01  온라인 교육 신청
==============================================================================*/
.onl_sch_box{display:flex; border-radius:10px; border:1px solid #8596c0; margin-top:50px; overflow:hidden;}
.onl_sch_left{width:400px; flex-shrink:0; background:#e0e5f2; display:flex; align-items:flex-start; justify-content:center; padding:30px 20px;}
.onl_sch_right{flex:1; background:#f4f6fb; display:flex; align-items:center; padding:20px 24px;}
.onl_sch_form{display:flex; flex-direction:column; align-items:flex-start; gap:8px;}
.onl_sch_sel{width:210px; height:45px; border-radius:5px; border:1px solid #cdcdcd; background:#fff url(../images/sub/icon_select_blk.png) no-repeat right 12px center; background-size:12px; padding:0 36px 0 15px; font-size:1.6rem; color:#444444; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none; flex-shrink:0;}
.onl_sch_sel:focus{border-color:#2a4ea4;}
.onl_sch_inp{width:210px; height:45px; border-radius:5px; border:1px solid #cdcdcd; padding:0 15px; font-size:1.6rem; color:#444444; outline:none; background-color:#fff;}
.onl_sch_inp::placeholder{color:#aaaaaa; font-size:1.6rem;}
.onl_sch_inp:focus{border-color:#2a4ea4;}
.onl_sch_inp_wrap{display:flex; align-items:center; gap:5px;}
.onl_sch_btn{background:#222222;}
.onl_sch_btn:hover{background:#444444;}
.onl_cat_wrap{width:100%;}
/* 20260702 수정 */
.onl_cat_tit{font-size:2rem; color:#222222; font-weight:700; margin:0 0 14px;}
.onl_cat_bottom_tit{font-size:2rem; color:#222222; font-weight:700; margin:20px 0 14px;}
.onl_cat_note{display:flex; align-items:center; gap:5px; margin:16px 0 0; font-size:1.4rem; color:#364469;}
.onl_cat_note_icon{width:auto; height:auto; flex-shrink:0;}
/* //20260702 수정 */
.onl_cat_list{display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0;}
.onl_cat_btn{display:inline-flex; align-items:center; justify-content:center; width:115px; height:48px; box-sizing:border-box; border-radius:10px; border:1px solid #dcdcdc; font-size:1.5rem; color:#333333; background:#fff; text-decoration:none; white-space:nowrap; box-shadow:0 2px 6px rgba(0,0,0,0.08); transition:background .2s, color .2s, border-color .2s;}
.onl_cat_btn.is_active{background:#264597; color:#fff; border-color:#264597; box-shadow:none;}
.onl_cat_btn:hover:not(.is_active){background:#eef2ff; color:#264597; border-color:#264597;}
.onl_cat_btn:focus-visible{outline:2px solid #264597; outline-offset:2px;}
.onl_cat_license_wrap{margin-left:auto;}
/* 20260616 수정 */
.onl_cat_btn.onl_cat_new{background:#ffeadb; border:1px solid #ffbda9; color:#ff4e00;}
.onl_cat_btn.onl_cat_new:hover{background:#ffd9c4; border-color:#ff9070; color:#ff4e00;}
.onl_cat_divider{margin-top:20px; border-top:1px solid #c7cfe1;}
.onl_cat_bottom_row{display:flex; align-items:center; justify-content:space-between; margin-top:0;}
.onl_cat_bottom_left{display:flex; gap:6px;}
.onl_cat_btn.onl_cat_member{border:1px solid #30c58b; color:#007447;}
.onl_cat_btn.onl_cat_member:hover{background:#e8fff6; border-color:#30c58b; color:#007447;}
.onl_cat_btn.onl_cat_free{border:1px solid #3fc2cb; color:#006d74;}
.onl_cat_btn.onl_cat_free:hover{background:#e6fafb; border-color:#3fc2cb; color:#006d74;}
/*20260617 추가수정*/
.onl_cat_btn.onl_cat_member.is_active{background:#1f9469; color:#fff; border-color:#1f9469; box-shadow:none;}
.onl_cat_btn.onl_cat_free.is_active{background:#2496a0; color:#fff; border-color:#2496a0; box-shadow:none;}
/*20260617 추가수정*/
.onl_cat_bottom_right{margin-left:auto;}
.onl_cat_btn.onl_cat_license{display:inline-flex; align-items:center; justify-content:space-between; width:310px; height:58px; padding:0 20px; background:#7b35a3; color:#fff; border-color:#7b35a3; box-shadow:none; font-size:1.5rem; gap:8px;}
.onl_cat_btn.onl_cat_license:hover{background:#6a2b8e; border-color:#6a2b8e; color:#fff;}
.onl_cat_license_icon{width:auto; height:18px; flex-shrink:0;}
.onl_cat_license_arrow{width:auto; height:18px; flex-shrink:0;}

/* 카드 리스트 */
.onl_card_list{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin-top:30px;}
.onl_card{position:relative; display:flex; flex-direction:column; border:1px solid #e1e1e1; border-radius:15px; box-shadow:0 2px 8px rgba(0,0,0,0.07); padding:15px; cursor:pointer; text-decoration:none; transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;}
.onl_card:hover{transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,0.13); border-color:#264597;}
.onl_card.is_hidden{display:none;}
/* 카드 헤더: 카테고리 + 상태뱃지 */
.onl_card_head{display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:8px;}
.onl_card_cat{font-size:1.4rem; font-weight:600; color:#264597; margin:0;}
.onl_card[data-cat="공통,교양"] .onl_card_cat{color:#0058c0;}
.onl_card[data-cat="혈액학"] .onl_card_cat{color:#c0392b;}
.onl_card[data-cat="면역학"] .onl_card_cat{color:#2980b9;}
.onl_card[data-cat="수혈학"] .onl_card_cat{color:#e07030;}
.onl_card[data-cat="미생물학"] .onl_card_cat{color:#27ae60;}
/* 상태 뱃지 (접수중 등) */
.onl_status_badge{position:relative; z-index:3; display:inline-flex; align-items:center; justify-content:center; height:26px; padding:0 8px; border-radius:13px; font-size:1.4rem; white-space:nowrap; flex-shrink:0;}
.onl_status_badge.is_open{background:#ef4054; color:#fff;}
.onl_status_badge.is_closed{background:#f5f5f5; color:#888; border:1px solid #ccc;}
.onl_status_badge.is_soon{background:#fff8e6; color:#e08c00; border:1px solid #e08c00;}
/* 썸네일 */
.onl_card_thumb{border-radius:10px; overflow:hidden; height:167px; flex-shrink:0;}
.onl_card_thumb img{width:100%; height:100%; object-fit:cover; display:block;}
/* 제목 */
.onl_card_tit{font-size:1.8rem; color:#222222; font-weight:600; margin:12px 0 0; line-height:1.4; min-height:calc(1.8rem * 1.4 * 2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
/* 구분선 */
.onl_card_line{height:1px; background:#e1e1e1; margin-top:10px;}
/* 신청/수강 뱃지 리스트 */
.onl_info_list{list-style:none; padding:0; margin:10px 0 0; display:flex; flex-direction:column; gap:6px;}
.onl_info_row{display:flex; align-items:center; gap:8px;}
.onl_info_badge{display:inline-flex; align-items:center; justify-content:center; width:40px; height:24px; border-radius:12px; border:1px solid #c5c5c5; color:#264597; font-size:1.2rem; flex-shrink:0;}
.onl_info_date{font-size:1.4rem; color:#555555;}
/* 가격 */
.onl_price_txt{font-size:1.4rem; color:#333333; margin:8px 0 0; padding-left: 5px;}
/* 레거시 dot list (다른 페이지 호환) */
.onl_dot_list{list-style:none; padding:0; margin:0;}
.onl_dot_list li{position:relative; padding-left:12px; line-height:1.6; word-break:keep-all;}
.onl_dot_list li::before{content:'ㆍ'; position:absolute; left:0; top:0;}
.onl_dot_list_sm{margin-top:15px;}
.onl_dot_list_sm li{font-size:1.4rem; color:#555555;}
.onl_dot_list_md{margin-top:12px;}
.onl_dot_list_md li{font-size:1.5rem; color:#333333;}
.onl_card_btns{display:none;}
.onl_btn_preview,.onl_btn_cart{display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:1 1 calc(50% - 4px); height:40px; border-radius:20px; font-size:1.5rem; text-decoration:none; white-space:nowrap;}
.onl_btn_preview{border:1px solid #FFF; color:#fff; background:transparent;}
.onl_btn_cart{color:#fff; background:#f25010; border:1px solid #f25010;}
.onl_btn_preview img,.onl_btn_cart img{width:16px; flex-shrink:0;}
.onl_btn_preview img{filter:brightness(1);}
.onl_btn_preview:hover{background:#f5f5f5; color:#222; border-color:#222;}
.onl_btn_preview:hover img{filter:brightness(0);}
.onl_btn_cart:hover{background:#d94210; border-color:#d94210;}
.onl_btn_preview:focus-visible,.onl_btn_cart:focus-visible{outline:2px solid #f25010; outline-offset:2px;}

/* 카드 hover 오버레이 */
.onl_card_cat{z-index:1;}
.onl_card_hover{position:absolute; inset:0; z-index:2; background:rgba(0,0,0,0.85); border-radius:15px; padding:15px; display:flex; flex-direction:column; opacity:0; pointer-events:none; transition:opacity 0.25s ease; overflow:hidden;}
.onl_card:hover .onl_card_hover{opacity:1; pointer-events:auto;}
/*20260629 수정4*/
.onl_hover_tit{font-size:2.4rem; color:#fff; font-weight:600; margin:40px 0 20px; line-height:1.3; text-align:center; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; word-break:keep-all;}
.onl_hover_lec{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; padding-left:10px; overflow:hidden; flex-shrink:1; min-height:0;}
.onl_hover_lec li{display:flex; gap:8px; font-size:1.6rem; font-weight:200; color:#fff; line-height:1.5;}
.onl_hover_lec li span:last-child{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
/*//20260629 수정4*/
.onl_hover_lec li span:first-child{flex-shrink:0;}
.onl_hover_line{height:1px; background:#fff; margin:20px 0;}
.onl_hover_info{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; padding-left: 10px;}
.onl_hover_info li{font-size:1.6rem; color:#fff; line-height:1.5;}
.onl_hover_btns{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:auto;}
/* 20260629 수정 */
.onl_hover_credit{font-size:1.7rem; font-weight:600; color:#fff; position:absolute; top:15px; left:15px;}
/* 라이트 오버레이 변형 (.is_light) */
.onl_card_hover.is_light{background:rgba(206,206,206,0.95);}
.onl_card_hover.is_light .onl_hover_tit{color:#012278;}
.onl_card_hover.is_light .onl_hover_lec li{color:#012278;}
.onl_card_hover.is_light .onl_hover_line{background:#012278;}
.onl_card_hover.is_light .onl_hover_info li{color:#012278;}
.onl_card_hover.is_light .onl_hover_credit{color:#012278;}
.onl_card_hover.is_light .onl_btn_preview{border:2px solid #000; color:#000;}
.onl_card_hover.is_light .onl_btn_preview img{filter:brightness(0);}
/* //20260629 수정 */
/* 퍼플 오버레이 변형 (.is_purple) | 20260630 수정 */
.onl_card_hover.is_purple{background:rgba(62,27,82,0.9);}
.onl_card_hover.is_purple .onl_hover_tit{color:#fff;}
.onl_card_hover.is_purple .onl_hover_lec li{color:#fff;}
.onl_card_hover.is_purple .onl_hover_line{background:#fff;}
.onl_card_hover.is_purple .onl_hover_info li{color:#fff;}
.onl_card_hover.is_purple .onl_hover_credit{color:#fff;}
.onl_card_hover.is_purple .onl_btn_preview{border:2px solid #fff; color:#fff; background:transparent;}
.onl_card_hover.is_purple .onl_btn_preview img{filter:brightness(1);}
/* //20260630 수정 */

/*==============================================================================
    sub02_02_new02  온라인 교육 신청
==============================================================================*/
.txt_deco{font-weight: 700; text-decoration: underline;}
.st_txt{font-weight: 700;}
/*==============================================================================
    sub02_03_01  나의 강의실
==============================================================================*/
/*20260623 수정*/
.sch_form.myedu{justify-content: center; gap:16px;}
.sch_form.myedu .sch_form_group{gap:12px;}
.sch_form.myedu .sch_inp_wrap{flex:1; gap:10px;}
.myedu_box{margin-top: 30px;}
/*//20260623 수정*/

/*==============================================================================
    sub02_03_02  나의 강의실 - 강의 상세
==============================================================================*/
.eduvd_box ~ .eduvd_box{margin-top: 50px;}
.stack_tbl{width:100%; border-collapse:collapse; border-top:1px solid #2a4ea4; border-bottom:1px solid #dbdbdb;}
.stack_tbl thead tr th{background:#f2f5fb; padding:14px 20px; font-size:1.7rem; color:#202738; font-weight:600; text-align:center; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb;}
.stack_tbl thead tr th:last-child{border-right:none;}
.stack_tbl tbody tr th{background:#f2f5fb; padding:14px 20px; font-size:1.7rem; color:#202738; font-weight:600; text-align:center; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb; white-space:nowrap; vertical-align:middle;}
.stack_tbl tbody tr td{padding:10px 14px; font-size:1.7rem; color:#444444; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb; line-height:1.7; word-break:keep-all;}
.stack_tbl tbody tr:last-child th{border-bottom:none;}
.stack_tbl tbody tr:last-child td{border-bottom:none;}
.stack_tbl tbody tr td:last-child{border-right:none;}
.stack_tbl .tbl_c{text-align:center; vertical-align:middle;}
.vd_btn{display:inline-flex; align-items:center; justify-content:center;}
.vd_btn img{display:block; max-width:none;}
/*==============================================================================
    sub02_03_01 온라인교육 - 나의 강의실
==============================================================================*/
.sch_form.ipt{justify-content: center;}
.sch_sel_ipt{width: 220px;}
.emp_txt{font-size: 1.7rem; font-weight: 700;}

/*==============================================================================
    sub03_01  면허신고 안내
==============================================================================*/
.ol_list{list-style:none; padding:0; margin:0; counter-reset:ol-num;}
.ol_list li{font-size:1.7rem; color:#444; line-height:1.7; word-break:keep-all; position:relative; padding-left:20px;}
.ol_list li + li{margin-top:6px;}
.ol_list li::before{counter-increment:ol-num; position:absolute; left:0;}
/* 면허신고 대상 안내 이미지 박스 */
.lic_guide_img_wrap{margin-top:24px; background:#fff; border:1px solid #e1e1e1; border-radius:15px; box-shadow:0 4px 20px rgba(0,0,0,0.08); display:flex; justify-content:center; align-items:center; padding:40px 20px; overflow:hidden;}
.lic_guide_img_wrap img{max-width:100%; height:auto;}
/* 면허신고전 확인사항 회색박스 */
.lic_check_box{background:#f9f9f9; border:1px solid #e1e5ee; border-radius:15px; padding:30px; display:flex; align-items:center; justify-content:center; gap:40px;}
.lic_check_box img{flex-shrink:0;}
.lic_check_txt{flex:none;}
.lic_check_tit{font-size:2.2rem; font-weight:700; color:#ff0000; margin:0 0 6px; word-break:keep-all;}
.lic_check_sub{font-size:2rem; color:#222; line-height:1.5; word-break:keep-all; margin:0;}
.lic_check_sub + .lic_check_sub{margin-top:2px;}
/* 예)/행정처분 소제목 */
.lic_sub_head{font-size:1.8rem; color:#222; font-weight:700; margin-top:30px; margin-bottom:10px;}

/* sub03_01_02 확인사항 박스 */
.lic_info_box{background:#f4f6fb; border-radius:10px; padding:30px; display:flex; align-items:center; justify-content: center; gap:30px; }
.lic_info_icon{flex-shrink:0; width:80px; height:auto;}
.lic_info_tit{font-size:2rem; font-weight:700; color:#ff0000; margin:0 0 3px; word-break:keep-all;}
.lic_info_desc{font-size:1.8rem; color:#222; line-height:1.65; word-break:keep-all; margin:0;}
.lic_info_desc + .lic_info_desc{margin-top:4px;}
.txt_ul{text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; vertical-align:baseline; display:inline; line-height:inherit;}
/* 면허신고 플로우차트 박스 */
/*20260625 수정*/
.lic_flow_wrap{margin-top:50px; border:1px solid #e1e1e1; border-radius:15px; overflow:hidden;}
.lic_flow_box{background:#f6f7f0; padding:50px; display:flex; justify-content:center; align-items:center;}
.lic_flow_img{max-width:100%; height:auto; display:block;}
.lic_hour_box{background:#edeee6; padding:50px;}
.lic_hour_tit{font-size:2.4rem; font-weight:700; color:#222; margin-bottom:30px; display:flex; align-items:center; gap:8px;}
.lic_hour_icon{flex-shrink:0;}
.lic_hour_table_wrap{}
.lic_hour_grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:16px;}
.lic_hour_tbl{width:100%; border-collapse:separate; border-spacing:0; border-radius:5px; overflow:hidden; border:1px solid #c7ccdc;}
.lic_hour_tbl th, .lic_hour_tbl td{padding:10px 8px; font-size:1.5rem; text-align:center; border-bottom:1px solid #c7ccdc; border-right:1px solid #c7ccdc;}
.lic_hour_tbl th:last-child, .lic_hour_tbl td:last-child{border-right:none; width:28%;}
.lic_hour_tbl tbody tr:last-child td{border-bottom:none;}
.lic_hour_tbl thead th{background:#596694; color:#fff; font-weight:600;}
.lic_hour_tbl tbody td{background:#fff; color:#333;}
.lic_hour_tbl tbody tr:nth-child(even) td{background:#f3f3f3;}
/*//20260625 수정*/

/*==============================================================================
    sub03_02  관련법규
==============================================================================*/
.sub_con03_02 .pp_gray_box { margin-bottom:0; }
.sub_con03_02 .s03_02_head { margin-top:0; margin-bottom:12px; }
.sub_con03_02 .pp_gray_box + .pp_gray_box { margin-top:12px; }
.sub_con03_02 .law_box_tit { font-size:2.0rem; font-weight:700; color:#222; margin-bottom:10px; }
.sub_con03_02 .law_article { font-size:1.8rem; color:#333; line-height:1.8; word-break:keep-all; }
.sub_con03_02 .law_article + .law_article { margin-top:6px; }
.sub_con03_02 .pp_gray_box .rule_circle_list { padding-left:10px; }
.sub_con03_02 .pp_gray_box .rule_num_list { padding-left:10px; margin-top:4px; margin-bottom:4px; }

/*==============================================================================
    sub04_01  면허신고 안내
==============================================================================*/
/*개요*/
.overview_wrap{margin-top:50px;}
.overview_box{display:flex; align-items:stretch; border:1px solid #e6e6e6; border-radius:20px; overflow:hidden;}
.overview_img_wrap{width:480px; flex-shrink:0; overflow:hidden;}
.overview_img_wrap img{display:block; width:100%; height:100%; object-fit:cover;}
.overview_txt_wrap{flex:1; min-width:0; background:#f9fbff; padding:50px;}
.overview_tit{display:block; font-size:3rem; font-weight:600; color:#00227b; line-height:1.3;}
.overview_desc{font-size:1.8rem; color:#444444; line-height:1.8; margin-top:30px; word-break:keep-all;}
.overview_card_wrap{margin-top:70px;}
.card_count_txt{font-size:1.8rem; font-weight:400; color:#666666;}
.over_card_role{display:flex; flex-wrap:wrap; gap:14px; list-style:none; padding:0; margin:20px 0 0;}
.over_card_link{display:flex; align-items:center; justify-content:center; width:200px; height:90px; border-radius:15px; border:1px solid #e1e1e1; box-shadow:0 4px 12px rgba(0,0,0,0.08); font-size:1.8rem; color:#333333; text-decoration:none; text-align:center; word-break:keep-all; padding:0 12px; transition:box-shadow 0.2s, border-color 0.2s;}
.over_card_link:hover{box-shadow:0 8px 24px rgba(0,0,0,0.14); border-color:#c0c0c0;}
.over_card_link:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px; border-radius:15px;}
/*20260624 수정*/
.over_card_item.has_popup{position:relative;}
.over_card_item.has_popup .over_card_link{border-color:#2a4ea4; background:#f5f8ff;}
.over_card_item.has_popup::after{content:'자세히보기'; position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); background:#2a4ea4; color:#fff; font-size:1.1rem; padding:2px 8px; border-radius:8px; white-space:nowrap; line-height:1.4;}
/*//20260624 수정*/

/*20260619 수정*/
/* 전문임상병리사 팝업 */
.spec_popup_dim{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9999; justify-content:center; align-items:center;}
.spec_popup_dim.is_open{display:flex;}
.spec_popup{position:relative; width:1300px; max-width:calc(100% - 40px); height:800px; max-height:calc(100vh - 120px); display:flex; flex-direction:column;}
.spec_popup_close{position:absolute; top:-60px; right:0; width:50px; height:50px; border-radius:50%; background:rgba(0,0,0,0.7); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; z-index:1;}
.spec_popup_close img{display:block;}
.spec_popup_header{display:flex; align-items:center; justify-content:center; height:80px; min-height:80px; background:#003568; border-top-left-radius:15px; border-top-right-radius:15px;}
.spec_popup_tit{font-size:3rem; font-weight:700; color:#fff; margin:0;}
.spec_popup_body{flex:1; background:#fff; border-bottom-left-radius:15px; border-bottom-right-radius:15px; padding:40px 30px; overflow-y:auto;}
.spec_tab_wrap{display:flex; border-bottom:1px solid #e1e1e1;}
.spec_tab{width:200px; height:50px; border:none; border-bottom:none; background:#f2f2f2; font-size:2rem; color:#999; font-weight:400; cursor:pointer; border-top-left-radius:10px; border-top-right-radius:10px; transition:background 0.2s, color 0.2s;}
.spec_tab.is_active{background:#fff; color:#000; font-weight:700; border-top:1px solid #e1e1e1; border-left:1px solid #e1e1e1; border-right:1px solid #e1e1e1; border-bottom:2px solid #fff; margin-bottom:-2px; position:relative; z-index:1;}
.spec_tab:focus-visible{outline:2px solid #2a4ea4; outline-offset:-2px;}
.spec_tab_panel{padding:50px 0;}
.spec_quote{font-size:2.4rem; font-weight:700; color:#222; font-style:italic; line-height:1.6; word-break:keep-all; text-align:center;}
.spec_txt{font-size:1.8rem; color:#444; line-height:1.8; word-break:keep-all; margin-top:50px;}
.spec_h3{margin-top:30px; margin-bottom:15px;}
.spec_h3 + .spec_txt{margin-top:20px;}

@media (max-width:1440px){
    .spec_popup_close{right:-10px; top:-60px;}
}
@media (max-width:768px){
    .spec_popup{height:auto; max-height:calc(100vh - 80px);}
    /*20260629 수정4*/
    .spec_popup_close{width:36px; height:36px; top:8px; right:8px; background:rgba(0,0,0,0.5); z-index:2;}
    .spec_popup_close img{width:16px; height:16px;}
    /*//20260629 수정4*/
    .spec_popup_header{height:60px; min-height:60px;}
    .spec_popup_tit{font-size:2.4rem;}
    .spec_popup_body{padding:30px 20px;}
    .spec_tab{width:150px; height:44px; font-size:1.6rem;}
    .spec_quote{font-size:2rem;}
    .spec_txt{font-size:1.5rem; margin-top:40px;}
    .h3_tit.spec_h3{margin-top:40px; font-size:2rem;}
    .spec_tab_panel{padding:40px 0;}
}
@media (max-width:480px){
    .spec_popup_header{height:50px; min-height:50px;}
    .spec_popup_tit{font-size:2rem;}
    .spec_popup_body{padding:20px 16px;}
    .spec_tab{width:120px; height:40px; font-size:1.4rem;}
    /*20260629 수정4*/
    .spec_popup_close{width:32px; height:32px; top:6px; right:6px; background:rgba(0,0,0,0.5); z-index:2;}
    .spec_popup_close img{width:14px; height:14px;}
    /*//20260629 수정4*/
    .spec_quote{font-size:1.8rem;}
    .spec_txt{font-size:1.4rem; margin-top:30px;}
    .h3_tit.spec_h3{margin-top:30px; font-size:1.8rem;}
    .spec_tab_panel{padding:30px 0;}
}
/*//20260619 수정*/

/*운영규정*/
.rule_btn_wrap{display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:30px;}
.rule_over_wrap{margin-top:50px;}
.rule_h4{font-size:3rem; font-weight:700; color:#111111; text-align: center;}
.rule_btn{display:inline-flex; align-items:center; gap:10px; height:40px; border-radius:20px; padding:0 20px; font-size:1.6rem; color:#fff; text-decoration:none; white-space:nowrap; transition:filter 0.2s;}
.rule_btn img{width:18px; flex-shrink:0; display:block;}
.rule_btn:hover{filter:brightness(0.88);}
.rule_btn:focus-visible{outline:2px solid #555; outline-offset:3px; border-radius:20px;}
.rule_btn_pdf{background:#d42828;}
.rule_btn_print{background:#333333;}
.rule_book_box{background-color: #f6f6f6; border-radius: 15px; padding:50px; margin-top: 50px; position: relative;}
/*20260623 수정*/
.rule_revision_date{position: absolute; top: 20px; right: 30px; font-size: 2rem; color: #000; font-weight: 700;}
/*//20260623 수정*/
.rule_chapter{font-size:2rem; font-weight:700; color:#333333; margin-bottom:25px;}
.rule_chapter ~ .rule_chapter{margin-top:50px;}
.rule_article{font-size:1.8rem; font-weight:700; color:#444444; margin-bottom:10px;}
.rule_article ~ .rule_article{margin-top:24px;}
    /* 본문 텍스트 */
/* 20260629 수정 – Lv4 본문 1.8rem */
.rule_txt{font-size:1.8rem; color:#444444; line-height:1.8; word-break:keep-all;}
.rule_txt + .rule_txt{margin-top:6px;}
    /* ① ② 원문자 리스트 */
.rule_circle_list{list-style:none; padding:0; margin:10px 0 0;}
.rule_circle_list li{position:relative; padding-left:20px; font-size:1.8rem; color:#444444; line-height:1.8; word-break:keep-all;}
.rule_circle_list li + li{margin-top:6px;}
.rule_circle_list li::before{position:absolute; left:0;}
.rule_circle_list li:nth-child(1)::before{content:"①";}
.rule_circle_list li:nth-child(2)::before{content:"②";}
.rule_circle_list li:nth-child(3)::before{content:"③";}
.rule_circle_list li:nth-child(4)::before{content:"④";}
.rule_circle_list li:nth-child(5)::before{content:"⑤";}
.rule_circle_list li:nth-child(6)::before{content:"⑥";}
.rule_circle_list li:nth-child(7)::before{content:"⑦";}
.rule_circle_list li:nth-child(8)::before{content:"⑧";}
.rule_circle_list li:nth-child(9)::before{content:"⑨";}
.rule_circle_list li:nth-child(10)::before{content:"⑩";}
    /* 1. 2. 숫자 리스트 */
.rule_num_list{list-style:none; padding:0; margin:10px 0 0; counter-reset:rule-num;}
.rule_num_list li{position:relative; padding-left:12px; font-size:1.8rem; color:#444444; line-height:1.8; word-break:keep-all; counter-increment:rule-num;}
.rule_num_list li + li{margin-top:4px;}
.rule_num_list li::before{content:counter(rule-num) "."; position:absolute; left:0;}
.rule_circle_list li > .rule_num_list{margin-top:5px; counter-reset:rule-num;}
.rule_circle_list li > .rule_num_list li{font-size:1.8rem; padding-left:15px;}
.rule_circle_list li > .rule_num_list li::before{content:counter(rule-num) ".";}
.rule_circle_list.from_2 li:nth-child(1)::before{content:"②";}
.rule_circle_list.from_2 li:nth-child(2)::before{content:"③";}
.rule_circle_list.from_2 li:nth-child(3)::before{content:"④";}
.rule_circle_list.from_3 li:nth-child(1)::before{content:"③";}
.rule_circle_list.from_3 li:nth-child(2)::before{content:"④";}
.rule_circle_list.from_3 li:nth-child(3)::before{content:"⑤";}
/*자격취득절차*/
.process_wrap{margin-top:50px;}
.process_list{display:flex; align-items:stretch; list-style:none; padding:0; margin:0;}
.process_item{flex:1; min-width:0; display:flex; flex-direction:column;}
.process_card{border:1px solid #b2c0ce; border-radius:20px; padding:30px; flex:1; box-sizing:border-box; display:flex; flex-direction:column;}
.process_next{display:flex; align-items:center; justify-content:center; width:33px; flex-shrink:0;}
.process_next img{display:block;}
.process_img_wrap{height:100px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.process_img_wrap img{display:block;}
.process_tit{display:block; font-size:2.2rem; font-weight:700; color:#00227b; margin-top:20px; flex-shrink:0; text-align: center;}
/* 20260629 수정2 */
.process_dot_list{list-style:none; padding:0; margin:14px 0 0;}
.process_dot_list > li, 
.process_dot_list > p{position:relative; padding-left:12px; font-size:1.8rem; color:#444444; line-height:1.7; word-break:keep-all; margin:0;}
.process_dot_list li::before, .process_dot_list p::before{content:'·'; position:absolute; left:0; top:0; font-weight:700;}
.process_dot_list li + li, .process_dot_list p + p{margin-top:4px;}
/* //20260629 수정2 */

/*조직도*/
.org_wrap{margin-top:50px;}
.org_row_th{border-bottom:none !important; vertical-align:middle;}



/*==============================================================================
    pay_method - 결제방법 선택
==============================================================================*/
.pay_method_area{display:flex; align-items:center; gap:30px; margin-top:20px; background:#f9faff; border:1px solid #dbdbdb; border-radius:8px; padding:24px 30px; justify-content: center;}
/*20260630 수정*/
.pay_method_area{border-top:2px solid #050f26; border-radius:0 0 8px 8px;}
/*//20260630 수정*/
.pay_radio_label{display:flex; align-items:center; gap:10px; cursor:pointer;}
.pay_radio_inp{appearance:none; -webkit-appearance:none; width:22px; height:22px; border:1px solid #949494; border-radius:50%; background:#fff; flex-shrink:0; position:relative; cursor:pointer;}
.pay_radio_inp:checked{border:2px solid #2a4ea4;}
.pay_radio_inp:checked::after{content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:12px; height:12px; border-radius:50%; background:#2a4ea4;}
.pay_radio_txt{font-size:1.8rem; color:#222222;}
.pay_radio_inp:checked + .pay_radio_txt{font-weight:600; color:#2a4ea4;}
.new03_btn_wrap{display:flex; align-items:center; justify-content:center; margin-top:40px;}


/*==============================================================================
    sub06_01_view  수강신청 상세 - 목록 버튼
==============================================================================*/
.brd_list_btn_blue{background:#2a4ea4;}
.brd_list_btn_blue:hover{background:#1e3a82;}
.brd_list_btn_blue:focus-visible{outline-color:#2a4ea4;}
.brd_view_btn_wrap:has(.brd_list_btn_blue){justify-content:center;}

/*==============================================================================
    마이페이지 - 결제내역
==============================================================================*/
.fee_wrap,
.onl_edu_wrap,
.refund_wrap{margin-top: 50px;}
.fee_box ~ .fee_box{margin-top: 50px;}
.fee_tit_row{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.fee_status_txt{font-size:1.8rem; color:#102e72;}
.fee_grey_wrap{margin-top: 50px;}
.fee_grey_list{display:flex; gap:40px; list-style:none; padding:0; margin:0;}
.fee_grey_item{display:flex; align-items:flex-start; gap:24px; flex:1; background:#f9f9f9; border:1px solid #e1e5ee; border-radius:15px; padding:30px;}
.fee_grey_icon{flex-shrink:0;}
.fee_grey_icon img{display:block;}
.fee_grey_body{flex:1; min-width:0;}
.fee_grey_head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:0;}
.fee_grey_tit{font-size:2rem; font-weight:700; color:#222;}
.fee_grey_desc{font-size:1.8rem; color:#444; margin-top:8px; line-height:1.6; word-break:keep-all;}
.fee_grey_notice{font-size:1.8rem; font-weight:400; color:#ff0000; margin-top:10px; line-height:1.6; word-break:keep-all;}
.fee_grey_btns{flex-shrink:0;}
.fee_grey_btn{display:inline-flex; align-items:center; justify-content:center; gap:16px; width:150px; height:45px; border-radius:7px; background:#102e72; color:#fff; font-size:1.6rem; font-weight:500; text-decoration:none; white-space:nowrap; transition:background 0.2s;}
.fee_btn_ico{display:flex; align-items:center; flex-shrink:0;}
.fee_btn_ico img{display:block;}
.fee_grey_btn:hover{background:#1a3d8f;}
.fee_grey_btn:focus-visible{outline:2px solid #102e72; outline-offset:2px;}
.btn_recipt{display: inline-flex; width: 60px; height: 26px; justify-content: center; align-items: center; border:1px solid #008957; border-radius: 5px; color:#008957; font-size: 1.4rem;}
/*==============================================================================
    sub06_02  장바구니
==============================================================================*/
.cart_summary{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.cart_summary_txt{font-size:1.8rem; color:#444;}
.cart_cnt{color:#222; font-weight:700;}
.cart_col_chk{width:60px;}
.cart_col_period{width:35%;}
.cart_col_fee{width:25%;}
.cart_course_td{padding:14px 20px; text-align:center; vertical-align:middle;}
.cart_course_tit{display:block; font-size:1.8rem; font-weight:700; color:#222; margin-bottom:4px;}
.cart_course_meta{display:block; font-size:1.4rem; color:#888;}
.cart_period_td{vertical-align:middle;}
.cart_period{display:block; font-size:1.5rem; color:#444; line-height:1.8;}
.cart_period_blue{color:#264597;}
.cart_fee_td{vertical-align:middle;}
.cart_fee_row{display:block; font-size:1.5rem; color:#444; line-height:1.8;}
.cart_btn_area{display:flex; align-items:center; justify-content:space-between; margin-top:40px;}
.cart_del_btn{display: inline-flex; height:60px; padding:0 15px; border-radius:8px; min-width: 150px; background:#4b4f58; color:#fff; font-size:1.7rem; font-weight:600; cursor:pointer; border:none; justify-content: center; align-items: center;}
.cart_del_btn:hover{background:#363a42;}
.cart_del_btn:focus-visible{outline:2px solid #4b4f58; outline-offset:2px;}
.cart_pay_btn{display: inline-flex; height:60px; padding:0 15px; min-width: 150px; border-radius:8px; background:#264597; color:#fff; font-size:1.7rem; font-weight:600; cursor:pointer; border:none; justify-content: center; align-items: center;} 
.cart_pay_btn:hover{background:#1d347a;}
.cart_pay_btn:focus-visible{outline:2px solid #264597; outline-offset:2px;}

/*==============================================================================
    sub06_03_01  이수 시간 확인
==============================================================================*/
.comlpetion_wrap,
.cert_current_wrap,
.year_cert_wrap,
.chg_year_wrap{margin-top: 50px;}
.completion_top{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; flex-wrap:wrap; gap:12px;}
.completion_sch_inp{width:260px;}
.completion_col_num{width:80px;}
.completion_col_time{width:200px;}
.completion_col_credit{width:150px;}
.paging_wrap{margin-top:24px;}
/* cert_current */
.cert_section + .cert_section{margin-top:40px;}
.cert_col_label{width:140px;}
.cert_col_type{width:100px;}

/* badge_btn */
.badge_wrap{display:flex; align-items:center; justify-content:center; gap:6px;}
.badge_btn{display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 12px; border-radius:5px; font-size:1.2rem; font-weight:600; white-space:nowrap; cursor:pointer; text-decoration:none;}
.badge_btn.role01{border:1px solid #2E956D; color:#2E956D; background:#fff;}
.badge_btn.role02{border:1px solid #0090EA; color:#fff; background:#0090EA;}

/* btn_print */
.btn_print{display:inline-flex; align-items:center; justify-content:center; gap:5px; width:100px; height:30px; border:1px solid #2a4ea4; border-radius:5px; font-size:1.4rem; color:#2a4ea4; text-decoration:none; white-space:nowrap; cursor:pointer; background:#fff; transition:background .2s;}
.btn_print::before{content:''; display:inline-block; width:14px; height:14px; background:url(../images/sub/icon_list.png) no-repeat center / contain; flex-shrink:0;}
.btn_print:hover{background:#eef2fc;}
.btn_print:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}

/*==============================================================================
    sub06_03_01  이수년도 변경신청
==============================================================================*/
.chg_year_wrap{margin-top:50px;}
.chg_section + .chg_section{margin-top:40px;}
.chg_course_sub{display:block; font-size:1.3rem; color:#888888; margin-top:3px;}

/*==============================================================================
    마이페이지 - 결제내역_view
==============================================================================*/
.onl_edu_view{margin-top: 50px;}
.onl_edu_box ~ .onl_edu_box{margin-top: 50px;}

/*==============================================================================
    변경신청 팝업
==============================================================================*/
body.is_popup_open{overflow:hidden;}
/*20260625 수정*/
.dup_popup_overlay{display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2100; align-items:center; justify-content:center;}
.dup_popup_overlay.is_open{display:flex;}
.dup_popup_wrap{position:relative; width:670px; max-width:calc(100% - 40px);}
.dup_popup_close{position:absolute; top:-60px; right:0; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:rgba(0,0,0,0.7); border:none; cursor:pointer; padding:0; text-decoration:none;}
.dup_popup_close img{width:20px; display:block;}
.dup_popup_close:hover{background:rgba(0,0,0,0.9);}
.dup_popup_close:focus-visible{outline:2px solid #fff; outline-offset:3px;}
.dup_popup{background:#fff; border-radius:20px; padding:50px 40px; text-align:center; min-height:515px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box;}
.dup_popup_img{display:block;}
.dup_popup_title{font-size:4rem; color:#222; font-weight:700; margin-top:20px;}
.dup_popup_desc{font-size:2.2rem; color:#444; margin-top:30px; line-height:1.6;}
.dup_popup_btn{display:inline-block; margin-top:70px; padding:14px 60px; background:#2a4ea4; color:#fff; font-size:1.8rem; border-radius:7px; text-decoration:none; font-weight:500;}
.dup_popup_btn:hover{background:#1e3d85;}
/*//20260625 수정*/
.chg_popup_overlay{display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2000; align-items:center; justify-content:center; padding:20px; box-sizing:border-box;}
.chg_popup_overlay.is_open{display:flex;}
.chg_popup_wrap{position:relative; width:900px; max-width:calc(100% - 40px);}
.chg_popup{background:#fff; border-radius:20px; overflow-y:auto; height:710px; max-height:calc(100vh - 80px);}
.chg_popup_inner{padding:40px;}
.chg_popup_close{position:absolute; top:-60px; right:0; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:rgba(0,0,0,0.7); text-decoration:none; flex-shrink:0;}
.chg_popup_close img{width:20px; display:block;}
.chg_popup_close:hover{background:rgba(0,0,0,0.9);}
.chg_popup_close:focus-visible{outline:2px solid #fff; outline-offset:3px;}
.chg_popup_section + .chg_popup_section{margin-top:30px;}

/* popup 공통 테이블 (layout_tbl 동일 디자인, 반응형 min-width 없음) */
.chg_popup_tbl_wrap{margin-top:15px;}
.chg_popup_tbl{width:100%; border-collapse:collapse; border-top:1px solid #2a4ea4; border-bottom:1px solid #dbdbdb;}
.chg_popup_tbl tbody tr th{background:#f2f5fb; padding:14px 20px; font-size:1.6rem; color:#202738; text-align:center; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb; white-space:nowrap; vertical-align:middle;}
.chg_popup_tbl tbody tr td{padding:10px 14px; font-size:1.6rem; color:#444; border-bottom:1px solid #dbdbdb; border-right:1px solid #dbdbdb; line-height:1.7; word-break:keep-all; vertical-align:middle;}
.chg_popup_tbl tbody tr:last-child th{border-bottom:none;}
.chg_popup_tbl tbody tr:last-child td{border-bottom:none;}
.chg_popup_tbl tbody tr td:last-child{border-right:none;}
.chg_popup_tbl_form tbody tr th{background:#f8f8f8;}

/* select */
.chg_popup_sel{width:200px; height:45px; border-radius:5px; border:1px solid #cdcdcd; background:#fff url(../images/sub/icon_select_blk.png) no-repeat right 12px center; background-size:12px; padding:0 36px 0 15px; font-size:1.6rem; color:#444; appearance:none; -webkit-appearance:none; cursor:pointer; outline:none;}
.chg_popup_sel:focus{border-color:#2a4ea4;}

/* 라디오 */
.chg_radio_group{display:flex; flex-direction:column; gap:12px; padding:6px 0;}
.chg_radio_item{display:flex; align-items:center; gap:8px; font-size:1.6rem; color:#444; cursor:pointer; line-height:1.4;}
.chg_radio_item input[type="radio"]{width:22px; height:22px; flex-shrink:0; cursor:pointer; accent-color:#2a4ea4;}
.chg_etc_inp{width:200px; height:36px; border:1px solid #cdcdcd; border-radius:5px; padding:0 12px; font-size:1.5rem; color:#444; outline:none;}
.chg_etc_inp:focus{border-color:#2a4ea4;}

/* 하단 버튼 */
/* 환불신청 팝업 */
#refundPopupOverlay .chg_popup{height:auto;}
#refundPopupOverlay .chg_popup_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.refund_agree_box{background:#eef2fb; border:1px solid #c0cef0; border-radius:10px; padding:20px 24px; display:flex; flex-direction:column; gap:14px; margin-top:16px;}
.refund_agree_item{display:flex; align-items:center; gap:10px; font-size:1.6rem; color:#333; cursor:pointer;}
.refund_agree_chk{appearance:none; -webkit-appearance:none; width:22px; height:22px; border:2px solid #b0bcd8; border-radius:5px; background:#fff; flex-shrink:0; cursor:pointer; position:relative; transition:border-color .15s, background .15s;}
.refund_agree_chk:hover{border-color:#2a4ea4;}
.refund_agree_chk:checked{background:#2a4ea4; border-color:#2a4ea4;}
.refund_agree_chk:checked::after{content:''; position:absolute; top:50%; left:50%; width:6px; height:11px; border:2.5px solid #fff; border-top:none; border-left:none; transform:translate(-50%, -60%) rotate(45deg);}
.refund_agree_chk:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.chg_popup_inp{width:100%; height:42px; border:1px solid #949494; border-radius:5px; padding:0 14px; font-size:1.6rem; color:#444; outline:none; background:#fff; box-sizing:border-box;}
.chg_popup_inp:focus{border-color:#2a4ea4;}
.chg_popup_inp::placeholder{color:#aaa; font-size:1.5rem;}
.chg_popup_textarea{width:100%; border:1px solid #949494; border-radius:5px; padding:12px 14px; font-size:1.6rem; color:#444; outline:none; background:#fff; box-sizing:border-box; resize:vertical; line-height:1.6;}
.chg_popup_textarea:focus{border-color:#2a4ea4;}
.chg_popup_textarea::placeholder{color:#aaa; font-size:1.5rem;}
.chg_popup_btns{display:flex; align-items:center; justify-content:center; gap:10px; margin-top:30px;}
.chg_popup_btn{display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; font-size:1.8rem; font-weight:600; color:#fff; text-decoration:none; transition:background .2s;}
.chg_popup_btn_cancel{background:#4b505a;}
.chg_popup_btn_submit{background:#2a4ea4;}
.chg_popup_btn_cancel:hover{background:#3a3f48;}
.chg_popup_btn_submit:hover{background:#1d347a;}
.chg_popup_btn:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}


/*==============================================================================
    sub05_04  FAQ
==============================================================================*/
.faq_wrap{margin-top:30px;}
.faq_item{border-bottom:1px solid #dbdbdb;}
.faq_item:first-child{border-top:1px solid #dbdbdb;}
.faq_item.is_active{border-top:1px solid #2a4ea4;  margin-bottom:-1px;}
.faq_item.is_active + .faq_item{border-top:none;}

.faq_q{display:flex; align-items:center; gap:16px; width:100%; padding:20px; background:none; border:none; cursor:pointer; text-align:left;}
.faq_icon_wrap{position:relative; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.faq_icon_wrap img{display:block;}
.faq_icon_letter{position:absolute; font-size:1.5rem; color:#fff; font-weight:600; line-height:1; pointer-events:none; user-select:none;}
.faq_q_txt{flex:1; font-size:1.8rem; color:#222; line-height:1.5; word-break:keep-all; text-align:left;}
.faq_item.is_active .faq_q_txt{font-size:1.8rem; font-weight:700; color:#2a4ea4;}
.faq_toggle{flex-shrink:0; margin-left:auto; display:flex; align-items:center; justify-content:center;}
.faq_toggle img{display:block;}
.faq_toggle .icon_faq_close{display:none;}
.faq_item.is_active .faq_toggle .icon_faq_open{display:none;}
.faq_item.is_active .faq_toggle .icon_faq_close{display:block;}

.faq_a{display:none;}
.faq_a_inner{display:flex; align-items:flex-start; gap:16px; padding:40px 20px; background:#f8f8f8;}
.faq_a_txt{font-size:1.8rem; color:#444; line-height:1.8; word-break:keep-all; flex:1;}

/*==============================================================================
    sub05_05  교육지원 - 문의게시판 작성
==============================================================================*/
.inq_col_th{width:150px;}
.inq_tbl{border-bottom:none;}
.inq_tbl tbody tr th{background:#f2f5fb; font-weight:600; text-align:left;}
.inq_inp{height:45px; border:1px solid #949494; border-radius:5px; padding:0 14px; font-size:1.6rem; color:#444; outline:none; background:#fff; box-sizing:border-box; vertical-align:middle; width:100%;}
.inq_inp:focus{border-color:#2a4ea4;}
.inq_inp_full{width:100%;}
.inq_inp_md{width:300px;}
.inq_sel{width:200px; height:45px; border:1px solid #949494; border-radius:5px; padding:0 36px 0 14px; font-size:1.6rem; color:#444; outline:none; background:#fff url(../images/sub/icon_select_blk.png) no-repeat right 12px center; background-size:12px; appearance:none; -webkit-appearance:none; cursor:pointer; vertical-align:middle;}
.inq_sel:focus{border-color:#2a4ea4;}
.inq_sel:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.inq_textarea{width:100%; height:155px; border:1px solid #949494; border-radius:5px; padding:12px 14px; font-size:1.6rem; color:#444; outline:none; background:#fff; box-sizing:border-box; resize:vertical; line-height:1.7; font-family:inherit;}
.inq_textarea:focus{border-color:#2a4ea4;}
.inq_file_wrap{display:flex; align-items:center; gap:12px;}
.inq_file_btn{display:inline-flex; align-items:center; justify-content:center; height:38px; padding:0 18px; border:1px solid #2a4ea4; border-radius:5px; font-size:1.5rem; color:#2a4ea4; background:#fff; cursor:pointer; white-space:nowrap; flex-shrink:0; transition:background .2s;}
.inq_file_btn:hover{background:#f2f2f2;}
.inq_file_btn:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.inq_file_txt{font-size:1.5rem; color:#888;}

/*==============================================================================
    sub06_04  마이페이지 - QR출력
==============================================================================*/
.qr_card{display:flex; align-items:center; justify-content:center; background:#f8f9fa; border-radius:10px; border:1px solid #e5e6e7; padding:50px; gap:50px;}
.qr_member_area{min-width:0;}
.qr_member_name_row{display:flex; align-items:center; gap:10px;}
.qr_member_ico{display:block; flex-shrink:0;}
.qr_member_name{font-size:2.4rem; color:#111; font-weight:700; line-height:1.2;}
.qr_member_num{font-size:1.8rem; color:#0059c7; font-weight:600; margin-top:10px;  padding-left:35px;}
.qr_dot_list{list-style:none; padding:0; margin:15px 0 0; padding-left:35px;}
.qr_dot_list li{position:relative; padding-left:14px; font-size:1.8rem; color:#444; line-height:1.7; word-break:keep-all;}
.qr_dot_list li + li{margin-top:2px;}
.qr_dot_list li::before{content:'·'; position:absolute; left:0; top:0; font-weight:700; color:#444;}
.qr_num{color:#0059c7; font-weight:700; font-style:normal;}
.qr_code_area{display:flex; align-items:flex-end; gap:14px; flex-shrink:0;}
.qr_code_img{display:block; width:120px; height:auto; flex-shrink:0;}
.qr_code_info{display:flex; flex-direction:column; gap:6px;}
.qr_code_label{font-size:1.5rem; color:#333; line-height:1.4;}
.qr_timer{font-size:1.6rem; color:#ff0000; line-height:1.4;}

/*==============================================================================
    sub04_04_01  공통
==============================================================================*/
/* 탭 내 공통 서브타이틀 */
/* 20260629 수정 – Lv2 소제목 2.2rem */
.com_sub_tit{font-size:2.2rem; color:#00276e; font-weight:700; margin-bottom:16px; display:block;}
/* 탭 내 공통 섹션 간격 */
.apply_section{margin-top:40px;}
.apply_section .h3_tit{margin-bottom:20px;}
.apply_block + .apply_block{margin-top:40px;}
/* 빨간 텍스트 */
.dot_list > li.txt_red{color:#FF0000;}
/* 서브 인덴트 리스트 (기간 하위 등) */
.apply_sub_list{list-style:none; padding:0;}
.apply_sub_list > li{font-size:1.8rem; color:#444; line-height:1.7; word-break:keep-all;}
.apply_sub_list > li ~ li{margin-top:4px;}
/* ※ 서브 노트 (dot_list li 안) */
/* apply_block 내 cap_list li padding-left 제거 */
.apply_block .cap_list > li{padding-left:0;}
.apply_block .cap_list > li::before{position:static; margin-right:4px;}


/*==============================================================================
    sub04_04_01  전문임상병리사 - 시험안내
==============================================================================*/
/*20260625 수정*/
.test_box ~ .test_box{margin-top: 50px;}
.test_box_role{display:flex; align-items:center; gap:30px; background:#f4f6fb; padding:30px; border-radius:10px; justify-content: center; margin-top: 20px;}
.test_role_icon{flex-shrink:0;}
.test_role_txt{font-size:2rem; color:#222; line-height:1.6;}
.test_role_from{font-size:1.8rem; color:#555; margin-top:20px;}
/* 시험결과 확인 */
.test_check_dl{margin-top:20px;}
.test_check_row{display:flex; gap:16px; padding:4px 0;}
.test_check_row dt{min-width:200px; font-size:1.8rem; color:#222; font-weight:700; flex-shrink:0;}
.test_check_row dt::before{content:'· '; font-weight:700;}
.test_check_row dd{font-size:1.8rem; color:#333;}
.test_result_box{margin-top:20px; margin-left:216px; background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:30px 36px; max-width:600px;}
.test_result_list{list-style:none; display:flex; flex-direction:column; gap:12px;}
.test_result_list li{font-size:1.8rem; color:#333;}
/*//20260625 수정*/
.tbl_bd_r{border-right:1px solid #dbdbdb !important;}
/* sub04_04_01 오시는 길 */
.location_section{margin-top:40px;}
.location_section .h3_tit{margin-bottom:0;}
.location_list{display:flex; flex-direction:column; margin-top:30px;}
.location_item{display:flex; align-items:flex-start; gap:25px; padding:30px 0;}
.location_icon_box{flex-shrink:0; width:80px; height:80px; border-radius:20px; background:#f0f4f8; display:flex; align-items:center; justify-content:center;}
.location_info{flex:1;}
.location_tit{display:block; font-size:2rem; font-weight:600; color:#222; margin-bottom:12px;}
.location_txt{font-size:1.8rem; color:#444; line-height:1.8; word-break:keep-all;}
.location_txt + .location_txt{margin-top:6px;}
.location_addr_row{display:flex; align-items:center; gap:10px;}
.location_badge{flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:46px; height:24px; background:#2a8ca4; border-radius:12px; font-size:1.5rem; color:#fff; font-weight:500;}
.location_map_wrap{margin-top:30px; border:1px solid #cecece; line-height:0;}
.location_map_wrap img{width:100%; display:block;}
.kakao_map_link{flex-shrink:0; display:inline-flex; align-items:center; gap:4px; font-size:1.3rem; font-weight:600; color:#371d1e; background:#FEE500; padding:6px 12px; border-radius:4px; text-decoration:none; margin-top: 10px;}
/* sub04_04_01 응시수수료 테이블 */
.col_fee_field{width:25%;}
.col_fee_target{width:20%;}
.col_fee_amt{width:20%;}
.col_fee_period{width:35%;}
/* sub04_04_01 기타사유 테이블 */
.col_other_reason{width:40%;}
.col_other_doc{width:30%;}
.col_other_rate{width:15%;}
.col_other_period{width:15%;}
/* sub04_04_01 반환기준 테이블 */
.col_refund_cate{width:25%;}
.col_refund_std{width:45%;}
.col_refund_rate{width:30%;}
/* sub04_04_01 시험과목 및 일정안내 */
.subject_section{margin-top:40px;}
.subject_section .h3_tit{margin-bottom:16px;}
.col_subj_main{width:280px;}
.col_subj_sub{width:170px;}
.col_20{width:20%;}
.subject_tbl_gap{margin-top:30px;}
/* sub04_04_01 응시분야 및 응시자격 */
.qualify_section{margin-top:40px;}
.qualify_section .h3_tit{margin-bottom:16px;}
.col_qualify_type{width:220px;}
.qualify_cap_list{margin-top:14px;}
/* 합격자 결정 및 발표 */
.qualify_result_list > li + li{margin-top:20px;}
.qualify_result_term{display:block; font-size:1.8rem; font-weight:700; color:#222; margin-bottom:4px;}
.qualify_result_txt{font-size:1.8rem; color:#444; line-height:1.7;}
.qualify_date_wrap{display:flex; align-items:flex-start; gap:6px; margin-bottom:6px;}
.qualify_date_label{flex-shrink:0; font-size:1.8rem; color:#444; line-height:1.7;}
.qualify_date_list{list-style:none; margin:0; padding:0;}
.qualify_date_list > li{font-size:1.8rem; color:#444; line-height:1.7;}
.qualify_date_list > li::before{content:'- ';}

/*==============================================================================
    sub04_04_02  전문임상병리사 - 원서접수 신청
==============================================================================*/
.app_head{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.app_print_btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:130px; height:40px; border-radius:7px; background:#0278fe; font-size:1.6rem; color:#fff; font-weight:600; text-decoration:none; flex-shrink:0; white-space:nowrap;}
.app_print_btn:focus-visible{outline:2px solid #0059c7; outline-offset:2px;}
/* 응시원서 테이블 */
.app_tbl_wrap{ margin-top:30px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.app_tbl{ width:100%; min-width:1000px; table-layout:fixed; border-collapse:collapse; border-top:2px solid #050f26; border-bottom:1px solid #dbdbdb; }
.app_tbl .app_col_th,
.app_tbl .app_col_sub_th{ width:150px; }
.app_tbl .app_col_td,
.app_tbl .app_col_photo{ width:200px;}
.app_tbl th{ height:50px; padding:8px 12px; background:#f9faff; color:#202738; font-size:1.5rem; font-weight:600; text-align:center; vertical-align:middle; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; word-break:keep-all; white-space:nowrap; box-sizing:border-box; }
.app_tbl td{ height:50px; padding:7px 12px; border-right:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb; vertical-align:middle; font-size:1.5rem; color:#444; box-sizing:border-box; }
.app_tbl .app_sub_th{ background:#f8f8f8; text-align:center; }
.app_tbl td:last-child,
.app_tbl th:last-child{ border-right:none; }

.app_tbl tbody tr:last-child td,
.app_tbl tbody tr:last-child th{ border-bottom:none; }
/* 입력 필드 */
.app_inp{height:38px; border:1px solid #949494; border-radius:5px; padding:0 10px; font-size:1.5rem; color:#333; box-sizing:border-box; vertical-align:middle; outline:none; background:#fff;}
.app_inp:focus{border-color:#0059c7; box-shadow:0 0 0 2px rgba(0,89,199,0.15);}
.app_inp_full{width:100%;}
.app_inp_200{width:200px;}
.app_inp_300{width:300px;}
.app_inp_post{width:120px;}
.app_inp_email{width:190px;}
.app_inp_yr{width:64px; text-align:center;}
.app_inp_md2{width:44px; text-align:center;}
.app_inp_sm2{width:46px; text-align:center;}
/* 체크박스 */
.app_chk{width:22px; height:22px; border:1px solid #949494; border-radius:5px; flex-shrink:0; cursor:pointer; appearance:none; -webkit-appearance:none; background:#fff; position:relative; vertical-align:middle;}
.app_chk:checked{background:#0059c7; border-color:#0059c7;}
.app_chk:checked::after{content:''; display:block; position:absolute; left:7px; top:3px; width:6px; height:11px; border:2px solid #fff; border-top:none; border-left:none; transform:rotate(45deg);}
.app_chk:focus-visible{outline:2px solid rgba(0,89,199,0.35); outline-offset:2px;}
.app_chk_group{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.app_chk_group--wrap{gap:12px 24px;}
.app_chk_item{display:inline-flex; align-items:center; gap:7px; cursor:pointer;}
.app_chk_txt{font-size:1.6rem; color:#444; white-space:nowrap;}
/* 사진 셀 */
.app_tbl .app_photo_cell{ padding:12px 8px; text-align:center; vertical-align:middle; box-sizing:border-box; border-right:none !important; border-left:1px solid #dbdbdb; }
.app_photo_box{ width:170px; height:218px; margin:0 auto; border:1px solid #d8d8d8; background:#f8f8f8; display:flex; align-items:center; justify-content:center; text-align:center; box-sizing:border-box; position:relative; overflow:hidden; }
.app_photo_txt{font-size:1.4rem; color:#888; text-align:center; line-height:2; word-break:keep-all; pointer-events:none;}
.app_photo_img{ position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; display:none; }
.app_photo_box.has_photo .app_photo_txt{ display:none; } 
.app_photo_box.has_photo .app_photo_img{ display:block; }
.app_file_area{margin-top:10px; text-align:center;}
.app_file_inp{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.app_file_btn{display:inline-flex; align-items:center; justify-content:center; width:80px; height:32px; color:#3b5cab; border-radius:5px; border:1px solid #2a4ea4; font-size:1.4rem; font-weight:500; cursor:pointer; background:#fff;}
.app_file_btn:hover{background:#f0f4ff;}
/* 주소 */
.app_addr_wrap{display:flex; flex-direction:column; gap:8px;}
.app_post_row{display:flex; align-items:center; gap:8px;}
.app_post_btn{height:38px; padding:0 14px; background:#222222; border:none; border-radius:5px; font-size:1.5rem; color:#fff; cursor:pointer; white-space:nowrap; font-weight:600;}
.app_post_btn:hover{background:#3a5a94;}
.app_post_btn:focus-visible{outline:2px solid #0059c7; outline-offset:2px;}
/* 이메일 */
.app_email_wrap{display:flex; align-items:center; gap:8px;}
.app_email_at{font-size:1.7rem; color:#444;}
/* 날짜 입력 그룹 */
.app_date_wrap{display:flex; align-items:center; gap:4px; flex-wrap:wrap;}
.app_date_sep{font-size:1.6rem; color:#444;}
.app_date_tilde{font-size:1.6rem; color:#444; margin:0 8px;}
.app_date_paren{font-size:1.6rem; color:#444; margin-left:8px;}
.app_date_unit{font-size:1.6rem; color:#444; white-space:nowrap;}

/* 응시원서 하단 서약 영역 */
.app_pledge_area{margin-top:50px;text-align:center;}
.app_pledge_txt{margin:0;font-size:1.8rem;color:#444444;line-height:1.8;font-weight:400;word-break:keep-all;}
.app_pledge_date{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:40px;font-size:2rem;color:#000000;}
.app_pledge_year{font-size:2rem;color:#000000;font-weight:400;line-height:38px;}
.app_pledge_date_txt{font-size:2rem;color:#000000;line-height:38px;white-space:nowrap;}
.app_pledge_inp{height:38px;border:1px solid #949494;border-radius:5px;background:#fff;color:#000000;font-size:1.8rem;text-align:center;box-sizing:border-box;outline:none;}
.app_pledge_inp:focus{border-color:#2a4ea4;}
.app_pledge_inp:focus-visible{outline:2px solid #2a4ea4;outline-offset:2px;}
.app_pledge_date_inp{width:70px;}
.app_pledge_user{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:40px;}
.app_pledge_user_label{font-size:2rem;color:#000000;line-height:38px;white-space:nowrap;}
.app_pledge_name_inp{width:140px;}
.app_pledge_to{margin:60px 0 0;font-size:3rem;color:#333333;font-weight:700;line-height:1.4;text-align:center;word-break:keep-all;}

@media screen and (max-width:768px){
    .app_pledge_area{margin-top:40px;}
    .app_pledge_txt{font-size:1.6rem;line-height:1.7;text-align:left;}
    .app_pledge_txt br{display:none;}
    .app_pledge_date{flex-wrap:wrap;gap:6px;margin-top:30px;}
    .app_pledge_user{justify-content:center;margin-top:30px;}
    .app_pledge_to{margin-top:45px;font-size:2.4rem;}
}

@media screen and (max-width:480px){
    .app_pledge_date{justify-content:flex-start;}
    .app_pledge_user{justify-content:flex-start;}
    .app_pledge_date_inp{width:64px;}
    .app_pledge_name_inp{width:130px;}
}

/* 출석 현황 섹션 */
.attend_section{margin-top:50px;}
.attend_section .h3_tit{margin-bottom:16px;}
/* 출석 상태 배지 */
.attend_badge{display:inline-flex; align-items:center; justify-content:center; width:70px; height:30px; border-radius:14.5px; font-size:1.4rem; font-weight:600; white-space:nowrap; line-height:1;}
.attend_badge--exit{color:#006e4b; background:#e8f5e9;}
.attend_badge--absent{color:#444; background:#ececec;}
.attend_badge--enter{color:#0059c7; background:#e3f2fd;}
.attend_badge--complete{color:#d62b00; background:#fff3e0;}
/* 남은시간 컬러 */
.attend_remain--warn{color:#d62b00; font-weight:600;}
.attend_remain--ok{color:#006e4b; font-weight:600;}



/*==============================================================================
   반응형
==============================================================================*/

/* ── 1200px ── */
@media (max-width: 1200px) {
    .sch_form{gap:30px;}
    .sch_inp{width:300px;}
    /* sub04_01 process */
    .process_card{padding:24px 20px;}
    .process_tit{font-size:2rem;}
        /* sub02_03_01 */
    .myedu_tbl{min-width:1060px;}
    .myedu_tbl col{width:auto !important;}
}

/* ── 1024px ── */
@media (max-width: 1024px) {
    .year_box{min-height:147px;}
    .year_box_bg{position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:right center;}
    .year_box_content{padding:0 30px;}
    .year_box_sub{font-size:2.2rem;}
    .year_box_tit{font-size:2.6rem;}
    .year_box_info{padding:0 30px;}
    .year_box_dot_list{gap:20px;}
    /* sub04_01 */
    .overview_img_wrap{width:360px;}
    .overview_txt_wrap{padding:40px;}
    .overview_tit{font-size:2.6rem;}
    /* sub01_01 score */
    .score_criteria_box{flex-wrap:wrap; justify-content:flex-start; gap:14px; padding:24px 20px 30px;}
    .score_criteria_label{padding-top:0; width:100%;}
    .score_row_wrap{width:100%;}
    .score_criteria_icon{position:static; display:flex; justify-content:flex-end; margin-top:10px;}
    /* 변경신청 팝업 - 닫기버튼 위로 이동 */
    .chg_popup_overlay{padding-top:80px;}
    .chg_popup_close{right:0; top:-60px;}
    /*20260625 수정*/
    .dup_popup{padding:40px 30px; min-height:auto;}
    .dup_popup_img{width:80px;}
    .dup_popup_title{font-size:3rem;}
    .dup_popup_desc{font-size:1.8rem; margin-top:24px;}
    .dup_popup_btn{margin-top:50px; padding:12px 50px; font-size:1.6rem;}
    /*//20260625 수정*/
    .sch_form_wrap{padding:24px 20px;}
    .sch_form{gap:20px;}
    .sch_form_group{gap:14px;}
    .sch_inp{width:220px;}
    .cal_grid_wrap{padding:30px 24px;}
    .sido_layout{gap:40px;}
    .sido_btn{font-size:1.5rem;}
    .edu_btn,
    .btn_ipt{width:130px; height:52px; font-size:1.6rem;}
    /* sub02_02_01 */
    .onl_sch_left{width:320px;}
    /* 20260702 수정 */
    .onl_cat_tit{font-size:1.8rem; margin-bottom:12px;}
    .onl_cat_bottom_tit{font-size:1.8rem; margin:18px 0 12px;}
    .onl_cat_note{font-size:1.3rem;}
    /* //20260702 수정 */
    .onl_sch_sel{width:180px;}
    .onl_sch_inp{width:180px;}
    .onl_cat_btn{width:100px; height:44px; font-size:1.4rem;}
    /* 20260616 수정 */
    .onl_cat_btn.onl_cat_license{width:auto; height:44px; padding:0 14px; font-size:1.3rem;}
    .onl_cat_license_icon{height:15px;}
    .onl_cat_license_arrow{height:15px;}
    .onl_card_list{grid-template-columns:repeat(3, 1fr);}
    /* sub04_01 process */
    .process_card{padding:20px 16px;}
    .process_next{width:18px;}
    .process_next img{width:18px;}
    .process_img_wrap{height:100px;}
    .process_tit{font-size:1.8rem; margin-top:14px;}
    /* sub01_02 edu_ex_box */
    .edu_ex_top{padding:20px;}
    .edu_ex_bottom{padding:20px;}
    .edu_ex_desc{font-size:1.5rem;}
    /* sub01_01 */
    .annual_dot_list > li{font-size:1.6rem !important;}
    .annual_info_box{font-size:1.7rem;}
    .score_criteria_box{padding:24px 20px; gap:18px;}
    .score_row_bold{font-size:1.5rem;}
    .score_row_point{font-size:1.4rem;}
    .score_criteria_icon{right:-14px; bottom:-14px;}
    .score_criteria_icon img{width:90px;}
    .refund_card{padding:24px 20px; gap:14px;}
    .refund_card_tit{font-size:1.7rem;}
    .refund_card_desc{font-size:1.5rem;}
    .refund_card_icon img{width:52px; height:auto;}
    /* sub01_02 */
    .con_pp_box{gap:24px; padding:24px;}
    .con_pp_desc{font-size:1.7rem;}
    /* sub02_01 edu_notice | 20260612 수정 */
    .edu_notice_wrap {gap:40px; padding:40px;}
    .edu_notice_card {gap:36px; padding:32px 44px;}
    .edu_notice_card_tit {font-size:2.1rem;}
    .edu_notice_step_box {height:auto; min-height:50px; padding:10px 16px; font-size:1.5rem;}
    /* 20260616 수정 : 연간일정 뱃지 */
    .yearly_badge_group{gap:4px;}
    .yearly_badge{width:72px; height:36px; font-size:1.4rem;}
    /*20260630 수정*/
    .yearly_badge_all{width:72px; height:36px; font-size:1.4rem;}
    /*//20260630 수정*/
    /*20260620 수정2*/
    .cal_month_box{padding: 15px 20px 20px 20px;}
    /*20260620 수정2*/
    /*20260625 수정*/
    .lic_hour_box{padding:36px 28px;}
    .lic_hour_tit{font-size:2rem; margin-bottom:24px;}
    .lic_hour_grid{gap:12px;}
    .lic_hour_tbl th, .lic_hour_tbl td{padding:8px 4px; font-size:1.4rem;}
    /*//20260625 수정*/
    /*20260629 수정4*/
    .sch_form{justify-content:center;}
    .yearly_nav_row{flex-direction:row; gap:0; align-items:center;}
    .yearly_badge_group{position:absolute; left:0;}
    .yearly_nav_right{position:absolute; right:0;}
    /*//20260629 수정4*/
}



/* ── 768px : 모바일 ── */
@media (max-width: 768px) {
    .breadcrumb     {height:38px;}
    .bc_home        {width:44px;}
    .bc_home img    {width:16px;}
    /*20260629 수정4*/
    .bc_select      {width:180px;}
    .bc_selected    {height:38px; font-size:1.5rem; padding:0 14px;}
    /*//20260629 수정4*/
    .bc_arrow       {width:11px;}
    .bc_list li a   {font-size:1.4rem; padding:8px 14px;}
    .h3_tit{font-size: 2rem;}
    /* sub01_01 */
    .target_banner{padding:18px 24px;}
    .target_banner_icon{margin-right:30px;}
    .target_banner_icon img{width:68px; height:auto;}
    .target_banner_tit{font-size:2rem; margin-right:24px;}
    .target_banner_desc{font-size:1.6rem;}
    .annual_dot_list > li{font-size:1.5rem !important;}
    .annual_info_box{font-size:1.6rem; padding:18px 16px;}
    .score_criteria_box{padding:20px 20px 20px;}
    .score_criteria_label{font-size:1.8rem;}
    .score_row{height:auto; min-height:40px;}
    .score_row_cond{white-space:normal; height:auto; padding:8px 14px;}
    .score_row_result{height:auto; padding:8px 14px; gap:4px;}
    .score_criteria_icon img{width:80px;}
    .refund_card_list{flex-direction:column; gap:14px;}
    .refund_card{padding:20px 24px;}
    .refund_card_icon img{width:46px; height:auto;}
    .refund_notice_list{margin-top:24px;}
    /* sub01_02 */
    .con_pp_box{flex-direction:column; align-items:center; gap:20px; padding:24px 20px; text-align:center;}
    /*20260629 수정4*/
    .con_pp_desc{font-size:1.5rem; text-align:left;}
    /*//20260629 수정4*/
    .con_pp_desc br{display:none;}
    .edu_ex_top{padding:16px;}
    .edu_ex_bottom{padding:16px;}
    .edu_ex_desc{font-size:1.4rem; margin-bottom:14px;}
    /* 20260620 수정2 */
    .edu_ex_tbl_l{width:420px;}
    .edu_ex_tbl_r{width:450px;}
    /* //20260620 수정2 */
    /* sub01_02 */
    .sch_form_wrap{padding:20px 16px; margin-top:30px;}
    /*20260629 수정4*/
    .sch_form{flex-direction:column; align-items:stretch; gap:12px;}
    /*//20260629 수정4*/
    #schForm{flex-direction:column; align-items:flex-start; gap:12px; flex-wrap:wrap;}
    #schForm .sch_inp{width:100%;}
    .sch_form_group{gap:10px; flex-wrap:wrap;}
    .sch_form_label{font-size:1.6rem; min-width: 60px;}
    .sch_inp{width:100%;}
    .sch_inp_wrap{flex:1; width:100%;}
    .sch_yearly_head{grid-template-columns:1fr; gap:10px;}
    .sch_yearly_tit{grid-column:1; font-size:2.2rem;}
    .sch_ctrl_wrap{grid-column:1; justify-self:end;}
    .sch_ctrl_btn{width:80px; font-size:1.3rem; gap:6px;}
    .sch_acc_head{height:50px; padding:0 16px;}
    .sch_acc_tit{font-size:1.8rem;}
    .sch_acc_body{padding:16px;}
    .year_box{min-height:180px;}
    .year_box_bg{position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:right center;}
    /*20260619 수정*/
    .year_box_content{padding:0 20px; bottom:58px; flex-direction:column; align-items:flex-end; justify-content:center; gap:10px;}
    /*//20260619 수정*/
    .year_box_sub{font-size:1.8rem; margin-bottom:2px;}
    .year_box_tit{font-size:2rem;}
    .year_box_btn{width:100px; height:36px; font-size:1.4rem;}
    .year_box_info{height:auto; padding:9px 20px; overflow-y:visible;}
    .year_box_dot_list{flex-wrap:wrap; gap:5px 16px; overflow-x:visible;}
    .year_box_dot_list li{font-size:1.3rem; white-space:normal;}
    .cal_monthly_nav{gap:24px;}
    .cal_monthly_tit{font-size:3.2rem;}
    /*20260629 수정4*/
    .cal_monthly_nav{gap:16px; order:-1;}
    .yearly_nav_row{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0;}
    .cal_monthly_nav{width:100%; display:flex; justify-content:center; margin-bottom:12px;}
    .yearly_badge_group{position:static; display:flex; flex-wrap:wrap; gap:4px;}
    .yearly_badge_all{width:64px; height:32px; font-size:1.4rem; margin-right:2px;}
    .yearly_badge{width:64px; height:32px; font-size:1.3rem;}
    .yearly_nav_right{position:static; margin-left:auto;}
    /*//20260629 수정4*/
    .cal_legend_wrap{gap:6px 12px;}
    .cal_legend_txt{font-size:1.3rem;}
    .cal_grid_wrap{padding:20px 14px;}
    .cal_grid_th{font-size:1.5rem;}
    .cal_grid_cell{min-height:60px; padding:8px 5px;}
    .cal_grid_date{font-size:1.4rem;}
    /* 분과학회 탭 */
    .dv_tab_nav{width:38px; height:38px;}
    .dv_tab_btn{padding:12px 16px; font-size:1.4rem;}
    .con_grey_box{flex-direction:column; align-items:center; gap:24px; padding:30px 24px;}
    .grey_box_list > li{font-size:1.5rem;}
    /* tab_local */
    .sido_layout{flex-direction:column; gap:30px;}
    .sido_map_area{width:100%;}
    .sido_btn_group{grid-template-columns:repeat(4, 1fr); gap:7px;}
    .sido_btn{font-size:1.5rem; height:38px;}
    .sido_map_box{padding:20px;}
    .sido_tbl_area{width:100%; min-width:0; flex:none;}
    .sido_tbl_wrap .layout_tbl{min-width:auto;}
    .sido_tbl_wrap .layout_tbl thead tr th{font-size:1.3rem; padding:9px 7px;}
    .sido_tbl_wrap .layout_tbl tbody tr td{font-size:1.3rem; padding:9px 7px;}
    .sido_tbl_period{font-size:2rem;}
    .sido_tbl_period strong{font-size:2.6rem;}
    .sido_tbl_region{font-size:2.4rem;}
    .info_sel{width:100%; max-width:220px;}
    .info_tel_inp{width:80px; font-size:1.4rem;}
    .info_email_wrap{flex-wrap:wrap; gap:8px;}
    .info_email_inp{width:140px; font-size:1.4rem;}
    .info_email_at{margin:0 10px;}
    .info_work_inp{flex:1; min-width:0; width:auto; font-size:1.4rem;}
    .info_agree_sub{font-size:1.3rem;}
    .pay_radio_txt{font-size: 1.3rem;}
    /*20260620 수정2*/
    .cal_month_box{padding: 10px 15px 15px 15px;}
    /*20260620 수정2*/
    /*20260619 수정*/
    .year_box_txt{flex:inherit; margin-left:auto; text-align:right;}
    /*//20260619 수정*/
    /* sub02_01 pl_info | 20260612 수정 */
    .pl_info_item {flex-direction:column; align-items:flex-start; gap:14px; padding:28px 0;}
    .pl_info_tit {font-size:1.9rem;}
    .pl_info_txt {font-size:1.6rem;}
    .pl_info_txt.dot_list > li {font-size:1.6rem;}
    /* sub02_01 edu_notice | 20260612 수정 */
    .edu_notice_wrap {flex-direction:column; gap:24px; padding:36px;}
    .edu_notice_left {flex-direction:row; align-items:center; gap:14px;}
    .edu_notice_badge {margin-bottom:0;}
    .edu_notice_title {font-size:2.6rem; white-space:normal;}
    .edu_notice_card {gap:24px; padding:28px 36px;}
    .edu_notice_card_icon {width:70px; height:70px; object-fit:contain;}
    .edu_notice_card_tit {font-size:2rem;}
    .edu_notice_step_box {height:auto; min-height:50px; padding:10px 14px; font-size:1.5rem;}
    /* sub02_01 browser */
    .browser_wrap        {gap:16px;}
    .browser_box--support{flex:1;}
    .browser_box_body    {padding:28px 16px;}
    .browser_box_hd      {font-size:1.9rem;}
    .browser_list        {flex-wrap:wrap; justify-content:center; gap:12px 6px;}
    .browser_item        {min-width:58px; flex:1 0 auto;}
    .browser_icon        {width:52px; height:52px;}
    .browser_name_en     {font-size:1.5rem;}
    .browser_name_ko     {font-size:1.3rem;}
    .edu_btn,
    .btn_ipt{width:110px; height:46px; font-size:1.5rem;}
    .btn_area{gap:7px;}
    .emp_txt{font-size: 1.5rem; font-weight: 500;}
    /* sub04_01 */
    .overview_box{flex-direction:column;}
    .overview_img_wrap{width:100%; height:240px;}
    .overview_txt_wrap{padding:36px 30px;}
    .overview_tit{font-size:2.4rem;}
    .overview_desc{font-size:1.6rem; margin-top:24px;}
    .over_card_role{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px;}
    .over_card_link{width:100%; height:80px; font-size:1.6rem;}
    .rule_h4{font-size:2.4rem;}
    .rule_btn{font-size:1.5rem; padding:0 16px;}
    .rule_btn img{width:16px;}
    /*20260623 수정*/
    .cal_tbl_notice{font-size:1.5rem; padding:10px 0;}
    /*//20260623 수정*/
    .rule_book_box{padding:30px 24px; border-radius:10px;}
    .rule_chapter{font-size:1.8rem; margin-bottom:18px;}
    .rule_chapter ~ .rule_chapter{margin-top:36px;}
    .rule_article{font-size:1.6rem;}
    .rule_txt{font-size:1.6rem;}
    .rule_circle_list li{font-size:1.6rem;}
    .rule_num_list li{font-size:1.5rem;}
    .rule_book_box br{display:none;}
    /* sub04_01 process — 1열, 화살표 90° 회전 */
    .process_list{flex-direction:column; align-items:stretch;}
    .process_item{width:100%;}
    .process_next{width:100%; justify-content:center; padding:2px 0;}
    .process_next img{width:16px; transform:rotate(90deg);}
    .process_card{padding:22px 18px;}
    .process_img_wrap{height:100px;}
    .process_tit{font-size:1.9rem; margin-top:14px;}
    /*20260629 수정4*/
    .process_dot_list li, .process_dot_list p{font-size:1.5rem;}
    .pp_notice_box p{font-size:1.5rem;}
    .pp_ex_label{font-size:1.5rem;}
    /*//20260629 수정4*/
    /* sub03_01 확인사항 */
    .lic_check_box{flex-direction:column; gap:20px; text-align:center;}
    .lic_check_tit{font-size:1.9rem;}
    .lic_check_sub{font-size:1.7rem;}
    /* sub03_01_02 확인사항 박스 */
    .lic_info_box{flex-direction:column; align-items:center; text-align:center; gap:16px; padding:24px 20px;}
    .lic_info_icon{width:60px;}
    .lic_info_tit{font-size:1.7rem;}
    .lic_info_desc{font-size:1.6rem;}
    .lic_flow_box{padding:30px 20px;}
    /*20260625 수정*/
    .lic_hour_box{padding:24px 16px;}
    .lic_hour_tit{font-size:1.6rem; margin-bottom:16px;}
    .lic_hour_grid{grid-template-columns:repeat(3, 1fr); gap:12px;}
    .lic_hour_tbl th, .lic_hour_tbl td{padding:8px 4px; font-size:1.4rem;}
    /*//20260625 수정*/
    .lic_sub_head{font-size:1.6rem;}
    /* sub06_01_01 fee */
    .fee_grey_list{flex-direction:column; gap:20px;}
    .fee_grey_item{gap:20px;}
    /* sub02_02_01 */
    /* 20260702 수정 */
    .onl_cat_tit{font-size:1.7rem; margin-bottom:10px;}
    .onl_cat_bottom_tit{font-size:1.7rem; margin:16px 0 10px;}
    .onl_cat_note{font-size:1.3rem;}
    /* //20260702 수정 */
    .onl_sch_box{flex-direction:column;}
    .onl_sch_left{width:100%; padding:20px 24px;}
    .onl_sch_right{width:100%; padding:16px 24px;}
    .onl_sch_form{flex-direction:row; align-items:center; gap:6px;}
    .onl_sch_sel{width:130px; flex-shrink:0;}
    .onl_sch_inp{width:auto; flex:1; min-width:0;}
    .onl_sch_inp_wrap{flex:1; min-width:0;}
    .onl_cat_btn{width:100px; height:42px; font-size:1.4rem;}
    /* 20260616 수정 */
    .onl_cat_bottom_row{flex-wrap:wrap; gap:10px;}
    .onl_cat_bottom_right{flex-shrink:0;}
    .onl_cat_btn.onl_cat_license{width:auto; height:42px; padding:0 14px; font-size:1.3rem;}
    .onl_cat_license_icon{height:15px;}
    .onl_cat_license_arrow{height:15px;}
    .onl_card_list{grid-template-columns:repeat(2, 1fr); gap:14px;}
    .onl_card{min-height:auto;}
    .onl_card_hover .onl_hover_tit{font-size:2rem; margin-top:12px;}
    .onl_hover_lec li,.onl_hover_info li{font-size:1.4rem;}
    /* 변경신청 팝업 */
    .chg_popup{height: auto;}
    .chg_popup_inner{padding:24px 20px;}
    .chg_popup_tbl tbody tr th{white-space:normal; padding:10px 12px; font-size:1.4rem;}
    .chg_popup_tbl tbody tr td{padding:8px 12px; font-size:1.4rem;}
    .chg_radio_item{font-size: 1.4rem;}
    .chg_popup_sel{width:160px;}
    .chg_etc_inp{width:140px;}
    .chg_popup_btn{width:130px; height:52px; font-size:1.6rem;}
    /* 환불신청 팝업 */
    #refundPopupOverlay .chg_popup_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .refund_agree_box{padding:16px 18px; gap:12px;}
    .refund_agree_item{font-size:1.5rem;}
    .chg_popup_inp{height:40px; font-size:1.5rem;}
    .chg_popup_textarea{font-size:1.5rem;}
    /*20260625 수정*/
    .dup_popup{padding:30px 20px; min-height:auto;}
    .dup_popup_img{width:60px;}
    .dup_popup_title{font-size:2.4rem;}
    .dup_popup_desc{font-size:1.6rem; margin-top:20px;}
    .dup_popup_btn{margin-top:40px; padding:12px 40px; font-size:1.5rem;}
    /*//20260625 수정*/
    /* sub02_03_02 */
    .stack_tbl, .stack_tbl tbody{display:block; width:100%;}
    .stack_tbl tbody tr{display:flex; flex-wrap:wrap; border-bottom:1px solid #dbdbdb;}
    .stack_tbl tbody tr:last-child{border-bottom:none;}
    .stack_tbl tbody tr th{flex:0 0 100%; padding:10px 14px; text-align:left; border-right:none; border-bottom:1px solid #e0e4f0; font-size:1.4rem; white-space:normal;}
    .stack_tbl tbody tr td{flex:0 0 100%; padding:10px 14px; border-right:none; border-bottom:none; font-size:1.4rem;}
    .stack_tbl tbody tr:last-child th{border-bottom:1px solid #e0e4f0;}
    .stack_tbl tbody tr:last-child td{border-bottom:none;}
    /* lec_tbl */
    .lec_tbl thead{display:none;}
    .lec_tbl col{width:auto !important;}
    .lec_tbl tbody tr td{padding:10px 14px; border-right:none !important; border-bottom:1px solid #e8ecf4 !important; text-align:left !important; vertical-align:top;}
    .lec_tbl tbody tr td:last-child{border-bottom:none !important;}
    .lec_tbl tbody tr td::before{content:attr(data-label); display:block; background:#f2f5fb; margin:-10px -14px 10px -14px; padding:10px 14px; font-size:1.4rem; font-weight:600; color:#202738; border-bottom:1px solid #e0e4f0;}
    .lec_tbl .vd_btn img{width:28px !important; max-width:28px;}
    /* sub05_05 문의게시판 */
    .sub_convey{padding:40px 0;}
    .sub_tit{font-size:3rem; margin-bottom:30px;}
    .inq_tbl{min-width:0;}
    .inq_col_th{width:90px;}
    .inq_tbl tbody tr th{padding:10px 12px; font-size:1.5rem; white-space:normal; word-break:keep-all;}
    .inq_tbl tbody tr td{padding:8px 12px;}
    .inq_inp_md{width:100%;}
    .inq_sel{width:100%;}
    .inq_textarea{height:110px;}
    /* sub06_04 QR출력 */
    .qr_card{flex-direction:column; align-items:flex-start; gap:24px; padding:24px 30px;}
    /*20260619 수정*/
    .qr_code_area{align-self:center; flex-direction:column; align-items:center; text-align:center;}
    /*//20260619 수정*/
    /* sub06_04 출석 현황 */
    .attend_section{margin-top:36px;}
    /* sub04_04_02 응시원서 */
    .app_tbl_wrap{margin-top:20px;}
    .app_inp_200{width:160px;}
    .app_inp_email{width:150px;}
}

/*20260629 수정4*/
@media (max-width:600px){
    .bc_select{width:auto; min-width:0; padding:0 4px;}
}
/*//20260629 수정4*/

/* ── 480px : 소형 모바일 ── */
@media (max-width: 480px) {
    .pp_notice_box{flex-direction:column; text-align:center; gap:8px;}
    /*20260629 수정4*/
    .pp_notice_box p{font-size:1.4rem;}
    .pp_ex_label{font-size:1.4rem;}
    .process_dot_list li, .process_dot_list p{font-size:1.4rem;}
    .con_pp_desc{font-size:1.4rem;}
    /*//20260629 수정4*/
    /*20260623 수정*/
    .cal_tbl_notice{font-size:1.4rem; padding:8px 0;}
    /*//20260623 수정*/
    /*20260629 수정4*/
    .yearly_nav_row{flex-direction:column; gap:10px; justify-content:center;}
    .cal_monthly_nav{width:auto; margin-bottom:0;}
    .yearly_badge_group{justify-content:center;}
    .yearly_nav_right{margin-left:0;}
    /*//20260629 수정4*/
    /* sub01_01 */
    .target_banner{flex-wrap:wrap; padding:20px; gap:12px;}
    /* 20260629 수정2 */
    .target_banner_head{display:flex; align-items:center;}
    /* //20260629 수정2 */
    .target_banner_icon{margin-right:0;}
    .target_banner_icon img{width:48px; height:auto;}
    .target_banner_tit{font-size:1.8rem; margin-right:12px;}
    .target_banner_desc{font-size:1.5rem; width:100%;}
    .annual_dot_list > li{font-size:1.4rem !important;}
    .annual_info_box{font-size:1.5rem; padding:16px 14px;}
    .score_criteria_box{padding:16px;}
    .score_criteria_label{font-size:1.6rem;}
    .score_row_cond{font-size:1.4rem; padding:8px 10px;}
    .score_row_result{padding:8px 10px;}
    .score_row_bold{font-size:1.4rem;}
    .score_row_point{font-size:1.3rem;}
    .score_criteria_icon img{width:70px;}
    .refund_card{padding:16px 18px; gap:12px;}
    .refund_card_tit{font-size:1.6rem;}
    .refund_card_desc{font-size:1.4rem; margin-top:10px;}
    .refund_card_icon img{width:40px; height:auto;}
    .refund_notice_list > li{font-size:1.5rem !important;}
    /* sub01_02 */
    .con_pp_box{padding:20px 16px; gap:16px;}
    .edu_ex_top{padding:14px;}
    /* 20260620 수정2 */
    .edu_ex_bottom{padding:14px; overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .edu_ex_bottom img{min-width:500px;}
    /* //20260620 수정2 */
    .edu_ex_desc{font-size:1.3rem;}
    /* 20260620 수정2 */
    .edu_ex_tbl_l{width:300px;}
    .edu_ex_tbl_r{width:330px;}
    /* //20260620 수정2 */
    .year_box{min-height:160px;}
    .year_box_content{padding:0 14px; bottom:54px; gap:4px;}
    .year_box_sub{font-size:1.5rem;}
    .year_box_tit{font-size:1.7rem;}
    .year_box_info{padding:7px 14px;}
    .year_box_dot_list{gap:4px 12px;}
    .year_box_dot_list li{font-size:1.2rem;}
    .breadcrumb     {height:32px;}
    .bc_home        {width:38px;}
    .bc_home img    {width:14px;}
    .bc_select      {width:auto;}
    /*20260623 수정*/
    .bc_selected    {height:32px; font-size:1.2rem; padding:0 6px; gap:2px;}
    /*//20260623 수정*/
    .bc_arrow       {width:10px;}
    .bc_list li a   {font-size:1.3rem; padding:7px 10px;}
    /* sub01_02 */
    .sch_form_wrap{padding:16px 14px;}
    .sch_form_group{gap:8px;}
    .sch_yearly_tit{font-size:1.9rem;}
    .sch_ctrl_btn{width:72px; font-size:1.2rem;}
    .sch_acc_head{height:46px; padding:0 14px;}
    .sch_acc_tit{font-size:1.6rem;}
    .sch_acc_body{padding:14px;}
    .cal_monthly_nav{gap:16px;}
    .cal_monthly_tit{font-size:2.6rem;}
    /* 20260616 수정 : 연간일정 뱃지 */
    .yearly_badge{width:72px; height:32px; font-size:1.4rem;}
    /*20260630 수정*/
    .yearly_badge_all{width:72px; height:32px; font-size:1.4rem;}
    /*//20260630 수정*/
    .cal_legend_wrap{gap:5px 10px; justify-content:flex-start;}
    .cal_legend_txt{font-size:1.2rem;}
    .cal_grid_wrap{padding:14px 10px;}
    .cal_grid_th{font-size:1.2rem;}
    /*20260620 수정2*/
    .cal_month_box{padding: 10px 10px 10px 10px;}
    .cal_grid_wrap{padding:8px 14px}
    /*20260620 수정2*/
    /* 분과학회 탭 */
    .dv_tab_wrap{gap:10px;}
    .dv_tab_nav{width:34px; height:34px;}
    .dv_tab_btn{padding:10px 14px; font-size:1.3rem;}
    .cal_grid_cell{min-height:48px; padding:6px 3px;}
    .cal_grid_date{font-size:1.3rem;}
    .cal_badge{width:auto; padding:0 4px; height:18px; font-size:1rem;}
    .sch_sel.sch_sel_s{width:120px;}
    .sch_sel.sch_sel_m{width:140px;}
    .sch_sel{padding:0 30px 0 12px; font-size:1.4rem;}
    .sch_form_label{font-size:1.5rem;}
    .sch_btn{font-size:1.5rem; padding:0 12px;}
    .con_grey_box{padding:24px 18px; gap:20px;}
    .grey_box_list > li{font-size:1.4rem;}
    /* tab_local */
    .sido_map_box{padding:16px;}
    .sido_tbl_head{gap:10px;}
    .sido_btn_group{grid-template-columns:repeat(3, 1fr); gap:6px;}
    .sido_btn{font-size:1.4rem; height:36px; border-radius:8px;}
    .sido_tbl_wrap .layout_tbl thead tr th{font-size:1.2rem; padding:7px 5px;}
    .sido_tbl_wrap .layout_tbl tbody tr td{font-size:1.2rem; padding:7px 5px;}
    .sido_tbl_period{font-size:1.8rem;}
    .sido_tbl_period strong{font-size:2.2rem;}
    .sido_tbl_region{font-size:2rem;}
    .info_tel_wrap{gap:8px;}
    .info_tel_inp{width:70px; font-size:1.3rem;}
    .info_email_inp{width:120px; font-size:1.3rem;}
    .info_email_at{margin:0 6px;}
    /* sub02_01 pl_info | 20260612 수정 */
    .pl_info_item {gap:12px; padding:24px 0;}
    .pl_info_tit {font-size:1.8rem;}
    .pl_info_txt {font-size:1.5rem;}
    /* sub02_01 edu_notice | 20260612 수정 */
    .edu_notice_wrap {gap:16px; padding:24px 20px; margin-top:50px;}
    .edu_notice_left {gap:12px;}
    .edu_notice_title {font-size:2.2rem;}
    .edu_notice_card {flex-direction:column; align-items:flex-start; gap:14px; padding:20px; border-radius:16px;}
    .edu_notice_card_icon {width:52px; height:52px;}
    .edu_notice_card_tit {font-size:1.8rem;}
    .edu_notice_step_row {flex-direction:column; align-items:center; gap:6px;}
    .edu_notice_step_box {flex:none; width:100%; height:auto; min-height:44px; padding:10px 14px; font-size:1.4rem;}
    .edu_notice_step_arrow {transform:rotate(90deg);}
    /* sub02_01 browser */
    .browser_wrap     {flex-direction:column; gap:16px;}
    .browser_box--support,
    .browser_box      {flex:none; width:100%;}
    .browser_box_hd   {font-size:1.7rem; padding:14px 16px;}
    .browser_box_body {padding:24px 16px;}
    .browser_list     {gap:8px;}
    .browser_icon     {width:48px; height:48px;}
    .browser_name_en  {font-size:1.5rem;}
    .browser_name_ko  {font-size:1.3rem;}
    .edu_btn,
    .btn_ipt{width:100px; height:42px; font-size:1.4rem;}
    .btn_area{gap:5px;}
    /* sub04_01 */
    .overview_txt_wrap{padding:28px 24px;}
    .overview_tit{font-size:2.2rem;}
    .overview_desc{font-size:1.5rem; margin-top:20px;}
    .over_card_role{grid-template-columns:repeat(2, 1fr); gap:8px;}
    .over_card_link{height:72px; font-size:1.5rem;}
    .rule_h4{font-size:2rem;}
    .rule_btn{height:36px; font-size:1.4rem; padding:0 14px; gap:6px;}
    .rule_btn img{width:15px;}
    .rule_book_box{padding:20px 16px;}
    .rule_chapter{font-size:1.7rem; margin-bottom:14px;}
    .rule_chapter ~ .rule_chapter{margin-top:28px;}
    .rule_article{font-size:1.5rem;}
    .rule_txt{font-size:1.5rem;}
    .rule_circle_list li{font-size:1.5rem;}
    .rule_num_list li{font-size:1.4rem;}
    /* sub04_01 process */
    .process_next img{width:14px;}
    .process_card{padding:18px 14px;}
    .process_img_wrap{height:85px;}
    .process_tit{font-size:1.7rem; margin-top:12px;}
    /* sub03_01 확인사항 */
    .lic_check_tit{font-size:1.7rem;}
    .lic_check_sub{font-size:1.5rem;}
    /* sub03_01_02 확인사항 박스 */
    .lic_info_tit{font-size:1.5rem;}
    .lic_info_desc{font-size:1.4rem;}
    .lic_flow_box{padding:20px 14px;}
    /*20260625 수정*/
    .lic_hour_box{padding:16px 10px;}
    .lic_hour_tit{font-size:1.4rem; margin-bottom:12px;}
    .lic_hour_grid{grid-template-columns:repeat(2, 1fr); gap:8px;}
    .lic_hour_tbl th, .lic_hour_tbl td{padding:7px 3px; font-size:1.3rem;}
    /*//20260625 수정*/
    /* sub06_02 장바구니 */
    .cart_col_chk{width:44px;}
    .cart_col_period{width:32%;}
    .cart_col_fee{width:22%;}
    .cart_course_td{padding:10px;}
    .cart_course_tit{font-size:1.4rem;}
    .cart_course_meta{font-size:1.3rem;}
    .cart_period{font-size:1.3rem;}
    .cart_fee_row{font-size:1.3rem;}
    .cart_del_btn, .cart_pay_btn{height:40px; padding:0 20px; font-size:1.4rem; min-width: 100px;}
     /* sub06_01_01 fee */
    .fee_grey_item{flex-direction:column; align-items:flex-start; gap:16px; padding:20px;}
    .fee_grey_btn{width:130px; height:40px; font-size:1.5rem;}
    /* sub02_02_01 */
    /* 20260702 수정 */
    .onl_cat_tit{font-size:1.6rem; margin-bottom:10px;}
    .onl_cat_bottom_tit{font-size:1.6rem; margin:14px 0 10px;}
    .onl_cat_note{font-size:1.2rem; align-items:flex-start;}
    /* //20260702 수정 */
    .onl_sch_left{padding:16px;}
    .onl_sch_right{padding:14px 16px;}
    .onl_sch_form{flex-direction:column; align-items:stretch;}
    .onl_sch_sel{width:100%;}
    .onl_sch_inp{width:100%;}
    .onl_sch_inp_wrap{width:100%;}
    /* 20260616 수정 */
    .onl_cat_list{display:grid; grid-template-columns:repeat(3, 1fr); gap:6px;}
    .onl_cat_btn{height:40px; font-size:1.3rem;}
    .onl_cat_list .onl_cat_btn{width:100%;}
    .onl_cat_license_wrap{margin-left:0; grid-column:span 2;}
    .onl_cat_bottom_row{flex-wrap:wrap; gap:6px;}
    .onl_cat_bottom_right{width:100%;}
    .onl_cat_btn.onl_cat_license{width:100%; height:40px; font-size:1.3rem; padding:0 14px; justify-content:space-between;}
    .onl_card_list{grid-template-columns:1fr; gap:12px;}
    .onl_card{min-height:auto;}
    .onl_card_thumb{height:200px;}
    .onl_hover_btns{justify-content:center;}
    /* 변경신청 팝업 */
    .chg_popup_inner{padding:20px 14px;}
    .chg_popup_btn{width:120px; height:46px; font-size:1.5rem;}
    .chg_popup_sel{width:100%; max-width:160px;}
    .chg_etc_inp{width:100px;}
    /* 환불신청 팝업 */
    .refund_agree_box{padding:14px 14px; gap:10px;}
    .refund_agree_item{font-size:1.4rem;}
    .refund_agree_chk{width:18px; height:18px;}
    .chg_popup_inp{height:38px; font-size:1.4rem;}
    .chg_popup_textarea{font-size:1.4rem;}
    /* sub05_05 문의게시판 */
    .sub_convey{padding:30px 0;}
    .sub_tit{font-size:2.6rem; margin-bottom:20px;}
    .inq_tbl{min-width:0;}
    .inq_col_th{width:75px;}
    .inq_tbl tbody tr th{padding:8px 10px; font-size:1.4rem;}
    .inq_tbl tbody tr td{padding:7px 10px;}
    .inq_inp{height:38px; font-size:1.4rem;}
    .inq_sel{width:100%; height:38px; font-size:1.4rem;}
    .inq_file_btn{height:34px; padding:0 12px; font-size:1.3rem;}
    .inq_file_txt{font-size:1.3rem;}
    .inq_textarea{height:90px; font-size:1.4rem;}
    /* sub06_04 QR출력 */
    .qr_card{padding:20px 24px; gap:20px;}
    .qr_member_name{font-size:2rem;}
    .qr_member_num{font-size:1.6rem;}
    .qr_code_img{width:90px;}
    .qr_dot_list li{font-size:1.5rem;}
    .qr_code_label{font-size:1.4rem;}
    .qr_timer{font-size:1.5rem;}
    /* sub06_04 출석 현황 */
    .attend_section{margin-top:28px;}
    /* sub04_04_02 응시원서 */
    .app_inp_200{width:140px;}
    .app_inp_email{width:130px;}
    .app_inp_yr{width:56px;}
    .app_inp_md2{width:38px;}
    .app_inp_sm2{width:38px;}
}

/*==============================================================================
    동영상 플레이어
==============================================================================*/

.vp_page{margin:0; padding:0; display:flex; align-items:center; justify-content:center; width:100vw; height:100vh; overflow:hidden; background:rgba(0,0,0,0.75);}

/* 전체 래퍼 */
.vp_wrap{width:min(1400px, 100vw); height:min(900px, 100vh); display:flex; overflow:hidden; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,0.6);}

/* 영상 토글 */
.vp_player_area.is_empty .vp_video_thumb{display:none;}

/* 본문 */
.vp_body{display:flex; width:100%; height:100%;}

/* ── 플레이어 컬럼 (헤더 + 영상 + 컨트롤) ── */
.vp_player_col{flex:1; min-width:0; display:flex; flex-direction:column;}

/* 헤더: 플레이어 위에만 */
.vp_header{display:flex; align-items:center; justify-content:center; height:60px; padding:0 20px; background:#394252; flex-shrink:0;}
.vp_tit{font-size:2.2rem; color:#fff; font-weight:600; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

/* 영상 박스 */
.vp_player_area{flex:1; min-height:0; background:#161a21; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.vp_video_thumb{display:block; max-width:100%; max-height:100%; object-fit:contain;}
.vp_video_box{padding:50px; border-radius: 10px;}

/* 컨트롤바 */
.vp_ctrl_bar{display:flex; align-items:center; gap:10px; height:60px; padding:0 16px; background:#1c1c1c; flex-shrink:0;}
.vp_ctrl_btn{display:flex; align-items:center; justify-content:center; background:none; border:none; cursor:pointer; padding:4px; flex-shrink:0; color:#aaa;}
.vp_ctrl_btn:hover{color:#fff;}
.vp_ctrl_btn:focus-visible{outline:2px solid #4a7cfe; outline-offset:2px; border-radius:2px;}
.vp_btn_play img,.vp_btn_sound img{display:block;}
.vp_progress_wrap{flex:1; padding:0 8px; cursor:pointer;}
.vp_progress_track{position:relative; height:4px; background:#444; border-radius:2px;}
.vp_progress_fill{position:absolute; left:0; top:0; height:100%; background:#015cd1; border-radius:2px; pointer-events:none;}
.vp_progress_thumb{position:absolute; top:50%; transform:translate(-50%,-50%); pointer-events:none;}
.vp_progress_thumb img{display:block;}
.vp_time{font-size:1.3rem; color:#bbb; white-space:nowrap; flex-shrink:0;}
.vp_btn_full svg{display:block;}

/* ── 사이드바 ── */
.vp_sidebar{display:flex; flex-shrink:0;}

/* 패널 */
.vp_panel{width:300px; display:flex; flex-direction:column; background:#f0f3f8; border-left:1px solid #abb4c6; overflow:hidden; transition:width .25s ease, opacity .2s ease;}
.vp_panel.is_closed{width:0; opacity:0; pointer-events:none;}
.vp_panel_head{display:flex; align-items:center; justify-content:space-between; height:60px; padding:0 16px; border-bottom:1px solid #abb4c6; flex-shrink:0;}
.vp_panel_tit{font-size:1.8rem; font-weight:700; color:#111;}
.vp_panel_close{display:flex; align-items:center; justify-content:center; width:30px; height:30px; background:none; border:none; cursor:pointer; padding:0; border-radius:4px;}
.vp_panel_close:hover{background:rgba(0,0,0,0.06);}
.vp_panel_close:focus-visible{outline:2px solid #015cd1; outline-offset:2px;}
.vp_panel_close img{width:14px; display:block;}

/* 탭 콘텐츠 */
.vp_tab_cont{display:none; flex-direction:column; flex:1; overflow-y:auto; overflow-x:hidden; min-height:0;}
.vp_tab_cont.is_active{display:flex;}
.vp_tab_inner{padding:16px 14px;}
.vp_tab_txt{font-size:1.4rem; color:#444; line-height:1.7;}

/* 진도율 */
.vp_progress_area{padding:16px 16px 14px; border-bottom:1px solid #abb4c6; flex-shrink:0;}
.vp_progress_top{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
.vp_progress_label{display:flex; align-items:center; gap:6px; font-size:1.6rem; color:#333333;}
.vp_progress_label img{width:16px; display:block;}
.vp_progress_pct{font-size:1.6rem; font-weight:700; color:#005cd4;}
.vp_progress_bar{height:12px; background:#d8dde8; border-radius:6px; overflow:hidden;}
.vp_progress_bar_fill{height:100%; background:#015cd1; border-radius:6px; transition:width .3s ease;}

/* 강의 목록 */
.vp_lec_list{list-style:none; padding:0; margin:0; overflow-y:auto; flex:1;}
.vp_lec_btn{display:flex; align-items:flex-start; gap:10px; width:100%; padding:14px 16px; background:none; border:none; border-bottom:1px solid #abb4c6; cursor:pointer; text-align:left;}
.vp_lec_btn:hover{background:rgba(0,92,212,0.06);}
.vp_lec_btn:focus-visible{outline:2px solid #015cd1; outline-offset:-2px;}
.vp_lec_item.is_active .vp_lec_btn{background:#ddeeff;}
.vp_lec_ico{width:22px; flex-shrink:0; margin-top:1px; display:block;}
.vp_lec_info{display:flex; flex-direction:column; gap:4px; flex:1; min-width:0;}
.vp_lec_name{font-size:1.5rem; color:#333333; line-height:1.5; word-break:keep-all; display:block;}
.vp_lec_item.is_done .vp_lec_name{color:#aaa;}
.vp_lec_item.is_active .vp_lec_name{color:#015cd1; font-weight:600;}
.vp_lec_time{font-size:1.3rem; color:#969696; display:block;}

/* ── 탭 버튼 영역 ── */
.vp_tabs{width:70px; display:flex; flex-direction:column; align-items:stretch; background:#fff; border-left:1px solid #abb4c6;}
.vp_tab_btn{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:16px 4px; background:#fff; border:none; border-bottom:1px solid #e0e4eb; cursor:pointer; transition:background .15s;}
.vp_tab_btn:hover{background:#f0f6ff;}
.vp_tab_btn.is_active{background:#ddeeff;}
.vp_tab_btn:focus-visible{outline:2px solid #015cd1; outline-offset:-2px;}
.vp_tab_btn span{font-size:1.1rem; color:#555; line-height:1.3; text-align:center; word-break:keep-all; display:block;}
.vp_tab_btn.is_active span{color:#015cd1; font-weight:600;}
.vp_tab_ico_on{display:none;}
.vp_tab_ico_off{display:block;}
.vp_tab_btn.is_active .vp_tab_ico_on{display:block;}
.vp_tab_btn.is_active .vp_tab_ico_off{display:none;}

/* 패널 열기 버튼 (패널 닫힌 상태에서 탭 하단에 노출) */
.vp_panel_toggle{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:14px 4px; background:#fff; border:none; border-top:1px solid #abb4c6; cursor:pointer; margin-top:auto;}
.vp_panel_toggle[hidden]{display:none;}
.vp_toggle_bar{display:block; width:18px; height:2px; background:#888; border-radius:1px; transition:background .15s;}
.vp_panel_toggle:hover .vp_toggle_bar{background:#015cd1;}
.vp_panel_toggle:focus-visible{outline:2px solid #015cd1; outline-offset:-2px;}

/* ── video_popup 반응형 ── */

/* 1200px: 패널 너비 축소 */
@media (max-width:1200px) {
    .vp_panel{width:250px;}
    .vp_tit{font-size:1.8rem;}
    .vp_panel_tit{font-size:1.6rem;}
    .vp_lec_name{font-size:1.4rem;}
    .vp_progress_label,.vp_progress_pct{font-size:1.4rem;}
}

/* 1024px: 패널 추가 축소 + 폰트 조정 */
@media (max-width:1024px) {
    .vp_panel{width:220px;}
    .vp_tit{font-size:1.6rem;}
    .vp_tabs{width:60px;}
    .vp_tab_btn{padding:12px 4px;}
    .vp_tab_ico_on,.vp_tab_ico_off{width:26px;}
    .vp_tab_btn span{font-size:1rem;}
    .vp_progress_label,.vp_progress_pct{font-size:1.3rem;}
    .vp_lec_name{font-size:1.3rem;}
    .vp_lec_time{font-size:1.2rem;}
    .vp_lec_btn{padding:11px 12px; gap:8px;}
    .vp_progress_bar{height:10px;}
}

/* 768px: 세로 레이아웃 전환 */
@media (max-width:768px) {
    .vp_page{align-items:stretch;}
    .vp_wrap{border-radius:0; flex-direction:column;}
    .vp_body{flex-direction:column;}

    /* 플레이어: 16:9 비율 고정 + 헤더 + 컨트롤 */
    .vp_player_col{flex:0 0 auto;}
    .vp_header{height:46px; padding:0 14px;}
    .vp_tit{font-size:1.4rem;}
    .vp_player_area{height:calc(100vw * 9 / 16); max-height:320px;}
    .vp_ctrl_bar{height:48px; padding:0 10px; gap:8px;}
    .vp_btn_play img,.vp_btn_sound img{width:18px;}
    .vp_time{font-size:1.2rem;}

    /* 사이드바: 가로 배치 (패널 좌 + 탭 우) */
    .vp_sidebar{flex:1; min-height:0; flex-direction:row;}
    .vp_panel{width:auto; flex:1; min-width:0;}
    .vp_panel.is_closed{width:0; flex:0;}
    .vp_panel_head{height:44px; padding:0 12px;}
    .vp_panel_tit{font-size:1.4rem;}
    .vp_panel_close img{width:12px;}
    .vp_tabs{width:56px; border-left:1px solid #abb4c6; border-top:none;}
    .vp_tab_btn{padding:10px 4px;}
    .vp_tab_ico_on,.vp_tab_ico_off{width:22px;}
    .vp_tab_btn span{font-size:0.95rem;}
    .vp_progress_area{padding:10px 12px;}
    .vp_progress_bar{height:8px;}
    .vp_lec_btn{padding:10px 12px; gap:8px;}
    .vp_lec_ico{width:18px;}
}

/* 480px: 모바일 컴팩트 */
@media (max-width:480px) {
    .vp_header{height:40px;}
    .vp_tit{font-size:1.3rem;}
    .vp_ctrl_bar{height:44px; padding:0 8px; gap:6px;}
    .vp_btn_play img,.vp_btn_sound img{width:16px;}
    .vp_time{font-size:1.1rem;}
    .vp_panel_head{height:40px; padding:0 10px;}
    .vp_panel_tit{font-size:1.3rem;}
    .vp_tabs{width:50px;}
    .vp_tab_btn span{display:none;}
    .vp_tab_ico_on,.vp_tab_ico_off{width:20px;}
    .vp_lec_name{font-size:1.2rem;}
    .vp_lec_time{font-size:1.1rem;}
    .vp_lec_btn{padding:9px 10px;}
    .vp_progress_label,.vp_progress_pct{font-size:1.2rem;}
    .vp_progress_area{padding:8px 10px;}
    .vp_progress_bar{height:6px;}
    .vp_panel_toggle{border-top:1px solid #abb4c6;}
}

/* sub05_04 FAQ 반응형 */
@media (max-width:768px) {
    .faq_q{gap:12px; padding:16px 8px;}
    .faq_q_txt{font-size:1.5rem;}
    .faq_item.is_active .faq_q_txt{font-size:1.6rem;}
    .faq_a_inner{gap:12px; padding:28px 16px;}
    .faq_a_txt{font-size:1.5rem;}
}
@media (max-width:480px) {
    .faq_q{gap:10px; padding:14px 6px;}
    .faq_q_txt{font-size:1.4rem;}
    .faq_item.is_active .faq_q_txt{font-size:1.5rem;}
    .faq_a_inner{gap:10px; padding:20px 12px;}
    .faq_a_txt{font-size:1.4rem;}
}

/*==============================================================================
    sub04_04_01 반응형
==============================================================================*/
@media (max-width:1024px) {
    /* 응시분야 및 응시자격 */
    .qualify_section{margin-top:32px;}
    .col_qualify_type{width:180px;}
    /* 합격자 결정 및 발표 */
    .qualify_result_term{font-size:1.5rem;}
    /* 시험과목 및 일정안내 */
    .subject_section{margin-top:32px;}
    .col_subj_main{width:220px;}
    .col_subj_sub{width:140px;}
    /* 오시는 길 */
    .location_section{margin-top:32px;}
    .location_tit{font-size:1.8rem;}
    /* 응시원서 접수안내 */
    .apply_section{margin-top:32px;}
    .com_sub_tit{font-size:1.8rem;}
    /*20260625 수정*/
    .test_box_role{padding:24px; gap:20px;}
    .test_role_icon{width:60px;}
    .test_role_txt{font-size:1.8rem;}
    .test_role_from{font-size:1.6rem;}
    /*//20260625 수정*/
}

@media (max-width:768px) {
    /* 공통 섹션 */
    .qualify_section{margin-top:26px;}
    .subject_section{margin-top:26px;}
    .apply_section{margin-top:26px;}
    .apply_block + .apply_block{margin-top:30px;}
    /* com_sub_tit */
    .com_sub_tit{font-size:1.7rem; margin-bottom:12px;}
    /* 합격자 결정 및 발표 */
    .qualify_result_list > li + li{margin-top:16px;}
    .qualify_result_term{font-size:1.5rem;}
    .qualify_result_txt{font-size:1.5rem;}
    .qualify_date_wrap{flex-direction:column; gap:2px;}
    .qualify_date_label{font-size:1.5rem;}
    .qualify_date_list > li{font-size:1.5rem;}
    /* 응시자격 테이블 */
    .col_qualify_type{width:140px;}
    /* 시험과목 테이블 */
    .col_subj_main{width:180px;}
    .col_subj_sub{width:120px;}
    /* 시험일정 테이블 */
    .col_20{width:auto;}
    /* 응시수수료 반환기준 */
    .col_refund_cate{width:20%;}
    .col_refund_std{width:50%;}
    .col_refund_rate{width:30%;}
    /* 기타사유 테이블 */
    .col_other_reason{width:40%;}
    .col_other_doc{width:28%;}
    .col_other_rate{width:16%;}
    .col_other_period{width:16%;}
    /* 오시는 길 */
    .location_section{margin-top:26px;}
    .location_item{gap:16px; padding:22px 0;}
    .location_icon_box{width:64px; height:64px; border-radius:16px;}
    .location_tit{font-size:1.7rem; margin-bottom:8px;}
    .location_txt{font-size:1.6rem;}
    .location_badge{font-size:1.4rem;}
    .location_map_wrap{margin-top:20px;}
    /*20260625 수정*/
    .test_box_role{flex-direction:column; align-items:center; text-align:center; gap:14px; padding:20px 16px;}
    .test_role_icon{width:50px;}
    .test_role_txt{font-size:1.7rem;}
    .test_role_from{font-size:1.5rem; margin-top:14px;}
    .test_check_row{flex-direction:column; gap:4px;}
    /*20260629 수정4*/
    .test_check_row dt{min-width:auto; font-size:1.5rem;}
    .test_check_row dd{font-size:1.5rem;}
    .test_result_box{margin-left:0; padding:24px 20px; max-width:100%;}
    .test_result_list li{font-size:1.5rem;}
    .test_role_txt{font-size:1.6rem;}
    .test_role_from{font-size:1.5rem;}
    /*//20260629 수정4*/
    /*//20260625 수정*/
}

@media (max-width:480px) {
    /* 공통 섹션 */
    .qualify_section{margin-top:20px;}
    .subject_section{margin-top:20px;}
    .apply_section{margin-top:20px;}
    .apply_block + .apply_block{margin-top:24px;}
    /* com_sub_tit */
    .com_sub_tit{font-size:1.6rem; margin-bottom:10px;}
    /* 합격자 결정 및 발표 */
    .qualify_result_term{font-size:1.4rem;}
    .qualify_result_txt{font-size:1.4rem;}
    .qualify_date_label{font-size:1.4rem;}
    .qualify_date_list > li{font-size:1.4rem;}
    /* 응시자격 테이블 */
    .col_qualify_type{width:120px;}
    /* num_paren_list */
    .num_paren_list > li{font-size:1.5rem;}
    /* 오시는 길 */
    .location_section{margin-top:20px;}
    .location_item{flex-direction:column; gap:12px; padding:20px 0;}
    .location_icon_box{width:56px; height:56px; border-radius:14px;}
    .location_tit{font-size:1.6rem; margin-bottom:6px;}
    .location_txt{font-size:1.5rem;}
    .location_addr_row{flex-wrap:wrap; gap:8px;}
    .location_badge{font-size:1.3rem;}
    .location_map_wrap{margin-top:16px;}
    /* apply_sub_list */
    .apply_sub_list > li{font-size:1.5rem;}
    /*20260625 수정*/
    .test_box_role{padding:16px 14px; gap:12px;}
    .test_role_icon{width:44px;}
    .test_role_txt{font-size:1.5rem;}
    .test_role_from{font-size:1.4rem; margin-top:12px;}
    .test_check_row dt{font-size:1.5rem;}
    .test_check_row dd{font-size:1.5rem;}
    .test_result_box{padding:20px 14px;}
    .test_result_list li{font-size:1.4rem;}
    /*//20260625 수정*/
}




/* ================================================
   원서접수 - 스텝 인디케이터 & 패널 (sub04_04_02)
   ================================================ */

/* 스텝 인디케이터 */
.apply_step_wrap{padding:40px 0 48px;}
.apply_step_list{display:flex; align-items:center; justify-content:center; list-style:none; margin:0; padding:0; gap:0;}

/* 원 + 텍스트 묶음 */
.apply_step_item{display:flex; flex-direction:column; align-items:center; gap:0;}

/* 화살표 구분자 */
.apply_step_arrow{width:80px; flex-shrink:0; display:flex; align-items:center; justify-content:center; height:120px;}
.apply_step_arrow img{display:block;}

/* 원 */
.apply_step_circle{
    width:120px; height:120px; border-radius:50%;
    background:#f9f9f9; border:1px solid #dddddd;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    box-sizing:border-box; transition:border .2s;
}
.apply_step_circle .step_icon_grey{display:block; height:auto;}
.apply_step_circle .step_icon_blue{display:none;  height:auto;}

/* 텍스트 */
.apply_step_name{margin-top:10px; font-size:1.7rem; color:#5b5b5b; font-weight:400; transition:color .2s, font-weight .2s; white-space:nowrap;}

/* 활성 스텝 */
.apply_step_item.active .apply_step_circle{border:3px solid #2a4ea4;}
.apply_step_item.active .apply_step_circle .step_icon_grey{display:none;}
.apply_step_item.active .apply_step_circle .step_icon_blue{display:block;}
.apply_step_item.active .apply_step_name{color:#2a4ea4; font-weight:700;}

/* 완료 스텝 (done) — 기본 grey 유지 */
.apply_step_item.done .apply_step_circle{border:1px solid #dddddd;}
.apply_step_item.done .apply_step_circle .step_icon_grey{display:block;}
.apply_step_item.done .apply_step_circle .step_icon_blue{display:none;}
.apply_step_item.done .apply_step_name{color:#5b5b5b; font-weight:400;}

/* ── STEP 1 : 동의서 ── */
.agree_head_box{background:#f4f6fb; border:none; border-radius:10px; padding:36px 32px; margin-bottom:24px; text-align:center;}
.agree_head_tit{font-size:3rem; font-weight:700; color:#000; margin-bottom:0; display:inline;}
.agree_head_law{font-size:1.8rem; font-weight:400; color:#444; display:inline; margin-left:6px;}
.agree_head_desc{font-size:1.8rem; color:#444444; line-height:1.7; margin-top:30px;}

.agree_section_list{display:flex; flex-direction:column; gap:20px;}
.agree_section_item{border:1px solid #e2e6ef; border-radius:8px; overflow:hidden;}

.agree_section_hd{display:flex; align-items:center; gap:8px; padding:20px 24px; background:#fff;}
.agree_section_num{font-size:2.2rem; font-weight:700; color:#2a4ea4; flex-shrink:0;}
.agree_section_tit{font-size:2.2rem; font-weight:700; color:#222; flex:1;}
.agree_detail_btn{margin-left:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:140px; height:40px; border:1px solid #aeaeae; border-radius:20px; background:#fff; font-size:1.5rem; color:#333; cursor:pointer; text-decoration:none; white-space:nowrap; flex-shrink:0;}
.agree_detail_ico{display:inline-block; width:12px; height:auto; vertical-align:middle;}

.agree_section_body{padding:20px 24px; background:#fff; }

/* 동의서 내부 테이블 */
.agree_tbl{width:100%; border-collapse:collapse;}
.agree_tbl thead tr:first-child th{border-top:2px solid #050f26;}
.agree_tbl th,
.agree_tbl td{height:50px; padding:0 16px; text-align:center; vertical-align:middle; border-top:1px solid #d0d7e6; border-bottom:1px solid #d0d7e6; border-left:1px solid #d0d7e6; border-right:1px solid #d0d7e6;}
.agree_tbl th:first-child,
.agree_tbl td:first-child{border-left:none;}
.agree_tbl th:last-child,
.agree_tbl td:last-child{border-right:none;}
.agree_tbl thead th{background:#f9faff; font-size:1.7rem; font-weight:600; color:#202738;}
.agree_tbl tbody td{font-size:1.7rem; color:#444; font-weight:400;}
.agree_tbl_underline{text-decoration:underline;}

/* 테이블 하단 노트 */
.agree_tbl_note{margin-top:14px;}
.agree_tbl_note_main{font-size:1.8rem; color:#444; line-height:1.6;}
.agree_dot_list{margin-top:6px; padding-left:10px; list-style:none;}
.agree_dot_list > li{font-size:1.5rem; color:#444; line-height:1.7; padding-left:14px; position:relative;}
.agree_dot_list > li::before{content:'·'; position:absolute; left:0; top:0;}

/* 동의 라디오 */
.agree_radio_wrap{display:flex; align-items:center; justify-content:flex-end; gap:32px; padding:16px 24px; background:#f7f7f7; border-top:1px solid #eee;}
.agree_radio_item{display:flex; align-items:center; gap:6px; cursor:pointer;}
.agree_radio{accent-color:#2a4ea4; width:18px; height:18px; cursor:pointer;}
.agree_radio_txt{font-size:1.5rem; color:#333;}

/* 전체 동의 체크박스 */
.agree_all_chk_wrap{margin-top:20px; padding:16px 20px;}
.agree_all_chk_item{display:flex; align-items:center; gap:10px; cursor:default; justify-content: center;}
.agree_all_chk_label{display:flex; cursor:pointer;}
.agree_all_chk{accent-color:#1a4fa0; width:18px; height:18px; margin-top:1px; flex-shrink:0; cursor:pointer;}
.agree_all_chk_txt{font-size:2rem; color:#222; cursor:default;}

/* ── 공통 하단 버튼 ── */
.apply_step_btn_wrap{display:flex; justify-content:center; gap:10px; margin-top:36px; padding-bottom:20px;}
.step_btn{display:inline-flex; align-items:center; justify-content:center; width:150px; height:60px; border-radius:7px; font-size:1.6rem; font-weight:600; cursor:pointer; border:none; text-decoration:none; transition:background .15s, color .15s;}
.step_btn_cancel,.step_btn_prev{background:#4b505a; color:#fff;}
.step_btn_cancel:hover,.step_btn_prev:hover{background:#3a3f47;}
.step_btn_next{background:#2a4ea4; color:#fff;}
.step_btn_next:hover{background:#1f3d85;}

/* ── STEP 3 : 결제 영역 placeholder ── */
.payment_area{min-height:200px; border:2px dashed #d0d7e6; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#aaa; font-size:1.5rem;}

/* ── sub04_04_02 반응형 : 768px ── */
@media (max-width:768px){

    /* 스텝 인디케이터 */
    .apply_step_wrap{padding:28px 0 32px;}
    .apply_step_circle{width:100px; height:100px;}
    .apply_step_circle .step_icon_grey,
    .apply_step_circle .step_icon_blue{width:28px;}
    .apply_step_name{font-size:1.4rem;}
    .apply_step_arrow{width:40px; height:80px;}
    .apply_step_arrow img{width:16px;}

    /* 동의서 헤드 */
    .agree_head_box{padding:22px 20px;}
    .agree_head_tit{font-size:2.2rem;}
    .agree_head_law{font-size:1.5rem;}
    .agree_head_desc{font-size:1.5rem; margin-top:20px;}

    /* 동의서 섹션 */
    .agree_section_hd{flex-wrap:wrap; gap:8px; padding:16px 16px;}
    .agree_section_num{font-size:1.8rem;}
    .agree_section_tit{font-size:1.8rem; flex:1 1 60%;}
    .agree_detail_btn{width:120px; height:36px; font-size:1.3rem;}
    .agree_section_body{padding:16px;}

    /* 동의서 테이블 — 세로 스택 */
    .agree_tbl thead{display:none;}
    .agree_tbl tbody tr{display:flex; flex-direction:column; border-bottom:1px solid #d0d7e6;}
    .agree_tbl tbody td{border:none; border-bottom:1px solid #eef0f6; text-align:left; height:auto; padding:10px 14px; font-size:1.4rem;}
    .agree_tbl tbody td:last-child{border-bottom:none;}
    .agree_tbl tbody td::before{content:attr(data-label); display:block; font-size:1.3rem; font-weight:600; color:#2a4ea4; margin-bottom:4px;}
    .agree_tbl_underline{text-decoration:none;}

    .agree_tbl_note_main{font-size:1.5rem;}
    .agree_dot_list > li{font-size:1.4rem;}

    /* 라디오 */
    .agree_radio_wrap{padding:12px 16px; gap:20px;}
    .agree_radio_txt{font-size:1.4rem;}

    /* 전체동의 */
    .agree_all_chk_wrap{padding:14px 16px;}
    .agree_all_chk_txt{font-size:1.4rem;}

    /* 하단 버튼 */
    .apply_step_btn_wrap{gap:8px; margin-top:28px;}
    .step_btn{width:130px; height:52px; font-size:1.4rem;}

    /* 응시원서 테이블 */
    .app_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .app_tbl{min-width:600px;}
    .app_inp_200{width:140px;}
    .app_inp_email{width:120px;}

    /* STEP3 info 테이블 */
    .info_tbl_wrap{overflow-x:auto;}
    .info_tbl{min-width:500px;}

    /*20260629 수정4*/
    .pay_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .pay_tbl{table-layout:auto; min-width:800px;}
    .pay_tbl .col_year{width:16% !important;}
    /*//20260629 수정4*/
}

/* ── sub04_04_02 반응형 : 480px ── */
@media (max-width:480px){

    /* 스텝 인디케이터 */
    .apply_step_wrap{padding:20px 0 24px;}
    .apply_step_circle .step_icon_grey,
    .apply_step_circle .step_icon_blue{width:20px;}
    .apply_step_name{font-size:1.2rem; white-space:normal; text-align:center; max-width:60px; word-break:keep-all;}
    .apply_step_arrow{width:28px; height:60px;}
    .apply_step_arrow img{width:12px;}

    /* 동의서 헤드 */
    .agree_head_tit{font-size:1.8rem; display:block;}
    .agree_head_law{font-size:1.3rem; display:block; margin-left:0; margin-top:4px;}
    .agree_head_desc{font-size:1.4rem; margin-top:16px;}

    /* 동의서 섹션 */
    .agree_section_hd{padding:14px 12px;}
    .agree_section_num{font-size:1.6rem;}
    .agree_section_tit{font-size:1.6rem;}
    .agree_detail_btn{width:110px; height:34px; font-size:1.2rem;}

    /* 라디오 */
    .agree_radio_wrap{justify-content:flex-end; gap:16px; padding:10px 12px;}
    .agree_radio_txt{font-size:1.3rem;}

    /* 전체동의 */
    .agree_all_chk_txt{font-size:1.3rem;}

    /* 하단 버튼 */
    .step_btn{width:120px; height:48px; font-size:1.3rem;}

    /* 응시원서 테이블 */
    .app_tbl{min-width:520px;}

    /* STEP3 */
    .new03_box{padding:20px 16px !important;}
    .pay_method_area{flex-direction:column; gap:12px;}

    /*20260629 수정4*/
    /* 결제정보 테이블 반응형 — 스크롤 */
    .pay_tbl_wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .pay_tbl{table-layout:auto; min-width:800px;}
    /*//20260629 수정4*/
}


/*------------------------------------------------------------------------------*/
/* sub03_03 - 면허신고센터 바로가기 카드
/*------------------------------------------------------------------------------*/
/*20260619 수정*/
.lrc_login_banner{display:flex; align-items:center; justify-content:space-between; background:#f4f6fb; border:1px solid #d7dce8; border-radius:15px; padding:20px; box-shadow:0 4px 20px rgba(0,0,0,0.06); margin-bottom:40px;}
.lrc_login_info{display:flex; align-items:center; gap:16px;}
.lrc_login_icon{display:block;}
.lrc_login_txt{font-size:2rem; font-weight:700; color:#333;}
.lrc_login_btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; width:340px; height:50px; background:#2a4ea4; border-radius:8px; font-size:1.8rem; color:#fff; text-decoration:none; white-space:nowrap; transition:background 0.2s;}
.lrc_login_btn:hover{background:#1e3d85;}
.lrc_login_btn:focus-visible{outline:2px solid #2a4ea4; outline-offset:2px;}
.lrc_login_btn_ico{display:block;}
/*//20260619 수정*/

/*20260619 수정*/
.lrc_manual_wrap{position:relative; margin-top:80px; overflow:hidden; border-radius:15px;}
.lrc_manual_img{display:block; width:100%; height:auto;}
.lrc_manual_overlay{position:absolute; top:0; left:120px; display:flex; flex-direction:column; justify-content:flex-start; padding-top:100px;}
.lrc_manual_tit{font-size:3rem; font-family:'YeogiOttaeJalnanGothic', sans-serif; font-weight:400; color:#333; line-height:1.4;}
.lrc_manual_btn{display:inline-flex; align-items:center; justify-content:space-between; gap:10px; width:204px; height:50px; background:#7b35a3; border-radius:7px; font-size:1.8rem; color:#fff; text-decoration:none; white-space:nowrap; margin-top:40px; transition:background 0.2s; padding:0 30px;}
.lrc_manual_btn:hover{background:#632a85;}
.lrc_manual_btn:focus-visible{outline:2px solid #7b35a3; outline-offset:2px;}
.lrc_manual_btn_ico{display:block;}
.lrc_manual_toc{position:absolute; top:0; right:0; bottom:0; width:65%; border-bottom-right-radius:15px; border-top-right-radius:15px; padding:100px 50px; overflow-y:auto;}
.toc_row{display:flex; align-items:baseline; line-height:2;}
.toc_label{flex-shrink:0; order:1;}
.toc_row::after{content:''; flex:1; border-bottom:1px dashed #444; margin:0 8px; position:relative; top:-4px; min-width:20px; order:2;}
.toc_page{flex-shrink:0; min-width:30px; text-align:right; order:3;}
.toc_chapter .toc_label{font-size:2.3rem; color:#444; font-weight:700;}
.toc_chapter .toc_page{font-size:1.6rem; color:#444;}
.toc_section{margin-top:10px;}
.toc_section .toc_label{font-size:1.9rem; color:#0018ff; font-weight:700;}
.toc_section .toc_page{font-size:1.6rem; color:#444;}
.toc_sub .toc_label{font-size:1.6rem; color:#444; font-weight:400; padding-left:5px;}
.toc_sub .toc_page{font-size:1.6rem; color:#444;}
.toc_badge{display:inline-block; vertical-align:middle; margin-left:4px;}
/*20260623 수정*/
a.toc_link{display:inline; background:#fff; border:1px solid #4da33c; padding:0 4px; padding-right:22px; color:#157e00 !important; text-decoration:none; border-radius:3px; background-image:url(../images/sub/green_link_go.png); background-repeat:no-repeat; background-position:right 5px center; cursor:pointer; margin:-4px 0; line-height:inherit; box-sizing:border-box;}
a.toc_link:hover{background-color:#e7f4e5;}
/*//20260623 수정*/
/*//20260619 수정*/

.lrc_card_list { display: flex; gap: 40px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.lrc_card { flex: 1; max-width: 430px; background: #f4f6fb; border: 1px solid #e1e5ee; border-radius: 15px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); display: flex; flex-direction: column; align-items: center; padding: 50px 40px 44px; }
.lrc_card_img_wrap { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; }
.lrc_card_img_wrap img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.lrc_card_tit { margin-top: 30px; font-size: 2.4rem; font-weight: 700; color: #222; text-align: center; line-height: 1.4; word-break: keep-all; }
.lrc_card_btn { display: inline-flex; align-items: center; justify-content: space-between; padding:0 30px; width: 220px; height: 50px; margin-top: 30px; background: #1a4fa0; border-radius: 8px; color: #fff; font-size: 1.8rem; font-weight: 600; text-decoration: none; transition: background 0.2s; flex-shrink: 0; }
.lrc_card_btn:hover { background: #163d80; }
.lrc_card_btn:focus-visible { outline: 2px solid #1a4fa0; outline-offset: 3px; }
.lrc_btn_ico { display: block; width: auto;  flex-shrink: 0; }
/*20260624 수정*/
.license_manual_step{margin-top:50px;}
.license_manual_head{text-align:center;}
.manual_kicker{ font-family:'YeogiOttaeJalnanGothic',sans-serif; font-size:2rem; color:#8f8f8f; text-align:center; margin-bottom:10px; }
.manual_title_wrap{ position:relative; }
.manual_title_row{display:flex;align-items:flex-end;justify-content:center;gap:24px;flex-wrap:wrap;}
.manual_title{ font-size:4.2rem; color:#222; font-weight:700; text-align:center; line-height:1.3; } 
.manual_desc{ position:absolute; right:0; bottom:8px; font-size:1.8rem; color:#444; line-height:1.4; }
.manual_bookmark{position:relative;margin-top:30px; border-bottom:3px solid #253a66;}
.manual_bookmark span{display:inline-flex;align-items:center;height:48px;padding:0 34px 0 24px;background:#253a66;color:#fff;font-size:2rem;font-weight:500;border-radius:8px 8px 0 0;position:relative;}
.manual_bookmark span::after{content:"";position:absolute;right:-25px;top:0;width:50px;height:48px;background:#253a66;transform:skewX(28deg);border-radius:0 8px 0 0;z-index:-1;}
.manual_img_box{margin-top:30px;padding:40px;border:1px solid #d4d4d4;border-radius:15px;text-align:center;}
.manual_img{display:inline-block;max-width:100%;height:auto;}
.manual_btn_box{margin-top:30px;padding:35px 40px;border:1px solid #d4d4d4;border-radius:15px;}
.manual_btn_item{display:flex;align-items:center;gap:55px;}
.manual_btn_item+.manual_btn_item{margin-top:20px;}
.manual_btn{display:flex;align-items:center;justify-content:center;width:115px;height:40px;border-radius:5px;font-size:1.6rem;font-weight:500;color:#fff;}
.manual_btn_save{background:#2c72b0;}
.manual_btn_cancel{background:#a0a0a0;}
/*20260701 수정*/
.manual_btn_info{background:#7b35a3;}
/*//20260701 수정*/
.manual_btn_txt{font-size:1.8rem;color:#444;line-height:1.5;}
.manual_step_box{margin-top:30px;border:1px solid #d4d4d4;border-radius:15px;overflow:hidden;}
.manual_step_item{padding:30px 35px;border-bottom:1px solid #d4d4d4;}
.manual_step_item:last-child{border-bottom:0;}
.manual_step_head{display:flex;align-items:flex-start;gap:25px;}
.manual_step_head.type2{align-items: center;}
.manual_step_num{flex-shrink:0;font-size:5rem;color:#ff0000;font-weight:700;}
.manual_step_txt{font-size:1.8rem;color:#444;line-height:1.6;}
.manual_step_img{margin:20px 0;text-align:left;}
.manual_step_content{flex:1;}
.manual_step_desc+.manual_step_desc{margin-top:25px;}
.manual_step_desc p{position:relative;padding-left:16px;font-size:1.8rem;color:#444444;line-height:1.6;}
.manual_step_desc p::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:#444;border-radius:50%;}
.manual_step_img{margin-top:10px;}
.manual_step_img img{display:block;max-width:100%;height:auto;}
/*//20260624 수정*/
/* ── 반응형 ── */

/*20260619 수정*/
@media (max-width: 1200px) {
    .lrc_manual_wrap{margin-top:50px; overflow:visible; border-radius:0;}
    .lrc_manual_img{display:none;}
    .lrc_manual_overlay{position:static; padding:40px 30px; background:#f4f6fb; border-radius:15px; align-items:center;}
    .lrc_manual_tit{text-align:center;}
    .lrc_manual_toc{position:static; width:100%; height:auto; border-radius:15px; padding:40px 30px; margin-top:20px; border:1px solid #e1e5ee;}
}
@media (max-width:1024px){
    .manual_desc{position:static;margin-top:8px;text-align:center;}
    .manual_img_box{padding:30px;}
    .manual_btn_box{padding:30px;}
    .manual_step_item{padding:28px 30px;}
    .manual_step_num{font-size:4rem;}
}
/*//20260619 수정*/
@media (max-width: 900px) {
    /*20260619 수정*/
    .lrc_login_banner{margin-bottom:30px;}
    .lrc_login_btn{width:280px; height:46px; font-size:1.6rem;}
    /*//20260619 수정*/
    .lrc_card_list { gap: 24px; }
    .lrc_card { padding: 36px 28px 36px; }
    .lrc_card_img_wrap { height: 160px; }
    .lrc_card_tit { font-size: 2rem; margin-top: 24px; }
    .lrc_card_btn { width: 190px; height: 46px; font-size: 1.6rem; margin-top: 24px; }
    .lrc_btn_ico { height: 17px; }
}

@media (max-width: 768px) {
    /*20260624 수정*/
    .sub_con03_03 { display:flex; flex-direction:column; }
    .lrc_login_banner { order:2; margin-bottom:0; margin-top:16px; }
    .lrc_manual_wrap { display:contents; }
    .lrc_manual_img { display:none; }
    .lrc_manual_overlay { order:1; }
    .lrc_manual_toc { order:3; position:static !important; width:100% !important; margin-top:16px; }
    .lrc_manual_overlay { background:#f4f6fb; border:1px solid #d7dce8; border-radius:16px; padding:24px 20px; align-items:flex-start; }
    .lrc_manual_overlay .lrc_manual_tit { color:#333; font-size:2rem; text-align:left; }
    .lrc_manual_tit br { display:none; }
    .lrc_manual_overlay .lrc_manual_tit::before { content:'신고 시스템 매뉴얼'; display:block; font-size:1.2rem; font-weight:400; color:#888; font-family:inherit; margin-bottom:4px; }
    .lrc_manual_btn { width:100%; border-radius:8px; font-size:1.5rem; height:44px; margin-top:16px; justify-content:center; }
    .lrc_manual_toc { margin-top:16px; padding:20px 16px; border-radius:12px; }
    .toc_row::after { display:none; }
    .toc_page { display:none; }
    .toc_chapter .toc_label { font-size:1.6rem; }
    .toc_section { margin-top:14px; }
    .toc_section .toc_label { font-size:1.5rem; font-weight:700; }
    .toc_sub .toc_label { font-size:1.4rem; padding-left:0; }
    .toc_sub { line-height:2.2; }
    a.toc_link { border:1px solid #4da33c; color:#157e00 !important; background:#e7f4e5; background-image:none; padding:2px 8px; border-radius:14px; font-size:1.3rem; }

    .lrc_login_banner { flex-direction:row; gap:12px; padding:16px; border-radius:12px; }
    .lrc_login_info { flex-direction:column; gap:4px; flex:1; }
    .lrc_login_icon { width:24px; height:24px; display:none; }
    .lrc_login_txt { font-size:1.5rem; }
    .lrc_login_info .lrc_login_icon { display:block; }
    .lrc_login_info .lrc_login_txt { font-size:1.4rem; font-weight:400; color:#888; }
    .lrc_login_btn { width:auto; flex:1; max-width:none; height:44px; font-size:1.5rem; }
    /*//20260624 수정*/
    .lrc_card_list { flex-direction: column; align-items: center; gap: 20px; }
    .lrc_card { width: 100%; max-width: 480px; padding: 32px 24px; }
    .lrc_card_img_wrap { height: 150px; }
    .lrc_card_tit { font-size: 2rem; margin-top: 22px; }
    .lrc_card_btn { width: 200px; height: 48px; font-size: 1.7rem; margin-top: 22px; }
        .license_manual_step{margin-top:35px;}
    .manual_kicker{font-size:1.6rem;}
    .manual_title{font-size:3rem;}
    .manual_desc{font-size:1.5rem;}
    .manual_bookmark{margin-top:24px;border-bottom-width:2px;}
    .manual_bookmark span{height:42px;padding:0 26px 0 18px;font-size:1.6rem;}
    .manual_bookmark span::after{right:-20px;width:40px;height:42px;}
    .manual_img_box{margin-top:20px;padding:20px;border-radius:12px;overflow-x:auto;}
    .manual_img{max-width:none;width:720px;}
    .manual_btn_box{margin-top:20px;padding:24px 20px;border-radius:12px;}
    .manual_btn_item{gap:20px;}
    .manual_btn{width:100px;height:38px;font-size:1.4rem;}
    .manual_btn_txt{font-size:1.6rem;}
    .manual_step_box{margin-top:20px;border-radius:12px;}
    .manual_step_item{padding:24px 20px;}
    .manual_step_head{gap:14px;}
    .manual_step_head.type2{align-items:flex-start;}
    .manual_step_num{font-size:3rem;line-height:1;}
    .manual_step_txt,.manual_step_desc p{font-size:1.5rem;}
    .manual_step_desc p::before{top:9px;width:6px;height:6px;}
    .manual_step_img{overflow-x:auto;padding-bottom:5px;}
    .manual_step_img img{max-width:none;width:100%;}
}

@media (max-width: 480px) {
    /*20260619 수정*/
    .lrc_login_banner{padding:16px; margin-bottom:20px;}
    .lrc_login_txt{font-size:1.6rem;}
    .lrc_login_btn{height:44px; font-size:1.5rem;}
    .lrc_manual_overlay{padding:30px 20px;}
    .lrc_manual_tit{font-size:2.2rem;}
    .lrc_manual_btn{width:170px; height:42px; font-size:1.5rem; margin-top:24px; padding:0 20px;}
    .lrc_manual_toc{padding:30px 16px;}
    .toc_chapter .toc_label{font-size:1.8rem;}
    .toc_section .toc_label{font-size:1.5rem;}
    .toc_sub .toc_label{font-size:1.3rem;}
    /*//20260619 수정*/
    .lrc_card { padding: 28px 20px; }
    .lrc_card_img_wrap { height: 130px; }
    .lrc_card_tit { font-size: 1.8rem; margin-top: 18px; }
    .lrc_card_btn { width: 180px; height: 44px; font-size: 1.5rem; margin-top: 18px; gap: 8px; }
    .lrc_btn_ico { height: 15px; }
    .license_manual_step{margin-top:28px;}
    .manual_title{font-size:2.5rem;line-height:1.25;}
    .manual_bookmark span{height:38px;font-size:1.4rem;padding:0 22px 0 14px;}
    .manual_bookmark span::after{right:-17px;width:34px;height:38px;}
    .manual_img_box{padding:15px;}
    .manual_btn_item{display:block;}
    .manual_btn_item+.manual_btn_item{margin-top:18px;}
    .manual_btn{width:100%;height:40px;}
    .manual_btn_txt{margin-top:8px;font-size:1.5rem;line-height:1.5;}
    .manual_step_item{padding:20px 15px;}
    .manual_step_head{gap:10px;}
    .manual_step_num{font-size:2.6rem;}
    .manual_step_desc+.manual_step_desc{margin-top:20px;}
    .manual_step_img img{width:100%;}
}

/*20260626 수정*/
.edu_guide_popup_overlay{display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2100; align-items:center; justify-content:center; padding:20px; box-sizing:border-box;}
.edu_guide_popup_overlay.is_open{display:flex;}
.edu_guide_popup_wrap{position:relative; width:920px; max-width:calc(100% - 40px);}
.edu_guide_popup_close{position:absolute; top:-60px; right:0; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:rgba(0,0,0,0.7); border:none; cursor:pointer; padding:0; z-index:1;}
.edu_guide_popup_close img{width:20px; display:block;}
.edu_guide_popup_close:hover{background:rgba(0,0,0,0.9);}
.edu_guide_popup{background:#fff; border-radius:20px; overflow-y:auto; max-height:calc(100vh - 80px); box-sizing:border-box;}
.edu_guide_popup_header{text-align:center; padding:20px 40px 0;}
.edu_guide_popup_badge{margin-bottom:10px;}
.edu_guide_popup_title{font-size:3.2rem; font-weight:800; color:#222; margin:0;}
.edu_guide_popup_body{padding:20px 30px 0;}
.edu_guide_card{display:flex; align-items:flex-start; gap:50px; border:1px solid #e5e5e5; border-radius:14px; padding:24px 28px; margin-bottom:16px;}
.edu_guide_card_icon{width:80px; flex-shrink:0;}
.edu_guide_card_body{flex:1;}
.edu_guide_card_tit{font-size:1.8rem; font-weight:700; color:#222; line-height:1.5;}
.edu_guide_step_row{display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap;}
.edu_guide_step_box{display:inline-block; padding:8px 18px; border-radius:6px; font-size:1.4rem; font-weight:600; background:#fee8e5; color:#f12727;}
.edu_guide_step_arrow{width:16px; flex-shrink:0;}
.edu_guide_popup_footer{text-align:center; padding:10px 40px 20px;}
.edu_guide_check_label{display:inline-flex; align-items:center; gap:8px; font-size:1.5rem; color:#555; cursor:pointer;}
.edu_guide_check_label input[type="checkbox"]{width:18px; height:18px; cursor:pointer;}
.edu_guide_confirm_btn{display:block; margin:20px auto 0; padding:14px 80px; background:#2a4ea4; color:#fff; font-size:1.8rem; font-weight:600; border:none; border-radius:8px; cursor:pointer;}
.edu_guide_confirm_btn:hover{background:#1e3d85;}
@media (max-width:768px){
    .edu_guide_popup_wrap{max-width:calc(100% - 20px);}
    .edu_guide_popup_close{width:40px; height:40px; top:-50px;}
    .edu_guide_popup_header{padding:20px 16px 0;}
    .edu_guide_popup_title{font-size:2.4rem;}
    .edu_guide_popup_body{padding:16px 16px 0;}
    .edu_guide_card{flex-direction:column; align-items:center; text-align:center; gap:16px; padding:20px 16px;}
    .edu_guide_card_icon{width:50px;}
    .edu_guide_card_tit{font-size:1.5rem;}
    .edu_guide_step_row{flex-direction:column; align-items:center;}
    .edu_guide_step_arrow{transform:rotate(90deg);}
    .edu_guide_step_box{font-size:1.2rem; padding:6px 12px;}
    .edu_guide_step_box.red{background:#fee8e5; color:#f12727;}
    .edu_guide_popup_footer{padding:16px 16px 20px;}
    .edu_guide_confirm_btn{padding:12px 50px; font-size:1.6rem;}
    .edu_guide_check_label{font-size:1.3rem;}
}
/*//20260626 수정*/

/*20260626 수정2*/
.edu_method_title{font-size:4.2rem; color:#222; font-weight:600; text-align:center;}
.edu_method_list{margin-top:30px; display:flex; flex-direction:column; gap:30px;}
.edu_method_item.full{width:100%;}
.edu_method_row{display:flex; gap:60px;}
/*20260630 수정*/
.edu_method_item.half{flex:0 1 calc(50% - 30px); min-width:0; display:flex; flex-direction:column;}
/*//20260630 수정*/
.edu_method_item.half .edu_method_body{flex:1;}
.edu_method_header{display:flex; align-items:center; gap:20px; height:90px; background:#2a3c63; border-radius:15px 15px 0 0; padding:0 30px; box-sizing:border-box;}
.edu_method_num{display:flex; align-items:center; justify-content:center; width:50px; height:50px; min-width:50px; background:#fff; border-radius:22px 22px 5px 22px; font-family:'YeogiOttaeJalnanGothic', sans-serif; font-size:2.2rem; color:#2a3c63; font-weight:700;}
.edu_method_header_txt{font-size:2.2rem; color:#fff; font-weight:700; line-height:1.4; word-break:keep-all;}
.edu_method_body{border:1px solid #2a3c63; border-radius:0 0 15px 15px; background:#fff; padding:50px; border-top:none;}
.edu_method_img{display:block; width:100%; height:auto;}
@media (max-width:768px){
    .edu_method_title{font-size:2.8rem;}
    .edu_method_header{height:auto; min-height:70px; padding:16px 20px; border-radius:10px 10px 0 0; gap:14px;}
    .edu_method_num{width:40px; height:40px; min-width:40px; font-size:1.8rem; border-radius:18px 18px 4px 18px;}
    .edu_method_header_txt{font-size:1.6rem;}
    .edu_method_body{padding:20px 16px; border-radius:0 0 10px 10px;}
    .edu_method_row{flex-direction:column; gap:30px;}
    .edu_method_img{cursor:zoom-in;}
}
.img_zoom_overlay{display:none; position:fixed; inset:0; background:rgba(0,0,0,0.85); z-index:9999; align-items:center; justify-content:center;}
.img_zoom_overlay.is_open{display:flex;}
.img_zoom_close{position:absolute; top:16px; right:16px; width:44px; height:44px; background:rgba(255,255,255,0.2); border:none; border-radius:50%; color:#fff; font-size:2.8rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:1;}
.img_zoom_close:hover{background:rgba(255,255,255,0.4);}
.img_zoom_wrap{width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none;}
.img_zoom_target{max-width:95vw; max-height:90vh; object-fit:contain; transition:transform 0.2s ease; user-select:none; -webkit-user-select:none;}
/*//20260626 수정2*/
