/*.m_list.on > a{
    color:#6C9A12;
}*/

.s_visual {
    display: flex;
    justify-content: center;
    align-items: center;
    height:147px;
    background: url('../img/s_visual01.jpg') no-repeat center center;
    background-size: cover;
}
.s_visual.s02 {
    background-image: url('../img/s_visual02.jpg');
}
.s_visual.s03 {
    background-image: url('../img/s_visual03.jpg');
}
.s_visual.s04 {
    background-image: url('../img/s_visual04.jpg');
}
.s_cate {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    padding-bottom: 14px;
}
.s_cate .s_cate01,.s_cate .s_cate02 {
    display: flex;
    align-items: center;
}
.s_cate img {
    padding: 0 10px;
}
.s_cate .s_cate01 img {
    height:16px;
    padding-left: 0;
}
.s_cate .s_cate02 img {
    height:12px;
}
.sv_tit {
    font-size: 40px;
    font-family: 'GMarketSansB';
    text-align: center;
}
.sub {
    padding-top: 80px;
    padding-bottom: 100px;
    min-height: 300px;
}

/*교육신청 sub01*/
.s1 .menu_tab_li {
    width:33.3333%
}
.s1 .menu_tab_li img {
    width: 14px;
    margin-right: 8px;
}
.edu_tab_li:nth-child(4n) {
    border-right: 0;
}
.edu_tab_li:nth-child(5),.edu_tab_li:nth-child(6),.edu_tab_li:nth-child(7),.edu_tab_li:nth-child(8){
    border-bottom: 0;
}
.edu_tab_li img {
    height:16px;
    margin-right: 10px;
}
.cate_tab_li span {
    display: flex;
    align-items: center;
}
.srch_box {
    display: flex;
    align-items: center;
    margin-top: 50px;
}
.srch_btn {
    display: flex;
    align-items: center;
}
.srch_btn button {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'GMarketSans';
    width:145px;
    height:62px;
    
}
.srch_box .srch_btn button{
    margin-left: 10px;
}
.icon-wrap {
    display: inline-block;
    position: relative;
    margin-bottom: 4px;
    margin-left: 10px;
}
span.more-icon {
    width: 12px;
    display: block;
    height: 2px;
    background: #fff;
    border-radius: 999px;
}
span.more-icon02 {
    position:absolute;
    top:50%;
    left: 50%;
    width: 12px;
    transform: translateX(-50%) rotate(90deg);
    transition:.3s;
}
.srch_more_view.on span.more-icon02{
    transform: translateX(-50%) rotate(180deg);
    transition:.3s;
}
.srch_li_box {
    display: flex;
    align-items: center;
}
.srch_li {
    display: flex;
    align-items: center;
    padding-bottom: 14px;
    padding-right: 30px;
}
.srch_li_box04 .srch_li {
    padding-bottom: 0;
}
.srch_li h3 {
    width:70px;
    font-size: 18px;
    margin-right: 20px;
}
.srch_more_box {
    display: none;
}
.srch_more {
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 20px;
    margin-top: 20px;
}

.srch_li_box01 .srch_li01 select {
    width:100px;
}
.srch_li_box01 .srch_li02 select {
    width:262px;
}
.srch_li_box02 select {
    width:262px;
}
.srch_li_box label {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height:46px;
    background: #fff;
    border-radius: 4px;
    border: 1px solid #ddd;
}
input[type="radio"]:checked + label {
    background: #619300;
    color:#fff;
}
.srch_li input[type="radio"] {
    display: none;
}
.srch_more_btn {
    justify-content: center;
    margin-top: 20px;
}
.edu_md_tit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width:75px;
    height:32px;
    border: 1px solid #ddd;
    margin-right: 10px;
    color: #666;
    font-weight: 500;
}
/* 2줄 라벨 — '오프라인교육기간' 처럼 라벨 박스 폭(목록 75px / 상세 90px)을 넘는 항목용.
   inline-flex 를 inline-block 으로 되돌려야 라벨 안의 <br> 개행이 먹는다. */
.edu_md_tit.tit_2line {
    display: inline-block;
    height: auto;
    min-height: 32px;
    padding: 4px 0;
    text-align: center;
    line-height: 1.25;
    font-size: 13px;
}
.edu_view .edu_info_list .edu_md_tit.tit_2line {
    min-height: 0;
    padding: 8px 0;
    font-size: inherit;
}
.edu_list_md  {
    display: flex;
    flex: 3;
    padding-right: 10px;
    box-sizing: border-box;
}
.edu_list_md_ul01 {
    padding-right: 40px;
}
.s1_edu_list .edu_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 22px;
}
.edu_list_rg{
	flex: 1;
	display: flex;
	flex-direction: row;
	gap: 8px;
	justify-content: flex-end;
	align-items: center;
}
 
.s1_edu_list .edu_list:last-child{
    margin-bottom: 0;
}
.s1_edu_list .edu_list_lt {
    width: auto;
    flex: 3;
    padding-right: 10px;
    box-sizing: border-box;
}
.edu_list_rg button {
    width:130px;
    height:72px;
    font-family: 'GMarketSans';
    background: #00703F;
    font-size: 18px;
    border-radius: 4px;
}
.edu_list_rg .edu_open {
    background: #1a6fc4;
}
/* 교육기간 종료 과정의 '복습하기' — 진행중(.edu_open 파랑)·이수증출력(기본 초록)과 구분되는 사이트 팔레트 청록 */
.edu_list_rg .edu_review {
    background: #008d85;
}
.edu_list_rg button img {
    height: 15px;
    margin-left: 4px;
}
.edu_list_md_ul li {
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
}

.edu_list_md_ul li:last-child {
    margin-bottom: 0;
}
.edu_list_md_ul li span:nth-child(2) {
	display: inline-block; 
	width: calc(100% - 75px);
	padding-top: 8px;word-break: keep-all;
}
.edu_list_lt h4 {
    font-size: 24px;
    padding: 10px 0 20px;
    display: flex;
    align-items: center;
    font-weight: 300;
}

.edu_list_lt h4 .bdge{
    min-width: 35px;
    word-break: keep-all;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: 8px;
}
.hash_tit {
    padding: 4px 9px 2px;
    margin-right: 4px;
}
.edu_list_lt p {
    
}
.s1_edu_list_bot {
    
}
.srch_more input[type="date"] {
    background: #fff url(../img/icon/cal_bk.png) no-repeat right 10px center !important;
    background-size: 13px !important;
}
.srch_more select {
    background-image: url(../img/icon/select_bk.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 9px;
}

/*교육안내*/
.edu_table{
    width:100%;
    border-collapse:collapse;
    font-size:18px;
    margin-top: 0;
}

.edu_table th{
    background:#f5f5f5;
    text-align:center;
    padding:20px 14px;
    border:1px solid #ddd;
    font-weight:600;
}

.edu_table td{
    padding:14px;
    border:1px solid #ddd;
    line-height: 140%;
}

.overview ul li:not(:last-child) {
    margin-bottom: 10px;
}

.edu_table td ul.et_list li {
    position: relative;
    padding-left: 10px;
}
.edu_table td ul.et_list li::before {
    content:'';
    display: block;
    width: 4px;
    height: 4px;
    background: #666;
    position: absolute;
    top:50%;
    left: 0;
    border-radius:999px;
    transform:translateY(-50%)
}
.edu_table .sub_txt{
    color:#666;
    font-size:14px;
}

.section_tit{
    display:flex;
    align-items:center;
    font-size:28px;
    font-weight:700;
    position:relative;
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
}
.section_tit span {
    position: relative;
    padding: 10px 10px 15px 20px;
}

.section_tit::before{
    content:"◆";
    color:#004541;
    font-size:16px;
    margin-right:8px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.section_tit span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0px;
    width:100%;
    height:3px;
    background:#004541;
}

.section_line{
    border-bottom:1px solid #ddd;
    margin-bottom:30px;
}
.overview span.num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #008d85;
    color:#fff;
    margin-right: 8px;
}
.overview ul li, .sub_box_wrap .sub_box li{
    position: relative;
    padding-left: 12px;
    /*display: flex;
    align-items: center;
    gap: 8px;*/
}
.overview ul li::before, .sub_box_wrap .sub_box li::before{
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background: #666;
    border-radius: 999px;
    position: absolute;
    left: 0;
    top:10px;
}
.overview td ul li:not(:last-child), .sub_box_wrap .sub_box li {
    margin-bottom: 10px;
}
.overview .sub_table {
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    margin: 0;
    margin-bottom: 10px;
}
.overview .sub_table ul li::before, .overview .sub_box ul li::before{
    content: '';
    display: block;
    width: 5px;
    height: 3px;
    background: #666;
    border-radius: 0px;
    position: absolute;
    left: 0;
    top:10px;
}
.overview .sub_table th {
    background: #f0fcfd;
    border-right: 0;
    border-bottom: 0;
}
.overview .sub_table td {
    border-bottom: 0;
}
.overview p {
    padding-top: 10px;
    font-size: 14px;
    color:#666;
    line-height: 120%;
}
.overview .sub_box, .sub_box_wrap .sub_box{
    padding: 10px;
    border: 1px solid #ddd;
    margin-top: 20px;
}
.overview .tit_sub_box {
    background: #f0fcfd;
    padding: 20px;
    border-radius: 10px;
    color: #004541;
    border: 1px solid #c5e1e1;
    margin-top: 0;
    margin-bottom: 30px;
}
.overview .tit_sub_box p {
    padding-top: 20px;
    color: #004541;
}
.overview table h3 {
    font-size: 18px;
    margin-bottom: 10px;
}
.overview p.ys_empty {
    background: #f5f5f5;
    border-radius: 20px;
    font-size: 16px;
    padding: 30px;
    margin-top: 20px;
}
.s2 .overview {
    margin-top: 80px;
}
.ys_table {
    margin-top: 10px;
}
.sub_tab {
    display: flex;
    flex-wrap: wrap;
}
.sub_tab li {
    width:25%;
    cursor:pointer;
    padding: 15px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
}
.sub_tab li.on {
    border-bottom: 3px solid #008d85;
    color:#008d85;
    font-weight: 600;
}
.over_edu_btn a {
    padding: 15px 20px;
    color: #008d85;
    background: #E8F5E9;
    font-size: 16px;
    border-radius: 4px;
    transition:.3s;
}
.over_edu_btn a:hover {
    background: #008d85;
    color:#fff;
    transition:.3s;
}
.section_tit_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.overview{
    display: none;
}
.overview.on{
    display: block;
}
.overview table img, .tel img {
    width: 17px;
}
.overview table a {
    padding: 10px 20px;
    background: #eee;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: .3s;
}
#container a.tel {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    color: #004541;
    padding: 0;
    background: none;
}
.overview table a.files:hover {
    background: #e8f5e9;
    transition: .3s;
}
.sub_box p {
    display: flex;
    align-items:center;
    gap: 8px;
}
.sub_box_wrap .sub_box {
    margin-top: 30px;
}
.tit_sub_box {

}

    /* sub02 */
.s2 .menu_tab_li {
    width:50%

}
.s2 .edu_view {
    display: flex;
}
.loca_btn {
    padding: 6px 7px;
    border:1px solid #ddd;
    margin-left: 8px;
    border-radius: 4px;
    color: #666;
}
.loca_btn i {
    margin-right:4px;
}
.s2 .view_lt {
    margin-right: 60px;
    width: calc(100% - 400px);
}
.s2 .edu_view_tit {
    display: flex;
    align-items: center;
    font-size: 36px;
    font-weight: 300;
    padding-top: 10px;
    padding-bottom: 30px;
}
.edu_view_tab {
    display: flex;
    margin-bottom: 20px;
}
.edu_view_tab .tab_list{
    width:50%;
    background: #F9F9F9;
    border: 1px solid #ddd;
    cursor: pointer;
    padding: 16px 0;
    text-align: center;
    font-size: 18px;
}
.edu_view_tab .tab_list.on {
    background: #666;
    color:#fff;
    border: none;
}
.edu_view_cont {
    min-height: 525px;
    padding: 30px;
    border: 1px solid #ddd;
}
.edu_view_cont .cont {
    display: none;
}
.edu_view_cont .cont.on {
    display: block;
}
.s2 .view_rg {
    width:440px
}
.s2 .view_rg .img img {
    width:100%;
    border-radius: 4px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}
.s2 .view_rg .rg_info {
    margin-top: 30px;
}
.edu_view .edu_info_list {
    border: 1px solid #ddd;
    font-size: 14px;
    border-radius: 4px;
}
.edu_view .edu_info_list li {
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 0;
}
.edu_view .edu_info_list li:last-child{
    border-bottom: 0;
}
.edu_view .edu_info_list li .edu_md_txt {
    padding-top: 0;
}
.edu_view .edu_info_list .edu_md_tit {
    height: 100%;
    border: 0;
    padding: 12px 0;
    background: #f2f2f2;
    width: 90px;
    font-weight: 500;
    margin-right: 20px;
}
.edu_info_list li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-bottom: 10px;
}
.edu_info_list li .edu_md_txt {
    width: calc(100% - 75px);
    padding-top: 11px;
    line-height: 1;
}
/*.edu_info_list li .edu_md_txt.flex_al {
    padding-top: 4px
}*/
.edu_info_list li .map_pop {
    font-size: 14px;
    color: #666;
    background: #eee;
    padding: 6px 12px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    font-weight: 300;
    margin-left: 8px;
}
.edu_info_list li .map_pop img {
    height:13px;
    margin-right: 4px;
}
.edu_info_btn {
    display: flex;
    align-items: center;
    margin-top: 20px;
}
.edu_subs {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 70px;
    background: #00703F;
    color:#fff;
    border-radius: 4px;
    font-weight: 300;
    font-size: 20px;
}
.edu_file{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 143px;
    height: 72px;
    background:#F9F9F9;
    border: 1px solid #ddd;
    font-size: 18px;
    border-radius: 4px;
}
.edu_file_area {
    margin: 10px 0 30px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.edu_file_area h4 {
    text-align: center;
    border-radius: 4px;
    color: #666;
    background: #f2f2f2;
    font-size: 14px;
    border-bottom: 1px solid #ddd;
    padding: 10px;
    font-weight: 400;
}
.edu_file_wrap {
    padding: 15px;
}
.edu_file_list {
    padding: 10px 0;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.edu_file_list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
}
.edu_file_list li:not(:last-child){
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}
.edu_file_list i {
    font-size: 12px;
    margin-right: 4px;
}
.edu_file_list .file_icon img {
    width:18px;
    margin-right: 10px;
}
.edu_file_list .txt {
    display: flex;
    align-items: center;
    max-width: 240px;
    font-size: 14px;
}
.edu_file_list .btn {
    width: 95px;
    box-sizing: border-box;
    padding: 8px;
    text-align: center;
    font-size: 14px;
    background: #fff;
    border: 1px solid #00703f;
    color: #00703f;
    transition: .3s;
    font-weight: 500;
}
.edu_file_list .btn:hover{
    background: #00703f;
    color:#fff;
    transition: .3s;
}
.edu_file_all{
    width: 100%;
    border-radius: 4px;
    color: #00703f;
    background: #f3f8f6;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #e9e9e9;
    margin-top: 10px;
    padding: 10px 15px;
}
tr.file a {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
tr.file a:last-child {
    margin-bottom: 0;
}
tr.file a img {
    margin-right: 6px;
}
tr.file a b {
    font-size: 16px;
    font-weight: 500;
}
    /*sub02-1 교육신청 화면*/
.edu_view2_top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.edu_view2_box_wrap {
    margin-bottom: 30px;
    border: 1px solid #ddd;
    padding: 20px 20px;
}
.edu_view2_top .img {
    width:200px;
}
.edu_view2_top .img img {
    width: 100%;
}
.s2-1 .edu_list_lt {
    display: flex;
    align-items: center;
    flex: 7;
}
.s2-1 .edu_list_lt .txt {
    padding: 0 60px 0 30px;
}
.s2-1 table th {
    background: #eee;
    color:#666;
    padding: 10px 0;
    width: 150px;
    font-weight: 300;
}
.s2-1 table td {
    padding-left: 10px;
    word-break: break-all;
}
.edu_view2_box {
    margin-bottom: 50px;
    border-bottom: 1px dashed #ddd;
    padding-bottom: 30px;
}
.edu_view2 input[type="text"]{
    width: 300px; height: 46px; border: 1px solid #ccc; border-radius: 4px; padding: 0 4px; box-sizing: border-box;
}
.edu_view2 select {
    width: 320px; height: 46px; border: 1px solid #ccc; border-radius: 4px; padding: 0 10px;
}
.edu_view2_box:last-child{
    border-bottom: 0;
    padding-bottom: 0;
}
.edu_view2 .sub_table {
    text-align: center;
    border: 1px solid #ddd;
    margin-bottom: 20px;
}
.edu_view2 .sub_table th:first-child{
    border-right: 1px solid #ddd;
}

.edu_view2 .modal {
    padding: 10px;
    background: #EDF8D9;
    border-radius: 4px;
    font-size: 14px;
    margin-top: 10px;
}
h3.edu_view2_tit {
    font-size: 20px;
    font-weight: 300;
    padding-bottom: 10px;
}
.edu_view2_box02 {
    margin-bottom: 0;
}
.edu_view2_table {
    width: 100%;
    border: 1px solid #ddd;
    border-spacing: unset;
    margin-top: 0;
    font-size: 16px;
}
.edu_view2_table th, .edu_view2_table td {
    border-bottom: 1px solid #ddd;
}
.edu_view2_table tr:last-child th, .edu_view2_table tr:last-child td {
    border-bottom:0;
}
.edu_view2_bot .edu_subs {
    width:300px;
    margin: 0 auto;
}
.edu_view .edu_info_btn {
    justify-content: center;
}

.myupd th {
    background: #f7f7f7;
    border-bottom: 1px solid #ddd;
}
.myupd td {
    font-size: 16px;
}
.myupd input[type="text"] {
    height: 45px;
    text-indent: 15px;
}
.mypg_box .edu_list_wrap {
    width: auto;
    min-width: 650px;
}
.mypage a {
    display: block;
    height: 100%;
    padding: 6px 20px;
    color: #3d2300;
    font-weight: 500;
}
.mypage .edu_ing a {
    padding: 26px 20px;
}
.mypage li.on a {
    color: #739f1e;
    font-weight: 600;
}
.edu_view_waring {
    padding-top: 5px;
}
.edu_view_waring li {
    margin-top: 10px;
    position:relative;
    padding-left: 10px;
    color:#666;
}
.edu_view_waring li::before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background: #333;
    border-radius: 999px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.edu_view_waring li a {
    font-weight: 600;
}
/*login*/
.login_page {
    text-align: center;
    min-height: 500px;
    position: relative;
}
.join_page{
    position: relative;
}
.login_page::before, .join_page::before {
    content: '';
    display: block;
    width: 100%;
    height: 350px;
    background: #f3f3f3 url('../img/login_bg2.png') no-repeat;
    background-size: 427px;
    background-position: 19% 2%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
.join_page.pri::before {
    display: none;
}
.join_page::before {
    background-image: none;
}

.login_page .m_login {
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
    padding: 70px 40px 40px;
}
.login_page .m_login .log_save {
    margin: 20px 0 30px;
}
.login_page .log_info_page{
    text-align: left;
}

/*join_page*/
.join_page .cont {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
    padding: 30px 50px;
    min-height: 500px;
}
.join_page .sv_tit{
    padding-bottom: 30px;
}
.join_top {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 30px;
    border-bottom: 1px dashed #ddd;
    margin-bottom: 30px;
}
.join_top .arrow {
    margin: 0 40px;
    opacity: 0.2;
}
.join_step:last-child{
    margin-right: 0;
}
.join_step span{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width:80px;
    height:80px;
    background:#eee;
    border-radius: 999px;
    margin-bottom: 20px;
}
.join_step h3 {
    text-align: center;
}
.join_step.on span {
    background: #ECF7F8;
}
.join_step.on h3 {
    color: #009499;
}
.join01 .cont_step {
    padding: 30px;
    background: #f7f9f9;
    border-radius: 20px;
    margin: 30px 0;
}
.join01 h4 {
    font-size: 20px;
    text-align: center;
    margin-bottom: 30px;
}
.join01 .cont_step p {
    font-size: 18px;
    margin-top: 10px;
    padding-left: 12px;
    position: relative;
}
.join01 .cont_step p::before{
    content: '';
    display: block;
    width:5px;
    height:5px;
    background: #009499;
    border-radius: 999px;
    position: absolute;
    left: 0;
    top: 8px;
}
.join_btn {
    text-align: center;
    margin-top: 50px;
}
.join_btn button {
    background: #00aba1;
    margin: 0 5px;
    padding: 18px 50px;
}
.join_btn button.second{
    background: #006d66
}

.join02 .cont_step02 {
    height:150px;
    overflow-y: scroll;
}
.join02 .cont_step p::before {
    display: none;
}
.join_page .agree {
    display: flex;
    align-items: center;
}
.join_box {
    margin-bottom: 50px;
}
.join03-1 h4 {
    text-align: left;
    margin-bottom: 10px;
}
.join03 .cont_step03 {
    margin: 20px 0 20px;
}
.join03 .cont_step03-1 p {
margin-top: 0;
}
.join03 .cont_step03-1 {
    margin-bottom: 10px;
}
.join_page .req {
    color: #009499;
}
.join_page button.cancle {
    background: #eee;
    color:#222;
}
.join_page input[type="date"] {
    background: #fff url(../img/icon/cal_bk.png) no-repeat right 10px center !important;
    background-size: 13px !important;
}
.join_page th {
    font-size: 18px;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
}
.join_page th .req {
    margin-right: 10px;
    font-size: 13px;
}
.join_page th .small {
    font-size: 14px;
    font-weight: 400;
}
.join_page input[type="text"] {
    width: 300px;
    height: 40px;
}
.join_page input[type="password"] {
    width: 300px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-indent: 10px;
    font-size: 16px;
}
.join03 table button {
    background: #333;
    font-size: 16px;
    padding: 12px 19px;
    margin: 0 10px;
    border-radius: 4px;
}
.join_page .ad input.num {
    width:100px
}
.join_page .ad input:last-of-type {
    width: 490px;
    margin-top: 15px;
}
.join_page table td span {
    margin-left: 10px;
    font-size: 16px;
}
.join_page table select {
    width: 300px;
}
.cont_step04 h4 {
    font-size: 24px;
    margin-bottom: 0;
    color: #006d66;
}
.join04 .cont_step04 p {
    text-align: center;
    padding-bottom: 10px;
    
}
.join01 .cont_step04 p::before {
    display: none;
}
.join04 .cont_step04 img {
    max-width: 60px;
    opacity: 0.7;
}
.join04 .cont_step04 {
    text-align: center;
}
.join_step img {
    max-width: 30px;
}
/*개인정보처리방침, 이용약관*/
.pri {
    padding-top: 0;
}
.pri .sv_tit {
    background: #f2f2f2;
    padding: 80px 0;
    margin-bottom: 30px;
}
/*page04 시설소개*/
.s0302_slide .swiper-slide{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    overflow: hidden;
  }
  
  .s0302_slide .swiper-slide img{
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }
  
  .swiper_sum{
    display: none;
    margin-top: 10px;
    height: 150px;
  }
  
  .swiper_sum .swiper-slide{
    height: 100%;
    opacity: .4;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
  }
  
  .swiper_sum .swiper-slide-thumb-active{
    opacity: 1;
  }
  
  .swiper_sum .swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
  }
  .inner .swiper0302{
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0 auto;
    margin-top: 10px;
  }
  .s0302_slide{
    position: relative; 
    width: 100%;
    min-height: 400px;
  }
  .s0302_slide .swiper-button-prev,
.s0302_slide .swiper-button-next{
  color: #fff;
  z-index: 10; 
  top: 50%;
  transform: translateY(-50%);
}
.s0302_slide{
    position: relative;
    width: 100%;
  }
  
  .s0302_slide .swiper-wrapper{
    align-items: center;
  }
  .s0302_cont {
    margin-bottom: 100px;
  }
  .s_main_tit {
    font-size: 20px;
    max-width: 1000px;
    margin: 40px auto;
    text-align: center;
    padding: 10px;
    border: 1px solid #ddd;
    border-bottom: 3px solid #046AD2;
    box-sizing: border-box;
    font-family: 'Escoredream';
    color: #046AD2;
  }
  .s0302_cont h3.s_tit {
    max-width: 1000px;
    margin: 0 auto;
    border-bottom: 1px dashed #ddd;
    margin-bottom: 20px;
    color:#004541;
    font-size: 20px;
    text-align: center;
  }
  .s0302_cont h3.s_tit span {
    display: inline-block;
    padding-bottom: 10px;
    padding: 0 10px 10px 10px;
  }
  .s_tit_box {
    max-width: 1000px;
    margin: 0 auto;
    background: #f7f7f7;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 30px;
  }
  .s_tit_box.max{
    max-width: 100%;
  }
  
  .s_tit_box h3 {
    color: #003F86;
    font-size: 24px;
    padding-bottom: 10px;
  }
  .s0302 .content {
    border: 1px solid #ddd;
  }
.s03021_slide { position: relative; }
  .s03021_slide img{
    width: 100%;
    height: auto;
    object-fit: contain;
    display:block;
  }
  
  .s03021_thumb{
    margin-top: 10px;
    height: 90px;
  }
  .s03021_thumb .swiper-slide{
    height: 100%;
    opacity: .4;
    cursor: pointer;
    overflow: hidden;
  }
  .s03021_thumb .swiper-slide-thumb-active{ opacity: 1; }
  .s03021_thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display:block;
  }
  .s03021_slide .swiper-button-prev,
    .s03021_slide .swiper-button-next{
    display: none !important;
    }


    .s03021_cont {
        display: flex;
        justify-content: space-between;
    }

  .s321_slide {
    max-width: 600px;
  }
  .s321_slide h4{
    justify-content: center;
    font-size: 30px;
    font-weight: 600;
    padding-top: 0;
  }
  .s321_slide .edu_list_md_ul01 {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid #ddd;
  }
  .s0302-1 .s_main_tit {
    max-width: 1400px;
    margin-top: 0;
  }
  .s321_rg {
    width:calc(100% - 600px);
    padding-left: 30px;
  }


/*page04-2 예약및상담*/
.s42-step {
    display: flex;
    justify-content: space-between;
    padding: 30px 0;
}
.s42-step img{
    width: 100%;
}
.s42-step img.mo{
    display: none;
}
.sub_page_tit {
    margin-bottom: 20px;
    border-bottom: 1px dashed #ddd;
    color: #004541;
}
.sub_page_tit span {
    display: inline-block;
    padding: 0 10px 10px 10px;
}
.s42-list-txt {
    padding-top: 50px;
}
.s42-list-txt li {
    font-size: 18px;
    padding-left: 10px;
    padding-bottom: 10px;
    position: relative;
}
.s42-list-txt li::before{
    content: '';
    display: block;
    width:4px;
    height:4px;
    background: #00aba1;
    border-radius: 999px;
    position: absolute;
    left: 0;
    top: 8px;
}
.s42-info-box {
    background: #fbfbfb;
    padding: 30px;
    border-radius: 10px;
    margin-top: 60px;
    border: 1px solid #ddd;
}
.s42-info-box .info-wrap {
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
}
.s42-info-box .info {
    width:48%;
    text-align: center;
}
.s42-info-box h3 {
    text-align: center;
    font-weight: normal;
    padding-bottom: 20px;
    border-bottom: 1px dashed #ddd;
}
.s42-info-box .info ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 30px;
}
.s42-info-box .info h4 {
    font-size: 18px;
    display: block;
    padding: 7px 15px;
    background: #379d85;
    color:#fff;
    font-weight: normal;
    border-radius: 10px;
    margin-bottom: 10px;
}
.s42-info-box .info-wrap li {
    padding-top: 10px;
    font-size: 16px;
    text-align: left;
    display: inline-block;
}
.s42-info-box .info-wrap li .info-sub-tit {
    font-weight: 600;
    width:80px;
    display: inline-block;
}
.s42-info-box .info-btn {
    display: flex;
    justify-content: space-between;
    width:48%;
    margin: 40px auto 0;
}
.s42-info-box .info-btn a {
    width:49%;
    background: #00aba1;
    font-size: 18px;
    color:#fff;
    font-family: 'Pretendard';
    padding: 20px;
    text-align: center;
    border-radius: 10px;
}
.s42-info-box .info-btn a:first-child{
    background: #006d66;
    margin-right: 8px;
}
.s42-list-txt li span {
    display: inline-block;
    padding-top: 10px;
    color:#00aba1;
}
.s42-step img.mo {
    display: none;
}
.s42-step img.pc {
    display: block;
}

/*page04-3 */
.wall_btn{
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    border-bottom: 1px solid #ddd;
}
.wall_btn li {
    width: 7.5%;
    padding: 13px;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
}
.wall_btn li.on {
    border-bottom: 3px solid #008d85;
    font-weight: 600;
}
.wall_top {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .wall_top {
    cursor: pointer;
  }
  .wall_top strong {
    padding: 0 15px;
    font-size: 24px;
  }
  .wall_top span {
    width:14px;
  }
  .wall_top span img {
    display: block;
    width:100%;
  }
  .calendar {
    border-top: 0;
    border: 1px solid #ddd;
  }
  .calendar .othermonth {
    color:#999;
  }
  .calendar .endday {
    position: relative;
  }
  .calendar .endday::after{
    content:'교육준비';
    display: block;
    font-size: 15px;
    position: absolute;
    left: 50%;
    bottom:20px;
    transform:translateX(-50%);
    font-weight: 400;
    font-family: 'Pretendard';
    width: 100%;
    background: #2eb350;
    padding: 7px;
    box-sizing: border-box;
    color:#fff;
  }
  .calendar th {
    border-right: 1px solid #ddd;
    padding: 10px 0;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    background:#eee;
  }
  .calendar th:last-child {
    border-right: 0;
  }
  .calendar td {
    font-weight: 600;
    height: 60px;
    padding-bottom: 70px;
  }
  .calendar td.on {
    background: #00bec9;
    border: none;
    color:#fff;
  }
  .calendar tr:last-child td {
    border-bottom: 0;
  }
  .calendar td,
	.calendar th {
	  box-sizing: border-box;
	}
	
	.wallpaper {
	  width: 100%;
}
.calendar td {
    position: relative;
}
.resv_badge {
    position: absolute;
    width: 100%;
    background: #00bec9;
    color:#fff;
    left: 0;
    top: 42%;
    padding: 4px 20px;
    box-sizing: border-box;
    min-height: 24px;
}
.calendar td.has-resv {
    cursor: pointer;
    background: #f0f9ff;
}
/* 모달 오버레이 */
.resv-modal-wrap {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 모달 박스 */
.resv-modal-box {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 32px 28px 24px;
    width: 90%;
    max-width: 480px;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.resv-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #555;
    line-height: 1;
}
.resv-modal-title {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.resv-detail-item {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}
.resv-detail-item:last-child {
    border-bottom: none;
}
.resv-detail-item strong {
    display: block;
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
}
.resv-period {
    display: block;
    font-size: 13px;
    color: #666;
}
.resv-memo {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 4px;
}
.calendar td.has-resv:hover {
    background: #d9f0fb;
}
.cal_nav {
    text-align: center;
    padding-bottom: 20px;
}
.cal_nav_title {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
}

/*page04-4 교육장약도*/
.root_daum_roughmap_landing {
	max-width: 100% !important;
}
.root_daum_roughmap .cont, .root_daum_roughmap .wrap_controllers {
    display: none;
}

.location > .txt {
    display: flex;
    justify-content: flex-end;
    position: relative;
}
.map_tit {
    background: #009688 url('../img/logo_line.png') no-repeat 110% bottom;
    background-size: 150px;
    color: #fff;
    display: inline-block;
    padding: 30px;
    height: 150px;
    width: 200px;
    position: absolute;
    top: -40px;
    z-index: 10;
    left: 30px;
    border-bottom-right-radius: 50px;
}
.map_tit h3 {
    font-size: 30px;
    font-weight: 300;
    padding-top: 10px;
}
.map_txt {
    width: calc(100% - 290px);
    padding: 30px 40px;
    box-sizing: border-box;
}
.map_txt li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;;
}
.map_txt li .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width:40px;
    height:40px;
    background: #eee;
    border-radius: 999px;
    margin-right: 10px;
}
.map_txt li .icon img {
    width: 14px;
}
.map_txt li h4 {
    margin-right: 10px;
    color: #6c9a12;
}
.map_txt li div {
	display: flex;
	align-items:center;
	width: calc(100% - 40px);
}
.qna_table .qna_list .tit a{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}
.qna_table td:last-child {
    padding: 5px;
}
/*mypage 나의강의실*/
.mypg_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f9f9f9;
    border: 1px solid #ddd;
    padding: 30px;
    border-radius: 10px;
}
.mypg_top .t_lt {
    display: flex;
    align-items: center;
}
.mypg_top .t_lt .img {
    display: flex;
    align-items: center;
    justify-content: center;
    width:150px;
    height:150px;
    background: #e9e9e9;
    margin-right: 30px;
    border-radius: 8px;
}
.mypg_top .t_lt .img img {
    opacity: 0.2;
}
.mypg_top .t_lt .txt h3{
    font-weight: 300;
    word-break: keep-all;
}
.mypg_top .t_lt .txt h3 strong {
    font-weight: 600;
}
.mypg_top .t_lt .txt .bg {
    border-radius: 4px;
    padding-top: 2px;
}
.mypg_top .t_lt .txt p {
    font-size: 14px;
    color: #aaa;
    padding: 6px 0;
}
.mypg_top .t_lt .mypg_edit {
    display: inline-flex;
    align-items: center;
    margin-top: 8px; 
    border: 1px solid #ddd;
    border-radius: 999px;
}
.mypg_top .t_lt .mypg_edit li {
    
}

.mypg_top .t_lt .mypg_edit a {
    display: flex;
    align-items: center;
    font-size: 12px;
    padding: 4px 20px;
}
.mypg_top .t_lt .mypg_edit a img {
    width:12px;
    margin-right: 4px;
}
.mypg_top .t_rg .edu_ing {
    width: 500px;
}
.mypg_top .t_rg ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mypg_top .t_rg li {
    background:#fff;
    width: 32%;
    text-align: center;
    padding: 0;
    border-radius: 8px;
}
.mypg_top .t_rg li:last-child {
    margin-right: 0;
}
.mypg_top .t_rg .edu_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #f3f3f3;
    border-radius: 999px;
    margin: 0 auto;
}
span.edu_ing_bot {
    color: #6c9a12;
    font-weight: 600;
}
.mypg_top .t_rg .edu_icon img {
    width: 30px;
}
.mypg_top .t_rg h4 {
    padding: 8px 0 4px;
}
.mypg_tab {
    display: flex;
    justify-content: space-between;
}
.mypg_tab li {
    width:33.3333%;
    text-align: center;
    padding: 25px 0 15px;
    border-bottom: 1px solid #ddd;
    cursor: pointer;
}
.mypg_tab li.on {
    color:#6C9A12;
    font-weight: 600;
    border-bottom: 2px solid #6c9a12;
}
.mypg_box {
    margin-top: 30px;
}
.mypg_box_list {
    display: none;
}
.mypg_box_list.on {
    display: block;
}
.edu_list_wrap {
    display: flex;
    align-items: center;
}
.mypg_box_list table {
    text-align: center;
}
.mypg_box_list table thead th {
    padding: 10px 0;
    border-right: 1px solid #ddd;
    background: #eee;
}
.mypg_box_list table thead th:last-child {
    border-right: 0;
}
.mypg_box_list table tr td {
}
.pagination a {
    display: inline-block;
}
/*edu popup*/

.edu_pop_tit {
    display: flex;
    background: #006d66;
    color: #fff;
    justify-content: center;
    padding: 15px 0;
    font-size: 16px;
    position: relative;
    border-radius: 10px;
    margin: 20px 20px;
}
.edu_pop_close {
    position: absolute;
    top: 50%;
    right: 0;
    cursor: pointer;
    padding: 20px;
    transform: translateY(-50%);
}
.edu_pop_close img {
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    left: -2px;
    top: 52%;
    width: 16px;
}
#edu_popup .sum {
    width:200px;
    margin-right: 20px;
}
#edu_popup .sum img {
    width:100%;
}
.edu_pop_top {
    display: flex;
    padding: 20px 20px 0px;
}
.edu_pop_top .et_top {
    display: flex;
    align-items: center;
}

.ett_rg{
}
.edu_pop_top .txt {
    width: calc(100% - 200px);
}
.et_bot ul {
    display: flex;
    color:#222;
    background: #f3f3f3;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ddd;
}
.ett_lt {
    width: 50%;
}
.et_bot ul li {
    margin-right: 30px;
}
.et_bot ul li .etb_tit {
    display: inline-block;
    padding: 5px 13px;
    border-radius: 999px;
    background: #fff;
    color:#333;
    font-weight: 500;
    margin-right: 5px;
}
#edu_popup .edu_list_md_ul {
    padding-right: 0;
}
#edu_popup .edu_list_md_ul li {
    margin-bottom: 10px;
}
.edu_pop_bot {
    padding:20px
}
.epbc_box {
    display: none;
}
.epbc_box.on {
    display: block;
    padding-top: 30px;
}
.epb_tab ul{
    display: flex;
    border-bottom: 1px solid #ddd;
}
.epb_tab .epb_list {
    width: 14.2857%;
    text-align: center;
    cursor: pointer;
    padding: 15px 10px;
    border-right: 1px solid #ddd;
    border-top: 1px solid #ddd;
}
.epb_tab .epb_list:first-child{
    border-left: 1px solid #ddd;
}
.epb_tab .epb_list.on {
    background: #004541;
    color: #fff;
    font-weight: 500;
}

.epbc_box table {
    margin-top: 0;
    font-size: 16px;
}
.tac{
    text-align: center;
}
.epbc_box table thead {
    
}
.epbc_box table th {
    padding: 12px 10px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f7f7f7;
}
.epbc_box table th:last-child{
    border-right: 0;
}
.epbc_box table button {
    background: #555555;
    color:#fff;
    font-size: 14px;
    padding: 8px;
    border-radius: 4px;
    margin-left: 5px;
    font-weight: 400;
}
.epbc_box table button.modify{
    background: #ebebeb;
    color:#222;
}

.epbc03 table td:nth-child(2){
    text-align: left;
}
.epbc_box .notice{
    background:#fffff4
}
.epbc04 table td:nth-child(4){
    text-align: left;
}
.epbc06 table td:nth-child(2){
    text-align: left;
}
.epbc_box .all_btn {
    text-align: center;
    margin-top: 30px;
}
.epbc_box .all_btn button {
   background: #008d85;
   border-radius: 4px;
   padding: 15px 30px;
    font-size: 18px;
}
.epbc07 ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border: 1px solid #ddd;
    margin-bottom: 20px;
}
.epbc07 ul li h3 {
    font-size: 18px;
    padding-bottom: 10px; 
}
.epbc07 ul li p {
    font-size: 14px;
    color:#999
}
.epbc07 ul li .all_btn {
    margin-top: 0;
}
.view_rg .edu_view_tit {
	display: none;
}
.view_rg .bdge {
	display: none;
}

/*교육상담*/

.qna_table{
    width:100%;
    border-top:2px solid #000;
    border-collapse:collapse;
    table-layout: fixed;
}

.qna_table th,
.qna_table td{
    border-bottom:1px solid #ddd;
    text-align:center;
}
.qna_table td {
    word-break: break-all;
}

.qna_table .tit{
    text-align:left;
    cursor:pointer;
    padding: 20px 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.qna_view {
	display: none;
}
.qna_view td{
    background:#f8f8f8;
    text-align:left;
    padding: 20px 15px;
}

.question{
    margin-bottom:20px;
    line-height: 140%;
}

.answer{
    padding:20px;
    background:#fff;
    border:1px solid #ddd;
}
.qna_table th {
	padding: 20px 0;
	background: #f7f7f7;
	font-size: 16px;
	border-right: 1px solid #ddd;
}
.qna_table th:last-child {
	border-right:none;
}
.qna_table {
	font-size: 16px;
}
.qna_view .answer strong {
	margin-bottom: 10px;
    display: block;
} 
.qna_state {
	font-weight: 600;
	color:#999
}
.qna_state02 {
	color:#ff9500;
}
.ques_btn_wrap ul {
	display: flex;
	align-items:center;
	justify-content: flex-end;
}
.ques_btn_wrap button {
	background: none;
	color:#222;
	font-size: 14px;
	padding: 8px 15px;
	border: 1px solid #666;
}
.ques_btn_wrap .ques_btn01 {
	margin-right: 4px;
}
.qna_table tr.empty{
	
}


/*개인정보 처리방침*/
.privacy{
    position:relative;
}
.privacy p {
    text-align: left;
    padding-top: 10px;
    font-size: 16px;
    color: #666;
    text-indent: 10px;
    padding-left: 35px;
}
.privacy caption{
    position:relative;
}
.privacy .h4_01{
    font-size:14px;
    color:#555;
    padding-left:14px;
    margin-top:30px;
    background: url('/resources/user/image/icon/blet001.gif') no-repeat 0 center;
    text-align: left;
}
.privacy h4{
    font-size:14px;
    color:#555;
    padding-left:14px;
    margin-top:30px;
    background: url('/resources/user/image/icon/h4_blet.gif') no-repeat 0 center;
    text-align: left;
    margin-bottom: 10px;
}
.privacy .text_box{
    padding:23px 19px 23px 23px;;
    margin-top:10px;
    border:1px solid #a3a3a3;
    color:#666;
    line-height:18px;
    text-align: left;
}

.privacy ul{
    overflow:hidden;
    margin-top:5px;
}
.privacy ul li{
    line-height:18px;
    color:#888;
    margin-top:10px;
    /* letter-spacing:-0.3px;  */
    text-align: left;
}
.privacy ul li a{
    display: inline-block;
    color:#888;
    background: #eee;
    padding: 6px 10px;
    margin-top: 5px;
    margin-left: 5px;
}
.privacy .privacy_table01{
    width:100%;
    margin-top:10px;
}
.privacy h3 {
    margin-top: 40px;
}
.privacy .privacy_table01 th{
    padding:10px;
    border-bottom:1px solid #ebebeb;
    border-right:1px solid #ebebeb;
    background: #edf3f8;
    color: #555;
    text-align: center;
    font-weight: 500;
}
.privacy .privacy_table01 th:last-child{
    border-right: 0px solid #ebebeb;
}
.privacy .privacy_table01 td{
    padding: 10px;
    border-bottom:1px solid #ebebeb;
    border-right:1px solid #ebebeb;
    background:#fff;
    color:#777;
    text-align:center;
    vertical-align: middle;
    line-height: 1.3;
}
.privacy .privacy_table01 td:last-child{
    border-right: 0px solid #ebebeb;
}
.privacy ul li .txt_box03{
    padding:0 16px 11px 20px;
    margin:10px 0;
    line-height:18px;
    color:#848e9b;
    border:3px solid #d2d6db;
    font-size:11px;
}
.privacy ul li .txt_box03 ul{
    padding:0;
    margin-top:10px;
}
.privacy ul li .txt_box03 ul li{
    line-height:20px;
    color:#848e9b;
    font-size:11px;
    background:none;
    margin-top:0;
    text-align: left;
}
.privacy ul li .txt_box03 ul li p{
    font-weight:bold;
    line-height:14px;
    padding:3px 0;
    text-align: left;
}
.privacy ul li .txt_box03 ul li ul{
    padding-left:5px;
}

.privacy ul li .txt_box03 ul.blet_ul li{
    padding-left:8px;
    line-height:16px;
    background: url('/resources/user/image/icon/dotted.gif') no-repeat 0 5px;
    text-align: left;
}

.privacy ul li .txt_box01 {
    padding: 10px 16px 11px 20px;
    margin: 10px 0;
    text-align: left;
    color: #848e9b;
    border: 3px solid #d2d6db;
    font-size: 11px;
}
.privacy  ul li .txt_box01 ul li {
    float: left;
    width: 300px;
    line-height:18px;
    color: #848e9b;
    font-size: 12px;
    background: none;
    letter-spacing: -1px;
    margin-top:0;
    padding-left:8px;
    background: url('/resources/user/image/icon/dotted.gif') no-repeat 0 7px;
    text-align: left;
}

.privacy ul li .txt_box02 {
    padding: 10px 16px 11px 20px;
    margin: 10px 0;
    color: #848e9b;
    border: 3px solid #d2d6db;
    font-size: 11px;
    text-align: left;
}

.privacy ul li .txt_box02 a{color:#848e9b; text-decoration:underline;}


.privacy  ul li .txt_box02 ul {
    overflow:hidden;
    margin-top:0;

}
.privacy  ul li .txt_box02 ul li {
    line-height:18px;
    color: #848e9b;
    font-size: 11px;
    background: none;
    letter-spacing: -1px;
    margin-top:0;
    padding-left:8px;
    text-align: left;
}
.privacy  ul li .txt_box02 p {
    line-height:18px;
    color: #848e9b;
    font-size: 11px;
    background: none;
    letter-spacing: -1px;
    margin-top:5px;
    padding-left:8px;
    font-weight:bold;
    background: url('/resources/user/image/icon/dotted.gif') no-repeat 0 7px;
    text-align: left;
}
.privacy ul li .txt_box03 ol{
    padding:0;
    margin-top:10px;
}
.privacy ul li .txt_box03 ol li{
    line-height:16px;
    color:#848e9b;
    font-size:11px;
    background:none;
    margin-top:10px;
    text-align: left;
}

/*****  240227hy 개인정보처리방침 수정  *****/
.privacy{
    width: 100%;
}
.privacy table {
    text-align: center;
}
.privacy .grayBox {
    position: relative;
    padding: 26px 30px 26px 30px;
    margin: 15px 0 30px;
    font-size: 15px;
    line-height: 24px;
    background: #fff;
    word-break: keep-all;
    border-radius: 15px;
    text-align: left;
    border: 3px solid #ddd;
}
.privacy .grayBox.div {
    display: flex;
    flex-wrap: wrap;
}

.privacy .grayBox .cont {
    width: 50%;
    min-height: 0;
    box-shadow: none;
    padding: 0;
}
.privacy .grayBox .cont p {
    text-indent: 0;
    padding-left: 0;
}
.privacy .grayBox ul {
    display: flex;
    flex-wrap: wrap;
}
.privacy .grayBox ul li {
    width: 50%;
}
.privacy .grayBox ul.w100 li {
    width: 100%;
}
.privacy .grayBox img{
    position: absolute;
    top: 50%;
    left: 30px;
    margin-top: -30px;
    width: 60px;
    height: 60px;
}

.privacy .tooltip {
    position: relative;
    display: inline-block;
    text-align: center;
    margin: 0 15px 15px 0;
    width: calc(33.33% - 10px);
    float: left;
}
.privacy .toolwrap .tooltip:nth-child(3n){
    margin-right: 0;
    width: calc(33.34% - 10px);
}
.privacy .tooltip button {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    padding: 35px 10px;
    cursor: pointer;
    z-index: 9999;
}
.privacy .tooltip button:hover{
    background-color: #f6f6f6;
}
/*
.privacy .tooltip a {
    display: block;
    height: 100%;
	background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
	padding: 35px 10px;
}
.privacy .tooltip a:hover{
	background-color: #f6f6f6;
}
*/
.privacy .tooltip img {
    border: none;
    vertical-align: middle;
}
.privacy .tooltip .text{
    padding: 10px 0 0 0;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: -1px;
}
.privacy .tooltip .tooltiptext {
    display: none;
    position: absolute;
    background-color: #f6f6f6;
    color: #333;
    text-align: left;
    border-radius: 6px;
    padding: 20px;
    z-index: 1;
    width: 300px;
    bottom: 200px;
    left: 50%;
    margin-left: -150px;
    box-shadow: 0px 0px 12px rgba(0,0,0,0.3);
}
.privacy .tooltiptext::after {
    content: "" !important;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border-width: 6px;
    border-style: solid;
    border-color: #f6f6f6 transparent transparent transparent;
}
.privacy .active.tooltiptext {
    display: block;
}

.privacy  .tooltiptext .toolTit{
    font-weight: bold;
    font-size: 13px;
}
.privacy  .tooltiptext .toolCon{
    display: block;
    font-size: 12px;
    letter-spacing: -0.75px;
}

.privacy .tooltip .close {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #333;
    font-size: 12px;
    cursor: pointer;
}

.privacy .titleWrap{
    width: 100%;
    overflow: hidden;
    margin: 50px 0 15px 0;
    border-bottom: 1px solid #e5e5e5;
}
.privacy .titleWrap h3{
    display: block;
    padding: 10px 0;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    background: #f9f9f9;
    color: #333;
    text-align: center;
    font-size: 16px;
}
.privacy .titleWrap ul{
    width: 50%;
    display: inline-block;
    padding: 20px 0px;
    float: left;
    margin-top: 0;
}
.privacy .titleWrap .titUl1{
    border-right: 1px solid #e5e5e5;
    box-sizing: border-box;
}
.privacy .titleWrap ul li{
    display: block;
    margin: 10px;
    text-align: left;
}
.privacy .titleWrap ul li button{
    display: block;
    margin: 10px;
    text-align: left;
    font-size: 15px;
    letter-spacing: -0.75px;
    color: #666;
    background: #fff;
    border: 0;
    padding: 0;
}


.privacy .pvConWrap .h4_style{
    font-size: 20px;
    font-weight: bold;
    padding-left: 15px;
    position: relative;
    background: url("/resources/user/image/icon/h4_style.png")no-repeat top 5px left;
    vertical-align: middle;
}
.privacy .pvConWrap .h5_style {
    font-size: 16px;
    margin-left: 35px;
    position:relative;
    padding-left: 15px;
    margin-top: 20px;
}
.privacy .pvConWrap .h5_style::before {
    content:'';
    display: block;
    width: 7px;
    height: 7px;
    background: #222;
    border-radius: 999px;
    position:absolute;
    left: 0;
    top: 7px;
}
.pvConWrap .h4_style > img{
    margin-left: 5px;
    vertical-align: middle;
}

.privacy .pvConWrap ul li{
    font-size: 15px;
    line-height: 1.2;
}

.privacy .pvConWrap ul li a:hover{
    text-decoration: underline;
    color: fff;
}

.privacy ul.textList1 > li{
    position: relative;
    padding-left: 10px;
}
.privacy ul.textList1 > li:before{
    position: absolute;
    content:'';
    display: block;
    width: 3px;
    height: 3px;
    background-color: #666;
    top: 7px;
    left: 0;
}

.privacy ul.numList1{
    padding-left: 15px;
}

.privacy ul.numList1 > li{
    position: relative;
    margin-left: 20px;
    padding-left: 15px;
}
.privacy ul.numList1 > li::before {
    content:'';
    display: block;
    width: 6px;
    height: 6px;
    background: #ccc;
    border-radius: 999px;
    position: absolute;
    left: 0;
    top: 7px;
}
.privacy ul.numList1 > li > em{
    /*position: absolute;
    left: 0;*/
}

.privacy ul.numList2 > li{
    position: relative;
    padding-left: 20px;

}
.privacy ul.numList2 > li > em{
    position: absolute;
    left: 0;
}

.privacy ul.lineList1 > li{
    position: relative;
    padding-left: 20px;
    margin: 5px 0;
}
.privacy ul.lineList1 > li > em{
    position: absolute;
    left: 0;
}

.privacy ul li em{
    font-style: normal;
}

.privacy ul.numlist2 li{
    font-size: 14px;
    position: relative;
    padding-left: 12px;
}
.privacy ul.numlist2 li::before {
    content: '';
    display: block;
    width: 6px;
    height: 2px;
    background: #ccc;
    position:absolute;
    left: 0;
    top:7px;

}

.pv_box {
    display: none;
}
.pv_box.on {
    display: block;
}
.pv_tab {
    display: flex;
    border: 1px solid #ddd;
    margin-bottom: 30px;
}
.f_pop .tit {
    font-size: 28px;
    font-weight: 600;
}
.pv_tab li{
    width: 50%;
    padding:10px;
    cursor:pointer;
    text-align: center;
}
.pv_tab li.on {
    background: #e7e7e7;
    font-weight: 600;

}
.privacy table th {
    padding: 10px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f9f9f9;
}
.privacy table th:last-child {
    border-right:none;
}
.privacy img{
    display: block;
    max-width: 100%;
}
.prv_page_btn {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #ccc;
    margin-top: 30px;
    margin-left: 35px;
    transition: .3s;
    border-radius: 5px;
}
.prv_page_btn:hover {
    background: #004541;
    color:#fff;
    border-color:#004541;
    transition: .3s;
}



.edu_pop_info {
    flex-wrap: nowrap;
}
.listWrap .box_list li.room .pop_rg {
    width: calc(100% - 150px);
}
.listWrap .box_list .pop_rg .text_progress {
    width: 100%;
    margin-left: 0;
}


@media(max-width:1200px){
	.s1_edu_list .edu_list {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.s1_edu_list .edu_list_lt {
		width: 100%;
    	flex: auto;
    	padding-bottom: 20px;
	}
	.edu_list_md {
		flex: auto;
	}
	.edu_list_rg {
		flex: none;
        margin-top: 30px;
	}
    .edu_view2_top {
        flex-wrap: wrap;
    }
    .s2-1 .edu_list_lt {
        width: 100%;
    }
    .edu_list_md {
        width: 100%;
    }
	
	.srch_more {
        padding: 24px 20px;
    }

    .srch_more .srch_li_box {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        margin-bottom: 18px;
    }

    .srch_more .srch_li {
        width: 100%;
    }

    .srch_more .srch_li h3 {
        flex: 0 0 72px;
        min-width: 72px;
        font-size: 20px;
    }

    .srch_more .srch_li .input_wrap {
        flex: 1;
    }

    .srch_more .srch_li_box01 .srch_li01,
    .srch_more .srch_li_box01 .srch_li02,
    .srch_more .srch_li_box02 .srch_li01,
    .srch_more .srch_li_box02 .srch_li02 {
        flex: none;
        width: 100%;
    }

    .srch_more .srch_li_box01 .srch_li01 .input_wrap select:first-child,
    .srch_more .srch_li_box01 .srch_li01 .input_wrap input[type="date"],
    .srch_more .srch_li_box01 .srch_li02 .input_wrap select,
    .srch_more .srch_li_box02 .srch_li02 .input_wrap select {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .srch_more .srch_li_box02 .srch_li01 .input_wrap select {
        flex: 1 1 0;
        min-width: 0;
    }

    .srch_more input[type="radio"] + label {
        min-width: 84px;
        font-size: 15px;
        padding: 0 14px;
    }
	.edu_list_wrap {
		width: 100%;
	}
    .mypg_box .edu_list_wrap {
        min-width: auto;
    }
}
@media(max-width:1024px){
	.myupd td {
    	display: flex;
    	justify-content:space-between;
    	align-items: center;
    	padding-left: 20px;
    }
    .myupd input[type="text"] {
    width: 32%;
    }
    .myupd col:first-child {
    width: 15%;
    }
    .myupd label {
    font-size: 14px;
    }
    .myupd #email1, .myupd #email2 ,.myupd #email3 {
    	width: 26%;
    }
    .edu_view2_box_wrap {
    flex-wrap: wrap;
    } 
    .s2-1 .edu_list_lt {
    	width: 100%;
    }
    .s2-1 .edu_list_md {
    	width: 100%;
    	margin-top: 20px;
    }
    .view_lt .edu_view_tit {
		display: none;
	} 
	.view_rg .edu_view_tit {
		display: block;
		font-size: 28px;
		font-weight: 600;
	}
    #sub {
    	padding: 60px 0;
    }
    	.s_visual {
    		padding: 0;
    	}
    	.sv_tit {
    		font-size: 30px;
    	}
    	.s_cate {
    	font-size: 14px;
    	}
    	.section_tit {
    	font-size: 24px;
    	}
    	.overview .text {
    	font-size: 16px;
    	}
    	.overview {
    	padding: 40px 0px;
    	    gap: 30px;
    	}
    .s2 .overview {
        margin-top: 40px;
    }
    .over_edu_btn a {
        font-size: 14px;
        padding: 10px 20px;
    }
        .sub_tab li {
            font-size: 14px;
            padding: 10px 10px;
            min-height: 50px;
        }
        .overview_wrap .overview {
            padding: 0;

        }
    	.edu_table {
    	font-size: 16px;
    	margin-top: 0;

    	}
    .overview span.num {
        font-size: 11px;
        width: 18px;
        height: 18px;
    }
    .overview .sub_table {
        font-size: 14px;
    }
        .overview_wrap .edu_table {
            margin-top: 30px;
            font-size: 14px;
        }
    	.s2 .edu_view {
    	flex-direction: column-reverse;
    	}
    	.s2 .view_lt {
    	width: 100%;
    	}
    	.s2 .view_rg {
    		width: 100%;
    	}
    	.s2 .view_rg .img img {
    	height: auto;
    	}
    	.edu_subs {
    		width: 100%;
    		margin-right: 0;
    		flex: 7;
    	}
    	.edu_file {
    		flex: 3;
    	}
    	.edu_view_box {
    		margin-top:30px;
    	}
    	.mypg_top .t_rg .edu_ing {
    		width: 410px;
    	}
    	.mypg_top .t_rg h4 {
    	
    	}
    	.mypg_top .t_lt .txt p{
    		font-size: ;
    	}
    	.mypg_top .t_lt .txt h3 {
    	    font-size: 16px;
    	}
    	 .mypg_top .t_lt .txt .bg {
    	 	font-size: 16px;
    	 }
    	 .mypg_top .t_rg li {
    	 font-size: 14px;
    	 }
    	 .s302 table td {
    	 	font-size: 14px;
    	 }
    	 .s302 table th {
    	 font-size: 14px;
    	 }
    	 .s302 h3 {
    	 font-size: 20px;
    	 }
    	 
    	 .s302 td {
    	 line-height: 140%;
    	 }
    	 .s302 h3 span {
    	 	width: 26px;
		    height: 26px;
		    font-size: 14px;
    	 }
    	 .s302 table a {
    	 font-size: 12px;
    	 }
    	 .view_rg .edu_view_tit {
			display: block;
		}
		.view_rg .bdge {
			display: inline-block;
		}
		.s2 .view_lt .bdge {
			display: none;
		}
		.edu_info_btn {
			justify-content: space-between;
			gap: 8px;
		}
		.s42-list-txt li {
			font-size: 16px;
		}
		.s42-info-box h3 {
			font-size: 18px;
		}
		.s42-info-box {
			margin-top: 40px;
		}
		.s42-list-txt {
			padding-top: 10px;
		}
		.s42-info-box .info-wrap {
			flex-direction: column;
		}
		.s42-info-box .info {
			width: 100%;
		}
		.s42-info-box .info h4 {
			margin-bottom: 0;
		}
		.s42-info-box .info {
			margin-bottom: 30px;
		}
		.s42-info-box .info-btn {
			width: 50%;
		}
		.s42-info-box .info-btn a {
			font-size: 16px;
			padding: 14px 20px;
		}
	.s42-step img.pc{
	    display: none;
	}
	.s42-step img.mo{
	    display: block;
	}
	
	
	.wall_btn {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 35px;
  }

  .wall_btn li {
    width: 16.666%;
    padding: 12px 8px;
    font-size: 15px;
  }

  .wall_top strong {
    padding: 0 12px;
    font-size: 22px;
  }

  .wall_top span {
    width: 12px;
  }

  .calendar {
    width: 100%;
    table-layout: fixed;
  }

  .calendar th {
    font-size: 14px;
    padding: 9px 0;
  }

  .calendar td {
    height: 100px;
    padding: 10px 6px 58px;
    font-size: 14px;
    vertical-align: top;
  }

  .calendar .endday::after {
    font-size: 13px;
    bottom: 12px;
    padding: 6px 4px;
  }
  
  .map_txt {
  	padding: 25px 20px;
  }
  .root_daum_roughmap_landing {
  	height: 300px !important;
  }
  .map_tit {
  	padding: 24px;
  	width: 190px;
  }
  
  /*join*/
	.join_step h3{
        font-size: 16px;
    }
    .join_step span {
        width: 70px;
        height: 70px;
    }
    .join_step img {
        max-width: 25px;
    }
    .join_top .arrow img{
        width: 20px;
    }
    .join01 h4 {
        font-size: 16px;
    }
    .join01 .cont_step p {
        font-size: 14px;
    }
    .join_btn button {
        padding: 15px 40px;
        font-size: 14px;
    }
    .join_page .cont {
        min-height: auto;
    }
    .join_btn {
        margin-top: 30px;
    }
    .tel td {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .tel {
        display: flex;
        align-items: center;
    }
    .tel input{
        flex: 1 1 0;
    }
    .em select.form_sel {
        margin-top: 10px;
    }
    .em td div {
        display: flex;
        align-items: center;
    }
    .em td input {
        flex:1 1 0;
    }
    .em td span {
        margin-top: 0;
    }
    .join_page th {
        font-size: 16px;
    }
    .join_page .career_box table th{
        font-size: 1.7vw;
    }
    
    
    #container.join_page .inner {
        padding: 0 20px;
        box-sizing: border-box;
    }

    #container.join_page .cont_box {
        padding: 0;
    }

    /*#container.join_page .join_top {
        display: none;
    }*/

    #container.join_page .txtbox {
        margin-bottom: 20px;
    }

    #container.join_page form table,
    #container.join_page form tbody,
    #container.join_page form tr,
    #container.join_page form th,
    #container.join_page form td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    #container.join_page form tr {
        margin-bottom: 18px;
        border-bottom: 0;
    }
    #container.join_page form th {
        padding: 10px 0;
        margin-bottom: 8px;
        border: 0;
        background: none;
        font-size: 16px;
        font-weight: 700;
        text-align: left;
        line-height: 1.4;
        vertical-align: top;
        height: auto;
        display: flex;
        align-items: center;
    }

    #container.join_page form td {
        padding: 0;
        border: 0;
        background: none;
    }

    #container.join_page form input[type="text"],
    #container.join_page form input[type="password"],
    #container.join_page form input[type="date"],
    #container.join_page form select {
        width: 100%;
        height: 44px;
        padding: 0 14px;
        font-size: 15px;
        border: 1px solid #ddd;
        border-radius: 4px;
        box-sizing: border-box;
    }

    #container.join_page form button[type="button"] {
        width: 100%;
        height: 44px;
        margin-top: 10px;
        border-radius: 4px;
        box-sizing: border-box;
        margin: 10px 0;
    }

    #container.join_page #area-msg-checkId,
    #container.join_page #area-msg-userPw1,
    #container.join_page #area-msg-userPw2 {
        display: block;
        margin: 8px 0 0 !important;
    }

    #container.join_page tr.ad td input {
        margin-bottom: 10px;
    }

    #container.join_page #postNo {
        width: 100%;
        margin-bottom: 0;
    }

    #container.join_page #addr {
        width: 100%;
    }

    #container.join_page #addrDetail {
        width: 100%;
    }

    #container.join_page tr.ad td br {
        display: none;
    }
    #container.join_page tr td span {
        display: inline-block;
        margin-top: 6px;
        margin-left: 0 !important;
        font-size: 14px;
    }

    #container.join_page select + span {
        display: block;
        margin-top: 8px;
    }

    #container.join_page td span:not(.req):not(#area-msg-checkId):not(#area-msg-userPw1):not(#area-msg-userPw2) {
        position: static;
    }

    #container.join_page .join_btn {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 30px;
    }

    #container.join_page .join_btn button {
        width: 100%;
        height: 50px;
    }

    #container.join_page .join_box h4 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    #container.join_page .cont_step03 p {
        font-size: 14px;
        line-height: 1.6;
    }

    #container.join_page .small {
        display: inline;
        font-size: 12px;
    }
    .overview table h3 {
        font-size: 14px;
    }
    .sub_box_wrap .sub_box {
        font-size: 14px;
    }
    .edu_file_list .txt {
        max-width: calc(100% - 100px);
    }
  
}
@media(max-width:768px){
    .overview .tit_sub_box {
        font-size: 14px;
        padding: 15px;
    }
    .overview .tit_sub_box p {
        padding-top: 12px;
    }
    .overview ul li:not(:last-child) {
        margin-bottom: 8px;
    }
    .overview .edu_table,
    .overview .edu_table tbody,
    .overview .edu_table tr {
        display: block;
        width: 100%;
    }

    .overview .edu_table th,
    .overview .edu_table td {
        display: block;
        width: 100%;
        box-sizing: border-box;

    }

    .overview .edu_table th {
        border: none;
    }

    .overview .edu_table td {
        border: none;
    }
    .overview_wrap .edu_table {
        border: 1px solid #ddd;
        margin-top: 20px;
    }
    .overview table a.files {
        width: 100%;
        box-sizing: border-box;
        background: #e8f5e9;
        justify-content: center;
    }
    #container a.tel {
    }
    .overview ul li {
        flex-wrap: wrap;
    }
    .sub_box p {
        flex-wrap: wrap;
    }

    .overview .edu_table .sub_table,
    .overview .edu_table .sub_table tbody,
    .overview .edu_table .sub_table tr {
        display: block;
        width: 100%;
    }

    .overview .edu_table .sub_table th,
    .overview .edu_table .sub_table td {
        display: block;
        width: 100%;
    }

    .overview .edu_table .sub_table th {
        padding: 10px;
        border: 0;
    }
    .overview .edu_table .sub_table {
        border: 1px solid #ddd;
    }
    .overview p {
        font-size: 12px;
    }

    .overview .edu_table .sub_table td {
        padding: 10px;
        border: 0;
        padding-bottom: 20px;
    }
    .sub_tab li {
        width: 50% !important;
    }
    .over_edu_btn {
        width: 100%;
    }
    .section_tit_wrap {
        flex-wrap: wrap;
    }
    .over_edu_btn a {
        display: flex;
        justify-content: center;
        background: #008d85;
        color:#fff;
    }
    .section_tit_wrap .section_tit {
        width: 100%;
        margin-bottom: 15px;
    }
    .over_edu_btn a:hover {
        color: #fff;
        background: #008d85;
    }
	.edu_list_md {
		width: 100%;
		flex-direction: column;
	}
	.edu_list_rg {
		width: 100%;
		flex-direction: column;
		gap: 6px;
	}
	.edu_list_rg button {
		width: 100%;
		height: auto;
		font-size: 16px;
	}
	.edu_list_md_ul01 {
		padding-right: 0;
	}
	.edu_list_md_ul02{
		margin-top: 10px;
	} 
	.edu_list_lt h4 {
		display: block;
	}
	.edu_list_lt h4 .bdge {
		margin-left: 4px;
	}
	.edu_list_rg button img {
		height: 10px;
	}
	.edu_md_tit {
		width: 60px;
		font-size: 14px;
	}
	
	.srch_more {
        padding: 18px 14px;
    }

    .srch_more .srch_li {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .srch_more .srch_li h3 {
        flex: none;
        min-width: auto;
        font-size: 17px;
    }

    .srch_more .srch_li .input_wrap {
        width: 100%;
        gap: 8px;
    }

    .srch_more .srch_li_box01 .srch_li01 .input_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .srch_more .srch_li_box01 .srch_li01 .input_wrap select {
        grid-column: 1 / -1;
        width: 100%;
    }

    .srch_more .srch_li_box01 .srch_li01 .input_wrap span {
        display: none;
    }

    .srch_more .srch_li_box01 .srch_li01 .input_wrap input[type="date"] {
        width: 100%;
        min-width: 0;
    }

    .srch_more .srch_li_box02 .srch_li01 .input_wrap,
    .srch_more .srch_li_box03 .input_wrap,
    .srch_more .srch_li_box04 .input_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px; 
    }

    .srch_more .srch_li_box02 .srch_li01 .input_wrap select,
    .srch_more .srch_li_box02 .srch_li02 .input_wrap select,
    .srch_more .srch_li_box01 .srch_li02 .input_wrap select {
        width: 100%;
        min-width: 0;
    }

    .srch_more .srch_li_box02 .srch_li02 .input_wrap,
    .srch_more .srch_li_box01 .srch_li02 .input_wrap {
        display: block;
    }

    .srch_more .srch_li_box03 .input_wrap label,
    .srch_more .srch_li_box04 .input_wrap label {
        width: 100%;
        min-width: 0;
        padding: 0 10px;
        font-size: 14px;
        box-sizing: border-box;
    }

    .srch_more .srch_li_box04 .input_wrap {
        grid-template-columns: 1fr 1fr;
    }


    .srch_more .flex_ls {
        gap: 6px;
    }
    
    
    
    .t_rg {
    	width: 100%;
    	margin-top: 10px;
    }
    .mypg_top .t_rg h4 {
    margin-left: 10px;
    }
    .mypg_top .t_rg .edu_ing {
    width: 100%;
    }
    .mypg_top .t_rg li {
    width: 100%;
    display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;
    }
    .mypg_top .t_rg .edu_icon {
	    width: 50px;
	    height: 50px;
	    margin: 0;
    }
    .edu_ing_top {
    display: flex;
    align-items: center;
    }
    .mypg_top .t_rg ul {
     width: 100%;
     flex-direction: column;
    }
    .mypg_top {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    }
    .mypg_top .t_lt .txt .bg {
    	font-size: 14px;
    	font-weight: 600;
    }
    .mypg_top .t_rg .edu_ing {
    
    }
    .mypg_top .t_lt .mypg_edit a {
    padding: 6px 9px;
        justify-content: flex-start;
    }
    .s2-1 .edu_list_lt {
    	flex-wrap: wrap;
    }
    .edu_view2_top .img {
    	width: 100%;
    }
    .s2-1 .edu_list_lt .txt {
    	width: 100%;
    	padding: 10px 0 30px; 
    }
    .mypg_top .t_lt .txt > div:last-child {
    display: block;
    }
    .mypg_top .t_lt .txt {
    flex-direction: column;
    width: 100%;
    }
    .edu_table th {
    padding: 16px 0;
    }
    .edu_table {
    font-size: 14px;
    }
    .section_tit {
    font-size: 20px;
    word-break: keep-all;
    }
    .overview .text {
    font-size: 14px;
    }
    .s_visual {
    height: 130px;
    background-position: 26% center;
    }
    .s_cate {
    	padding-bottom: 5px;
    }
    #sub {
    	padding: 40px 0;
    }
        .overview{
            flex-direction:column;
                    padding: 30px 0px;
                    margin-bottom: 30px;
        }
        .overview .img_box{
            height: auto;
        width: 100%;
        }
        
    .edu_list_md {
    	flex-direction: column;
    	width: 100%;
    }
    .edu_list_md_ul {
    	width: 100%;
    }
    .edu_list_md_ul01 {
    margin-bottom: 0px;
    }
    .edu_list_rg {
    	width: 100%; 
    	        margin-top: 20px;
    }
    .edu_list_lt h4 .bdge {
    width: auto !important;
    font-size: 16px;
    }
    .edu_list_rg button {
    	width: 100%;
    	height: 66px;
    }
    .edu_list_lt h4 {
    font-size: 18px;
    font-weight: bold;
    }
    .edu_list_lt h4 .bdge {
    	font-weight: normal;
        font-size: 14px;
    }
    .srch_box {
    flex-wrap: wrap;
    justify-content: space-between; 
    }
    input.srch {
    	width: 100%;
    }
    .srch_btn {
    	margin-top: 10px;
    	width: 100%;
    	justify-content: space-between;
    }
    .edu_view2_bot .edu_subs {
    	width: 49%;
    } 
    .srch_box .srch_btn button{
	    margin-left: 0;
	    width: 100%;
	    font-size: 14px;
        height: 50px;
    }
    .mypage .srch_box .srch_btn button {
    	width: 100%;
    }
    .edu_view2_top .img img {
    height: auto;
    }
    .view_rg .edu_view_tit {
    font-size: 24px;
    padding-bottom: 20px;
    }
    .s2 .view_rg {
    font-size: 14px;
    }
    .edu_subs {
    font-size: 18px;
    height: 60px;
    }
    .edu_view_tab .tab_list {
    font-size: 16px;
    }
    .edu_view_cont {
    padding: 20px;
    font-size: 14px;
    }
    .mypg_box_list {
    overflow-x:scroll;
    }
    .mypg_box_list table {
    min-width: 900px;
    font-size: 12px];
    }
    button.pay {
    font-size: 12px;
    margin-top: 4px;
    }
    .mypg_box_list table tr td {
    padding: 10px 8px;
    }
    .mypg_tab li {
    font-size: 14px;
    }
    .mypage a {
    padding: 4px 10px;
    }
    .mypg_box_list table {
    	margin-top: 0;
    }
    .no_data {
    	font-size: 12px;
    }
    .srch_more select {
    font-size: 14px;
    }
    input[type="date"] {
    	font-size: 14px;
    }
    .srch_li {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
    }
    .srch_li_box label {
    	font-size: 14px;
    }
    .srch_li h3 {
    	padding-bottom: 8px;
    }
    .input_wrap {
    	width: 100%;
    	justify-content: space-between;
    	display: flex;
    	align-items: center;
    }
    .srch_li_box02 select {
    width: 49.5%;
    }
    .srch_li_box02 .srch_li02 .input_wrap {
    	width: 100%; 
    }
    .srch_li_box02 .srch_li02 .input_wrap select {
    	width: 100%;
    }
    .srch_li_box label {
            width: 32%;
    }
    .srch_li_box .srch_li02 label {
    	width: 23.5%;
    }
    .srch_li_box01 .srch_li02 select {
    width: 100%;
    }
    .date_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 104px);
    }
    .srch_more input[type="date"] {
    width: 47%;
    }
    .myupd input[type="text"],.myupd #email3 {
    font-size: 14px;
    }
    
  .tb03.myupd colgroup{ display:none; }

  .tb03.myupd,
  .tb03.myupd tbody,
  .tb03.myupd tr{
    display:block;
    width:100%;
  }

  .tb03.myupd tr{
    padding-top: 20px;
  }
  .tb03.myupd tr:first-child {
  padding-top: 0;
  }

  .tb03.myupd th{
    display:block;
    width:100%;
    padding:10px 0;
    font-weight:600;
  }

  .tb03.myupd td{
    display:block;
    width:100%;
    padding:0;
    border-bottom: 0;
    text-align: center;
    padding-top: 20px;
  }
  .myupd #email2 + label {
  	display: none;
  }
  
  .tb03.myupd td{
  }
  /* ì—°ë½ì²˜ ì¤„(4ë²ˆì§¸ tr) tdë§Œ flex */
  .tb03.myupd tr:nth-child(4) td{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }
  .tb03.myupd tr:nth-child(4) td input{
    flex:1 1 90px;
    min-width:0;
  }

  .tb03.myupd tr:nth-child(5) td{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }
  .tb03.myupd tr:nth-child(5) td input{
    flex:1 1 140px;
    min-width:0;
  }
  .tb03.myupd tr:nth-child(5) td select{
    flex:1 1 100%;
    min-width:0;
  }

 
  .rch_btn.srch_more_btn a{
    width:auto;
    max-width:100%;
  }
  
  .s302 table {
  	width: 980px;
  }
  .s302 .cont { 
  	overflow-x:scroll;
  }
  .s302 h3 {
      font-size: 18px;
  }
  .mypg_box .edu_list_wrap {
 	 flex-direction: column;
 	 width: 100%;
  }
  .edu_file {
  	height: 60px;
  }
  .mypage .edu_list_md{
  	width: 100%;
  }
  .s0302_slide {
  	min-height: auto;
  }
  .swiper_sum .swiper-slide {
  	height: 56px;
  }
  .s0302_cont h3.s_tit span {
  	font-size: 18px;
  }
  .s_tit_box {
  	padding: 15px;
  	font-size: 14px;
  }
  .s0302_cont .swiper_sum {
  	height: auto;
  }
  .s0302_cont {
  	margin-bottom: 50px;
  }
  .s4 .basic_table {
  	font-size: 14px;
  	word-break: keep-all;
  }
  .basic_table th {
  	padding: 10px 0;
  }
  .s0401 .content {
  	overflow-x: scroll;
  }
  .s0401 .basic_table {
  	width: 500px;
  }
  .s42-info-box .info-btn {
  	width: 100%;
  }
  .s42-list-txt li {
  	font-size: 14px;
  }
  .s42-info-box h3 {
  	font-size: 16px;
  }
  .s42-info-box {
  	padding: 20px;
  }
  .s42-info-box .info h4 {
  	font-size: 16px;
  }
  .s42-info-box .info-wrap li {
  	font-size: 14px;
  }
  .s42-info-box .info:last-child {
  	margin-bottom: 0;
  }
  .s42-info-box .info-btn a {
  	font-size: 14px;
  }

  
  /*qna*/
  
  .qna_table thead{
        display:none;
    }

    .qna_table,
    .qna_table tbody{
        display:block;
        width:100%;
    }

    .qna_table .qna_list{
        display:grid;
        grid-template-columns: 70px 1fr auto;
        grid-template-areas:
            "title title title"
            "state writer date";
        gap:10px 12px;
        padding:20px 15px;
        border-bottom:1px solid #ddd;
        font-size: 14px;
    }

    .qna_table .qna_list td{
        display:block;
        width:auto !important;
        border:none;
        padding:0;
        margin:0;
        text-align:left;
        vertical-align:middle;
    }

    .qna_table .qna_list .tit{
        grid-area:title;
        font-size:14px;
        line-height:1.4;
        margin-bottom:6px;
    }


    .qna_table .qna_list .state{
        grid-area:state;
        font-size:15px;
        font-weight:700;
        color:#ff8a00;
        white-space:nowrap;
    }

    .qna_table .qna_list .writer{
        grid-area:writer;
        font-size:15px;
        color:#666;
        white-space:nowrap;
    }

    .qna_table .qna_list .date{
        grid-area:date;
        font-size:15px;
        color:#666;
        white-space:nowrap;
        justify-self:end;
    }

    .qna_table .qna_view td{
        display:block;
        width:100%;
        padding:15px;
        box-sizing:border-box;
    }
    .question {
    font-size: 14px;
    }
    
    
    .wall_btn {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 25px;
  }

  .wall_btn li {
    width: 25%;
    padding: 10px 6px;
    font-size: 14px;
  }

  .wall_btn li.on {
    border-bottom: 2px solid #008d85;
  }

  .wall_top strong {
    padding: 0 10px;
    font-size: 20px;
  }

  .wall_top span {
    width: 10px;
  }

  .wallpaper {
    overflow-x: auto;
  }

  .calendar {
    min-width: 720px;
    width: 720px;
  }

  .calendar th {
    font-size: 13px;
    padding: 8px 0;
  }

  .calendar td {
    height: 82px;
    padding: 8px 4px 48px;
    font-size: 13px;
    vertical-align: top;
  }

  .calendar .endday::after {
    font-size: 11px;
    bottom: 8px;
    padding: 5px 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .map_tit {
  	position: static;
  	width: 95%;
    box-sizing: border-box;
    padding: 20px;
    height: 100px;
    background-size: 110px;
  }
  .map_tit p {
  	font-size: 14px;
  }
  .map_tit h3 {
  	font-size: 24px;
  }
  .map_txt {
  	width: 100%;
  	padding: 0;
  	padding-top: 10px;
  }
  .location > .txt {
  	flex-direction: column;
  }
  .map_txt li {
  	align-items: center;
  }
  .map_txt div {
  	box-sizing: border-box;
  }
  .map_txt div p {
  	font-size: 14px;
  }
  .root_daum_roughmap_landing {
  	height: 150px !important;
  }
  .map_txt li .icon {
  	width: 30px;
    height: 30px;
  }
  .map_txt li .icon img {
  	width: 10px;
  }
  
  .sv_tit {
		font-size: 24px;
	}
	#container.join_page {
		padding-top: 100px !important;
		
	}
	.join_page .cont {
		padding: 20px 20px;
		min-height: 300px;
	}
	.join_page th {
		font-size: 14px;
	}
	.join_page input[type="text"] {
		height: 40px; 	
	}
	
	/*login*/
    .login_page .m_login{
        max-width: 100%;
        padding: 30px 20px;
        border-radius: 15px;
    }
    .login_page .m_login h2 {
        font-size: 24px;
    }
    .login_page .m_login p {
        font-size: 14px;
    }
    .login_page .m_login .log_info input {
        font-size: 14px;
    }
    .login_page .log_btn button {
        font-size: 14px;
        padding: 14px 14px;
    }
    .login_page .m_login .log_save {
        font-size: 12px;
    }
    .login_page .log_info_page {
        margin-top: 10px;
    }
    .login_page .log_info_page a {
        font-size: 12px;
    }

    /*join*/
    .join_top {
        flex-wrap: wrap;
        margin-bottom: 20px;
        padding-bottom: 20px;

    }
    .join_top .arrow {
        display: none;
    }
    .join_step span {
        width: 50px;
        height: 50px;
    }
    .join_step img {
        max-width: 20px;
    }
    .join_step {
        text-align: center;
        margin-right: 20px;
    }
    .join_step h3 {
        font-size: 14px;
    }
    .join01 h4 {
        margin-bottom: 10px;
    }
    .join_page .cont {
        padding: 30px 20px;
        border-radius: 20px;
    }
    .join_btn button {
        width: 100%;
    }
    .join_btn {
    }
    .join_btn button{
        margin-bottom: 10px;
    }
    .join_btn button:last-child{
        margin-bottom: 0;
    }
    .join01 .cont_step {
        border-radius: 15px;
        padding: 15px;
        height: auto;
        overflow: auto;
    }
    .join_page .agree {
        font-size: 14px;
    }
    .join01 .cont_step p {
        padding-left: 10px;
    }
    .join_page .ad input:last-of-type {
        width: 100%;
    }
    .join_page input[type="text"] {
        width: 100%;
        font-size: 14px;
    }
    
    .join03 .cont_step03 p::before {
    	display: none;
    }
    #container.join_page form input[type="text"], #container.join_page form input[type="password"], #container.join_page form input[type="date"], #container.join_page form select {
    	text-indent: 0;
    }
    #container.join_page form .certi_num td {
    	display: flex;
    	align-items: center;
    }
    #container.join_page form .certi_num td span {
    	margin-left: 6px !important;
    }
    
    .join03 .cont_step03-1 {
    	argin-top: 0;
    }
    #container.join_page .txtbox {
    	font-size: 14px;
    }
	#container.join_page .join01_btn button, #container.join04 .join_btn button {
		margin: 0;
	}

/* ===== 예약현황 달력 & 모달 (page04-3) ===== */
.calendar td.has-resv {
    cursor: pointer;
    background: #f0f9ff;
}
.calendar td.has-resv:hover {
    background: #d9f0fb;
}
.resv_badge {
    display: block;
    font-size: 11px;
    background: #00bec9;
    color: #fff;
    border-radius: 3px;
    padding: 2px 5px;
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 모달 오버레이 */
.resv-modal-wrap {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 모달 박스 */
.resv-modal-box {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 32px 28px 24px;
    width: 90%;
    max-width: 480px;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
    margin: 0 3%;
}
.resv-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #555;
    line-height: 1;
}
.resv-modal-title {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.resv-detail-item {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}
.resv-detail-item:last-child {
    border-bottom: none;
}
.resv-detail-item strong {
    display: block;
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
}
.resv-period {
    display: block;
    font-size: 13px;
    color: #666;
}
.resv-memo {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 4px;
}

.s42-step img.pc {
    display: none;
}
.s42-step img.mo {
    display: block;
}
.cal_nav {
    padding-bottom: 10px;
}
.cal_nav_title {
    font-size: 20px;
}

}

@media(max-width: 768px){
    .privacy .grayBox ul li {
        width: 100%;
    }
    .privacy .pvConWrap .h4_style {
        font-size: 16px;
        padding-left: 0;
    }
    .privacy .pvConWrap .h5_style {
        padding-left: 12px;
        margin-left: 0;
        font-size: 14px;
    }
    .privacy ul.numList1 > li {
        margin-left: 0;
        padding-left: 0;
        font-size: 14px;
    }
    .privacy .pvConWrap .h5_style::before {
        width: 6px;
        height: 6px;
    }
    .privacy ul.numList1 {
        padding-left: 10px;
    }
    .privacy .grayBox {
        padding: 15px;
        margin: 10px 0 15px;
    }
    .privacy .grayBox ul li {
        font-size: 14px;
    }
    .privacy .grayBox ul li:first-child{
        margin-top: 0;
    }
    .privacy ul.numList1 > li::before {
        left: -10px;
        top: 6px;
    }
    .privacy p {
        padding-left: 0;
        text-indent: 0;
        font-size: 14px;
    }
    .privacy .grayBox .cont {
        font-size: 14px;
    }
    .privacy .grayBox .cont p {
        padding-top: 0px;
    }
    .prv_page_btn {
        margin-left: 0;
        font-size: 14px;
        max-width: 100%;
    }
    #container.join_page {
        padding-top: 40px !important;
    }
    #container.pri {
        padding: 0 0 50px!important;
    }
    .pri .sv_tit {
        padding: 40px 0;
    }
}

/* 강사 마이페이지 공용 ============================== */
.my-tabs .my-tab {padding: 15px 20px;}
.my-tabs { display:flex; border-bottom:2px solid #1a73e8; margin:0 0 20px;
    gap:2px; width:100%; box-sizing:border-box; }
.my-tab.active { background:#008d85; color:#fff; border-color:#008d85; }
.my-page-title { font-size:22px; margin:0 0 14px; color:#333; font-weight:700; }
.my-placeholder { padding:60px 0; text-align:center; color:#999;
    background:#fafbfc; border:1px dashed #ddd; border-radius:6px; }
.my-placeholder .ph-em { color:#1a73e8; font-weight:600; }
.my-tab {
    flex-wrap: wrap;
}
.my-tab .menu_tab_li {
    width: 25%;
}
/* [2026-09-24] 4열 그리드 경계 처리.
   종전 :nth-child(4) 만 있어 1행 끝만 처리됐고, 2행 끝은 common.css 의 :last-child 에 의존했다.
   탭 개수가 바뀌면 어긋나므로 행 단위(4n)로 일반화한다. */
.my-tab .menu_tab_li:nth-child(4n){
    border-right: 0;
}
/* 마지막 행 빈 칸 — 탭 수가 4의 배수가 아닐 때 그리드를 채워 테두리가 끊기지 않게 한다.
   클릭 대상이 아니므로 커서·hover 를 죽인다. (JSP 의 li.is-empty 와 쌍) */
.my-tab .menu_tab_li.is-empty {
    cursor: default;
    background: #fafbfc;
}

/* sub-tab (강사 일정표 탭 내부) */
.my-subtab .my-subtab {padding: 10px 20px;}
.my-subtabs { display:flex; margin:0 0 16px; border-bottom:1px solid #e0e0e0;
    padding-bottom:0; }
.my-subtabs .my-subtab { padding:12px 20px; cursor:pointer; background:#fff; color:#555;
    border:1px solid #d0d7de; border-bottom:0; border-radius:5px 5px 0 0;
    font-size:16px; font-weight:500; text-decoration:none; min-width:120px;
    text-align:center; position:relative; top:1px; }
.my-subtab.active { background:#004541; color:#fff; border-color:#004541; font-weight:500; }
.ys_cate_wrap {
    gap: 10px;
}
/* 연간교육일정 */
.ys_selector{display:flex;gap:12px;align-items:center;margin:24px 0 8px;flex-wrap:wrap;}
.ys_cate1{display:flex;gap:8px;flex-wrap:wrap;}
.ys_c1_btn{padding:9px 18px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:15px;color:#333;}
.ys_c1_btn.on{background:#333;color:#fff;border-color:#333;font-weight:600;}
.ys_year select,.ys_cate2 select,.ys_local select{padding:9px 12px;border:1px solid #ddd;border-radius:4px;font-size:15px;background-color:#fff;}
.ys_year select{min-width:110px;}
.ys_cate2 select{min-width:240px;}
.ys_local{}                           /* 시도회 : 2차 카테고리 바로 우측에 붙임 */
.ys_local select{min-width:150px;}
.ys_ctg2_nm{margin:20px 0 12px;font-size:20px;font-weight:600;color:#008d85;}
.ys_table_wrap{overflow-x:auto;}
.ys_table{width:100%;border-collapse:collapse;font-size:16px;min-width:760px;}
.ys_table th,.ys_table td{border:1px solid #e5e5e5;padding:12px 8px;text-align:center;vertical-align:middle;}
.ys_table thead th{background:#f0fcfd;color:#222;font-weight:600;}
/*.ys_table tbody tr:nth-child(even){background:#fafafa;}*/
.ys_table tbody tr{cursor:pointer;}
.ys_table tbody tr:hover{background:#eef6f1;}
.ys_empty{padding:40px 20px;text-align:center;color:#888;font-size:15px;}
@media(max-width:1024px){
    .my-tabs {
        flex-wrap: wrap;
    }
    .my-tabs .my-tab {
        width: 20%;
        flex: auto;
        box-sizing: border-box;

    }
}
@media(max-width:768px){
    .ys_year {
        width: 100%;
    }
    .ys_cate1 {
        width: 100%;
    }
    .ys_year select {
        width: 100%;
    }
    .ys_c1_btn {
        flex:1;
    }
    .my-tabs .my-tab {
        padding: 10px 4px;
        font-size: 12px;
    }
    .ys_cate_wrap {
        width: 100%;
    }
    .ys_table{font-size:14px;} .ys_table th,.ys_table td{padding:10px 6px;}
    .ys_cate2 select, .ys_local select{width:100%; font-size: 14px; min-width:auto;}
    .ys_cate2 {
        flex:1;
    }
    .ys_local{
        flex:1;
    }
    .overview p.ys_empty {
        border-radius: 10px;
        font-size: 14px;
    }
}


/* 강사 공지사항 탭 */
.notice-search { display:flex; gap:6px; align-items:center; margin-bottom:14px; }
.notice-search input[type=text] { padding:6px 8px; border:1px solid #ccc;
    border-radius:3px; height:32px; width:240px; }
.notice-search button { padding:0 18px; background:#333;
    color:#ffffff !important; border:0; border-radius:3px; cursor:pointer;
    height:45px; font-weight:600;    font-size: 16px; }
.notice-list { width:100%; border-collapse:collapse; }
.notice-list th { background:#f7f8fa; padding:12px; border-bottom:1px solid #ddd;
    font-size:16px; color:#333; text-align:center; }
.notice-list td { padding:20px; border-bottom:0; font-size:16px; text-align:center;white-space: nowrap; }
.notice-list td.tl { text-align:left; }
.notice-list tr {border-bottom: 1px solid #ddd;
}
.notice-list tr.notice-row { background:#fff8e6; }
.notice-list a.notice-title { color:#333; text-decoration:none; font-weight:500; }
.notice-list a.notice-title:hover { color:#1a73e8; text-decoration:underline; }
.notice-list .badge-notice { display:inline-block; padding:2px 8px; border-radius:10px;
    background:#a17400; color:#fff; font-size:11px; margin-right:6px; }
.notice-empty { text-align:center; padding:50px 0; color:#999; }
.notice-search label {
    cursor: auto;
    margin-right: 8px;
    font-weight: 600;
}
.notice-search select{
    min-width: 200px;
}
/* 상세 */
.notice-view { background:#fff; border:1px solid #e0e0e0; border-radius:6px; padding:24px; margin-bottom:20px; }
.notice-view .nv-title { font-size:20px; font-weight:700; color:#333; margin:0 0 10px; }
.notice-view .nv-meta { font-size:13px; color:#666; padding-bottom:14px;
    border-bottom:1px solid #eee; margin-bottom:18px; }
.notice-view .nv-meta span { margin-right:14px; }
.notice-view .nv-content { font-size:15px; line-height:1.7; color:#333; min-height:180px; padding:8px 0 20px; }
.notice-view .nv-attach { background:#fafbfc; border:1px solid #eaeaea;
    border-radius:6px; padding:12px 16px; margin-top:14px; }
.notice-view .nv-attach b { color:#1a73e8; }
.notice-view .nv-attach ul { margin:8px 0 0; padding-left:18px; }
.notice-view .nv-attach li { padding:3px 0; font-size:13px; }
.notice-view .nv-attach a { color:#1a73e8; text-decoration:none; }
.notice-view .nv-attach a:hover { text-decoration:underline; }
.notice-view .nv-foot { text-align:center; margin-top:18px; }
.notice-view .btn-back {
    padding:10px 22px; background:#5a6268 !important; color:#ffffff !important;
    border:0; border-radius:4px; cursor:pointer; font-size:14px; font-weight:600;
    text-decoration:none; display:inline-block;
}
.notice-view .btn-back:hover { background:#41464b !important; color:#ffffff !important; }

@media(max-width: 768px){
    .notice-search button {
        font-size: 14px;
    }

    /* =========================
       공통
    ========================= */
    .notice-list {
        width: 100% !important;
        max-width: 100%;
        table-layout: fixed;
        box-sizing: border-box;
    }

    .notice-list th,
    .notice-list td {
        box-sizing: border-box;
        padding: 12px 8px;
        border-right: 0;
        font-size: 14px;
    }


    /* =========================
       공지사항 / 커뮤니티
       recs-table 제외
    ========================= */

    /* 기존 colgroup은 모바일에서 사용하지 않음 */
    .notice-list:not(.recs-table) colgroup {
        display: none;
    }

    /* 작성자 숨김 */
    .notice-list:not(.recs-table) th:nth-child(3),
    .notice-list:not(.recs-table) tbody tr:not(.empty-row) td:nth-child(3) {
        display: none !important;
    }

    /* 조회 숨김 */
    .notice-list:not(.recs-table) th:nth-child(5),
    .notice-list:not(.recs-table) tbody tr:not(.empty-row) td:nth-child(5) {
        display: none !important;
    }

    /* NO */
    .notice-list:not(.recs-table) th:nth-child(1),
    .notice-list:not(.recs-table) tbody tr:not(.empty-row) td:nth-child(1) {
        width: 45px !important;
    }

    /* 제목 */
    .notice-list:not(.recs-table) th:nth-child(2),
    .notice-list:not(.recs-table) tbody tr:not(.empty-row) td:nth-child(2) {
        width: calc(100% - 145px) !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* 등록일 */
    .notice-list:not(.recs-table) th:nth-child(4),
    .notice-list:not(.recs-table) tbody tr:not(.empty-row) td:nth-child(4) {
        display: table-cell !important;
        width: 100px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: clip;
        text-align: center;
    }


    /* =========================
       ★ 공지사항 빈 행
       colspan=5가 컬럼 계산에
       영향 주지 않게 처리
    ========================= */

    .notice-list:not(.recs-table) .empty-row {
        position: relative;
        height: 42px;
    }

    .notice-list:not(.recs-table) .empty-row .notice-empty {
        position: absolute;
        left: 0;
        right: 0;

        display: block !important;
        width: 100% !important;

        padding: 12px 8px;
        text-align: center;
        box-sizing: border-box;
    }


    /* =========================
       강사 자료실
    ========================= */

    .recs-table col:nth-child(1) {
        width: 45px !important;
    }

    .recs-table col:nth-child(2) {
        width: auto !important;
    }

    .recs-table col:nth-child(3) {
        width: 100px !important;
    }

    .recs-table th:nth-child(3),
    .recs-table td:nth-child(3) {
        display: table-cell;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: clip;
        text-align: center;
    }

    .recs-table th:nth-child(n+4),
    .recs-table td:nth-child(n+4) {
        display: none;
    }

    .recs-table col:nth-child(n+4) {
        width: 0 !important;
    }
    .notice-list td.board-tit {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
}


.commu-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.commu-head .btn-write {
    padding:9px 20px; background:#ff8a00 !important; color:#fff !important;
    border:0; border-radius:4px; cursor:pointer; font-size:14px; font-weight:700; text-decoration:none;
}
.commu-list td.tl { text-align:left; }
.commu-list .badge-cnt { display:inline-block; background:#008d85; color:#fff;
    font-size:11px; padding:4px 7px; border-radius:10px; margin-left:5px; }

/* 상세 */
.commu-view {
    width: 100%;
    border-top: 2px solid #222;
    margin-top: 30px;
    border-spacing: unset;
}
.commu-view .v-title {
    font-size: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
    padding: 16px 20px;
    text-align: center;
}
.commu-view .v-meta {
    text-align: center;
    border-bottom: 1px dashed #ddd;
    border-right: 0;
    padding: 16px 20px;
    font-size: 14px;
}
.commu-view .v-meta span { margin-right:14px;display: inline-block; }
.commu-view .v-content {
    min-height: 300px;
    font-size: 16px;
    font-weight: 300;
    line-height: 140%;
    padding: 16px 20px;
}
.v-foot {
    margin-top: 20px;
}
/* 답글 */
.reply-box { background:#fafbfc; border:1px solid #eaeaea; border-radius:6px;
    padding:16px; margin-top:18px; }
.reply-box .reply-tit { font-size:16px; font-weight:600; color:#008d85; margin-bottom:10px; }
.reply-item { padding:10px 0; border-bottom:1px solid #eee; }
.reply-item:last-child { border-bottom:0; }
.reply-item .r-meta { font-size:12px; color:#888; margin-bottom:4px; }
.reply-item .r-meta b { color:#333; font-weight:600; }
.reply-item .r-meta a.r-del { color:#d9534f; margin-left:8px; font-size:11px; }
.reply-item .r-content { font-size:14px; color:#333; line-height:1.5; white-space:pre-wrap; }
.reply-write { margin-top:14px; }
.reply-write textarea { width:100%; border:1px solid #ccc; border-radius:4px;
    padding:8px; min-height:60px; font-size:16px;}
.reply-write .submit-row { text-align:right; margin-top:6px; }
.repl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px !important;
    color: #fff;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    font-weight: 500;
    box-sizing: border-box;
    font-size: 18px;
    background: #004541;
}

/* 작성 폼 */
.write-form table { width:100%; border-collapse:collapse; }
.write-form th { background:#f7f8fa; padding:12px; text-align:left; width:14%; border-bottom:1px solid #ddd; }
.write-form td { padding:12px; border-bottom:1px solid #eee; }
.write-form textarea { min-height:240px;}
.write-form .form-foot { text-align:center; margin-top:18px; }

@media(max-width:768px){
    .commu-head {
        flex-wrap: wrap;
    }
    .commu-head .btn-write {
        width: 100%;
        padding: 12px 20px;
        text-align: center;
        margin-top: 10px;
    }
    .notice-search {
        width: 100%;
    }
    .commu-view .v-content {
        font-size: 14px;
    }
    .reply-box .reply-tit {
        font-size: 14px;
    }
    .reply-write textarea {
        font-size: 14px;
    }
    .repl-btn {
        font-size: 16px;
    }
    submit-row {
        text-align: center;
    }
}

/*경력증명서발급*/


.cert-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.cert-head .btn-req {
    padding:10px 20px; background:#1a73e8 !important; color:#ffffff !important;
    border:0; border-radius:4px; cursor:pointer; font-size:16px;
}


.cert-table .no-data { text-align:center; padding:40px 0; color:#999; }

.badge-status { display:inline-block; padding: 10px 10px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600; }
.badge-status.req    { background:#e8f0fe; color:#1a73e8; }
.badge-status.issued { background:#e0f7e9; color:#1a7a3a; }
.badge-status.reject { background:#fde2e1; color:#a8322f; }

.notice-list .btn-down {
    padding:10px; background:#008d85 !important; color:#fff !important;
    border:0; border-radius:3px; cursor:pointer; font-size:16px;
    text-decoration:none; display:inline-block;
}
.btn-down.disabled { background:#ccc !important; cursor:not-allowed; pointer-events:none; }
.cert-table th:nth-child(3), .cert-table td:nth-child(3), .cert-table th:nth-child(5), .cert-table td:nth-child(5) {
    display: table-cell;
}

/* 요청 모달 */
.cert-pop-mask { display:none; position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.5); z-index:1000; }
.cert-pop { display:none; position:fixed; top:50%; left:50%;
    transform:translate(-50%,-50%); width:480px; max-width:95%; background:#fff;
    border-radius:8px; z-index:1001; box-shadow:0 6px 24px rgba(0,0,0,0.2); }
.cert-pop .pop-head { padding:15px 20px; border-bottom:1px solid #eee;
    display:flex; justify-content:space-between; align-items:center; }
.cert-pop .pop-body table { width:100%; border-collapse:collapse;font-size: 16px; }
.cert-pop .pop-body th { background:#f7f8fa; padding:10px; text-align:left; width:32%; border-bottom:1px solid #eee; }
.cert-pop .pop-body td { padding:10px; border-bottom:1px solid #eee; }
.cert-pop .pop-body input[type=text], .cert-pop .pop-body textarea {
    width:100%; padding:6px 8px; border:1px solid #ccc; border-radius:3px;box-sizing: border-box; }
.cert-pop .pop-body textarea { resize:vertical; min-height:60px; }
.small {
    font-size: 14px;
    color:#666;
}

/*자격증관리*/
.lic-upload { background:#f7f8fa; border:1px solid #eaeaea; border-radius:6px;
    padding:16px; margin-bottom:18px; }
.lic-upload .row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; width: 100%;}
.lic-upload input[type=file] { flex:1; min-width:200px; }

.lic-table .badge { display:inline-block; padding:2px 8px; border-radius:3px;
    font-size:12px; font-weight:600; }
.lic-table .badge.cert    { background:#d4edda; color:#155724; }
.lic-table .badge.career  { background:#cce5ff; color:#004085; }
.lic-table .badge.edu     { background:#fff3cd; color:#856404; }
.lic-table .badge.photo   { background:#f8d7da; color:#721c24; }
.lic-table .badge.etc     { background:#e2e3e5; color:#383d41; }
.lic-table .btn-down { padding:4px 10px; background:#fff; color:#1a73e8;
    border:1px solid #1a73e8; border-radius:3px; cursor:pointer; font-size:12px;
    text-decoration:none; }
.lic-table .btn-del { padding:4px 10px; background:#fff; color:#d9534f;
    border:1px solid #d9534f; border-radius:3px; cursor:pointer; font-size:12px; }
.lic-empty { text-align:center; padding:40px; color:#999; }
.lic-upload button {
    width: 100%;
    margin-bottom: 10px;
}
#attachFile::file-selector-button {
    padding: 8px 14px;
    min-width:100px;
    height:46px;
    border: 1px solid #ccc;
    text-indent: 16px;
    border-radius: 4px;
    background-color: #f8f8f8;
    background-image: url('../img/icon/file.png');
    background-repeat: no-repeat;
    background-position: 12px center;
    background-size: 18px 18px;
    color: #333;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}



.lic-upload .flex_al {
    gap: 30px;
}
/*강사료내역*/
.pay-summary { width: 100%;display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.pay-card { background: #f0fcfd;
    flex: 1;
    text-align: center;
    padding: 0;
    border-radius: 8px; padding: 20px 10px;border: 1px solid #c5e1e1;}
.pay-card .lbl { font-size:16px; color:#555; margin-bottom:6px; }
.pay-card .val { font-size:18px; font-weight:700; color:#1a73e8; }
.pay-summary ul {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.pay-card span.edu_ing_bot {
    color: #008d85;
}
.pay-card span.edu_ing_bot2 {
    color: #666;
}
.pay-card.unsettled .val { color:#d9534f; }
.pay-card.settled   .val { color:#008d85; }
.pay-card .edu_icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 999px;
    margin: 0 auto;
}
.pay-card .edu_icon img {
    width: 30px;
}

.pay-card h4 {
    padding: 8px 0 4px;
}
.pay-table .badge-settled { display:inline-block; padding:4px 10px; border-radius:3px;
    background:#d4edda; color:#155724; font-size:14px; font-weight:600; }
.pay-table .badge-unsettled { display:inline-block; padding:4px 10px; border-radius:3px;
    background:#fff3cd; color:#856404; font-size:14px; font-weight:600; }

/*강의평가결과*/
.eval-card .lbl { font-size:13px; color:#555; margin-bottom:6px; }
.eval-card .val { font-size:22px; font-weight:700; color:#1a73e8; }
.eval-card.score .val { color:#28a745; }

.eval-chart-wrap { background:#fff; border:1px solid #eaeaea; border-radius:6px;
    padding:18px; margin-bottom:18px; }
.eval-chart-wrap h4 { margin:0 0 10px; font-size:15px; color:#333; }
#evalCategoryChart { max-height:280px; }

/*강사자료실*/

.recs-search { background:#f7f8fa; border:1px solid #eaeaea; border-radius:6px;
    padding:12px 30px; margin-bottom:16px; display:flex; gap:10px; align-items:center; }


.recs-search .btn-write { min-width: 200px;padding:6px 18px; background:#28a745 !important; color:#fff !important;
    border:0; border-radius:3px; cursor:pointer; height:34px; text-decoration:none;
    display:inline-block; line-height:22px;display: flex;align-items: center;justify-content: center;}

.recs-table .att-cnt { display:inline-block; background:#1a73e8; color:#fff;
    border-radius:10px; padding:1px 8px; font-size:11px; }
.recs-empty { text-align:center; padding:40px; color:#999; }

.recs-form .row { margin-bottom:12px; }
.recs-form label { font-weight:600;cursor: auto; }
.recs-form input[type=text], .recs-form textarea {
    width:100%; padding:8px; border:1px solid #ccc; border-radius:3px; font-size:13px; box-sizing:border-box; }
.recs-form textarea { min-height:140px; }
.recs-form .btn-area { margin-top:18px; text-align:center; }

.write_box .btn-area {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.write_box .btn-write-basic {     display: inline-flex;
    align-items: center;
    justify-content: center;width: 150px;height: 50px !important; color:#fff;
    border:0; border-radius:3px; cursor:pointer; font-weight:500; box-sizing: border-box;
    font-size: 18px;
    font-weight: 600;
}

.write_box .btn-save { background:#004541;  }
.write_box .btn-cancle {
    background:#fff;
    color:#666;
    border: 1px solid #ddd;
}

.recs-detail h4 { margin:0 0 10px; font-size:16px; color:#333; }
.recs-detail .meta { font-size:12px; color:#888; margin-bottom:14px; }
.recs-detail .content { padding:16px; background:#fafafa; border:1px solid #eee; border-radius:4px;
    white-space:pre-line; line-height:1.6; min-height:120px; }
.recs-detail .att-list { margin-top:14px; }
.recs-detail .att-list a { display:inline-block; margin:0 6px 6px 0; padding:5px 12px;
    background:#fff; border:1px solid #1a73e8; color:#1a73e8; border-radius:3px;
    text-decoration:none; font-size:12px; }
.write_box {
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.02);
}
.write_box input[type=text]{
    height: 45px;
    font-size: 16px;
    width: 100%;
}
.write_box textarea{
    font-size: 16px;
}
.write_box label{
    display: block;
    margin-bottom: 15px;
    cursor: auto;
    font-size: 18px;
    font-weight: 600;
}
.write_box .row {
    margin-bottom: 20px;
}
.file_box{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.file_box div {
    padding: 10px;
    background:#fbfbfb;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.file_box #attachFile{
    width: 100%;
}
.num_cir {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #008d85;
    color: #fff;
    margin-right: 8px;
}
@media(max-width:768px){
    .recs-search .btn-write {
        font-size: 14px;
        width:100%;
        box-sizing: border-box;
        height: 40px;

    }
    .recs-search {
        flex-wrap: wrap;
        box-sizing: border-box;

    }
    .notice-list {
        table-layout: fixed;
    }
    .srch_box_wrap {
        gap: 10px;
    }


}


/*강사일정표*/
.sc-page-title { font-size:22px; margin:0 0 16px; color:#333; }
.sc-help {background: #f0fcfd;
    padding: 20px;
    border-radius: 10px;
    color: #004541;
    border: 1px solid #c5e1e1;
    margin-top: 0;
    margin-bottom: 30px;}
.sc-help .badge-key { display:inline-block; padding:2px 8px; border-radius:10px;
    font-size:11px; margin-right:4px;font-size: 14px; }
.sc-help .badge-key.av  { background:#e0f7e9; color:#1a7a3a; }
.sc-help .badge-key.lk  { background:#fde2e1; color:#a8322f; }
.sc-help .badge-key.as  { background:#fff4d6; color:#a17400; }
.sc-hp-bg {
    gap: 10px;
    margin-top: 16px;
    color: #666;
}
/* === 캘린더 === */
.cal-nav { display:flex; justify-content:space-between; align-items:center;
    padding:10px 0; margin-bottom:8px; }
.cal-nav .cal-month { font-size:30px; font-weight:600; color:#004541; }
.cal-nav button {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    background: #fff !important;
    color: #666 !important;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.2;
    gap: 6px;
    border: 1px solid #666;
}
.cal-nav button img {
    width: 6px;
    display: inline-block;
}

.cal-grid { width:100%; table-layout:fixed; border-collapse:collapse;min-width: 800px; }
.cal-grid th { background:#f7f8fa; padding: 15px; border:1px solid #ddd;
    font-size:16px; color:#555; }
.cal-grid th.sun { color:#d9534f; }
.cal-grid th.sat { color:#5873db; }
.cal-grid td { border:1px solid #eee; height:110px; vertical-align:top;
    padding:5px; font-size:14px; cursor:pointer; transition:background 0.1s; position:relative; }
.cal-grid td:hover { background:#e8f5e9; }
.cal-grid td:hover .cal-cell-tag.av {
    background: #fff;
    transition: .3s;
}
.cal-grid td.other-month { background:#fafafa; color:#bbb; cursor:default; }
.cal-grid td.other-month:hover { background:#fafafa; }
.cal-grid td.locked { background:#fff5f5; cursor:not-allowed; }
.cal-grid td.locked:hover { background:#fff5f5; }
.cal-grid td.today .day-num { background:#00aba1; color:#fff;
    border-radius:50%; display:inline-block; width:22px; height:22px;
    line-height:22px; text-align:center; }
.cal-grid td .day-num { font-weight:600; }
.cal-grid td .day-num.sun { color:#d9534f; }
.cal-grid td .day-num.sat { color:#5873db; }
.cal-cell-tag { display:block; padding: 8px 4px;
    margin-top: 4px;border-radius:4px;
    font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition: .3s;}
.cal-cell-tag.av { background:#e0f7e9; color:#1a7a3a; }
.cal-cell-tag.as { background:#fff4d6; color:#a17400; }
.cal-cell-tag.lk { background:#fde2e1; color:#a8322f; }

/* === 등록/삭제 팝업 === */
.lyrPop-mask { display:none; position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.5); z-index:1000; }
.lyrPop-box { display:none; position:fixed; top:50%; left:50%;
    transform:translate(-50%,-50%); width:520px; max-width:95%; max-height:90vh;
    overflow:auto; background:#fff; border-radius:8px; z-index:1001;
    box-shadow:0 6px 24px rgba(0,0,0,0.2); }
.lyrPop-head { display:flex; justify-content:space-between; align-items:center;
    padding:15px 20px; border-bottom:1px solid #eee; }
.lyrPop-head h3 { margin:0; font-size:18px; }
.lyrPop-head .lyrPop-close { cursor:pointer; font-size:32px; color:#999; background:none; border:0; padding: 0 10px;}
.lyrPop-body { padding:20px; padding-top: 0;}
.lyrPop-foot { display: flex;padding:15px 20px; border-top:1px solid #eee; text-align:center;justify-content: center;
    gap: 10px; }
/* 팝업 액션 버튼 (등록 / 삭제 / 닫기) — 사이트 공통 .btn02 가 흐릿하게 보이는 문제 해결 */
.lyrPop-foot button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px !important;
    color:#fff;
    border:0;
    border-radius:3px;
    cursor:pointer;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 500;
}
.lyrPop-foot button#popSaveBtn { background:#004541 !important; color:#ffffff !important; }
.lyrPop-foot button#popDeleteBtn { background:#fff !important; color:#666 !important; border: 1px solid #ddd;}
.lyrPop-foot .btn-pop-close {
    background:#fff;
    color:#666;
    border: 1px solid #ddd;
}
.lyrPop-body table.sc-form { width:100%; border-collapse:collapse;font-size: 16px; }
.lyrPop-body table.sc-form th { background:#f5f5f5; padding:10px; text-align:left; width:30%; border-bottom:1px solid #ddd; }
.lyrPop-body table.sc-form td { padding:12px; border-bottom:1px solid #ddd; }
.lyrPop-body input[type=text], .lyrPop-body select, .lyrPop-body textarea {
    padding: 10px 14px; border:1px solid #ccc; border-radius:3px; }
.lyrPop-body select {
    margin-right: 8px;
    min-width: 80px;
}
.lyrPop-body select:disabled{
    background-image: none;
}
.lyrPop-body textarea { width:100%; resize:vertical; min-height:60px; }
.sc-asgn-info { background:#fff4d6; color:#7a5a00; padding:10px 12px;
    border-radius:6px; margin-bottom:10px; font-size:13px; }
.sc-asgn-info b { color:#a17400; }
.srch_box_wrap {
    width: 100%;
}
/*강의배정일정표*/
.asgn-search { background:#f7f8fa; border:1px solid #eaeaea; border-radius:6px;
    padding:14px; margin-bottom:14px; }
.asgn-search .row { display:flex; flex-wrap:wrap; gap:30px; align-items:center; }
.asgn-search input[type=text], .asgn-search select { padding:6px 8px;
    border:1px solid #ccc; border-radius:3px;}
.asgn-search input[type=text] {
    cursor: pointer;
    height: 32px;
}
.asgn-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}
.asgn-search label { cursor: auto;font-size:16px; color:#222; }
.asgn-search .btn-srch { font-size: 16px;padding:6px 18px; background:#333 !important; color:#fff !important;
    border:0; border-radius:3px; cursor:pointer; height:46px; font-weight:600; }
.asgn-search .btn-reset { font-size: 16px;padding:6px 14px; background:#fff; color:#555;
    border:1px solid #ccc; border-radius:3px; cursor:pointer; height:46px; }
.sub_tab li.active {
    border-bottom: 3px solid #008d85;
    color: #008d85;
    font-weight: 600;
}
.inner-tabs {
    margin-bottom: 20px;
}
.inner-tabs li {
    width: 50%;
}
.inner-pane { display:none; }
.inner-pane.active { display:block; }

table.scroll {
    min-width: 760px;
}
.cert-table b {
    margin-bottom: 4px;
    display: block;
}
.cert-table .board_tit span {
    font-size: 14px;
}
.cert-head {
    font-size: 16px;
}
@media(max-width:1200px){
    .lic-upload .row2 {
        max-width: 360px;
    }
    .recs-search {
        padding: 12px 10px;
    }
}
@media(max-width:1024px){
    .cal-grid_wrap {
        overflow-x: scroll;
    }
    .asgn-search .row {
        gap: 10px;
    }
    .asgn-wrap {
        width: 100%;
        flex: auto;
    }
    .asgn2 select {
        width: 0;
        flex: 1;
    }
    .asgn-wrap .btn-srch {
        flex: 4;
    }
    .my-subtabs .my-subtab {
        width: 50%;
        font-size: 14px;
    }
    .cal-grid td {
        height: 80px;
    }
    .sc-hp-bg {
        font-size: 14px;
    }

    #innerPane-list {
        overflow-x: scroll;
    }
    div.wrap:has(.scroll){
        overflow-x: scroll;
    }
    .lic-upload .row2 {
        max-width: 100%;
        width: 100%;
    }
}
@media(max-width:768px){
    .asgn-search input[type=text] {
        flex: 1;
        min-width: auto;
        max-width: 100%;
        width: 0;
        font-size: 14px;
    }
    .asgn-search .btn-srch, .asgn-search .btn-reset {
        font-size: 14px;
    }
    .asgn-search label {
        font-size: 14px;
    }
    .asgn2 select {
        font-size: 14px;
    }
    .cal-nav .cal-month {
        font-size: 20px;
    }
    .cal-nav button {
        font-size: 14px;
        padding: 10px 16px;
    }
    .cal-nav button img {
        width: 4px;
    }
    .lyrPop-body select {
        min-width: 60px;
        height: 40px;
        font-size: 14px;
    }
    .lyrPop-body table.sc-form {
        font-size: 14px;
    }
    .lyrPop-body textarea {
        font-size: 14px;
    }
    .lyrPop-foot button {
        font-size: 14px;
    }
    .srch_box_wrap {
        align-items: flex-start;
        flex-direction: column;
    }
    .sc-hp-bg {
        flex-direction: column;
        align-items: flex-start !important;
    }
    .sc-help {
        font-size: 14px;
    }

    #container .scroll th:nth-child(3), #container .scroll td:nth-child(3), #container .scroll th:nth-child(5), #container .scroll td:nth-child(5) {
        display: table-cell !important;
    }
    .notice-search input[type=text] {
        flex: 1;
        width: 0;
    }

    .badge-status, .notice-list .btn-down {
        font-size: 14px;
    }
    .cert-head .btn-req {
        font-size: 14px;
    }
    .cert-head {
        font-size: 14px;
    }
    .pay-summary ul {
        flex-direction: column;
    }
    .pay-card {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 14px;
        padding: 10px 15px;
        box-sizing: border-box;
    }
    .pay-card .edu_icon {
        width: 50px;
        height: 50px;
        margin: 0;
    }
    .pay-card h4 {
        padding:0;
        margin-left: 0px;
    }
    .notice-search select{
        min-width: auto;
        flex: 1;
        font-size: 14px;
    }
    .notice-search label {
        font-size: 14px;
    }
    .lic-upload .flex_al {
        flex: 1;
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
    .row-a {
        width: 100%;
    }
    #attachFile::file-selector-button {
        min-width: 120px;
        font-size: 14px;
        text-indent: 10px;
    }
    .write_box {
        padding: 16px;
    }
    .write_box input[type=text], .write_box textarea {
        font-size: 14px;
    }
    .notice-list .board_tit a {
        width: auto;
    }
    .notice-list  .board_tit span {
        width: auto;
    }
}



/*단체교육관리*/
.mg_tit_wrap {
    margin-bottom: 30px;
}
.mg_wrap .section_tit {
    flex:1;
    margin-bottom: 0;
    border-bottom: 0;
}
.mg_wrap h2{font-size:22px;font-weight:700;margin:24px 0 12px;}
.mg_wrap h3{
    font-size: 20px;
    font-weight: 700;
    margin: 24px 0 10px;
    padding-left: 10px;
    border-left: 3px solid #004541;
}

.mg_grp{cursor:pointer;}
.mg_grp:hover{
    background:#f8faff;
}
.mg_grp.on{background:#f8faff;}
.b_pass{background:#e6f7ec;color:#1b8a4b;}
.b_no{background:#fdecec;color:#c0392b;}
.b_ing{background:#eaf1fb;color:#1f4e9c;}
.empty{color:#888;padding:20px;text-align:center;}
.mg_wrap .grp_total{font-size:20px;font-weight:500;color:#333;margin-left:8px;padding:0}
.mg_wrap .grp_total strong{color:#008d85;}

.mg_wrap .st_txt{display:inline-block;font-size:16px;font-weight:700;padding:3px 12px;border-radius:14px;}
.mg_wrap .st_rcept{background:#eaf1fb;color:#1f4e9c;}
.mg_wrap .st_appr{background:#e6f7ec;color:#1b8a4b;}
.mg_wrap .st_cancel{background:#fdecec;color:#c0392b;}
.mg_wrap .mg_head{display:flex;align-items:center;justify-content:space-between;}
.mg_wrap .mg_head h3{margin:24px 0 10px;}


.section_tit span.grp_total::after {
    display: none;
}

.mg_wrap .over_edu_btn a {
    color: #fff;
    background: #008d85;
    transition: .3s;
}
.mg_wrap .over_edu_btn a:hover {
    background: #00655f;
    color: #fff;
    transition: .3s;
}

.mg_wrap .notice-list {
    margin-bottom: 20px;
}
#stdntGrpNm {
    padding: 6px 10px;
    background: #e6f7ec;
    color: #31965d;
    font-size: 15px;
    border-radius: 999px;
    margin-left: 4px;
}
#stdntArea {
    margin-top: 60px;
}
.mg_wrap table .col_s {
    width: 5%;
}
.mg_wrap table .col_m {
    width: 10%;
}
.mg_wrap table .btn_view {
    background:#666;
    color:#fff;
}


/*단체교육접수정보 상세보기*/
.me_wrap h3{font-size:24px;font-weight:700;margin:50px 0 10px;padding-left:12px;
position: relative}
.me_wrap h3::before{
    content: '';
    display: block;
    width: 4px;
    height:79%;
    background:#008d85;
    position: absolute;
    left: 0;
    top:50%;
    transform:translateY(-50%);
}
.me_box{
    font-size: 18px;
    gap: 15px;
    display: flex;
    flex-direction: column;
    border:1px solid #e2e6ec;border-radius:8px;padding:20px 30px;background:#fafbfc;}
.me_row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.me_row > label{cursor: auto;width:160px;min-width:130px;font-weight:600;color:#333;}
.me_wrap input[type=text]{height:38px;line-height:38px;border:1px solid #ccc;border-radius:5px;min-width:260px;background:#fff;box-sizing:border-box;}
.me_wrap input[readonly]{background:#eef1f4;color:#555;}
.me_ro{font-weight: 600;color:#222;padding: 5px 0;}
.me_hint{
    color: #888;
    font-size: 14px;
    margin: 6px 0;
    font-weight: normal;
    display: inline-block;
}
.me_lock{background:#fff5f5;border:1px solid #f2c9c9;color:#b03636;border-radius:6px;padding:10px 14px;margin:10px 0;font-size:14px;}
.me_actions{text-align:center;margin: 50px 0 0;}
.me_btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px !important;
    color: #666;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 500;
    background: #fff;
    border: 1px solid #ddd;
}
.me_btn_p{background:#1f4e9c;color:#fff;}
/*.me_btn_g{background: #004541;
    color: #fff;}*/

.st_rcept{background:#eaf1fb;color:#1f4e9c;}.st_appr{background:#e6f7ec;color:#1b8a4b;}.st_cancel{background:#fdecec;color:#c0392b;}
.me_wrap .sc-help {
    margin: 20px 0;
}
.me_box2{
    flex-wrap: wrap;
    flex-direction: row;
}
.me_box2 .me_row {
    width: 48%;
}
@media(max-width:1200px){
    .me_box2 {
        flex-direction: column;
    }
    .me_box2 .me_row {
        width: 100%;
    }
}
@media(max-width:1024px){
    .me_box2 {
        flex-direction: column;
    }
    .me_box2 .me_row {
        width: 100%;
    }
    .me_box {
        font-size: 16px;
    }

}
@media(max-width: 768px){
    #container .scroll th:nth-child(4), #container .scroll td:nth-child(4) {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    .mg_wrap table .btn_view {
        font-size: 14px;
    }
    .mg_wrap .notice-list {
        table-layout: auto;
    }
    .mg_tit_wrap.flex_al {
        margin-bottom: 0;
    }
    .mg_wrap .over_edu_btn {
        width: auto;
    }
    .mg_wrap .grp_total {
        font-size: 16px;
    }
    .mg_wrap h3 {
        font-size: 18px;
        padding-left: 8px;
        margin: 0;
    }
    #stdntGrpNm {
        display: inline-block;
        font-size: 14px;
    }
    .mg_wrap .over_edu_btn a:hover {
        background: #008d85;
    }

    .me_box {
        padding: 20px;
        font-size: 14px;
        gap: 15px;
    }
    .me_wrap input[type=text] {
        flex: 1;
        width: 100%;
        font-size: 14px;
        min-width: 100% !important;
    }
    .me_row > label {
        width: 100px;
    }
    .me_wrap h3 {
        font-size: 18px;
        margin: 30px 0 10px;
    }
    .me_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .me_ro {
        font-weight: 400;
    }

    .me_wrap .me_tbl {
        margin-top: 0;
    }
    .me_btn {
        font-size: 14px;
        width: 100%;
        height: 40px !important;
    }

}



/* 단체접수 전용 스타일 — 모두 .grp_wrap 하위로 스코프해 사이트 전역 CSS와 충돌하지 않게 함
.grp_wrap{padding:10px 0 40px;}
.grp_wrap h3{font-size:18px;font-weight:700;margin:28px 0 10px;padding-left:12px;border-left:4px solid #1f4e9c;color:#222;}
.grp_wrap .grp_box{border:1px solid #e2e6ec;border-radius:8px;padding:18px 20px;background:#fafbfc;}
.grp_wrap .grp_row{display:flex;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap;}
.grp_wrap .grp_row > label{width:110px;min-width:110px;font-weight:600;color:#333;margin:0;}
.grp_wrap input[type=text],
.grp_wrap input[type=email],
.grp_wrap select{height:38px;line-height:38px;border:1px solid #ccc;border-radius:5px;padding:0 10px;min-width:200px;background:#fff;box-sizing:border-box;}
.grp_wrap .btn{display:inline-block;height:38px;line-height:38px;padding:0 16px;border-radius:5px;border:0;cursor:pointer;font-weight:600;text-align:center;box-sizing:border-box;}
.grp_wrap .btn_p{background:#1f4e9c;color:#fff;}
.grp_wrap .btn_g{background:#eef1f6;color:#1f4e9c;border:1px solid #c7d2e6;}
.grp_wrap .btn_d{background:#e74c3c;color:#fff;}
.grp_wrap .stdnt_count_bar{margin:12px 0 0;color:#333;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.grp_wrap .stdnt_count_label{font-size:17px;font-weight:700;text-align:left;}
.grp_wrap .stdnt_count_bar strong{color:#1f4e9c;font-size:19px;}
.grp_wrap .stdnt_del_btns{display:inline-flex;gap:6px;flex:0 0 auto;}
.grp_wrap .btn_sm{height:30px;line-height:30px;padding:0 12px;font-size:13px;}
.grp_wrap .stdnt_scroll{max-height:420px;overflow-y:auto;border:1px solid #e2e6ec;border-radius:6px;margin-top:6px;}
.grp_wrap .stdnt_scroll table.grp_tbl{margin-top:0;}
.grp_wrap .stdnt_scroll thead th{position:sticky;top:0;z-index:1;}
.grp_wrap table.grp_tbl{width:100%;border-collapse:collapse;margin-top:10px;}
.grp_wrap table.grp_tbl th,
.grp_wrap table.grp_tbl td{border:1px solid #dde2e8;padding:6px 8px;font-size:14px;text-align:center;vertical-align:middle;}
.grp_wrap table.grp_tbl th{background:#f2f5fa;color:#333;font-size:16px;font-weight:700;padding:9px 8px;}
.grp_wrap table.grp_tbl td input[type=text]{width:100%;min-width:0;height:34px;line-height:34px;}
.grp_wrap table.grp_tbl td.edu_nm_cell{text-align:left;font-size:13px;color:#1f4e9c;font-weight:600;}
.grp_wrap #danjiResult{max-height:240px;overflow:auto;border:1px solid #e2e6ec;border-radius:6px;margin-top:8px;display:none;}
.grp_wrap #danjiResult .ditem{padding:9px 12px;border-bottom:1px solid #eef1f4;cursor:pointer;text-align:left;}
.grp_wrap #danjiResult .ditem:hover{background:#eef4ff;}
.grp_wrap .type_seg > label{width:auto;min-width:0;font-weight:600;margin-right:20px;cursor:pointer;}
.grp_wrap .hint{color:#888;font-size:13px;margin:5px 0;}
.grp_wrap .cate_row select{min-width:190px;}
.grp_wrap .sel_danji{font-weight:700;color:#1f4e9c;}*/
/* 명단에서 대표자 본인으로 인식된 행 표시 — 본인 이력이 회원 계정에 붙는지 눈으로 확인시키는 용도 */
.grp_wrap .self_badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;background:#1f4e9c;color:#fff;font-size:11px;font-weight:700;vertical-align:middle;}
.grp_wrap tr.is_self td{background:#f2f6ff;}
/* 엑셀 도움말 레이어 */
.grp_wrap .btn_help{background:#fff;color:#1f4e9c;border:1px solid #1f4e9c;}
.help-layer{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;}
.help-layer .help-box{position:relative;background:#fff;border-radius:10px;max-width:780px;width:100%;max-height:86vh;overflow:auto;padding:26px 28px;box-shadow:0 10px 40px rgba(0,0,0,.3);box-sizing:border-box;}
.help-layer .help-close{position:absolute;top:14px;right:16px;border:0;background:none;font-size:18px;cursor:pointer;color:#888;}
.help-layer h4{font-size:24px;font-weight:700;margin:0 0 10px;color:#1f4e9c;}
.help-layer .help-desc{color:#444;font-size:16px;margin:0 0 14px;}
.help-layer .help-tbl{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:16px;}
.help-layer .help-tbl th,.help-layer .help-tbl td{border:1px solid #dde2e8;padding:10px;text-align:left;vertical-align:top;}
.help-layer .help-tbl th{background:#f2f5fa;text-align:center;white-space:nowrap;}
.help-layer .help-tbl td:first-child{text-align:center;font-weight:700;width:34px;}
.help-layer .help-tbl td.req{color:#c0392b;font-weight:700;text-align:center;white-space:nowrap;}
.help-layer .help-notes{margin:0 0 16px;padding-left:18px;color:#333;font-size:16px;line-height:1.7;}
.help-layer .help-notes li{margin:3px 0;}
.help-layer .help-actions{text-align:right;display:flex;gap:8px;justify-content:flex-end;}

.btn_wrap {
    text-align: right;
}
.hint_box {
    font-size: 16px;
    line-height: 160%;
    padding-top: 10px;
}
#btnBizFile {
    padding: 8px 14px;
    min-width:115px;
    height:46px;
    border: 1px solid #ccc;
    text-indent: 16px;
    border-radius: 4px;
    background-color: #f8f8f8;
    background-image: url('../img/icon/file.png');
    background-repeat: no-repeat;
    background-position: 12px center;
    background-size: 18px 18px;
    color: #333;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}
#bizFileName {
    font-size: 16px;
}
.btn.btn_d {
    background: #333;
    color:#fff;
}
.btn.btn_g {
    background: #008d85;
    color:#fff;
}
.rsrch_box {
    gap: 6px;
}

.stdnt_scroll.wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    box-sizing: border-box;
}

.stdnt_scroll.wrap table {
    width: 100%;
    min-width: 1200px;
    margin-top: 20px;
}

.stdnt_scroll.wrap td,
.stdnt_scroll.wrap th {
    box-sizing: border-box;
}

.stdnt_scroll.wrap input {
    box-sizing: border-box;
}
.edu_nm_cell {
    white-space: normal;
    word-break: break-all;
    overflow-wrap: anywhere;
}
.grp_row .hint {
    display: inline-block;
    flex: 1;
    font-size: 16px;
}
.stdnt_box {
    margin-top: 20px;
}
.btn.btn_p{
    background: #1f4e9c;
    color:#fff;
}
.stdnt_count_label > span {
    display: inline-block;
    padding-left: 4px;
}
.stdnt_count_label #stdntCount{
    padding-right: 2px;
}
.grp_row > label {
    flex: 0 0 160px;
}
.grp_row {
    flex-wrap: nowrap;
    min-width: 0;
}
#eduPick {
    flex: 1 1 0;
    width: 0;
    min-width: 0 !important;
}
.btn_box {
    gap:4px
}
.applycomplete h3 {
    font-size: 30px;
}
.applycomplete .apply_box {
    text-align: center;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 30px;
    border:1px solid #ddd;
}
.applycomplete .apply_box p {
    font-size: 18px;
    padding-top: 15px;
}
.applycomplete .apply_box img{
    width:60px;
    padding-left: 15px;
    margin-bottom: 20px;
}
.notice-list.applyform td {
    text-align: left;
}
.notice-list.applyform input[type="text"] {
    height: 45px;
}

.apply-attach-wrap { display:flex; flex-direction:column; gap:30px; }
.apply-attach-wrap .dz-title {
    font-weight: 600;
    font-size: 18px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
}
.apply-attach-wrap .dropzone { min-height:120px; }
.apply-attach-wrap .apply-attach-hint { color:#666; font-size:16px; margin-top:10px; }
.apply-attach-wrap .dropzone {
    background: white;
    border: 1px solid #ddd;
    padding: 20px 20px;
    border-radius: 4px;
}
.sub span.num{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #008d85;
    color: #fff;
    margin-right: 8px;
}

@media(max-width:1024px){
    .grp_row {
        flex-wrap: nowrap;
    }
    .grp_row .btn {
        font-size: 14px;
    }
    .grp_row > label {
        flex: 0 0 90px;
        min-width: 90px;
    }
    #btnBizFile {
        font-size: 14px;
    }
    .me_wrap input[type=text] {
        font-size: 14px;
    }
    .me_row > label {
        font-size: 14px;
    }
    .hint_box {
        font-size: 14px;
    }
    .grp_row .hint {
        font-size: 14px;
    }
    .btn.btn_sm{
        font-size: 14px;
    }
    #bizFileName{
        font-size: 14px;
    }

}
@media(max-width:768px){
    .grp_tbl td {
        white-space: normal;
    }
    .grp_row > label {
        flex: 1;
    }
    .cate_row select{
        width: 100%;
        font-size: 14px;
    }
    #eduPick {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: 14px;
        flex: none !important;
        flex-basis: auto !important;
        box-sizing: border-box;
    }
    #btnDanjiSearch {
        width: 100%;
    }
    #btnBizFile {
        width: 100%;
        background: none;
    }
    .grp_row .btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .btn_box {
        width: 100%;
        flex-direction: column;
    }
    .grp_wrap .btn {
        font-size: 14px;
    }
    #btnSubmit {
        width: 100%;
    }
    .applycomplete h3 {
        font-size: 24px;
    }
    .applycomplete .apply_box {
        padding: 24px;
        margin-bottom: 30px;
    }
    .applycomplete .apply_box p {
        font-size: 14px;
        padding-top: 8px;
    }
    .applycomplete .apply_box img{
        width:40px;
        padding-left: 10px;
        margin-bottom: 10px;
    }
    .notice-list.apply {
        table-layout: auto;
    }
    .notice-list.apply span{
        min-width: auto !important;
    }
    .notice-list.apply li a {

    }

    .applycomplete .listWrap {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .applycomplete .tb04.apply {
        width: 100% !important;
        max-width: 100%;
        table-layout: fixed;
        box-sizing: border-box;
    }

    .applycomplete .tb04.apply th {
        width: 90px !important;
        box-sizing: border-box;
    }

    .applycomplete .tb04.apply td {
        width: auto;
        min-width: 0;
        box-sizing: border-box;

        white-space: normal !important;
        word-break: break-all;
        overflow-wrap: anywhere;
    }

    .applycomplete .tb04.apply td ul,
    .applycomplete .tb04.apply td li {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .applycomplete .tb04.apply td a {
        max-width: 100%;
        white-space: normal;
        word-break: break-all;
        overflow-wrap: anywhere;
    }
    .applyform {
        table-layout: auto;
    }
    .apply-attach-wrap .dz-title{
        font-size: 16px;
    }
    .notice-list.applyform input[type="text"] {
        width: 100%;
        max-width: 100%;
    }

    .applyform,
    .applyform tbody,
    .applyform tr,
    .applyform th,
    .applyform td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    .applyform {
        table-layout: auto;
    }

    .applyform tr {
        border-bottom: 1px solid #ddd;
    }

    .applyform th {
        padding: 15px 10px 8px;
        text-align: left;
        border: 0;
        background: #f7f8fa;
    }

    .applyform td {
        padding: 10px;
        border: 0;
    }

    .applyform input[type="text"],
    .applyform textarea {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .apply-attach-wrap {
        width: 100%;
        min-width: 0;
    }

    .applyform .dropzone {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* 신청폼은 일반 notice-list 모바일 규칙에서 분리 */
    .notice-list.applyform,
    .notice-list.applyform tbody,
    .notice-list.applyform tr,
    .notice-list.applyform th,
    .notice-list.applyform td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .notice-list.applyform th {
        padding: 12px 10px !important;
        text-align: left !important;
        background: #f7f8fa;
        border: 0 !important;
    }

    .notice-list.applyform td {
        padding: 10px !important;
        border: 0 !important;
        width: 100% !important;
    }


    /* 공통 nth-child 폭 제거 */
    .notice-list.applyform td:nth-child(1),
    .notice-list.applyform td:nth-child(2),
    .notice-list.applyform th:nth-child(1),
    .notice-list.applyform th:nth-child(2) {
        width: 100% !important;
    }

    .notice-list.applyform input[type="text"],
    .notice-list.applyform textarea {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .apply-attach-wrap {
        width: 100%;
        min-width: 0;
    }

    .apply-attach-wrap > div {
        width: 100%;
    }

    .apply-attach-wrap .dropzone {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .notice-list.applyform th:nth-child(2),
    .notice-list.applyform tbody tr:not(.empty-row) td:nth-child(2) {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }
    .apply-attach-wrap .dropzone {

    }
    .apply-attach-wrap .apply-attach-hint {
        font-size: 14px;
    }
    .notice-list.applyform input[type="text"], .notice-list.applyform textarea {
        font-size: 14px;
    }
    .s3 .menu_tab_ul{
        flex-wrap: wrap;
        border-right: 0;
    }
    .s3 .menu_tab_li {
        width: 33.3333%;
    }
    .s3 .menu_tab_li:last-child {
        border-right: 1px solid #ddd;
    }
}

