* {
    padding: 0;
    margin: 0;
}
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}
li{
    list-style: none;
}
a {
    display: inline-block;
    text-decoration: none;
    color:#222;
}
img {
    display: inline-block;
}
button {
    border: none;
    border-radius: 10px;
    font-size: 18px;
    color:#fff;
    padding:20px 14px;
    cursor: pointer;
    font-family: 'NanumSquareNeo';
}
.inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto; 
    box-sizing: border-box;
}
/*font*/


@font-face {
font-family: 'NanumSquareNeo';
font-family: 'NanumSquareNeoBold';
font-family: 'NanumSquareNeoExtraBold';
font-family: 'NanumSquareNeoHeavy';
}


@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'PretendardM';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'PretendardSB';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'PretendardB';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'PretendardEB';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'PretendardBK';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}
body {
    font-family: 'NanumSquareNeo';
    color:#222;
}
#container {
}
h2 {
    font-family: 'NanumSquareNeoExtraBold';
    font-weight: 500;
}
/*font-weight*/
.bold{
    font-weight: 600;
}
/*shadow*/
.bsd {
    box-shadow: 0px 0px 39px rgba(0, 0, 0, 0.05);
}
/*txt color*/
.c_gr {
    color: #6C9A12;
}
.c_dgr{
    color:#00703F;
}
.c_yl {
    color: #FFD469
}
.c_wt {
    color: #fff;
}
.c_dgy{
    color:#666
}
.c_dgy2{
    color:#888
}
.c_nv{
    color: #003F86;
}
.c_bu {
    color: #046AD2;
}


/*bg_color*/
.bg_nv{
    background-color: #003F86;
}
.bg_lgr {
    background-color: #EDF8D9
}
.bg_bk {
    background-color: #333333;
}
.bg_bu {
    background-color: #046AD2;
}
.bg_or {
    background-color: #FF9D00
}
.bg_lgy {
    background-color: #F1F1F1;
}
.bg_mgy{
    background-color: #D9D9D9
}

/*tab*/
.cate_tab_ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}
.cate_tab_li {
    display: flex;
    align-items: center;
    justify-content: center;
    width:25%;
    height: 60px;
    box-sizing: border-box;
    cursor: pointer;
    border-bottom: 1px solid #ddd;
}
.cate_tab_li a{
    display: inline-flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.cate_tab_li.on {
    background: url(../img/tab_bg.png), linear-gradient(149deg, rgb(54 89 229) 0%, rgb(0 137 137) 100%);
    background-size: 75px, 100%;
    background-repeat: no-repeat, repeat;
    background-position: -2% 149%;
    
    border-radius: 999px;
    font-weight: 600;
}
.cate_tab_li.on a {
    color:#fff;
}



/*faq tab*/
.faq_tab_li {
    border-bottom: 0;
}
.faq_tab_li:last-child {
    border-right:0;
}
.faq ul {
    margin-top: 30px;
}
.faq ul li {
    font-size: 16px;
}
.faq_tit a {
    display: block;
    padding: 20px 10px;
    font-size: 18px;
}
.faq ul li:first-child .faq_tit {
    border-top: 1px solid #ddd;
}
.faq_tit {
    
    border-bottom: 1px solid #ddd;
}
.faq_cont {
    display: none;
    background: #f9f9f9;
    padding: 20px;
}
.q_logo {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    background: #ecf7f0;
    width:40px;
    height:40px;
    margin-right: 10px;
    font-size: 16px;
    color:#6C9A12;
}

/*width*/
.w100 {
    width:100%;
}
/*form*/
input::placeholder{
    color:#999;
    font-family: 'NanumSquareNeo';
}
input[type="checkbox"]{
    appearance: none;
    box-sizing: border-box;
    background-clip: content-box;
    padding: 0.25em;
    width: 16px !important;
    height: 16px;
    border: 1px solid #ddd;
    border-radius: 2px;
    cursor: pointer;
    margin-right: 8px;
}
input[type="checkbox"]:checked {
    background-color: #447600;
}
.id_save input[type="checkbox"]:checked {
    background-color: #447600;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 8l4 4 8-8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px;
}
label {
    cursor: pointer;
}
input[type="text"],input[type="password"] {
    height:62px;
    font-size: 18px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-indent: 50px;
    font-family: 'NanumSquareNeo';
}
input.form_input {
    height: 35px;
    text-indent: 10px;
}
input.input_tit {
    width:100%;
}
input.srch{
    background: url('../img/icon/srch.png') no-repeat 20px center;
    background-size: 16px;
}
.srch_sel {
    width: 200px;
    height: 62px;
    margin-right: 10px;
}
select {
    height:46px;
    border: 1px solid #ddd;
    font-family: 'NanumSquareNeo';
    border-radius: 4px;
    font-size: 16px;
    padding: 0 8px;
}
select.form_sel {
    height:35px;
    width:179px
}
input[type="date"] {
    height:46px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    padding: 0 8px;
    box-sizing: border-box;
    font-family: 'NanumSquareNeo';
}
input[type="date"].form_input{
    height: 35px;
    font-family: 'NanumSquareNeo';
    text-indent: 4px;
}
textarea {
    width: 100%;
    height: 300px;
    border: 1px solid #ddd;
    resize: none;
    padding: 10px;
    font-family: 'NanumSquareNeo';
    overflow-y: scroll;
    font-size: 16px;
    box-sizing: border-box;
    border-radius: 4px;
}
textarea:focus {
    outline: none;
}
input:focus {
    outline: none;
}
table {
    width: 100%; 
    border-top: 2px solid #222;
    margin-top: 30px;
    border-spacing: unset;
    font-size: 14px;
}
table .spe {
    background: #f9f9f9;
}
table td {
    padding: 20px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
table td:last-child {
    border-right: 0;
}
table img {
    max-width: 100%;
}
.form_btn {
    font-size: 14px;
    padding: 10px;
    border-radius: 4px;
    background: #003F86;
    font-weight: 400;
    margin-left: 10px;
}
.req span{
    position: relative;
}
.req span::after {
    content:'*';
    display: block;
    color:red;
    position: absolute;
    right: -16px;
    top: 44%;
    transform: translateY(-50%);
    font-size: 12px;
}
.write input[type="radio"]:checked + label {
    background: none;
    color:#222;
}
.write input[type="radio"] + label {
    margin-left: 4px;
    margin-right: 10px;
}
.board_num, .board_date {
    text-align: center;
    color: #888;
}
.board_date {
    white-space: nowrap;
}
.tel span {
    display: inline-block;
    padding: 0 6px;
}
.double input {
    width:100%;
}
.double_table input, .career_box input{
    width:100%;
}
.s2-1 table td.tel input {
    margin-right: 10px;
}
.s2-1 table td.em span {
    display: inline-block;
    padding:0 10px;
}
.s2-1 table td.ad input {
    width:570px
}
.s2-1 table td.ad input:last-child {
    margin-top: 10px;
}
table .board_tit {
    font-size: 18px;
}
table .board_tit a {
    transition:.3s;
}
table .board_tit a:hover {
    color:#046AD2;
    transition:.3s;
}
table .spe_cate span {
    padding: 8px 11px 8px;
    color: #ffffff;
    background: #1da0c9;
    border-radius: 999px;
    font-size: 18px;
}
.view.board table thead th {
    font-size: 24px;
    padding:20px 0;
    border-bottom: 1px solid #ddd;
}
.view.board table thead td {
    text-align: center;
    border-bottom: 1px dashed #ddd;
    border-right: 0;
}
.view.board table .cont div {
    min-height: 300px;
    font-size: 16px;
    font-weight: 300;
}
.view.board table .cont td {
    border-right: 0;
}
.view.board table .file td {
    display: flex;
    align-items: center;
}
.view.board table .file td h3 {
    display: flex;
    align-items: center;
    margin-right: 10px;
}
.view.board table .file td h3 img {
    width: 11px;
    margin-right: 6px;
    opacity: 0.4;
}
.board_btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
}
.board_btn.two {
    justify-content: space-between;
}

.btn {
    padding: 10px 20px;
    background: #eee;
    color: #666;
    border-radius: 4px;
}
.btn.go_list {

}
.btn.write {
    background: #003F86;
    color:#fff;
}
.board_name {
    color:#666;
}
.board_name, .board_state {
    text-align: center;
}
.board_state span {
    padding: 10px;
    background: #eee;
    color:#666;
    border-radius: 2px;
}
.board_state.comp span{
    background: #00bec9;
    color:#fff;
}
.faq_answer td {
    padding: 0;
}
.faq_answer div {
background: #ebf3f9;
padding: 30px;
font-size: 16px;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
}
.faq_answer h3 {
    font-size: 16px;
    padding-bottom: 10px;
    color:#003f86;
}
.write th {
    width: 150px;
    background: #f7f7f7;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
}
.ad input.input_tit {
    margin-top: 10px;
    max-width: 570px;
}

/*bdrd*/
.bdrd2 {
    border-radius: 2px;
}
.bdrd4 {
    border-radius: 4px;
}
.bdrd999 {
    border-radius: 999px;
}

/*display*/
.dib {
    display: inline-block;
}

/*flex*/
.flex_ls {
    display: flex;
    justify-content: space-between;
}
.flex_just_sb {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.flex_al {
    display: flex;
    align-items: center;
}

/*margin*/
.mt20 {
    margin-top:20px;
}
.mt30 {
    margin-top:30px;
}
.mt40 {
    margin-top:40px;
}
.mb20 {
    margin-bottom:20px;
}
.mb30 {
    margin-bottom:30px;
}
.mb40 {
    margin-bottom:40px;
}

/*padding*/
.pt2{
    padding-top: 2px;
}

/*board*/
.paging_arr button img {
    height: 10px;
}
.paging_btn {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}
.paging_btn button {
    width:34px;
    height:44px;
    padding: 0;
    border-radius: 0;
    background: #fff;
    color: #666;
    border-right: 1px solid #ddd;
    font-weight: 300;
}
.paging_btn button:first-child{
    border-left: 1px solid #ddd;
}
.paging_btn .paging_arr {
    display: flex;
    align-items: center;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.paging_btn .paging_num {
    display: flex;
    align-items: center;
    margin: 0 16px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.paging_btn .paging_num button.on {
    background: #003f86;
    color:#fff;
    font-weight: 500;
}

/*bdge*/
.cate_bdge {
    display: inline-block;
    font-size: 14px;
    padding: 6px 10px 4px;
    border-radius: 4px;
    background-color: #e4f3ff;
    color: #003F86;
}
.state_bdge {
    display: inline-block;
    font-size: 14px;
    margin-left: 10px;
    border-radius: 4px;
    padding: 6px 10px 4px;
    color: #fff;
    width: 60px;
    text-align: center;
    flex-shrink: 0;
}
.bdge_ing {
    background-color: #81cd0c;
}
.bdge_pre {
    background-color: #333333;
}
.bdge_end {
    background-color: #D9D9D9;
    color: #888;
}

/*header*/
header {
    position: relative;
    width: 100%;
    z-index: 99;
}
/*
header.sub {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
}*/
header .h_bot {
    display: flex;
    justify-content: space-between;
    background: #fff;
    border-radius: 999px;
    padding: 0 40px 0 60px;
}
header .h_site {
    display: flex;
    padding: 15px 0;
}
header .h_site li.on {
    font-weight: 900;
    position: relative;
}
header .h_site li.on a::after{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background: #FF9500;
    border-radius: 999px;
    position: absolute;
    top: -5px;
    left: 5px;
}
header .h_site li a {
    color:#3C2300;
    font-size: 16px;
    padding: 0 12px;
    font-weight: 600;
}
header .h_site li.on a {
	color:#FF9500;
}
header.sub .h_site li a {
    
}
header.sub .h_site li.on a::after {
    
}
header .logo {
    display: flex;
    align-items: center;
    width: 250px;
}
header .logo a {
    width:100%;
}
header .logo a img {
    width:100%;
}
header nav ul.h_main_list{
    display: flex;
    align-items: center;
}
header nav .m_list {
}
header nav .m_list a {
    font-size: 28px;
    padding: 40px 30px;
    transition: .3s;
    line-height: 1;
    position: relative;
    font-family: 'NanumSquareNeoExtraBold';
    color:#3C2300;
}
header nav .m_list a:hover{
    color:#ff9500;
    transition: .3s;
}
header nav .m_list {
    z-index: 1;
}

header nav .m_list.on > a {
    color:#5EA200;
    transition: .3s;
}
header nav .m_list.on {
    position: relative;
}
header nav .m_list:hover > a {
    color:#ff9500;
    transition: .3s;
}
header nav .m_list:hover {
    position: relative;
}
header nav .m_list.on::before, header nav .m_list:hover::before{
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background: url('../img/icon/h_hover.png') no-repeat center center;
    background-size: 100%;
    top: 10px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
header nav .m_list.on span {
    position: relative;
}
header nav .m_list.on span::after{
    content:'';
    display: block;
    width:101%;
    height:1px;
    background:#5EA200;
    position: absolute;
    bottom: -10px;

}
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
}
header ul.m_list {
    display: flex;
    align-items: center;
}
header ul.m_list li a.on {
background: #0071BB;
color:#fff;
border-radius: 999px;
}
header ul.m_list li a {
    padding: 10px 20px;
}
header nav .m_list {
	position: relative;
}
.m_s_list {
	width: 100%;
    position: absolute;
    text-align: center;
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.m_s_list li {
    background: #fff;
    border-bottom: 1px dashed #ddd;
}
.m_s_list li:last-child {
    border:0
}
header nav .m_s_list a {
    display: block;
    font-size: 20px;
    padding: 20px 10px;
    box-sizing: border-box;
    line-height: 140%;
}
.h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 30px;
}
header.sub .h_top .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 2%;
    box-sizing: border-box;
}
.h_top .mypg {
    background: #1da0c9;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

/* 고정 시 그림자 */
header.fixed {
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
.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: #ff9500;
	font-weight: 600;
}
body.has-fixed-header {
    padding-top: 104px; /* h_bot 높이 */
}

.pagination a {
	display: inline-block;
}

/*footer*/
footer {
    background: transparent;
    margin-top: -60px;
    position: relative;
    z-index: 10;
}
.f_wrap {
    background: #333;
    color:#ccc;
    border-top-left-radius: 60px;
    border-top-right-radius: 60px;
    padding: 60px 0;
}
footer a {
    color: #ccc;
}
.f_top {
    
}
.f_top .inner {
    display: flex;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
.f_top .f_top_link {
    display: flex;
    width: 100%;
}
.f_top .f_top_link li {
    width:33.3333%;
    text-align: center;
    margin-right: 25px;
    padding-right: 25px;
    position: relative;
    font-size: 18px;
}
.f_top .f_top_link li::after{
    content: '';
    display: block;
    width:1px;
    height:12px;
    background: rgba(255,255,255,0.5);
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    right:0;
}
.f_top .f_top_link li a {
    cursor: pointer;
}
.f_top .f_top_link li:last-child::after{
    display: none;
}
.f_top .f_top_link li strong {
    color:#FFB717;
}
.f_t_s_list {
    display: none;
    position: absolute;
    width: 100%;
    top: calc(100% - 15px);
}
.f_top_site {
    display: flex;
    align-items: center;
    position: relative;
}
.f_top_site .site_tit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 260px;
    padding: 10px 12px;
    box-sizing: border-box;
    background: #fff;
    color: #222;
}
.f_top_site .site_tit img {
    width:8px
}
.f_t_s_list li {

}
.f_t_s_list li > a {
    width: 100%;
    border: 1px solid #fff;
    box-sizing: border-box;
    padding: 10px 12px;
    background: #fff;
    border-top: 1px solid #ddd;
}
.f_bot {
    padding-top: 20px;
    font-size: 16px;
}
.f_bot .inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.f_bot img {
    height:9px;
}
.f_bot .fb_rg {
    padding-left: 30px;
}
.f_bot .fb_rg ul{
    margin-bottom: 10px;
    opacity: 0.7;
}
.f_bot .fb_rg ul li:last-child {
    margin-left: 12px;
}
.f_bot .fb_lt li {
    padding-right: 10px;
    margin-right: 10px;
    position: relative;
}

.f_bot .fb_lt li::after{
    content: '';
    display: block;
    width:1px;
    height:12px;
    background: rgba(255,255,255,0.5);
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    right:0;
}
.f_bot .fb_lt ul:first-child li::after{
    display: none;
}
.f_bot .fb_lt li:last-child::after{
    display: none;
}
.f_bot .fb_lt ul:first-child{
    flex-direction: column;
}
.f_bot .fb_lt ul {
    display: flex;
    color: #aaa;
}
.f_bot .fb_lt ul li a {
    text-decoration: underline;
}
.f_bot .fb_lt ul:first-child li {
    padding-bottom: 10px;
    font-size: 16px;
}
.copy {
    padding-top: 30px;
    font-size: 14px;
    color: #aaa;
}
.f_bot li:last-child{
    border-right: 0;
}
.f_top .f_top_link li:last-child{
    border-right: 0;
}
.site_tit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 196px;
    padding: 12px 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

/*login*/
.my_login{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* 로그인 후 박스는 인사말 폰트(36px)가 커서 470px 로는 '님, 방문을 환영합니다!' 가 줄바꿈된다.
   로그인 폼(.m_login) 은 그대로 두고 로그인 후 상태만 넓힌다. (반응형 값은 각 미디어쿼리에서 재지정) */
.m_login.my_login {
    background: #fff;
    color: #222;
    width: 560px;
    max-width: 560px;
}
/* .m01_top 은 space-between flex 인데 .m01_txt 가 줄어들 수 없어(min-width:auto)
   로그인 박스가 넓어진 만큼 .inner(1400px) 오른쪽 경계를 넘어갔다.
   텍스트 칼럼이 먼저 양보하게 해서 박스 우측이 항상 inner 경계에 붙도록 한다. */
.main01 .m01_top .m01_txt {
    flex: 1 1 auto;
    min-width: 0;
}
.m_login {
    display: none;
    max-width: 470px;
    width: 470px;
    height:auto;
    border-radius: 30px;
    padding: 30px;
    margin-left: 30px;
    background: #fff;
    color:#666;
    box-sizing: border-box;
}
.login_page .m_login{
    display: block;
    margin-top: 100px;
}

.m_login.on {
    display: block;
}
.m_login.off .my_login_tit {
    margin-bottom: 20px;
    padding-top: 8px;
}
.m_login h2{
    font-size: 28px;
    padding-bottom: 10px;
    text-align: left;
    color:#fff;
}
.m_login p{
    font-size: 18px;
    text-align: left;
}
.m_login .log_info {
    padding-bottom: 30px;
}
.m_login .log_info input {
    width: 100%;
    height: auto !important;
    padding: 16px 14px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #f5f5f5 url(../img/icon/login_id.png) no-repeat 14px center;
    background-size: 16px;
    font-size: 18px;
    color:#333;
    text-indent: 22px;
    font-family: 'NanumSquareNeo';
    border: none;
}
.m_login .log_info input::placeholder{
    color:#a7a7a7; 
}
.m_login .log_info input.id{
    margin-bottom: 10px;
}
.m_login .log_info input.pw{
    background-image: url('../img/icon/login_pw.png');
}
.m_login .log_save {
    display: flex;
    align-items: center;
    padding: 14px 0 20px;
    font-family: 'NanumSquareNeo';
}
.log_info_page {
    display: flex;
    justify-content: space-between;
    border-top: 1px dashed #ddd;
    padding-top: 20px;
    margin-top: 20px;
}
.log_info_page .info{
    display: flex;
}
.log_info_page a{
    font-size: 18px;
    color: #666;
    font-weight: 500;
}
.log_info_page a.join {
    position: relative;
    font-weight: 600;
    padding-right: 8px;
}
.log_info_page a.join::after{
    content: '';
    display: block;
    width:1px;
    height:14px;
    background: #ddd;
    position: absolute;
    right:0;
    top:50%;
    transform: translateY(-50%);
}
.log_info_page a.find {
    text-align: right;
    padding-left: 8px;
}
.log_btn button,
.log_btn .login {
    width:100%;
    background-color: #FF9500;
    color:#fff;
    font-weight: 600;
    font-size: 18px;
}
.log_btn button:first-child img,
.log_btn .login:first-child img {
    width: 18px;
}
.log_btn button img,
.log_btn .login img {
    width: 20px;
}
.log_btn .login {
    display: inline-block;
    border: none;
    border-radius: 10px;
    font-size: 18px;
    color: #fff;
    padding: 20px 0;
    cursor: pointer;
    font-family: 'NanumSquareNeo';
    text-align: center;
}
.id_save {
    display: flex;
    align-items: center;
}
.my_btn {
    display: flex;
    margin-top: 20px;
    justify-content: space-between;
    gap: 12px;
}
/* 32% 고정폭(합 96%)이면 박스 폭이 바뀔 때마다 남는 4% 가 간격으로 흩어져
   위(.my_login_tit)·아래 블록과 좌우 끝이 어긋난다. 균등 분할 + 고정 간격으로 양끝을 맞춘다. */
.my_btn button {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    margin-bottom: 16px;
    padding: 20px 0;
}
.my_btn button h3 {
    font-size: 18px;
    padding-top: 8px;
}
/* 로그인 후 인사말 크기는 메인 h2(.m01_txt h2, main.css) 와 동일하게 맞춘다. 36 / 30(1200) / 28(1024) */
.my_login h2 {
    font-size: 36px;
    text-align: left;
    line-height: 150%;
}
.my_login h2.log_on {
	color:#3d2300;
    text-align: center;
}
.my_login h2.log_on .name {
    color: #ff9500;
    background: #fff2e0;
    padding: 8px 20px;
    border-radius: 999px;
    font-size: 30px;
    margin-right: 2px;
    border: 1px solid #ff9500;
    transition: .3s;
}
.my_login h2.log_on:hover .name{
    background: #ff9500;
    color:#fff;
    transition: .3s;
}
.my_login .join_date {
    font-size: 14px;
    color: #666;
}
.my_login_tit {
    display: flex;
    align-items: center;
    justify-content: center;
}
.my_login .tit_lt {
    color: #fff;
}
.my_login .tit_rg button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 40px; 

}
.my_login .tit_rg button img {
    width:6px;
}
.my_login .tit_rg button span {
	color:#666;
	font-size: 14px;
    font-weight: 600;
    margin-right: 6px;
}
.my_login .edu_tit {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
}
.my_login .edu_tit img {
    width:18px;
    margin-right: 6px;
}
.my_edu h4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.my_edu .edu_sub {
    width:50%;
    display: flex;
    font-size: 14px;
    font-weight: 400;
}
.my_edu .edu_sub_data {
    display: inline-block;
    width:100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; 
}
.my_edu .edu_tit {
    width:50%
}
.my_edu .edu_process {
    width:100%;
    height:4px;
    background: rgba(255,255,255,0.4);
    margin-top: 20px;
}
.my_edu .edu_process span {
    display: block;
    width:25%;
    height:100%;
    background: #fff;
}
/*menu tab*/
.menu_tab {
    margin-bottom: 30px;
}
.menu_tab_ul {
    display: flex;
    border: 1px solid #ddd;
    border-bottom: 0;
}
.menu_tab_li {
    width:20%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 66px;
    box-sizing: border-box;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    cursor: pointer;
}
.menu_tab_li:last-child{
    border-right: 0;
}
.menu_tab_li.on {
    background: #ff9500;
    color:#fff;
    font-weight: 600;
}
.menu_tab_li.on a {
    color: #fff;
}
.menu_tab_li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    font-size: 20px;
}
button.pay {
    font-size: 14px;
    background: #333;
    padding: 12px 9px;
    border-radius: 8px;
}
button.mp_pay{
	background: #1da0c9;
}
.board_pager {
	text-align: center;
	padding-top: 30px;
}
.no_data {
	text-align: center;
    width: 100%;
}
.board_pager a {
	border: 1px solid #666;padding: 6px 10px;
}
.write_table + .board_btn a {
	margin: 0 5px; 
}
#sub .write_table input[type="text"] {
	text-indent: 10px;
} 
/*준비중 페이지*/

.preparing {
    padding: 30px;
    border: 1px solid #ddd;
    text-align: center;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.preparing .img {
    width:80px;
    margin: 0 auto 10px;
}
.preparing img {
    width:100%;
    
}
.preparing strong {
    font-size: 30px;
    color: #003F86;
}
.preparing p {
    font-size: 16px;
    padding: 20px 20px 0;
    color:#666;
    border-top: 1px dashed #ddd;
    margin-top: 20px;
}
.h_btn {
    display: none;
}
.h_bg {
    display: none;
}
.mo_nav {
	display: none; 
}
.h_mymenu .logout {
	display: inline-block;
	color:#666;
	background: #fff;
	padding: 8px 12px;
	font-size: 14px;
	border-radius: 999px;
	font-weight: 600;
}
.h_mymenu {
	display: flex;
	align-items:center;
}
.pvConWrap {
    padding-bottom: 30px;
}
@media(max-width:1400px){
	header .inner {
	padding: 0;
	}
	header.sub .inner{
	padding: 0 2%; 
	}
}
@media(max-width:1200px){
    /* 인사말이 30px 로 줄어드는 구간 — 로그인 폼(370px)보다는 넓게, .m01_txt 의 calc(100% - 470px) 에 맞춘다 */
    .m_login.my_login {
        width: 470px;
        max-width: 470px;
    }
    header{
        padding: 12px 0;
    }
    header nav .m_list a {
        padding: 30px 20px;
        font-size: 24px;
    }
    header nav .m_s_list a {
    	font-size: 16px;
    	padding: 15px;
    }
    header .logo {
        width: 200px;
    }
    .h_top{
        padding: 0px 0 10px;
    }
    .my_login h2 {
        font-size: 30px;
    }
    .my_login h2.log_on .name {
        font-size: 26px;
    }
    .m01_bot .m_menu h3 {
        font-size: 26px;
    }
    .m01_btn_tit {
        font-size: 18px;
    }
}

@media(max-width:1024px){
	/* 태블릿 이하는 로그인 박스가 100% 폭으로 바뀌므로 로그인 후 박스도 동일하게 되돌린다 */
	.m_login.my_login {
		width: 100%;
		max-width: 100%;
	}
	.main01 > .inner {
		padding: 0;
	}
	 
    .h_top {
    	display: none;
    }
    .h_top .mypg {
        font-size: 16px;
    }
    #container {
        padding-top: 65px;
    }
    header nav, header ul {
        display: none;
    }
    header {
        z-index: 10000;
        position: fixed;
        padding: 0;
        top: 0;
    }
    header .logo {
        width: 160px; 
    }
    #container {
    	padding-top: 64px !important;
    	height: auto;
        padding-bottom: 50px;
    }
    .m01_txt {
    width:100%;
    padding-top: 30px;
    	margin-bottom: 30px;
    }
    .m_srch{
    margin-top: 20px;
    }
    .m01_btn_tit {
    font-size: 18px;
    }
    .m01_btn .bd_btn {
    width: 30px;
    height: 30px;
    }
    .my_login h2 {
    font-size: 28px;
    }
    .my_login h2.log_on .name {
        color: #fff;
        background: #ff9500;
        font-size: 24px;
        padding: 5px 16px;
    }
    .m01_btn .bd_btn img {
    width: 7px;
    }
    .my_btn button h3 {
    font-size: 16px;
    }
    .my_btn button {
    	margin-bottom: 0;
    	padding: 15px 0;
    }
    
    .f_bot .inner {
        flex-direction: column;
    }
    .f_bot .fb_rg {
        padding-left: 0;
        padding-top: 30px;
    }
    .m01_bot .m_menu h3 {
    	padding: 15px 0;
        font-size: 24px;
    }
    #container.join_page {
        padding-bottom: 100px;
    }
    .f_top .f_top_link {
        padding: 0;
    }
    .f_top .f_top_link li a {
        font-size: 14px;
    }
    
    .f_bot {
        padding-bottom: 30px;
    }
    .f_bot .fb_lt li {
        width:100%;
    }
    .f_bot .fb_lt ul {
        flex-direction: column;
    }
    .f_bot .fb_lt li::after {
        display: none;
    }
    .f_bot .fb_lt li {
        padding-bottom: 10px;
    }
    .f_bot img { 
    }
    .f_wrap {
    border-top-left-radius: 0px;
    border-top-right-radius: 0;
    padding: 30px 0;
    }
    footer {
        margin-top: 0;
    }
    #header.on .h_bg {
        display: block;
    }
    header .h_bot {
    	border-radius:0;
    	padding: 10px 10px;
    }
    .h_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width:40px;
        height:40px;
        background: #FF9D00;
        border-radius: 10px;
        position: relative;
        cursor: pointer;
    }
    .h_btn span {
        display: block;
        width:24px;
        height:2px;
        background: #fff;
       /* position: absolute;
        left: 50%;
        transform:translateX(-50%);*/

    }/*
    .h_btn span:first-child{
        top:35%;
    }
    .h_btn span:nth-child(2){
        top:50%;
    }
    .h_btn span:last-child{
        bottom:30%;
    }*/
    .h_bg {
        width:100%;
        height:100%;
        position: fixed;
        top: 0;
        right:0;
        background: #fff;
        z-index: 999;
        box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1);
        padding:30px;
        padding-top: 65px;
        box-sizing: border-box;

    }
    .h_bg > ul {
        padding-top: 20px;
    }
    .h_bg > ul a {
        display: block;
        font-size: 20px;
        padding: 15px 10px;
        text-align: center;
    }
    .mo_lang  {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 20px;
        border-top: 1px dashed #ddd;
        padding-top: 20px;
    }
    .mo_lang ul {
        display: inline-flex;
        border-radius: 999px;
        background: #eee;
        overflow: hidden;
    }
    .mo_lang ul li a {
        padding: 10px;
        width: 70px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
    }
    .mo_lang ul li.on {
        background: #0071bb;
    }
    .mo_lang ul li.on a {
        color: #fff;
    }
    .mo_lang a.log {
        padding: 10px;
        border: 1px solid #ddd;
        color: #222;
        font-size: 14px;
    }

    #header .h_bg{
        overflow: hidden;
      
        max-height: 0;
        opacity: 0;
        transform: translateY(-10px);
      
        transition:
          max-height .35s ease,
          opacity .25s ease,
          transform .35s ease;
      }
      
      /* 열림 상태 */
      #header.on .h_bg{
        max-height: 100%;         /* 메뉴 높이보다 넉넉히 */
        opacity: 1;
        transform: translateY(0);
        z-index: 9999;
      }


      #header .h_bg ul,#header .h_bg .mo_lang{
        transform: translateY(-6px);
        opacity: 0;
        transition: transform .35s ease, opacity .25s ease;
        }

        #header.on .h_bg ul,
        #header.on .h_bg .mo_lang{
        transform: translateY(0);
        opacity: 1;
        transition-delay: .05s;
        }

      .h_btn span{
        display:block;
        height:2px;
        margin:6px 0;
        transition: transform .25s ease, opacity .2s ease;
      }
      
      #header.on .h_btn span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
      #header.on .h_btn span:nth-child(2){ opacity: 0; }
      #header.on .h_btn span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }
      
      .m_login {
      max-width: 100%;
    width: 100%;
      	margin: 0;
      }
      
      /* 기존 PC nav 숨김 */
  header nav {
    display:none;
  }

  /* 햄버거 버튼 보이기 */
  .h_btn{
    display:flex;
    cursor:pointer;
  }

  /* ===== mo_nav ===== */
  .mo_nav{
  display: block; 
    position:fixed;
    top:0;
    right:0;
    width:85%;
    max-width:320px;
    height:100vh;
    background:#fff;
    z-index:9999;

    transform:translateX(100%);
    transition:transform .3s ease;
  }

  .mo_nav_inner{
    padding:20px;
    overflow-y:auto;
    height:100%;
  }

  .mo_nav_head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
  }

  .mo_close{
    border:0;
    background:#f2f2f2;
    width:36px;
    height:36px;
    border-radius:8px;
    font-size:22px;
    cursor:pointer;
  }

  .mo_main_list{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .mo_main_list > li > a{
    display:block;
    padding:14px;
    background:#f8f8f8;
    border-radius:10px;
      font-size: 18px;
  }

  .mo_sub_list{
    margin-top:6px;
    padding-left:10px;
    display:flex;
    flex-direction:column;
    gap:6px;
  }

  .mo_sub_list a{
    display:block;
    padding:10px;
    background:#fff;
    font-size: 14px; 
  }

  /* 열렸을 때 */
  body.mo_open .mo_nav{
    transform:translateX(0);
  }

  /* ===== dim ===== */
  .mo_dim{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.4);
    opacity:0;
    pointer-events:none;
    transition:.3s;
    z-index:9998;
  }

  body.mo_open .mo_dim{
    opacity:1;
    pointer-events:auto;
  }
  /* ===== 아코디언: 기본은 닫힘 ===== */
  .mo_sub_list{
    max-height: 0;
    overflow: hidden;
    margin-top: 0;
    padding-left: 10px;
    display:block;          /* 기존 flex 쓰고 싶으면 내부에 li에 적용해도 됨 */
    transition: max-height .25s ease, margin-top .25s ease;
  }

  /* 열림 상태 */
  .mo_main_list li.open > .mo_sub_list{
    max-height: 600px;      /* 충분히 큰 값 */
    margin-top: 8px;
  }

  /* 아코디언 버튼 스타일 + 화살표 */
  .mo_acc_btn{
    position: relative;
    padding-right: 34px !important;
  }
  .mo_acc_btn::after{
    content:"";
    position:absolute;
    right:14px;
    top:50%;
    width:8px;
    height:8px;
    border-right:2px solid #111;
    border-bottom:2px solid #111;
    transform: translateY(-50%) rotate(45deg);
    transition: transform .2s ease;
  }
  .mo_main_list li.open > .mo_acc_btn::after{
    transform: translateY(-50%) rotate(-135deg);
  }

  /* ===== 햄버거 → X 애니메이션 ===== */
  .h_btn{
    position: relative;
    width:44px;
    height:44px;
  }
  .h_btn span{
    transition: transform .25s ease, opacity .2s ease;
  }

  body.mo_open .h_btn span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
  }
  body.mo_open .h_btn span:nth-child(2){
    opacity: 0;
  }
  body.mo_open .h_btn span:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
  } 
  .mo_main_list li.open > .mo_sub_list li {
  margin-bottom: 10px; 
  }
  .menu_tab_li a {
  font-size: 16px;
  }
  
    	table td {
    		padding: 16px 5px;
    	} 
    	
    	
    	 .mo_hd_bt {
    	 margin-top: 30px;
    	 }
    	 .h_site {
    	 display: flex;
    	flex-wrap: wrap;
    	 }
    	 .h_site li {
    	 width: 50%;
    	 border: 1px solid #ddd;
    	box-sizing: border-box;
    	border-right: 0;
    	border-bottom: 0;
    	overflow: hidden;
    	 }
    	 .h_site li:nth-child(2n){
    	 	border-right:1px solid #ddd;
    	 } 
    	 .h_site li:nth-child(5),.h_site li:nth-child(6){
    	 	border-bottom: 1px solid #ddd;
    	 } 
    	 .h_site li:first-child {
    	 border-top-left-radius: 10px;
    	 }
    	 .h_site li:last-child {
    	 border-bottom-right-radius: 10px;
    	 }
    	 .h_site li a {
    	 	display:flex;
    	 	align-items: center;
    		justify-content: center;
    	 	height: 100%;
    	 	text-align: center;
             font-size: 16px;
		    padding: 8px;
        	box-sizing: border-box;
        	word-break: keep-all;
    	 }
    	 
    	 .h_site li a.mypg {
    	 	background: #1da0c9;
    	 	color:#fff;
             width: 100%;
    	 }
    	 header.sub .inner {
    	 	padding: 0;
    	 }
}


@media(max-width:768px){
    .mypage .edu_ing a {
        padding:0
    }
	.my_login .tit_rg button span {
	font-size: 12px;
	padding: 5px 10px;
	}
	.my_login .tit_rg button span{
	margin-right: 4px;
	}
	.my_login_tit {
	flex-direction: column;
	}
	.my_login_tit .tit_rg {
		margin-top: 10px;
	}
	.board col:first-child {
	width: 20%;
	}
	.board col:nth-child(2) {
	width: 60%;
	}
	.board col:last-child {
	width: 20%;
	}
	table .spe_cate span {
	font-size: 12px;
	}
	table .board_tit {
	font-size: 14px;
	}
	table .board_tit {
	max-width: 100px;
	}
	table .board_tit span {
	width: 100%;
    display: block;
	}
	table .board_tit a {
	text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
	}
	table td:last-child {
	font-size: 12px;
	}
	.s1 table td:last-child {
	font-size: 14px;
	} 
	table td {
	padding: 10px 3px;
	}
	.menu_tab_li {
		height: 50px;
	}
	.menu_tab_li a {
  font-size: 14px;
  }
	.srch_sel {
		width: 120px;
		height: 45px;
	}
	input.srch {
		width: calc(100% - 132px);
		height: 45px;
		font-size: 14px; 
	}
	.s1 input.srch {
		width: 100%;
		height: 45px;
		font-size: 14px;
	}
	.s3 .srch_box .srch_btn button {
		width: 100%;
	} 
	.m_login {
	border-radius: 15px;
	padding: 20px;
	}
	
	.log_btn button {
	font-size: 16px;
	}
	.my_login h2 {
	font-size: 28px;
	}
	.my_login .join_date {
		font-size: 12px;
	}
	.f_top .f_top_link li {
	width: auto;
	margin-right: 5px;
    padding-right: 5px;
	}
	.f_top .f_top_link {
	justify-content: center;
	}
	.f_bot .fb_lt li {
	font-size: 12px;
	line-height: 140%;
	}
	.copy {
	padding-top: 15px;
	font-size: 10px;
	}
	.f_bot {
	margin-bottom: 0;
	}
	.site_tit {
	    font-size: 12px;
		width: 100%;
		padding: 9px 17px;
	}
	.log_info_page a {
		font-size: 14px;
	}
	.id_save {
		font-size: 14px;
	}
	.m_login .log_info input {
		font-size: 14px;
	}
	.f_top .f_top_link li {
    font-size: 12px;
    }
    .f_top .f_top_link li a {
    font-size: 14px;
    }
    .f_bot .fb_lt ul:first-child li {
    font-size: 12px;
    }
    .f_bot img {
    height: 5px;
    }
    .m01_txt .m_mark {
    font-size: 12px;
    }
    .m01_txt .m_mark img {
    width: 13px;
    argin-right: 3px;
    }
    .m_login .log_info {
    padding: 8px 0 12px;
    }
    select {
    font-size: 14px;
    }
    .page_txt {
    font-size: 14px;
    }
    .btn.write {
    	font-size: 14px;
    }
    .m01_bot .m_menu h3 {
        font-size: 20px;
    }
}


/*푸터 팝업*/

/* [수정] X버튼 상단 고정.
   remodal 은 스크롤을 팝업 바깥의 .remodal-wrapper(position:fixed; overflow:auto)가 담당한다.
   그래서 팝업(.f_pop) 전체가 wrapper 안에서 스크롤되고, X버튼(원래 .f_pop 기준 absolute; top:0)도
   팝업과 함께 위로 밀려 사라진다. .f_pop 내부 스크롤로는 못 고친다(스크롤 주체가 wrapper 라서).

   → X버튼(.remodal-close)은 세 팝업(이메일·이용약관·개인정보) 모두 .f_pop 의 첫 자식이다.
     이 버튼 자체를 position:sticky 로 만들면 헤더 구조와 무관하게 wrapper 스크롤 시 팝업 상단에 붙는다.
     (개인정보 팝업은 modal-header 가 없고 pv_tab 구조라, 헤더 기준 배치는 못 쓴다 — 버튼 자체 sticky 가 정답)
   ※ sticky 가 먹으려면 스크롤 조상(.remodal-wrapper)까지 중간 조상에 overflow 가 없어야 하므로
     .f_pop/.modal-content 에는 overflow 를 주지 않는다(remodal 기본 그대로). */
.f_pop .remodal-close {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 0;
    float: none;
}
.f_pop .remodal-close::before{
    content: "\f00d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: 100%;

    border-radius: 50%;
    background: #eee;
    font-size: 26px;
    line-height: 1;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.03);
    border: 1px solid #e7e7e7;
}
.f_pop .c_btn_wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 0;

    display: flex;
    justify-content: flex-end;

    width: 100%;
    height: 55px;
    margin-bottom: 10px;
    z-index: 100;
    box-sizing: border-box;
}
.f_pop .remodal-close
/* 제목/탭이 X버튼 아래로 겹쳐도 눌리지 않게 우측 여백 확보 (이메일·이용약관: modal-header, 개인정보: pv_tab) */
.f_pop .modal-header,
.f_pop .pv_tab {
	padding-right: 0px;
}
.c_btn_wrap {
    width: 100%;
    display: flex;
    text-align: right;
    justify-content: flex-end;
    margin-bottom: 20px;
}

/*개인정보 처리방침*/

.privacy{
	position:relative;
}
.privacy p {
	text-align: left;
    padding-top: 10px;
    font-size: 18px;
    color: #666;
    text-indent: 10px;
    line-height: 150%;
}
.privacy img{
    max-width: 100%;
}
.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;
}
.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 {
    font-size: 30px;
	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 .grayBox {
    position: relative;
    padding: 26px 30px 26px 30px;
    margin: 15px 0 30px;
    font-size: 15px;
    line-height: 24px;
	background: #edf3f8;
    word-break: keep-all;
	border-radius: 15px;
	text-align: left;
}
.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;
}
.pvConWrap .h4_style > img{
	margin-left: 5px;
	vertical-align: middle;
}

.privacy .pvConWrap ul li{
	font-size: 18px;
	line-height: 1.2;
}

.privacy .pvConWrap ul li a:hover{
	text-decoration: underline;
	color: blue;
}

.privacy ul.textList1 > li{
	position: relative;
	padding-left: 10px;
}
.privacy ul.textList1 > li:before{
	position: absolute;
	content:'';
	width: 3px;
	height: 3px;
	background-color: #666;
	top: 7px;
	left: 0;
}

.privacy ul.numList1{
	padding-left: 15px;
}

.privacy ul.numList1 > li{
	position: relative;
	padding-left: 20px;
}
.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: 18px;
}

.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: 36px;
	font-weight: 600;
}
.pv_tab li{
	width: 50%;
	padding:10px;
	cursor:pointer
}
.pv_tab li.on {
	background: #eee; 
	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;
}
@media(max-width:1024px) {
	.modal-header .tit {
	font-size: 26px;
	}
	.privacy .grayBox {
	font-size: 14px;
	padding: 20px 20px 20px 80px;
	}
	.privacy .grayBox img {
	width: 50px;
    height: 50px;
    left: 18px;
	}
	.privacy .tooltip {
	margin: 0 10px 10px 0;
	width: calc(33.333% - 6px);
	}
	.privacy .tooltip button {
	padding: 30px 10px;
	}
	.privacy .tooltip img {
	width: 60px;
	}
	.privacy .tooltip .close img {
	width: 10px;
	}
	.privacy .tooltip .text {
	font-size: 14px;
	}
	.privacy .tooltip .tooltiptext {
	bottom: 120px;
    margin-left: 0;
    padding: 15px;
    width: 95%;
    left: 50%;
    transform: translateX(-50%);
	}
	
	.privacy .titleWrap h3 {
	font-size: 14px;
	}
	.privacy .titleWrap ul {
	padding: 10px 0px;
	}
	.privacy .titleWrap ul li button {
	font-size: 12px;
	}
	.privacy .pvConWrap .h4_style {
	font-size: 16px;
	}
	.privacy .pvConWrap ul li {
	font-size: 14px;
	}
	.pvConWrap .h4_style > img {
	width: 25px;
	}
	.privacy ul.numList1 > li {
	padding-left: 0;
	}
	.privacy h4 {
	margin-top: 20px;
	}
	.privacy ul li {
	margin-top: 0;
	}
	.privacy ul.numList1 > li > em {
	left: -16px;
	}
	.privacy .privacy_table01 th {
	padding: 5px;
	font-size: 12px;
	}
	.privacy .privacy_table01 td {
	padding: 5px;
	font-size: 12px;
	}
	.email_area .email_box .normal_txt {
	font-size: 14px;
	}
	.email_area .email_box .big_txt {
	font-size: 16px;
	}
	.h4_style {
	font-size: 16px;
	}
	.rfConWrap p {
	font-size: 14px !important;
	}
	.rfConWrap ul.textList1 > li {
	font-size: 14px;
	}
	
}
@media(max-width:768px) {
    .pv_tab li {
        font-size: 14px;
    }
    .privacy p {
        font-size: 14px;
    }
    .privacy table{
        font-size: 12px;
    }
	.toolwrap {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	}
	.privacy .toolwrap .tooltip:nth-child(3n) {
	width: 48%;
	}
	.privacy .tooltip {
	margin-bottom: 4%;
	}
	
	.remodal {
	padding: 20px !important;
	}
	.modal-header .tit {
	font-size: 20px;
	} 
	.privacy .grayBox {
	padding: 15px;
	font-size: 12px;
    line-height: 130%;
	}
	.privacy .grayBox img {
	display: none;
	}
	.div_outline {
	padding: 0;
	}
	.privacy .tooltip button {
	padding: 20px 10px;
	}
	.privacy .toolwrap {
	display: flex;
    flex-wrap: wrap;
	}
	.privacy .tooltip {
	width: 48%;
	margin:0;
	margin-bottom: 4%;
	}
	.privacy .titleWrap ul li button {
	margin: 0;
	}
	.privacy .titleWrap {
	margin-top: 30px;
	}
	.privacy .pvConWrap .h4_style {
	font-size: 14px;
	}
	.privacy .pvConWrap ul li {
	font-size: 12px;
	}
	.pri_table_wrap {
	overflow-x:scroll;
	}
	.privacy .privacy_table01 {
	min-width: 300px;
	}
	.privacy ul li .txt_box01 ul li {
	width: auto;
	float: none;
	}
	.email_area .email_box .normal_txt {
	
	}
	.rfConWrap {
	padding: 15px 0;
	}
	.h4_style {
	font-size: 14px;
	}
	.rfConWrap ul.textList1 > li {
	font-size: 12px;
	}
}

/*popup*/

.popup_modal {
	width:400px;
	height: auto;
    min-height: 400px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.4);
	position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    overflow: hidden;
}
.popup_tit {
	display: flex;
    align-items: center;
    justify-content: space-between;
	background: #003171;
	color:#fff;
	padding: 16px;
}
.popup_tit h2 {
	font-size: 0.875rem;
	padding-right: 12px;
    box-sizing: border-box;
    line-height: 140%;
}
.popup_close_btn span {
	width: 16px;
    height: 16px;
    display: block;
    cursor: pointer;
}

.popup_close_btn img {
	width: 100%;
}
.popup_cont {
	padding: 20px;
	padding-bottom: 46px;
	box-sizing: border-box;
	line-height: 140%;
	font-size: 0.875rem;
}
.popup_cont img {
	max-width:100%;
}
.popup_txt {
	padding-bottom: 12px;
}
.popup_close_txt {
	display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0; 
}
.popup_close_txt span {
	display: inline-flex;
    align-items: center;
    padding: 16px;
    text-decoration: underline;
    cursor: pointer;
}
.popup_close_txt img {
	width: 13px;
    height: 13px;
    margin-right: 4px;
}
@media(max-width:768px){
	.popup_modal {
	    max-width: 90%;
	    min-height: 300px;
	}
	.popup_tit {
		padding: 12px;
	}
	.popup_tit h2 {
		font-size: 0.75rem;
		padding-right: 8px;
	}
	.popup_close_btn span {
		width: 14px;
    	height: 14px;
	}
	.popup_cont {
		padding: 14px;
		font-size: 0.75rem;
	}
	.popup_close_txt span {
		font-size: 0.75rem;
	}
	.popup_close_txt img {
		width:10px;
		height:10px;
	}
}
/*eduview*/
.edu_view_cont table td {
    text-align: center;
}
.edu_view_cont table th {
    padding: 10px 0;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f7f7f7;
}
.edu_view_cont table th:last-child {
    border-right: 0;
}

.refund-table {
    word-break: keep-all;
    font-size: 16px;
    line-height: 140%;
}
.refund-box {
    padding-top: 30px;
}
.refund-box ul li {
    padding-top: 10px;
    line-height: 140%;
}
#btnAddFacNum {
    font-size: 14px !important;
    height: 30px;
}
.edu_view2_table input {
    text-indent: 0 !important;
}
.edu_view2_table p {
    font-size: 14px !important;
    line-height: 140%;
}

@media screen and (max-width: 768px){

    .edu_view2_table,
    .edu_view2_table tbody,
    .edu_view2_table tr,
    .edu_view2_table th,
    .edu_view2_table td{
        display:block;
        width:100%;
    }

    .edu_view2_table tr{
        border-bottom:1px solid #ddd;
    }

    .edu_view2_table th{
        border-bottom:0;
        padding:14px 10px;
        text-align:left;
    }

    .edu_view2_table td{
        padding:14px 10px;
    }

    /* 내부 flex 세로 정렬 */
    .edu_view2_table td > div{
        flex-direction:column;
        align-items:stretch !important;
    }

    .edu_view2_table select,
    .edu_view2_table input[type="text"],
    .edu_view2_table button{
        width:100% !important;
    }

    .edu_view2_table button{
        justify-content:center;
    }
    .s2-1 table th {
        width: 100%;
        text-align: center;
    }
    .edu_view2_table td {
        box-sizing: border-box;
    }
    .edu_view2_table .btn-remove-fac {
        width: 30px !important;
    }
    .edu_view2_table input[type="text"]::placeholder{
        font-size: 14px;
    }
    .edu_view2_table button#searchBtn {
        font-size: 14px;
        background: #333 !important;
        color: #fff !important;
        border: 0 !important;
    }
    .join_box h4 {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .cont_step {
        padding: 15px 20px;
        border-radius: 10px;
        margin-top: 10px;
        font-size: 14px;
    }
    .cont_step p {
        font-size: 14px;
        padding-left: 0;
        margin-top: 0;
    }
    .edu_list_md_ul li span:last-child {
        white-space: normal;
        line-height: 140%;
    }
    .edu_view2_table td:last-child {
        font-size: 14px;
    }
    .refund-table {
        font-size: 12px;
    }
    .edu_view2 .agree {
        font-size: 14px;
    }
    .join_box {
        margin-bottom: 30px;
        margin-top: 30px;
    }
}
a.log_out{
    padding: 10px 12px;
    background: #ffffff;
    color: #666;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    margin-top: 20px;
    border: 1px solid #ddd;
    display: block;
    text-align: center;
}
.certi_wrap {
    max-width: 100% !important;
}


/*프린트*/

@page {
    size: A4;
    margin: 0;
}

@media print {

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
    }

    .certi_wrap {
        width: 760px !important;
        height: 1080px !important;
        margin: 0 auto !important;
        padding: 30px !important;
        box-sizing: border-box !important;
    }

    .certi {
        padding: 5px 20px 20px !important;
        box-sizing: border-box !important;
    }
}