@charset "UTF-8"; 
/* 공통 */

/* 사이즈 */
.ht260 { height:260px; } 

/* 여백 */
.mgt10 { margin-top:10px; } 
.mgt20 { margin-top:20px; } 
.mgt30 { margin-top:30px; } 
.mgt40 { margin-top:40px; } 

.mgl10{ margin-left:10px;}

/* 컬러 */
.f_c_g9 { color:#999999 !important; } 
.f_c_pink { color: #c86ba8 !important; } 
.f_c_b1 { color:#266fdd !important; } 
.f_c_b2 { color:#0671ca !important; } 
.f_c_black { color:#000 !important; } 


/* 체크박스&라디오 */
label.ch { display: inline-block; margin: 3px 1.5rem 3px 0; cursor: pointer; line-height: 1; vertical-align: middle; white-space: nowrap; } 
label.ch input { display: inline-block; width: 20px; height: 20px; background: url(/styles/assets/icon/ico_check_off_w.png) no-repeat 50%; background-size:contain; vertical-align: sub; box-sizing:border-box; -webkit-appearance: none; appearance: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } 
label.ch input + span { margin-left:0.4375rem; } 
label.ch input[type="radio"] { background-image: url(/styles/assets/icon/ico_check_off_w.png); } 
label.ch input[type="checkbox"] { background-image: url(/styles/assets/icon/ico_check_off_w.png); } 
label.ch input[type="radio"]:checked + span,
label.ch input[type="checkbox"]:checked + span { color:#222; } 
label.ch input[type="radio"]:checked { background-image: url(/styles/assets/icon/ico_check_on_w.png); } 
label.ch input[type="checkbox"]:checked { background-image: url(/styles/assets/icon/ico_check_on_w.png); } 

label.ch1 { display: inline-block; margin: 3px 1.5rem 3px 0; cursor: pointer; line-height: 1; vertical-align: middle; white-space: nowrap; } 
label.ch1 input { display: inline-block; width: 20px; height: 20px; background: url(/styles/assets/icon/ico_check_off_w.png) no-repeat 50%; background-size:contain; vertical-align: sub; box-sizing:border-box; -webkit-appearance: none; appearance: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } 
label.ch1 input + span { margin-left:0.4375rem; } 
label.ch1 input[type="radio"] { background-image: url(/styles/assets/icon/ico_check_off.png); } 
label.ch1 input[type="checkbox"] { background-image: url(/styles/assets/icon/ico_check_off.png); } 
label.ch1 input[type="radio"]:checked + span,
label.ch1 input[type="checkbox"]:checked + span { color:#222; } 
label.ch1 input[type="radio"]:checked { background-image: url(/styles/assets/icon/ico_check_on.png); } 
label.ch1 input[type="checkbox"]:checked { background-image: url(/styles/assets/icon/ico_check_on.png); } 


@media (max-width:768px) { label.ch input + span { font-size:.875rem; } 
 }


/* 블릿 */
.bul_list { line-height: 30px; letter-spacing: -0.25px; word-break: break-all; font-size:1rem; } 
.bul_list > li { position:relative; padding-left:18px; } 
.bul_list > li:before { content:""; display:block; position:absolute; top:0; left:0; } 
.bul_list.dot > li:before { top: 12px; width:3px; height:3px; border-radius:3px; background:#666; } 
.bul_list.dash > li:before { top: 12px; width:5px; height:1px; background:#666; } 
.bul_list.circle > li:before { top: 12px; width:5px; height:5px; background:#666; border-radius:5px; } 

@media (max-width:768px){
 .bul_list {font-size:.875rem;line-height: 1.4;} 
 .bul_list > li{padding-left:12px}
 .bul_list.dot > li:before,
 .bul_list.dash > li:before,
 .bul_list.circle > li:before{top:8px}
 }


/* 버튼 */
.btn.btn_link { display:inline-flex; height:45px; padding:0 25px; border-radius: 10px; background-color:#cb67a3; align-items: center; font-size: 1rem; color: #fff; cursor:pointer; } 
.btn.btn_link span { display: block; font-size: 1rem; padding-right: 24px; font-weight: 700; color: #fff; background:url(/styles/assets/icon/ico_link_w.png) no-repeat right center; } 

@media (max-width:768px){
 .btn.btn_link span {font-size:.875rem;white-space: normal;} 
 }

/* 콜아웃 */
.callout-box { position:relative; width:100%; height:auto; padding:40px 70px; border-radius:15px; } 
.callout-box.bg_blue { background-color:#f6f8fa; } 
.callout-box.bg_blue02 { background:#eff8ff; } 

@media (max-width:768px){
 .callout-box { padding:1.25rem 1.875rem; } 
 }


/* 컨텐츠 */
/* 환자번호 > 동의하기 */
.agree-box { border:1px solid #c1c9d8; border-radius:15px; overflow:hidden; } 
.agree-box_header { background:#f6f8fa; height:90px; display:flex; justify-content:center; align-items:center; } 
.agree-box_header .title { font-size:18px; margin:0; } 
.agree-box_body { padding:40px 50px; box-sizing:border-box; line-height:1.8; } 
.agree-box_body.scroll { overflow:hidden; overflow-y:scroll; } 
.agree-box_check { position:relative; display:flex; height:60px; justify-content:center; align-items:center; background:#2777bc; flex-wrap:wrap; } 
.agree-box_check:before { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); display:block; width:1px; height:28px; background:#ddd; } 
.agree-box_check > div { flex:1; text-align:center; } 
.agree-box_check label.ch input + span { color:rgba(255,255,255,.8) } 
.agree-box_check label.ch input[type="radio"]:checked + span { color:rgba(255,255,255,1); } 

/* 환자번호 > */
.auth-box { border:1px solid #c1c9d8; border-radius:15px; overflow:hidden; margin-top:40px; } 
.auth-box_header { background:#f6f8fa; padding:40px; text-align:center; } 
.auth-box_body { padding:20px 70px; box-sizing:border-box; text-align:center; } 
.auth-box .login-box {display:inline-flex;width: 610px;max-width:100%;text-align:left;flex-direction: column;} 
.auth-box .login-box_form{flex:1; }
.auth-box .login-box_form > div {display:flex;height: 40px;align-items:center;} 
.auth-box .login-box_form label { flex: 0 0 110px; font-size:16px; font-weight:400; color:#666666; } 
.auth-box .login-box_form em { flex:0 0 16px; text-align:center; } 
.auth-box .login-box .btn_login {display:flex;width: 100%;height: 48px;font-size: 16px;font-weight:700;color:#fff;background:#2777bc;border:0;cursor:pointer;border-radius:5px;text-align: center;margin-top: 12px;align-items: center;justify-content: center;} 

/* 환자번호 > 폼요소 */
.login-box input[type="text"],
.login-box input[type="tel"],
.login-box input[type="password"],
.login-box input[type="number"],
.login-box select { padding: 5px 20px 5px 20px; width:100%; max-width:100%; height: 40px; color:#000; border: 1px solid #d0d0d0; border-radius: 5px; box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; appearance: none; } 

.cir_ico_box { display:flex; } 
.cir_ico_box .ico_area { margin-right:40px; } 
.cir_ico_box .ico_box { width:122px; height:122px; border-radius:100%; background:#fff; } 
.cir_ico_box .ico_box:before { content:""; display:inline-flex; width:120px; height:120px; background:url(/styles/assets/icon/ico_cir1.png) no-repeat center center; background-size:contain; } 
.cir_ico_box .ico_box.ico_cir1:before { background-image:url(/styles/assets/icon/ico_cir1.png); } 

@media (max-width:768px){
 .agree-box_header { height:auto; padding:1.25rem; } 
 .agree-box_header .title { font-size:.875rem } 

 .agree-box_body { padding:1.25rem 1.875rem; } 
 .agree-box_body strong,
 .agree-box_body p { font-size:.875rem; line-height:1.6; } 

 .agree-box_check { flex-direction:column; height:auto; padding: 1.25rem; gap:10px; } 
 .agree-box_check:before { display:none; } 

 .auth-box_header { height:auto; padding:1.25rem; } 
 .auth-box_header .basic_noraml_text { font-size:.875rem; line-height:1.6; } 
 .auth-box_body { padding:1.25rem 1.875rem; } 

 .cir_ico_box .ico_box { width:5rem; height:5rem; } 
 .cir_ico_box .ico_box:before { width:5rem; height:5rem; } 

 .login-box input[type="text"],
 .login-box input[type="tel"],
 .login-box input[type="password"],
 .login-box input[type="number"],
 .login-box select { height:42px; padding:.75rem; } 
 }
@media (max-width:680px){
 .cir_ico_box { flex-direction:column; align-items: center; gap:20px; } 
 .cir_ico_box .ico_area { margin:0; } 
 }
@media (max-width:430px){
 .agree-box_body { padding:1.25rem; } 
 .agree-box_check { align-items: start; padding:1.25rem } 
 .auth-box_body { padding:1.25rem; } 
 .auth-box .login-box { flex-direction:column; } 
 .auth-box .login-box_form label { flex-basis:60px; font-size: .875rem; } 
 .auth-box .login-box .btn_login {width:100%;height:52px;margin: 12px 0 0 0;} 
 }

/* 환자번호 확인 */
.pat-num {max-width: 425px;border:1px solid #c1c9d8;background:#f6f8fa;border-radius:15px;text-align:center;padding: 40px;margin: 30px auto 0;} 
.pat-num_txt {font-size:1.5625rem;color:#000;letter-spacing:-0.25px;font-weight:700;padding-top: 40px;background: url(/styles/assets/logo.svg) no-repeat center 0;} 
.pat-num_list {display:inline-flex;padding: 30px 70px;margin-top:30px;flex-wrap:wrap;align-items:center;justify-content: center;background: #004080;border-radius: 15px;} 
.pat-num_box {display:flex;width: 100%;height: 58px;align-items:center;} 
.pat-num_box + .pat-num_box{border-top: 1px solid #33659a;}
.pat-num_box .tit{width: 100px;position:relative;font-size:1.0625rem;font-weight:700;letter-spacing:-0.25px;color:#54affe;padding-left:16px;text-align: left;} 
.pat-num_box .tit:before{content:""; display:block; position:absolute; top:8px; left:0; width:4px; height:4px; background:#54affe; }
.pat-num_box strong { font-size:1.0625rem; font-weight:700; letter-spacing:-0.25px; color:#fff; } 


 @media (max-width:768px){
 .pat-num { padding:1.25rem; } 
 .pat-num_list{margin-top: 0;padding:10px 20px;}
 .pat-num_txt {font-size:1.125rem;background-size:160px auto;} 
 .pat-num_box { width:100%; height:50px; } 
 }

/* 진료예약 */
/* 버튼 : 기본 */
.btn { display:inline-flex; align-items: center; justify-content: center; position:relative; padding:0 17px; min-width: 100px; height:30px; font-size:14px; font-weight:500; text-align:center; background:#fff; border:1px solid #ccc; box-sizing: border-box; text-transform:uppercase; vertical-align: middle; white-space:nowrap; -webkit-transition: all 0.1s ease; transition: all 0.1s ease; } 
.btn.btn_c_b { border-color:#094688; color:#094688; } 
.btn.btn_c_b span { color:#094688; } 
.btn.btn_c_g { background:#b2b9c7; border-color:#b2b9c7; } 
.btn.btn_c_g span { color:#fff; } 
.btn.btn_c_p { background:#c86ba8; border-color:#c86ba8; } 
.btn.btn_c_p span { color:#fff; } 

/* 버튼 : 기타*/
.btn_pop_close { position:relative; display:block; width:65px; height: 65px; background:#002145; } 
.btn_pop_close > span { position:absolute; left:50%; top:50%; width:1.875rem; height:0.1875rem; transform: translate(-50%, -50%); } 
.btn_pop_close > span:before,
.btn_pop_close > span:after { content:''; display:block; position:absolute; left:0; top:0; width:100%; height: 100%; background: #fff; } 
.btn_pop_close > span:before { transform: rotate(45deg); } 
.btn_pop_close > span:after { transform: rotate(135deg); } 

/*** 팝업 ***/
.popup { z-index:500; position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0.45); box-sizing: border-box; } 
.pop_layer { display:flex; justify-content: center; align-items: center; z-index:500; position:fixed; left:0; top:0; right:0; bottom:0; padding:1.25rem; background:rgba(0,0,0,0.5); box-sizing: border-box; overflow-y: auto; } 
.pop_close { z-index: 10; position:absolute; right:0; top:0; width:65px; height:65px; background: url(../images/comm/icon_close02_b.png) no-repeat 50% 50%; } 
.pop_header { position:relative; height: 130px; min-height: 130px; } 
.pop_layer_basic { display:flex; flex-direction: column; position:relative; width:100%; max-width:960px; max-height: 100%; background:#fff; box-shadow: 0.5rem 0.5rem 4.5rem rgba(0,0,0,0.6); box-sizing: border-box; } 
.pop_layer_basic .in_cover { padding-right:1.875rem; padding-left:1.875rem; } 
 
.pop_appo *{scrollbar-width:auto !important;}
.pop_appo *::-webkit-scrollbar{width:12px; height:12px;}
.pop_appo *::-webkit-scrollbar-track{background:#dcdfe5; border-radius:10px;}
.pop_appo *::-webkit-scrollbar-thumb{background:#737e89; }

body.pc {min-width: 1820px;background: #eef4fc;} 
.pop_appo {position:relative;margin:0 auto;min-height:100%;box-sizing:border-box;background-color:#eef4fc;word-break: break-all;overflow: hidden;} 

.pop_appo #header {z-index:200;position: relative;top:0;margin:0 auto;box-sizing: border-box;height:80px;border-bottom:1px solid #d8e4f3;} 
.pop_appo #header .appo_hd { display:flex; height:100%; align-items:center; justify-content:space-between; padding: 0 60px; } 
.pop_appo #header .appo_hd .hd_title { font-size:1.625rem; color:#000; font-weight:700; } 
.pop_appo #header .callcenter { position:absolute; top: 50%; transform: translateY(-50%); right: 8%; } 
.pop_appo #header .callcenter .txt { font-size:1.25rem; font-weight:500; color:#000; padding-left:40px; background:url(/styles/assets/img/appo/ico_phone01.png) no-repeat 0 0; line-height:32px; } 
.pop_appo #header .callcenter .num { position:relative; padding-left:16px; } 
.pop_appo #header .callcenter .num:before { content:""; position:absolute; top:50%; left:0; transform:translateY(-50%); display:block; width:3px; height:3px; background:#000; } 
.appo_hd .pop_close span { position:absolute; left:-9999px; opacity: 0; } 

.appo_hd .pop_close { display:inline-block; position:relative; width:1.875rem; height: 1.875rem; font-size:1px; color:transparent; box-sizing: border-box; vertical-align: middle; } 
.appo_hd .pop_close:before,
.appo_hd .pop_close:after { content:''; display: block; position:absolute; left:50%; top:50%; margin-left:-15px; margin-top:-1px; width:100%; height:2px; background:#aaa; border-radius: 1px; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; } 
.appo_hd .pop_close:before { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); } 
.appo_hd .pop_close:after { -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); } 
.appo_hd .pop_close:hover:before { -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); background:#41464f; } 
.appo_hd .pop_close:hover:after { -webkit-transform: rotate(225deg); -moz-transform: rotate(225deg); -o-transform: rotate(225deg); transform: rotate(225deg); background:#41464f; } 

.appo_docs_schedule {display:grid;grid-template-rows: 300px 1fr;grid-template-columns: 570px minmax(0, calc(100% - 570px));max-width: 1900px;padding-bottom: 110px;margin: 20px auto 0;background: url(/styles/assets/img/appo/bg_appo01.jpg) no-repeat center 0;} 
.appo_docs_schedule .appo_step01 {position:relative;grid-area: 1 / 1 / 3 / 2;padding: 0 60px;box-sizing: border-box;} 
.appo_docs_schedule .appo_step01:before {content:"";display:block;position: absolute;top: 0;right: 0;width:25px;height:100%;/* background: url(/styles/assets/img/appo/bg_box_w.png) no-repeat 0 0; */background-size: cover;} 
.appo_docs_schedule .appo_step02 {grid-area: 1 / 2 / 2 / 3;/* background: #fff; */padding: 20px 20px 0;box-sizing: border-box;} 
.appo_docs_schedule .appo_step03 {grid-area: 2 / 2 / 3 / 3;/* background: #fff; */box-sizing: border-box;padding: 20px 25px 0;} 

.step_hd {position: relative;display:flex;align-items: flex-end;margin-bottom: 20px;width: 100%;} 
.step_hd .btn_prev { display:none; } 
.step_hd .step_hd_tit { font-size:1.875rem; font-weight:700; color:#000; } 
.step_hd_txt { font-size:1.4375rem; font-weight: 700; margin-left: 20px; } 
.step_hd .ico_change { display:inline-flex; flex: 0 0 auto; width: 32px; height: 24px; border:0; background:url(/styles/assets/img/appo/ico_reflesh01.png) no-repeat center center; cursor: pointer; } 
.step_hd .ico_change span { position:absolute; left:-9999px; opacity: 0; } 
.step_body { position:relative; } 
.appo_txt_loading {display:flex;align-items: center;justify-content: center;z-index:10;position:absolute;left:0;top:0;width:100%;height:100%;min-height: 200px;background: #f5f6fa;} 
.appo_txt_loading span { padding-top:5.625rem; text-align: center; color:#666; background: url(/styles/assets/img/appo/icon_loading01.png) no-repeat 50% 0%; background-size: 4rem auto; } 


.appo_step01 .tab_list { display:flex; gap:10px; margin-bottom: 26px; } 
.appo_step01 .tab_list > li { flex:1; } 
.appo_step01 .tab_list > li > a { display:flex; height:45px; background:#fff; border:1px solid #508ec4; align-items:center; justify-content:center; box-shadow:10px 0 10px rgb(80 142 196 / 30%); } 
.appo_step01 .tab_list > li > a > span { font-size:18px; font-weight:400; color:#508ec4; } 
.appo_step01 .tab_list > li.ac > a { background:#508ec4; } 
.appo_step01 .tab_list > li.ac > a > span { color:#fff; font-weight:700; } 

.appo_step01 .depts_list {display: flex;overflow-y: auto;height: 650px;flex-wrap: wrap;gap: 0 20px;align-items: flex-start;align-content: flex-start;overflow-y: auto;} 
.appo_step01 .depts_list > li { display: block; height: 40px; margin-bottom:2px; flex-basis: calc(100% / 2 - 10px); } 
.appo_step01 .depts_list a { display: flex; align-items: center; position:relative; padding:0.375rem 2.25rem 0.375rem 1rem; min-height: 40px; box-sizing: border-box; font-size: 18px; color: #666666; } 
.appo_step01 .depts_list .ac a { color: #fff; background: #c86ba8; font-weight: 700; } 
.appo_step01 .depts_list .ac a:before { content:''; display: block; position:absolute; left:0; top:0; width:5px; height:100%; background: #c86ba8; } 
.appo_step01 .depts_list .ac a:after { content:''; display: block; position:absolute; right: 10px; top:50%; transform: translateY(-50%); width: 22px; height: 22px; background: #fff url(/styles/assets/img/appo/btn_icon_check_p.png) no-repeat 50% 50%; background-size: auto 12px; border-radius: 50%; } 

/* 의료진선택 */
.appo_step02 .step_hd .noti_box { position:absolute; top: 0; right: 0; } 
.appo_step02 .docs_list_wrap { /* 혹시 지정 안 되어 있다면 */overflow-x: auto;width: 100%;padding-bottom: 10px;} 
body.pc .appo_step02 .docs_list_wrap{min-height:200px;}
body.pc .appo_step02 .docs_list_wrap:before,
body.pc .appo_step02 .docs_list_wrap:after {content:''; display:none; z-index:1; position:absolute; }
body.pc .appo_step02 .docs_list_wrap:before {left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.6);}
body.pc .appo_step02 .docs_list_wrap:after {content: '좌우로 스크롤하여 의료진을 선택하세요.';left:50%;top:50%;padding-top: 70px;color:#fff;font-size:0.9375rem;font-weight: 300;white-space:nowrap;background: url(/styles/assets/img/appo/icon_scroll01.png) no-repeat 50% 0%;background-size: 160px auto;box-sizing: border-box;-webkit-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);-o-transform: translate(-50%, -50%);transform: translate(-50%, -50%);}
body.pc .appo_step02 .docs_list_wrap.on:before,
body.pc .appo_step02 .docs_list_wrap.on:after {display:block}

.appo_step02 .docs_list {white-space: nowrap;} 
.appo_step02 .docs_list > li {position:relative;display: inline-block;width: 350px;padding: 24px 14px 24px 0;border-top: 1px solid #dcdfe5;border-bottom: 1px solid #dcdfe5;margin-right: 20px;vertical-align: top;} 
.appo_step02 .doc_dec{flex: 1;width: calc(100% - 121px);}
.appo_step02 .doc_info {display:flex;width: 100%;/* height: 156px; */box-sizing: border-box;} 

.appo_step02 .doc_info .doc_pic {flex: 0 0 auto;width:116px;height:156px;background:#ddd;margin-right: 16px;overflow: hidden;} 
.appo_step02 .doc_info .doc_pic img{width:100%; height:100%; object-fit:cover;}
.appo_step02 .doc_info .doc_name {font-size:22px;font-weight:500;color:#000;margin-bottom: 15px;} 
.appo_step02 .doc_info .doc_part {font-size:14px;font-weight:400;color:#888888;line-height: 21px;height: 88px;word-break: break-all;white-space: normal;display: -webkit-box;-webkit-line-clamp: 4;        /* 몇 줄까지 보여줄지 */-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;} 

.appo_step02 .docs_list li.ac{padding: 12px 0;}
.appo_step02 .docs_list li.ac .doc_info{background: #f4f5f9;padding: 12px;border: 1px solid #094688;}
.appo_step02 .docs_list li.ac:before {content:'';display: block;position:absolute;right: 10px;top: 22px;width: 22px;height: 22px;background: #0e4a84 url(/styles/assets/img/appo/btn_icon_check_w.png) no-repeat 50% 50%;background-size: 12px auto;border-radius: 50%;} 
.appo_step02 .docs_list li.ac .doc_name { color:#094688; } 
.appo_step02 .docs_list li.ac .btn{min-width: auto; padding:0 12px;}
.appo_step02 .docs_list li.ac .btn.btn_c_b{background:#094688;}
.appo_step02 .docs_list li.ac .btn.btn_c_b span{color:#fff;}


.appo_step03 .appo_time_wrap { display:flex; gap:50px; } 
.appo_step03 .appo_cal_legend {display:flex;gap:13px;font-size:0.9375rem;text-align: center;margin-bottom: 10px;} 
.appo_step03 .appo_cal_legend > li > span { font-weight: 500; font-size:14px; line-height:1; color:#777; } 
.appo_step03 .appo_cal_legend > li:before { content:''; display:inline-block; margin-right:5px; width:14px; height:14px; box-sizing: border-box; vertical-align: middle; } 
.appo_step03 .appo_cal_legend li.cal_all:before { border:2px solid #979faf; background:none; } 
.appo_step03 .appo_cal_legend li.cal_ava:before { border:1px solid #979faf; background:#ffedf9;; } 
.appo_step03 .appo_cal_legend li.cal_morning:before { background: #3a92d5; border-radius: 50%; } 
.appo_step03 .appo_cal_legend li.cal_afternoon:before { background:#0a51a1; } 
.appo_step03 .appo_cal_legend li.cal_done:before { background: url(/styles/assets/img/appo/ico_index03.png) no-repeat 0 0; } 

.appo_calender {flex: 1;width: calc(100% / 2 - 25px);} 
.appo_calender .appo_cal_top { display:flex; padding: 4px 0; margin-bottom: 0; align-items: center; text-align: center; border-top: 1px solid #cccccc; } 
.appo_calender .appo_cal_top .ico { position: relative; width:1.875rem; height:1.875rem; background:#f5f6f8; } 
.appo_calender .appo_cal_top .ico span { position:absolute; left:-9999px; opacity: 0; } 
.appo_calender .appo_cal_top .ico:before { content:''; display:block; position:absolute; left:0; top:0; width:100%; height:100%; background: url(/styles/assets/img/appo/icon_arw_08r_b.png) no-repeat 50% 50%; background-size: 1.8125rem auto; opacity: 0.3; } 
.appo_calender .appo_cal_top .ico:hover:before { opacity:1; } 
.appo_calender .appo_cal_top .ico.cal_prev:before { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } 
.appo_calender .appo_cal_top .cal_tit { flex:1; font-size: 15px; font-weight: 400; color: #000000; } 

.appo_cal_tb { width:100%; } 
.appo_cal_tb caption { position:absolute; left:-9999px; opacity: 0; } 

.appo_cal_tb th,
.appo_cal_tb td { height: 36px; text-align: center; background:transparent; } 
.appo_cal_tb th { font-size: 14px; font-weight: 500; color: #777777; background: #f4f4f4; vertical-align: middle; } 
.appo_cal_tb td { padding:0 1px; font-size:13px; font-weight: 500; color:#000; border: 1px solid #dcdfe5; } 
.appo_cal_tb tbody tr td:first-child { background:#fef1ec; } 
.appo_cal_tb tbody tr td:first-child span { color:#ff6a6a; } 
.appo_cal_tb tbody tr td:last-child { background:#f2f9ff; } 
.appo_cal_tb tbody tr td:last-child span { color:#54a8ff; } 


.appo_cal_tb a { display:flex; justify-content: center; align-items: center; margin:0 auto; height:39px; box-sizing: border-box; } 
.appo_cal_tb a:hover span { text-decoration: underline; text-underline-offset: 3px; } 
.appo_cal_tb a.ac:hover span,
.appo_cal_tb a.cal_off:hover span { text-decoration: none; } 
.appo_cal_tb .cal_today { background:#f4f4f4; } 
.appo_cal_tb .cal_done { color: #888; background: url(/styles/assets/img/appo/bg_done.png) no-repeat; background-size: 100% 100%; } 

.appo_cal_tb .cal_after { border: 3px solid #647795; } 
.appo_cal_tb .cal_all { color:#fff; background: #ffedf9; } 
.appo_cal_tb .cal_all span { color:#777777; } 
.appo_cal_tb .cal_morning { background: #3a92d5; } 
.appo_cal_tb .cal_morning span { color:#fff; } 
.appo_cal_tb .cal_off span { opacity: 0.5; } 
.appo_cal_tb .ac { background:#094688; } 
.appo_cal_tb .ac span { color:#fff; } 


.appo_slot {position: relative;width: calc(100% / 2 - 25px);} 
.appo_slot .appo_slog_tit {padding:0 0 0 30px;background:url(/styles/assets/img/appo/ico_clock01.png) no-repeat 0 0;font-size:20px;font-weight:500;color: #000;margin: 40px 0 12px;} 
.appo_slot .tab_list { display:flex; } 
.appo_slot .tab_list > li { flex:1; } 

.appo_slot .tab_list { display:flex; margin-bottom: 4px; } 
.appo_slot .tab_list > li { flex:1; } 
.appo_slot .tab_list > li > a {position:relative;display:flex;height: 36px;background: #b2b9c7;align-items:center;justify-content:center;} 
.appo_slot .tab_list > li > a > span { font-size: 14px; font-weight:400; color: #fff; } 
.appo_slot .tab_list > li.ac > a { background: #094688; } 
.appo_slot .tab_list > li.ac > a > span { color:#fff; font-weight:700; } 
.appo_slot .tab_list > li.ac a:after { content:''; display: block; position:absolute; left: 50%; top:50%; transform: translateY(-50%); margin-left:20px; width: 22px; height: 22px; background: #fff url(/styles/assets/img/appo/btn_icon_check_b.png) no-repeat 50% 50%; background-size: auto 12px; border-radius: 50%; } 

.slot_list_wrap {position: relative;overflow-y:auto;height:200px;} 
.appo_slot_list { display:flex; flex-direction:row; gap: 4px; flex-wrap: wrap; } 
.appo_slot_list > li { width: calc(100% / 2 - 2px); } 
.appo_slot_list > li > a { display:flex; height:35px; align-items:center; justify-content:center; border:1px solid #dcdfe5; } 
.appo_slot_list > li.ac a {background: #094688;color:#fff;} 

.noti_box > p { position: relative; padding-left:22px; font-size:14px; font-weight:400; color:#999999; line-height: 20px; } 
.noti_box > p:before { content:""; position:absolute; top: 3px; left:0; background: url(/styles/assets/img/appo/ico_notice_g.png) no-repeat 0; display:block; width: 14px; height: 14px; } 

.appoint_myinfo_check {position: fixed;left:0;bottom:0;width:100%;box-sizing:border-box; z-index:100;} 
.appoint_myinfo_check .myinfo_wrap {display:flex;height: 110px;justify-content:space-between;background: #093C88;} 
.appoint_myinfo_check .myinfo_wrap .btn_reserv { flex:0 0 auto; padding: 0 55px; background: #c86ba8; border:0; display:flex; align-items:center; justify-content:center; cursor: pointer; } 
.appoint_myinfo_check .myinfo_wrap .btn_reserv span { padding-left:40px; background:url(/styles/assets/img/appo/ico_reserv_w.png) no-repeat; font-size:28px; font-weight:700; color:#fff; line-height:40px; } 

.appoint_myinfo_check .myinfo_dec { display: inline-flex; align-items: center; gap: 30px; padding: 0 0 0 60px; } 
.appoint_myinfo_check .myinfo_dec .myinfo_list { display:flex; gap:18px; flex-wrap: wrap; } 
.appoint_myinfo_check .myinfo_dec .myinfo_list > li { position:relative; display: flex; padding-left:12px; gap: 10px; } 
.appoint_myinfo_check .myinfo_dec .myinfo_list > li:before { content:""; display:block; width:3px; height:3px; background:#fff; position:absolute; top:8px; left:0; } 
.appoint_myinfo_check .myinfo_dec .myinfo_list .tit { font-size:20px; font-weight:700; color:#fff; } 
.appoint_myinfo_check .myinfo_dec .myinfo_list .dec {font-size:20px;font-weight: 700;color:#fff;} 
.appoint_myinfo_check .myinfo_dec .myinfo_tit { flex: 0 0 auto; font-size:28px; color:#fff; font-weight: 700; } 


.pop_appo_check { border: 2px solid #002145; } 
.pop_appo_check .pop_header { background:#eef4fc; } 
.pop_appo_check .pop_header .check_title {display: flex;height: 100%;text-align:center;justify-content: center;align-items: center;flex-direction: column;} 
.pop_appo_check .pop_header .check_title .txt { font-size:35px; font-weight:700; color:#000; } 
.pop_appo_check .pop_header .check_title .dec { margin-top:12px; font-size:16px; font-weight:900; color:#ced3da; } 
.pop_appo_check .pop_content { padding:50px; overflow-y: auto; } 
.pop_appo_check .pop_content .callout-box{padding:20px 40px;font-size:18px;font-weight: 500;}
.pop_appo_check .bul_list.dot { font-size:17px; font-weight:400; color:#000; } 
.pop_appo_check .bul_list.dot > li:before { width: 4px; height: 4px; background: #094688; } 
.pop_appo_check .notice_box {background:#094688 url(/styles/assets/img/appo/bg_notice_b.png) no-repeat top 20px right 10px;padding:30px 40px;border-radius:0 40px 0 40px;overflow:hidden;margin: 10px 0;} 
.pop_appo_check .notice_box .title { position:relative; color:#fff; padding-left:30px; font-size: 20px; font-weight: 700; margin-bottom: 24px; } 
.pop_appo_check .notice_box .title:before { content:''; display: block; position:absolute; left: 0; top:50%; transform: translateY(-50%); width: 22px; height: 22px; background: #fff url(/styles/assets/img/appo/btn_icon_check_b.png) no-repeat 50% 50%; background-size: auto 12px; border-radius: 50%; } 
.pop_appo_check .notice_box .bul_list.dash > li { color:#fff; } 
.pop_appo_check .notice_box .bul_list.dash > li:before { background:#fff; } 
.pop_appo_check textarea { background:#fbfdff; border:1px solid #dee2e6; padding:30px; resize:none; width:100%; min-height:150px; } 
.pop_appo_check textarea::placeholder { font-size:16px; font-weight:400; color:#aab4bd; } 
.pop_appo_check .check_wrap {text-align:center;margin-top: 20px;} 
.pop_appo_check .btn_wrap { text-align:center; margin-top:20px; } 

/* popup : 로딩 */
.pop_loading { z-index:1001; display:flex; flex-direction: column; justify-content: center; align-items: center; position:fixed; left:0; top:0; right:0; bottom:0; color:#fff; text-align: center; background:rgba(0,0,0,0.65); } 
.pop_loading .loading_img { display: inline-block; width: 48px; height: 48px; background: url(/styles/assets/img/appo/pop_loading_img.png) no-repeat 100% 100%; background-size: contain; -webkit-animation:a01 1.3s linear infinite; animation:a01 1.3s linear infinite; } 
.pop_loading .loading_txt {margin-top: 10px;line-height:1.6;text-align: center;color: #fff;word-break: keep-all;padding: 0 20px;} 
.pop_loading.loading_fix { position:fixed; } 
.pop_loading.pop_loading_cnt { position:absolute; } 

@-webkit-keyframes a01 { 
 from { -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 
 to { -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } 
 }
@keyframes a01 { 
 from { -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 
 to { -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } 
 }




/* 진료예약 : 모바일 */
body.mo .m_none { display:none; } 
body.mo { height:100%; } 
body.mo .pop_appo #header { border-bottom:0; height:auto; } 
body.mo .pop_appo #header .appo_hd { height:80px; padding: 20px; } 
body.mo .pop_appo #header .callcenter { position:relative; height: 65px; top:0; right:auto; transform: translate(0); display: flex; justify-content: center; align-items: center; background: rgba(217, 229, 244, 0.2); } 

body.mo .appo_hd_logo { position: relative; width:40px; height:40px; overflow:hidden; } 
body.mo .appo_hd_logo img { max-width: none; position: absolute; right: 0; } 
body.mo .appo_docs_schedule {display:block;margin-top: 50px;/* height: calc(100% - 465px); */background: none;} 

body.mo .appoint_myinfo_check { position:fixed; bottom:0; left:0; } 
body.mo .appoint_myinfo_check .myinfo_wrap { height:auto; background: #094688 url(/styles/assets/img/appo/pt_blue01.png) repeat; background-size:20px auto; } 
body.mo .appoint_myinfo_check .myinfo_dec { padding:20px; } 
body.mo .appoint_myinfo_check .myinfo_tit { display:none; } 
body.mo .appoint_myinfo_check .myinfo_name,
body.mo .appoint_myinfo_check .myinfo_sid,
body.mo .appoint_myinfo_check .myinfo_phone { display:none; } 
body.mo .appoint_myinfo_check .myinfo_dec .myinfo_list > li { flex-direction:column; } 
body.mo .appoint_myinfo_check .myinfo_wrap .btn_reserv { padding:0 12px; } 
body.mo .appoint_myinfo_check .myinfo_wrap .btn_reserv span { padding:0; background:none; } 

body.mo .step_hd .btn_prev { display:block; width: 20px; height: 20px; margin-right: 10px; border: 0; background: url(/styles/assets/img/appo/ico_arw_b.png) no-repeat center center; background-size:contain; } 
body.mo .step_hd .btn_prev span { position: absolute; left:-9999px; opacity: 0; } 
body.mo .step_body {position: relative;padding: 20px;box-sizing: border-box;background:#fff;box-shadow: 15px 0 20px rgba(0,55,117,0.2);} 
body.mo .appo_step01 {width:100%;padding: 20px 0 0 20px;background: url(/styles/assets/img/appo/pt_blue01.png);} 
body.mo .appo_step01:before { display:none; } 
body.mo .appo_step01 .depts_list > li { flex-basis: 100%; width:100%; border-top: 1px solid #dcdfe5; } 
body.mo .appo_step01 .depts_list > li:first-child{border-top:0;}
body.mo .appo_step01 .depts_list {height: calc(100vh - 395px);padding: 20px;box-sizing: border-box;} 

body.mo .appo_step02 { width:100%; padding: 20px 0 0 12px; background: url(/styles/assets/img/appo/pt_blue01.png); } 
body.mo .appo_step02 .step_hd .noti_box { display: none; }
body.mo .appo_step02 .docs_list_wrap{/* overflow-x: hidden; */}
body.mo .appo_step02 .docs_list { width: 100%; min-width: auto; display: block; height: calc(100vh - 360px); } 
body.mo .appo_step02 .docs_list > li {display: block;width:100%;flex-basis: 100%;padding: 12px;margin: 0;border-bottom: 0;} 
body.mo .appo_step02 .docs_list > li:first-child { border-top:0; } 
body.mo .appo_step02 .doc_info{width:100%;}
body.mo .appo_step02 .docs_list > li.ac{border: 2px solid #0e4a84;}
body.mo .appo_step02 .docs_list li.ac:before{top:0;right:0;border-radius: 0;}

body.mo .appo_step03 {width:100%;padding: 20px 0 60px 12px;background: url(/styles/assets/img/appo/pt_blue01.png);} 
body.mo .appo_step03 .appo_time_wrap { display:block; } 
body.mo .appo_step03 .appo_calender { width:100%; } 
body.mo .appo_step03 .appo_slot { width:100%; } 

@media (max-width:768px) { body.mo .pop_close { width: 30px; height: 30px; } 
 body.mo .btn_pop_close {width: 30px;height: 30px;} 
 body.mo .pop_appo #header .appo_hd .hd_title { font-size:1.375rem } 
 body.mo .pop_appo #header .callcenter { height:54px; } 
 body.mo .pop_appo #header .callcenter .txt { font-size:1rem; } 

 body.mo .appoint_myinfo_check .myinfo_dec .myinfo_list .tit { font-size:1rem; } 
 body.mo .appoint_myinfo_check .myinfo_dec .myinfo_list .dec { font-size:1rem; } 
 body.mo .appoint_myinfo_check .myinfo_wrap .btn_reserv span { font-size:20px } 
 
 body.mo .appo_docs_schedule { margin-top: 0; /* padding-bottom: 145px; */box-sizing: border-box; min-height: calc(100vh - 155px); } 
 body.mo .step_hd { margin-bottom: 15px; } 
 body.mo .step_hd .step_hd_tit { font-size: 1.25rem; } 
 body.mo .step_hd_txt {font-size: 1.125rem;letter-spacing: -1px;margin-left: 10px;} 
 body.mo .step_hd .ico_change { border-radius:100%; margin-left: 10px; width: 24px; height: 24px; background: #c86ba8 url(/styles/assets/img/appo/ico_reflesh01_w.png) no-repeat center center; background-size: auto 12px; } 

 
 body.mo .appo_step01 .tab_list { gap:0; margin-bottom: 15px; } 
 body.mo .appo_step01 .tab_list > li > a > span { font-size:1rem; } 
 body.mo .appo_step01 .step_body {position:relative;padding: 20px 12px 20px 20px;box-sizing: border-box;} 
 body.mo .appo_step01 .step_body:before { content:""; display:block; width:12px; height:100%; background: url(/styles/assets/img/appo/bg_box_w.png) no-repeat; position:absolute; top:0; left:-12px } 
 body.mo .appo_step01 .depts_list a { font-size:15px; } 

 
 body.mo .appo_step02 .step_body {position:relative;padding: 20px;box-sizing: border-box;} 
 body.mo .appo_step02 .step_body:before { content:""; display:block; width:12px; height:100%; background: url(/styles/assets/img/appo/bg_box_w.png) no-repeat; position:absolute; top:0; left:-12px } 
 
 body.mo .appo_step02 .doc_info .doc_pic {width: 110px;height: 130px;margin-right: 20px;} 
 body.mo .appo_step02 .docs_list li .doc_name { font-size:1.125rem; } 
 body.mo .appo_step02 .doc_info{position: relative;height: 180px;padding-bottom: 50px;}
 body.mo .appo_step02 .doc_dec{flex: 0 0 auto;width: calc(100% - 130px);}
 body.mo .appo_step02 .doc_info .doc_part{height:60px;display: -webkit-box;-webkit-line-clamp: 3;           /* 보여줄 줄 수 */-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;}
 body.mo .appo_step02 .doc_info .btn_wrap{position: absolute;width: 100%;display: flex;bottom: 0;left: 0;}
 body.mo .appo_step02 .btn {flex:1;width: auto;height: 40px;} 
 body.mo .appo_step02 .btn.btn_c_b{background: #094688;color:}
 body.mo .appo_step02 .btn.btn_c_b span{color:#fff;}
 

 body.mo .appo_step03 .step_body {position:relative;padding: 20px;min-height: calc(100vh - 410px);} 
 body.mo .appo_step03 .step_body:before { content:""; display:block; width:12px; height:100%; background: url(/styles/assets/img/appo/bg_box_w.png) no-repeat; position:absolute; top:0; left:-12px } 
 body.mo .appo_step03 .appo_slog_tit { font-size:16px; background-size: auto 15px; padding-left: 20px; } 

 body.mo .pop_appo_check .pop_header {height: 90px;min-height: auto;} 
 body.mo .pop_appo_check .pop_content { padding:20px; } 
 body.mo .pop_appo_check .pop_header .check_title .txt { font-size:1.5rem; } 
 body.mo .pop_appo_check .pop_header .check_title .dec { font-size:.75rem; margin-top: 4px; } 

 body.mo .pop_appo_check .notice_box { padding:12px; } 
 body.mo .pop_appo_check .notice_box .title {font-size: 1rem;margin-bottom:15px;padding-left: 20px;} 
 body.mo .pop_appo_check .notice_box .title:before{width: 16px;height: 16px;}
 body.mo .pop_appo_check .callout-box{padding:20px;font-size:16px;}
 body.mo .pop_appo_check .bul_list.dot { font-size:.9375rem; } 
 body.mo .pop_appo_check textarea { padding:12px; font-size: .875rem; min-height: 80px; } 
 body.mo .pop_appo_check textarea::placeholder { font-size:.875rem; } 
 }

/* 20250811 KJH 온라인예약 수정 */
.appo_cal_tb a.online_today { border: 3px solid #777; }
.appo_step03 .appo_cal_legend li.cal_check:before { border:1px solid #094688; background:#094688; } 