/* 공통 css */
html body { margin: 0; padding: 0; font-family: "Noto Sans KR",sans-serif; min-width: 1150px; }
ul { margin: 0; padding: 0; }
li { list-style: none; }
a { text-decoration: none; color: inherit; }
div { box-sizing: border-box; }
strong { font-weight: bold !important; }
label { cursor: pointer; }
select { -webkit-appearance: none; cursor: pointer; -moz-appearance: none; appearance: none; filter: alpha(opacity=0); }
select::-ms-expand { display:none; }
select { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; outline: none; box-sizing: border-box; }
select { border: 1px solid #ccc; border-radius: 5px; height: 30px; padding-left: 10px; background: url(../images/common/down_arrow.png) no-repeat 95% 50%; padding-right: 25px; }
input[type=text] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: "Noto Sans KR",sans-serif; color: #333; outline: none; }
input[type=password] { font-family: "Noto Sans KR",sans-serif; color: #333; outline: none; padding: 0 10px; box-sizing: border-box; }
input[type=checkbox] { cursor: pointer; margin:0; }
input[type="radio"] { vertical-align: middle; margin-top: 0; }
textarea { font-family: "Noto Sans KR",sans-serif; color: #333; resize: none; box-sizing: border-box; outline: none; }
.left { float: left; }
.right { float: right; }
.none { display: none !important; }
.wrap { width: 1150px; margin: 0 auto; position: relative; }
/* .blue { background: linear-gradient(136deg, #448849, #5593ef, #ffdc78) !important; } */
.blue { background-color: #5593ef !important; }
.gray { background-color: #f7f7f7 !important; }
.t_blue { color: var(--blue); }
.t_red { color: #f70941; }
.g_btn { background: #e5e5e5 !important; color: #555 !important; }
.banner { margin-top: 30px; }

:root {
  --blue : #5593ef;
  --gradient : linear-gradient(136deg, #689096, #5593ef);
  --gray : #f7f7f7;
}

/* 공통 메뉴 */
/* .header { width: 100%; height: 100px; background: #fff; border-bottom: 1px solid #ddd; } */
.header { width: 100%; height: 105px; background: #fff; border-bottom: 1px solid #ddd; position: fixed; left:0; top:0; z-index: 99; }
.header .inner { height: 30px; border-bottom: 1px solid #eee; font-family: "dotum",sans-serif; color: #fff; background: #3d4858; }
.header .inner ul { float: right; }
.header .inner ul li { float: left; font-size: 12px; padding: 0 10px; border-right: 1px solid #ccc; margin-top: 9px; }
.header .inner ul li:last-child { padding-right: 0; border-right: none; }

.header .logo { display: inline-block; width: 160px; height: 75px; float: left; margin-right: 85px; }
.header .logo a { display: block; }

.header .menu { display: inline-block; float: left; height: 75px; line-height: 75px; }
.header .menu ul { float: right; }
.header .menu ul li { float: left; font-size: 19px; font-weight: bold; text-align: center; position: relative; margin-right: 60px; }
.header .menu ul li > span { position: absolute; left: 49%; top: 6.5px; transform: translate(-50%); width: 50px; height: 16px; line-height: 15px; border-radius: 50px; font-size: 13px; font-weight: 500; color: #fff; background: #FF9800; opacity: 1; transition: 0.6s; letter-spacing: -0.04px; }
.header .menu ul li a { display: block; position: relative; }
.header .menu ul li a::before { display: block; content: ''; clear: both; position: absolute; left: 50%; bottom: 0; width: 0; height: 4px; background: var(--blue); transform: translateX(-50%); transition: 0.3s; }
.header .menu ul li a:hover::before { width: 100%; }
.header .m_menu { float: right; display: none; }
.header .m_menu a { display: block; width: 50px; height: 70px; background: url(../images/common/m_menu.png) no-repeat 50% 50%; }

.m_menu_bar { width: 100%; height: 100%; position: fixed; top:0; left: -100%; background: #fff; z-index: 99; display: none; opacity: 0; overflow-y: scroll; }
.m_menu_bar .m_menu_top { width: 100%; height: 70px; padding: 0 5vw; }
.m_menu_bar .m_menu_top a { display: block; float: right; width: 50px; height: 70px; background: url(../images/common/m_close.png) no-repeat 50% 50%; }
.m_menu_bar .m_login { font-size: 5vw; font-weight: 500; padding: 0 5vw; padding-bottom: 40px; border-bottom: 8px solid #eee; margin-top: 10px; }
.m_menu_bar .m_login > a { position: relative; }
.m_menu_bar .m_login > a::after { content: ''; display: block; position: absolute; top: 50%; right: -24px; margin: -6px 0; width: 0; height: 0; border: 8px solid transparent; border-left-color: #fff; }
.m_menu_bar .m_login > a::before { content: ''; display: block; position: absolute; top: 50%; right: -25px; margin: -6px 0; width: 0; height: 0; border: 8px solid transparent; border-left-color: #333; }
.m_menu_bar .m_login strong { font-size: 5.5vw; }
.m_menu_bar .m_login .logout_btn { margin-left: 10px; }
.m_menu_bar .m_login .m_login_btn { font-size: 3.5vw; margin-top: 40px; display: inline-block; }
.m_menu_bar .m_login .m_login_btn a { padding: 8px 20px; text-align: center; background: #eee; border-radius: 50px; margin-right: 10px; }
.m_menu_bar .m_nav { border-top: 1px solid #ddd; border-bottom: 8px solid #eee; }
.m_menu_bar .m_nav ul li { font-size: 4.2vw; font-weight: 500; padding: 7vw 5vw; border-bottom: 1px solid #ddd; }
.m_menu_bar .m_nav ul li a { display: block; }
.m_menu_bar .m_cs { padding: 5vw; border-bottom: 8px solid #eee; border-bottom: 1px solid #ddd; }
.m_menu_bar .m_cs span { display: block; font-size: 4.2vw; font-weight: 500; margin-bottom: 20px; }
.m_menu_bar .m_cs h1 { font-size: 8vw; font-weight: bold; margin-bottom: 10px; }
.m_menu_bar .m_cs p { font-size: 3.3vw; margin-bottom: 5px; letter-spacing: -0.04em; }
.m_menu_bar .m_ft { background: #f5f5f5; font-size: 3vw;  color: #888; line-height: 3vh; padding: 5vw; }
.m_menu_bar .m_ft .ft_logo img { width: 30vw; }

.header .login { display: inline-block; float: right; height: 75px; line-height: 75px; }
.header .login ul { float: right; }
.header .login ul li { float: left; font-size: 14px; font-weight: bold; padding: 0 5px; }
.header .login ul li a { border-radius: 50px; padding: 7px 25px; }
.header .login ul li:first-child a { background: var(--blue); color: #fff; }
.header .login ul li:last-child { padding-right: 0; }
.header .login ul li:last-child a { background: #ececec; color: #555; }

#menu01 .header .menu ul li:nth-child(1) { color: var(--blue); }
#menu02 .header .menu ul li:nth-child(2) { color: var(--blue); }
#menu03 .header .menu ul li:nth-child(3) { color: var(--blue); }
#menu04 .header .menu ul li:nth-child(4) { color: var(--blue); }

/* 메인 */
.visual { width: 100%; height: 100%; }
#banner { background: url(../images/main/banner.png) no-repeat 50% 50%; }
.table_cell { width: 100%; display: table; height: 60vh; max-height: 720px; position: relative; }
.text_wrap { display: table-cell; vertical-align: middle; width: 55%; text-align: left; letter-spacing: -1px; padding-left: 20px; }
.text_wrap h1 { font-size: 26px; margin-bottom: 20px; color: #b7d4fd; margin-top: 20px; }
.text_wrap h2 { font-size: 48px; color: #fff; font-weight: bold; line-height: 70px; }
.img_wrap { display: table-cell; vertical-align: middle; position: relative; top: 150px; opacity: 0.7; }

.inq_box { width: 100%; background: #fff; border-radius: 10px; position: absolute; left: 50%; bottom: -80px; transform: translate(-50%); box-shadow: 0px 4px 20px rgba(151,170,197,0.7); padding: 25px; z-index: 1; }
.inq_box .inquiry { display: inline-block; }
.inq_box .inquiry h1 { font-size: 18px; font-weight: 500; margin-bottom: 15px; }
.inq_box .inquiry h2 { font-size: 28px; font-weight: 700; letter-spacing: -0.75px; margin-bottom: 10px; color: #333; }
.inq_box .inquiry h3 { color: #888; line-height: 18px; font-weight: 500; font-size: 14px; }
.inq_box .inquiry .inq_img { margin-right: 20px; }
.inq_box .sv_icon { display: inline-block; float: right; }
.inq_box .sv_icon li { float: left; width: 120px; padding: 0 20px; text-align: center; border-right: 1px solid #eee; }
.inq_box .sv_icon li:last-child { border-right: none; }
.inq_box .sv_icon li p { width: 70px; height: 70px; border-radius: 50px; margin: 0 auto; margin-bottom: 20px; }
.inq_box .sv_icon li:hover img { transform: scale(0.9); transition: 0.3s; }
.inq_box .sv_icon li span { font-size: 16px; font-weight: 500; color: #333; letter-spacing: -1px; }
.inq_box .sv_icon li a { display: block; }

.con_wrap { display: table-cell; vertical-align: middle; text-align: center; }
.con_wrap > h1 { color: #fff; font-size: 30px; font-weight: bold; border-bottom: 2px solid #fff; display: inline-block; padding-bottom: 8px; margin-top: 80px; }
.con_wrap ul { display: flex; width: 100%; }
.con_wrap ul li { display: inline-flex; width: calc(100% /3 ); color: #fff; align-items: center; flex-direction: column; }
.con_wrap ul li h1 { font-size: 24px; font-weight: bold; margin: 20px 0; }
.con_wrap ul li p { font-size: 18px; line-height: 30px; }

.sv_wrap { display: table-cell; vertical-align: middle; text-align: center; }
.sv_wrap > h1 { color: #333; font-size: 30px; font-weight: bold; border-bottom: 2px solid #333; display: inline-block; padding-bottom: 8px; margin: 40px 0; }
.sv_wrap .sv_con_wrap { margin: 20px 0 60px 0; padding-bottom: 100px; border-bottom: 1px solid #ddd; position: relative; padding-left: 20px; }
.sv_wrap .sv_con_wrap:last-child { border-bottom: none; margin-bottom: 0; }
.sv_wrap .sv_con_wrap .sv_text { text-align: left; }
.sv_wrap .sv_con_wrap .sv_text h2 { font-size: 40px; font-weight: bold; color: #3d4858; margin-bottom: 20px; letter-spacing: -0.7px; }
.sv_wrap .sv_con_wrap .sv_text p { font-size: 18px; font-weight: 100; line-height: 26px; }
.sv_wrap .sv_con_wrap .sv_con { margin-top: 40px; }
.sv_wrap .sv_con_wrap .sv_con ul::after { clear: both; content: ''; display: block; }
.sv_wrap .sv_con_wrap .sv_con ul li { display: inline-block; float: left; margin-right: 20px; }
.sv_wrap .sv_con_wrap .sv_con ul li:last-child { margin-right: 0; }
.sv_wrap .sv_con_wrap .sv_con ul li p { margin: 0 auto; margin-bottom: 20px; }
.sv_wrap .sv_con_wrap .sv_con ul li span { font-size: 17px; }
.sv_wrap .sv_con_wrap .sv_btn { float: left; margin-top: 25px; }
.sv_wrap .sv_con_wrap .sv_btn a { display: block; width: 220px; height: 50px; line-height: 50px; text-align: center; border: 1px solid #aaa; color: #555; font-weight: 500; border-radius: 5px; transition: 0.3s; }
.sv_wrap .sv_con_wrap .sv_btn a:hover { background: var(--blue); color: #fff; border: 1px solid var(--blue); }
.sv_wrap .sv_con_wrap .sv_img { position: absolute; right: 20px; bottom:0; height: 450px; }

/* 레이어 공통 */
.layer_cover { width: 100%; height: 100%; content: ''; clear: both; background: #111; opacity: 0.7; position: fixed; top: 0; left: 0; z-index: 100; display: none; }
.layer_popup { background: #fff; position: fixed; left: 50%; top: 60%; transform: translate(-50%,-50%); box-shadow: 0px 0px 15px rgba(0,0,0,0.3); opacity: 0; visibility: hidden; z-index: 101; transition: 0.6s; }
.layer_popup.on { opacity: 1; visibility: visible; top: 50%; }
.layer_close { width: 60px; height: 60px; position: absolute; top: 0px; right: 0; background: url(../images/common/close.png) no-repeat 50% 50%; background-color: var(--blue); }
.layer_title { font-size: 20px; font-weight: 500; letter-spacing: -0.75px; }
.layer_title h1 { height: 60px; line-height: 60px; padding-left: 20px; border-bottom: 1px solid #ccc; }
.btn_55 a { display: block; width: 100%; height: 55px; line-height: 55px; text-align: center; background: var(--blue); color: #fff; font-weight: bold; border-radius: 4px; }
.info_box { margin-top: 8px; }
.info_box ul li { font-size: 13px; line-height: 22px; list-style: disc; margin-left: 20px; letter-spacing: -0.85px; color: #777; }
.layer_btn { text-align: center; margin-top: 21px; }
.layer_btn a { display: inline-block; padding: 13px 25px; font-size: 14px; background: var(--blue); color: #fff; margin: 0 2px; font-weight: 500; }

/* 팝업 공통 */
.popup_wrap p { font-size: 12px; text-align: center; margin-top: 20px; }
.popup_wrap .popup_title { background-color: #3d4858; display: flex; align-items: center; height: 50px; border-bottom: 4px solid #ddd; }
.popup_wrap .popup_title h1 { font-size: 16px; font-weight: 500; color: #fff; padding: 0 20px; }
.popup_wrap .popup_content { padding: 20px; }
.popup_wrap .popup_content table { width: 100%; border: 1px solid #ccc; font-size: 13px; }
.popup_wrap .popup_content table th { border: 1px solid #ccc; height: 40px; vertical-align: middle; font-weight: 500; }
.popup_wrap .popup_content table td { border: 1px solid #ccc; height: 40px; vertical-align: middle; padding: 0 10px; }
.popup_wrap .popup_content table td input { width: 100%; height: 24px; border: 1px solid #ccc; box-sizing: border-box; font-size: 12px; text-align: center; }
.popup_wrap .popup_content table td i { display: flex; align-items: center; gap: 5px; }
.popup_wrap .popup_content table td i input { width: 50px; flex: 1; }
.popup_wrap .popup_content table ul { display: flex; align-items: center; justify-content: end; gap: 5px; }
.popup_wrap .popup_content table ul li.this a { background-color: #1c5ba9; }
.popup_wrap .popup_content table a { background-color: #222; color: #fff; padding: 0 15px; font-size: 12px; display: flex; align-items: center; height: 24px; }
.popup_wrap .popup_content table b { color: #ca0707; }
.popup_wrap .popup_content table h1 { font-weight: 500; }
.popup_wrap .popup_content .text_box { margin: 10px 0 20px 0 }
.popup_wrap .popup_content .text_box h1 { font-size: 13px; font-weight: 500; color: #11427f; }
.popup_wrap .popup_content .text_box h1 b { font-size: 12px; color: #888; }
.popup_wrap .popup_content .text_box ul { display: flex; align-items: center; gap: 30px; margin-top: 10px; }
.popup_wrap .popup_content .text_box ul li { font-size: 13px; }
.popup_wrap .popup_content .terms_box { border: 1px solid #ccc; padding: 10px; }
.popup_wrap .popup_content .terms_box h1 { font-size: 13px; font-weight: 500; margin-bottom: 10px; }
.popup_wrap .popup_content .terms_box span { font-size: 12px; line-height: 1.3; }
.pop_btn { display: flex; justify-content: center; gap: 5px; margin-top: 20px; }
.pop_btn a { height: 35px; line-height: 35px; padding: 0 20px; border: none; font-size: 14px; }
.pop_btn input { height: 35px; padding: 0 20px; border: none; font-size: 14px; cursor: pointer; }
.pop_btn input:first-child { background-color: #5593ef; color: #fff; }

.event_popup { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 999; background-color: rgba(0,0,0,.2); }
.event_popup button { background: none; border: none; cursor: pointer; }
.event_popup .popup_item { width: 480px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; }
.event_popup .popup_item a { display: flex; border-top-left-radius: 10px; border-top-right-radius: 10px; overflow: hidden; }
.event_popup .popup_item > button { position: absolute; right: 0; top: -40px; }
.event_popup .event_bottom { width: 100%; height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; background-color: #f3f3f3; margin-top: -2px; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
.event_popup .event_bottom button { font-size: 14px; }

/* 가입 신청서 */
.request_ex { width: 100%; max-width: 793px; margin: 0 auto; }
.request_ex img { width: 100%; }

/* 로그인 레이어 */
#login_layer { width: 400px; }
#login_layer .login_wrap { padding: 20px; }
#login_layer .login_con { margin-bottom: 10px; }
#login_layer .login_title { display: block; padding-bottom: 10px; color: #333; font-weight: 500; font-size: 15px; }
#login_layer .login_box input { width: 100%; padding: 0 10px; height: 48px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; color: #222; }
#login_layer .login_opt { margin-bottom: 10px; font-size: 14px; }
#login_layer .login_opt span { margin-right: 10px; }
#login_layer .login_opt input { margin-right: 5px; vertical-align: bottom; }
#login_layer .login_opt label { margin-right: 5px; }

/* 회원가입 레이어 */
#join_layer { width: 400px; }
#join_layer .join_wrap { padding: 20px; }
#join_layer .join_con { text-align: center; margin: 20px 0; }
#join_layer .join_con p { margin-bottom: 21px; }
#join_layer .join_con h1 { font-size: 20px; font-weight: 500; color: #333; line-height: 28px; letter-spacing: -1.2px; }
#join_layer .join_con h1 b { color: var(--blue); }
#join_layer .join_con span { font-size: 15px; color: #888; margin-top: 10px; display: block; }

/* 서비스 신청 레이어 */
#app_layer { width: 720px; }
#app_layer .app_wrap { padding: 0 40px; max-height: 782px; overflow-y: scroll; margin: 5px 0; }
#app_layer .app_title h1 { font-size: 22px; font-weight: bold; color: var(--blue); margin-bottom: 20px; letter-spacing: -0.75px; }
#app_layer .app_con { border-bottom: 1px solid #aaa; padding: 30px 0; }
#app_layer .app_con .app_txt { letter-spacing: -0.5px; }
#app_layer .app_con .app_txt h1 { font-size: 20px; margin-bottom: 15px; }
#app_layer .app_con .app_txt h2 { font-size: 17px; margin-bottom: 20px; color: #777; }
#app_layer .app_con .app_txt h2 strong { color: #333; }
#app_layer .app_con .app_txt p { line-height: 26px; font-size: 17px; }
#app_layer .app_con .app_txt p > span { font-size: 15px; }
#app_layer .app_con .app_txt p > img { float: left; margin-top: 5px; margin-right: 5px; }
#app_layer .app_con_btn { text-align: center; margin-top: 40px; }
#app_layer .app_con_btn a { display: inline-block; text-align: center; margin: 0 5px; width: 200px; height: 45px; line-height: 45px; color: #fff; font-size: 15px; box-sizing: border-box; }
#app_layer .app_con_btn a.app_ex { background: url(../images/contents/paper.png) no-repeat 80% 55%; background-color: #929292; padding-right: 20px; }
#app_layer .app_con_btn a.app_load { background: url(../images/contents/download.png) no-repeat 78% 55%; background-color: var(--blue); padding-right: 20px; }

/* 연동서비스 신청 레이어 */
#interlock_layer { width: 800px; height: 882px; }
#interlock_layer .interlock_wrap { padding: 0 40px; margin: 5px 0; }
#interlock_layer .interlock_title { text-align: center; }
#interlock_layer .interlock_title h1 { font-size: 32px; font-weight: bold; color: var(--blue); margin-bottom: 25px; margin-top: 30px; }
#interlock_layer .interlock_title h2 { font-size: 18px; margin-bottom: 10px; }
#interlock_layer .interlock_img { margin-top: 40px; }
#interlock_layer .interlock_payment { margin-top: 40px; }
#interlock_layer .interlock_payment > span { float: right; font-size: 14px; color: #888; margin-bottom: 10px; }
#interlock_layer .interlock_payment > span strong { color: #f70941; }
#interlock_layer .interlock_payment table { width: 100%; }
#interlock_layer .interlock_payment table th { padding: 20px 0; background: #f0f8ff; border: 1px solid #ccc; border-top: 3px solid #5e6677; font-weight: bold; font-size: 17px; }
#interlock_layer .interlock_payment table td { padding: 20px; text-align: center; border: 1px solid #ccc; background: #fff; vertical-align: middle; }
#interlock_layer .interlock_payment table td .line-through { text-decoration: line-through; margin-right: 10px; font-size: 14px; color: #c72e2e; }
#interlock_layer .interlock_payment table td .sm_txt { color: #666; }
#interlock_layer .interlock_payment table td.best::after { display: inline-block; width: 33px; height: 14px; content: ''; clear: both; background: url(../images/contents/best_ic.gif) no-repeat; margin-left: 5px; vertical-align: bottom; }
#interlock_layer .interlock_payment table .t_right { text-align: right; display: inline-block; margin: 0 auto; }
#interlock_layer .interlock_payment table .light td { background: #fffdf1; }
#interlock_layer .bank { height: 60px; line-height: 60px; background: #fff; border: 1px solid #ccc; border-top: none; font-size: 18px; font-weight: bold; margin-bottom: 40px; text-align: center; }
#interlock_layer .bank span::before { content: ''; display: inline-block; width: 82px; height: 18px; background: url(../images/contents/logo_nh.png) no-repeat; margin-right: 10px; }

/* 인쇄 홍보물 선택 레이어 */
#print_layer { width: 899px; }
#print_layer .print_wrap { padding: 0 40px; height: 80vh; max-height: 782px; overflow-y: scroll; margin: 5px 0; }
#print_layer .print_wrap > h1 { font-size: 18px; font-weight: 500; margin-top: 20px; }
#print_layer .print_con { padding: 20px 0; display:inline-block; }
#print_layer .print_con p { margin-bottom: 20px; }
#print_layer .print_con h1 { font-size: 24px; font-weight: bold; color: #416190; margin-bottom: 20px; letter-spacing: -0.75px; }
#print_layer .print_con h2 { font-size: 18px; font-weight: 500; margin-bottom: 10px; }
#print_layer .print_con span { margin-bottom: 20px; display: block; }
#print_layer #print_a4 { width: 100%; }
#print_layer #print_a4 p { float: left; }
#print_layer #print_a4 .d_btn { display: table; border: 1px solid #ccc; width: 50%; height: 60px; padding: 0 20px; float: right; margin-bottom: 10px; background: url(../images/contents/download_icon.png) no-repeat 95% 50%; }
#print_layer #print_a4 .d_btn a { display: table-cell; vertical-align: middle; font-size: 18px; font-weight: 500; }
#print_layer #print_a4 .d_btn:hover { background: url(../images/contents/download_icon_on.png) no-repeat 95% 50%; border: 1px solid var(--blue); }
#print_layer #print_a4 .d_btn a:hover { color: var(--blue); }

/* 비밀번호 변경 레이어 */
#pw_layer { width: 400px; }
#pw_layer .pw_wrap { padding: 20px; }
#pw_layer .pw_con li { margin: 10px 0; }
#pw_layer .pw_con li span { font-weight: 500; display: inline-block; width: 130px; font-size: 15px; }
#pw_layer .pw_con li input { border: 1px solid #c5c5c5; height: 40px; display: inline-block; width: 220px; }

/* 서브 공통 */
.container .visual_top { display: table; width: 100%; color: #222; letter-spacing: -1px; border-bottom: 1px solid #ddd; background: var(--blue) !important; padding-top: 100px; }
.container .visual_top .vw_txt { display: table-cell; height: 300px; vertical-align: middle; color: #333; }
.container .visual_top .vw_txt span { font-size: 30px; font-weight: bold; color: #b7d4fd; margin-bottom: 25px; display: block; }
.container .visual_top .vw_txt h1 { font-size: 36px; font-weight: bold; margin-bottom: 10px; color: #fff; }
.container .visual_top .vw_txt h2 { font-size: 32px; font-weight: 500; line-height: 40px; color: #fff; }
.container .visual_top #vt_01 { background: url(../images/contents/visual_top01.png) no-repeat right bottom; }
.container .visual_top #vt_02 { background: url(../images/contents/visual_top02.png) no-repeat right bottom; }
.container .visual_top #vt_03 { background: url(../images/contents/visual_top03.png) no-repeat right bottom; }
.container .visual_top #vt_04 { background: url(../images/contents/visual_top04.png) no-repeat right bottom; }
.container .visual_top #vt_05 { background: url(../images/contents/visual_top05.png) no-repeat right bottom; }

.container .sub_p_tab { width: 100%; display: inline-block; padding-top: 20px; border-bottom: 1px solid #c5c5c5; }
.container .sub_p_tab.on { position: fixed; top: 0; z-index: 99; }
.container .sub_p_tab li { float: left; width: 200px; background: #f8f8f8; line-height: 55px; font-size: 15px; font-weight: 500; color: #333; text-align: center; letter-spacing: -0.75px; border: 1px solid #e5e5e5; box-sizing: border-box; border-bottom: none; border-left: none; }
.container .sub_p_tab li:first-child { border-left: 1px solid #e5e5e5; }
.container .sub_p_tab li.this { background: var(--blue); color: #fff; }
.container .sub_p_tab li a { display: block; }

.container .sub_nav { display: inline-block; width: 100%; line-height: 55px; background: #f4f5f7; margin-bottom: 40px; }
.container .sub_nav ul { float: left; }
.container .sub_nav li { float: left; font-size: 12px; font-family: 'dotum',sans-serif; letter-spacing: -0.6px; }
.container .sub_nav li span { position: relative; padding-right: 20px; }
.container .sub_nav li span.home { background: url(../images/common/home.png) no-repeat 0px 0px; padding-left: 17px; color: var(--orange); }
.container .sub_nav li span::after { content: ''; display: block; position: absolute; top: 50%; right: 1px; margin: -6px 0; width: 0; height: 0; border: 6px solid transparent; border-left-color: #f4f5f7; }
.container .sub_nav li span::before { content: ''; display: block; position: absolute; top: 50%; right: 0; margin: -6px 0; width: 0; height: 0; border: 6px solid transparent; border-left-color: #999; }

.container .content { text-align: center; color: #222; }
.container .content .sub_title { margin-top: 20px; margin-bottom: 30px; }
.container .content .sub_title h1 { font-size: 32px; font-weight: bold; margin-bottom: 15px; color: #333; }
.container .content .sub_title h2 { font-size: 18px; font-weight: 300; line-height: 28px; }

.container .content .con_img { margin: 20px 0 40px; }
.container .content .con_img img { border: 1px solid #e5e5e5; }

.container .content .payment > h1 { font-size: 32px; font-weight: bold; color: #333; margin-bottom: 15px; }
.container .content .payment > h2 { font-size: 18px; font-weight: 300; line-height: 28px; margin-bottom: 20px; }
.container .content .payment > span { float: right; font-size: 14px; color: #888; margin-bottom: 10px; }
.container .content .payment > span strong { color: #f70941; }
.container .content .payment table { width: 100%; }
.container .content .payment table th { padding: 20px 0; background: #ecf1fb; border: 1px solid #ccc; border-top: 3px solid #5e6677; font-weight: bold; font-size: 17px; }
.container .content .payment table td { padding: 20px; border: 1px solid #ccc; background: #fff; vertical-align: middle; }
.container .content .payment table td span i { text-decoration: line-through; opacity: 0.4; }
.container .content .payment table td span b { font-weight: 600; color: #ff9a0b; }
.container .content .payment table td .line-through { text-decoration: line-through; margin-right: 10px; font-size: 14px; color: #c72e2e; }
.container .content .payment table td .sm_txt { color: #666; }
.container .content .payment table td.best::after { display: inline-block; width: 33px; height: 14px; content: ''; clear: both; background: url(../images/contents/best_ic.gif) no-repeat; margin-left: 5px; vertical-align: bottom; }
.container .content .payment table .t_right { text-align: right; display: inline-block; margin: 0 auto; }
.container .content .payment table .light td { background: #fffdf1; }
.container .content .payment > ul { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 15px; }
.container .content .payment > ul li { text-align: left; font-size: 14px; }
.container .content .payment > ul li strong { color: #f70941; }

.container .content .con_btn { display: inline-block; text-align: center; margin: 40px 0; }
.container .content .con_btn a { display: inline-block; margin: 0 5px; width: 200px; height: 52px; line-height: 52px; border-radius: 50px; text-align: center; font-weight: 500; background: var(--blue); color: #fff; }

.container .sub_top { background: var(--blue); text-align: center; color: #fff; padding-top: 100px; }
.container .sub_top .table_cell { height: 160px; }
.container .sub_top .sub_visual { display: table-cell; vertical-align: middle; }
.container .sub_top .sub_visual h1 { font-size: 34px; font-weight: bold; }
.container .sub_top .sub_visual span { display: block; margin-top: 20px; font-size: 17px; }

.sub_table > h1 { text-align: left; font-weight: bold; font-size: 22px; margin-bottom: 20px; }
.sub_table table { width: 100%; border-top: 3px solid #5e6677; }
.sub_table table th { height: 50px; vertical-align: middle; text-align: center; font-weight: bold; background: #ecf1fb; border-bottom: 1px solid #ccc; border: 1px solid #ccc; font-size: 15px; }
.sub_table table td { vertical-align: middle; border: 1px solid #ccc; text-align: left; padding: 10px; font-size: 15px; }
.sub_table table td input { height: 30px; border: 1px solid #ccc; padding: 0 5px; }
.sub_table table td textarea { width: 100%; height: 200px; border: 1px solid #ccc; padding: 5px; font-size: 15px; }
.sub_table table td img { float: left; }
.sub_table .terms_box { width: 100%; height: 120px; overflow-y: scroll; border: 1px solid #c5c5c5; padding: 0 30px 10px; border-radius: 2px; margin-top: 25px; background: #f7f7f7; text-align: left; }
.sub_table.c_table table td { text-align: center; padding: 15px 10px; }

.content .doc_area { margin: 0; letter-spacing: -0.04em; }
.content .terms_chk { margin-top: 10px; font-size: 15px; text-align: left; }

.nt_box { width: 100%; text-align: left; border-radius: 2px; border: 1px solid #c5c5c5; background: #f7f7f7; padding: 20px; margin-top: 25px; }
.nt_box li { font-size: 15px; line-height: 26px; list-style: disc; margin-left: 20px; }

/* MY 연동 서비스 관리 */
.table_top { text-align: left; margin-top: 25px; display: inline-block; width: 100%; height: 30px; line-height: 30px; }
.table_top ul { float: right; }
.table_top ul li { float: left; position: relative; }
.table_top ul li input { height: 30px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; text-align: center; display: inline-block; margin: 0 5px; }
.table_top ul li .cale_btn { display: table; height: 30px; margin-right: 5px; }
.table_top ul li .cale_btn img { display: inline-table; vertical-align: middle; }
.table_top ul li #search { display: inline-block; width: 50px; height: 30px; background: #3d4858; text-align: center; font-size: 13px; color: #fff; border-radius: 5px; box-sizing: border-box; }

.rc_table { margin-top: 10px; min-height: 298px; max-height: 405px; overflow-y: scroll; border: 1px solid #c5c5c5; }
.rc_table table { width: 100%; border-top: 3px solid #5e6677; }
.rc_table table thead { background: #ecf1fb; border-bottom: 1px solid #ccc; }
.rc_table table thead th { height: 40px; vertical-align: middle; font-size: 15px; font-weight: bold; border-left: 1px solid #ccc; }
.rc_table table thead th:first-child { border-left: none; }
.rc_table table tbody td { height: 35px; vertical-align: middle; font-size: 14px; border: 1px solid #ccc; border-left: none; padding: 0 20px; }
.rc_table table tbody td:last-child { text-align: left; border-right: none; }
.rc_table table tbody td.list_none { height: 300px !important; text-align: center !important; }

/* 달력 팝업 */
.calendar_popup { width: 250px; height: 290px; background: #fff; border: 1px solid #aaa; padding: 15px; box-sizing: border-box; border-radius: 10px; box-shadow: 0px 0px 10px rgba(0,0,0,0.3); position: absolute; top: 40px; left: -112px; display: none; }
.calendar_popup::after { width: 0; height: 0; border: 8px solid transparent; border-bottom-color: #546e7a; content: ''; clear: both; position: absolute; left: 50%; top: -16px; transform: translate(-50%); }
.calendar_popup .calendar_popup_top { font-size: 18px; font-weight: bold; font-family: 'Noto Sans KR', sans-serif; margin-bottom: 10px; }
.calendar_popup .calendar_popup_top a { vertical-align: middle; }
.calendar_popup .calendar_popup_top .year_prev_btn { width: 14px; height: 15px; display: inline-block; border:1px solid #f8f8f8; background: url(../images/common/year_left_arrow.png) no-repeat; }
.calendar_popup .calendar_popup_top .year_prev_btn:hover { background-color: #eee; border-radius: 4px; border:1px solid #aaa; }
.calendar_popup .calendar_popup_top .year_next_btn { width: 14px; height: 15px; display: inline-block; border:1px solid #f8f8f8; background: url(../images/common/year_right_arrow.png) no-repeat; }
.calendar_popup .calendar_popup_top .year_next_btn:hover { background-color: #eee; border-radius: 4px; border:1px solid #aaa; }
.calendar_popup .calendar_popup_top .month_prev_btn { width: 13px; height: 15px; display: inline-block; border:1px solid #f8f8f8; background: url(../images/common/month_left_arrow.png) no-repeat; }
.calendar_popup .calendar_popup_top .month_prev_btn:hover { background-color: #eee; border-radius: 4px; border:1px solid #aaa; }
.calendar_popup .calendar_popup_top .month_next_btn { width: 13px; height: 15px; display: inline-block; border:1px solid #f8f8f8; background: url(../images/common/month_right_arrow.png) no-repeat; }
.calendar_popup .calendar_popup_top .month_next_btn:hover { background-color: #eee; border-radius: 4px; border:1px solid #aaa; }
.calendar_popup .calendar_popup_table { width: 100%; font-family: dotum; }
.calendar_popup .calendar_popup_table thead th { height: 30px; vertical-align: middle; font-size: 13px; text-align: center; }
.calendar_popup .calendar_popup_table tbody td { height: 30px; vertical-align: middle; font-size: 13px; text-align: center; cursor: pointer; }
.calendar_popup .calendar_popup_table tbody td.other-month { color: #aaa; }
.calendar_popup .calendar_popup_table tbody td.today { background: #f1af1c; color: #fff !important; }
.calendar_popup .calendar_popup_table tbody td.today:hover { background: none; color: #111 !important; }
.calendar_popup .calendar_popup_table tbody td.select { background: #4e7dc3; color: #fff !important; }
.calendar_popup .calendar_popup_table tbody td:hover { color: #fff; box-shadow: 0px 0px 10px rgba(0,0,0,0.3); transition: 0.3s; background: var(--blue); }

/* 이용약관, 개인정보취급방침 */
.doc_area { margin: 50px 0 80px; letter-spacing: -0.04em;}
.doc_area h4 {font-size: 18px; font-weight: 600; margin: 25px 0 0;}
.doc_area h5 {font-size: 16px; color: #444; font-weight: 600; margin: 12px 0 0; line-height: 24px;}
.doc_area p {font-size: 15px; color: #666; margin: 10px 0; line-height: 20px;}
.doc_area .doc_li_type1 {padding-left: 15px; margin: 7px 0;}
.doc_area .doc_li_type1 li { font-size: 14px; color: #666; list-style: disc; margin-left: 10px; line-height: 24px; }
.doc_area .doc_li_type2 {padding-left: 5px; margin: 7px 0;}
.doc_area .doc_li_type2 li {font-size: 14px; color: #666; background: none; padding-left: 0; list-style: none; }
.doc_area .table_type1 { width: 97%; margin: 15px auto 0; border-top: 2px solid #c5c5c5; border-bottom: 1px solid #c5c5c5; }
.doc_area .table_type1 th { background: #f3f3f3; border-right: 1px solid #c5c5c5; color: #444; padding: 10px 0; font-size: 15px; font-weight: 500; }
.doc_area .table_type1 th:last-child, .doc_area .table_type1 td:last-child {border-right: 0;}
.doc_area .table_type1 td { border-top: 1px solid #c5c5c5; border-right: 1px solid #c5c5c5; color: #666; padding: 15px 5px; text-align: center; font-size: 14px; }
.doc_area .table_type1 td:first-child { background: #ecf1fb; }

/* 공통 하단 */
.footer { font-family: 'Malgun Gothic', '맑은고딕', 'dotum', '돋움', 'Nanum Gothic', '나눔 고딕'; }
.footer .cs_box { height: 70px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.footer .cs_box .ft_logo { display: inline-block; float: left; margin-right: 40px; }
.footer .cs_box .cs_text { display: table; font-size: 14px; float: right; }
.footer .cs_box .cs_text span { display: table-cell; vertical-align: middle; line-height: 1.4em; }
.footer .cs_box .cs_text img { float: left; margin-right: 20px; }
.footer .table_cell { height: 100px; }
.footer .ft_con { display: table-cell; vertical-align: middle; }
.footer .ft_con .ft_right { float: right; }
.footer .ft_con .ft_right > ul { margin-bottom: 10px; }
.footer .ft_con .ft_right > ul li { display: inline-block; font-size: 12px; letter-spacing: -0.02em; }
.footer .ft_con .ft_right > ul li::before { content: ""; display: inline-block; width: 1px; height: 11px; background: #ccc; margin-right: 5px; vertical-align: middle; }
.footer .ft_con .ft_right > ul li:first-child::before { display: none; }
.footer .ft_con > p { width: 70%; font-size: 13px; font-weight: 300; color: #888; line-height: 26px; letter-spacing: -0.02em; display: inline-block; float: left; font-family: "Noto Sans KR",sans-serif; }
.footer .ft_con > p .bar { display: inline-block; margin: 0 10px; }
.footer .ft_con > p a { color: #bf9852; font-size: 12px; }
.footer .ft_con .family_site { width: 130px; height: 30px; line-height: 28px; text-align: center; border: 1px solid #aaa; font-size: 13px; float: right; display: inline-block; position: relative; }
.footer .ft_con .family_site a { display: block; }
.footer .ft_con .family_site:hover ul { display: block; }
.footer .ft_con .family_site span { position: relative; padding-right: 15px; }
.footer .ft_con .family_site span::after { content: ''; display: block; position: absolute; top: 20%; right: 0; width: 0; height: 0; border: 6px solid transparent; border-top-color: #fff; }
.footer .ft_con .family_site span::before { content: ''; display: block; position: absolute; top: 25%; right: 0; width: 0; height: 0; border: 6px solid transparent; border-top-color: #333; }
.footer .ft_con .family_site ul { position: absolute; width: 130px; height: 30px; line-height: 30px; left: -1px; top: 28px; display: none; }
.footer .ft_con .family_site ul li { font-size: 13px; width: 130px; background: #fff; border: 1px solid #aaa; box-sizing: border-box; }
.footer .ft_con .family_site ul li:hover { background: var(--blue); color: #fff; border: 1px solid var(--blue); }
.footer .ft_con .family_site ul li  a { display: block; }
.footer .copy { height: 40px; line-height: 40px; text-align: center; color: #888; background: #333; font-size: 13px; display: inline-block; width: 100%; }

@media screen and (max-width: 720px) {
  html body { min-width: 100%; }
  .wrap { width: 100%; padding: 0 5vw; }
  .container { width: 100%; }
  .container .content .con_img img { width: 100%; }
  .inq_box { width: calc(100% - 10vw); }
  .con_wrap ul li { width: 100%; margin-bottom: 40px; }
  .con_wrap ul li img { width: 100%; }
  #app_layer { width: 90vw; }
  #app_layer .app_wrap { padding: 0 5vw; }
  #interlock_layer { width: 90vw; height: auto; }
  #interlock_layer img { width: 100%; }
  #interlock_layer .interlock_payment > span { font-size: 1.8vw; }
  #interlock_layer .interlock_payment table .t_right { width: auto; text-align: center; }
  #interlock_layer .interlock_payment table th { font-size: 2.4vw; }
  #interlock_layer .interlock_payment table td { font-size: 2.2vw; padding: 10px 5px; }
  #interlock_layer .interlock_payment table td .line-through { font-size: 2vw; }
  #interlock_layer .interlock_payment table td.best::after { margin:0; margin-top: 5px; }
  #interlock_layer .bank { font-size: 2.2vw; padding: 0 10px; }
  #print_layer { width: 90vw; }
  #print_layer .print_con { display: grid; float: none; }
  #print_layer .print_con p { margin: 0 auto; margin-bottom: 20px; }
  #print_layer #print_a4 .d_btn { width: 100%; }

  .container .sub_tab .wrap { padding: 0; }
  .container .sub_tab li { width: calc(100% / 3); }

  .header { height: 75px; }
  .header .inner { display: none; }
  .header .login { display: none; }
  .header .menu { display: none; }

  .header .logo { margin-right: 0; }
  .header .m_menu { display: block; }
  .m_menu_bar { display: block; }

  #banner .img_wrap { display: none; }
  .table_cell { height: 580px; }
  .header .logo img { width: 100%; }
  .text_wrap { width: 100%; text-align: center; padding-bottom: 15vh; }
  .text_wrap h1 { font-size: 5vw; }
  .text_wrap h2 { font-size: 9vw; line-height: 1.5em; }
  .text_wrap h3 { font-size: 7vw; }
  .inq_box .inquiry { width: 100%; text-align: center; }
  .inq_box .inquiry .inq_txt { float: none; }
  .inq_box .inquiry .inq_img { display: none; }
  .inq_box .sv_icon { width: 100%; float: none; margin-top: 20px; }
  .inq_box .sv_icon ul { display: flex; gap: 10px; }
  .inq_box .sv_icon li { display: inline-flex; border: none; padding: 0; width: calc(100% /3); justify-content: center; }
  .inq_box .sv_icon li span { font-size: 13px; }

  .sv_wrap > h1 { margin-bottom: 0; }
  .sv_wrap .sv_con_wrap { margin: 60px 0; padding-bottom: 0 !important; }
  .sv_wrap .sv_con_wrap .sv_text { text-align: center; }
  .sv_wrap .sv_con_wrap .sv_text h1 { font-size: 7vw; }
  .sv_wrap .sv_con_wrap .sv_text h2 { font-size: 8vw; }
  .sv_wrap .sv_con_wrap .sv_text p { display: contents; letter-spacing: -0.03em; }
  .sv_wrap .sv_con_wrap .sv_img { position: inherit; height: auto; right:0; }
  .sv_wrap .sv_con_wrap .sv_img img { width: 100%; }
  .sv_wrap .sv_con_wrap .sv_con { width: 100%; }
  .sv_wrap .sv_con_wrap .sv_con ul { display: flex; }
  .sv_wrap .sv_con_wrap .sv_con ul li { width: calc(100% /3); margin: 0; float: none; display: inline-flex; justify-content: center; flex-direction: column; }
  .sv_wrap .sv_con_wrap .sv_con ul li span { font-size: 0.9em; letter-spacing: -0.03em; }
  .sv_wrap .sv_con_wrap .sv_btn { float: none; }
  .sv_wrap .sv_con_wrap .sv_btn { display: inline-block; float: none; text-align: center; }


  #app_layer .app_con_btn a.app_ex { margin-bottom: 5px; }

  .container .content .sub_title h1 { font-size: 1.6em; }
  .container .content .sub_title h2 { font-size: 1em; letter-spacing: -0.08em; }

  .container .visual_top .wrap { height: 480px; }
  .container .visual_top .vw_txt { text-align: center; width: 100%; display: grid; height: auto; padding-top: 5vh; }
  .container .visual_top .vw_txt span { font-size: 2em; }
  .container .visual_top .vw_txt h1 { font-size: 2.2em; }
  .container .visual_top .vw_txt h2 { font-size: 1.7em; }

  .container .content .payment > h1 { font-size: 1.6em; }
  .container .content .payment > h2 { font-size: 1em; }
  .container .content .payment > span { font-size: 0.7em; text-align: right; }
  .container .content .payment table th { font-size: 0.9em; }
  .container .content .payment table td { padding: 0.85em; font-size: 0.8em; }
  .container .content .payment table td.hot::after { margin-top: 5px; }
  .container .content .bank { font-size: 0.9em; letter-spacing: -0.06em; }

  .sub_table table td input[type=text] { width: 100%; box-sizing: border-box; }

  .container .sub_p_tab ul { text-align: center; }
  .container .sub_p_tab ul li { display: inline-block; float: none; }
  .table_top ul { display: inline-block; float: none; }

  .footer .cs_box .ft_logo { display: none; }
  .footer .cs_box .cs_text { float: none; width: 100%; }
  .footer .cs_box .cs_text img { float: right; }
  .footer .cs_box .cs_text span { letter-spacing: -0.07em; }
  .footer .ft_con .ft_right { display: inline-block; float: none; width: 100%; text-align: center; margin-top: 20px; }
  .footer .ft_con .family_site { float: none; margin-bottom: 20px; }
  .footer .ft_con > p { width: 100%; text-align: center; margin-top: 20px; font-size: 8px; line-height: 14px; }
  .footer .ft_con > p .bar { font-size: 14px; color: #888; }
  .footer .ft_con > p > a { font-size: 8px; }
}
