@CHARSET "UTF-8";

/* 처음진료간편예약 */
.fastrsv_wrap .top_box{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:190px;padding-bottom:20px;}
.fastrsv_wrap .top_box::after{content:'';position:absolute;bottom:0;right:0;width:220px;height:190px;background:url(/nanum/site/reserve/img/bg_fastrsv.png) no-repeat;background-size:cover;}
.fastrsv_wrap .top_box .btxt{font-size:2.8rem;line-height:1.2;}
.fastrsv_wrap .top_box .stxt{margin-top:10px;font-size:1.8rem;color:#555;}

.fastrsv_wrap .form_box{display:flex;justify-content:center;padding:20px 40px;background:#f9f9f9;}
.fastrsv_wrap .form_box dl{display:inline-flex;align-items:center;}
.fastrsv_wrap .form_box dl:nth-child(n+2){margin-left:20px;}
.fastrsv_wrap .form_box dl:nth-child(3){margin:10px 0 0 0;}
.fastrsv_wrap .form_box dt{margin-right:20px;font-size:1.6rem;font-weight:700;}
.fastrsv_wrap .form_box dd{flex-shrink:0;width:150px;}
.fastrsv_wrap .form_box input[type="text"],
.fastrsv_wrap .form_box input[type="tel"]{width:100%;height:40px;padding:0 10px;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;font-size:1.5rem;font-weight:700;color:#000;}
.fastrsv_wrap .form_box input::placeholder{font-weight:500;color:#d5d5d5;}
.fastrsv_wrap .form_box input::-webkit-input-placeholder{font-weight:500;color:#d5d5d5;}
.fastrsv_wrap .form_box input:-ms-input-placeholder{font-weight:500;color:#d5d5d5;}
.fastrsv_wrap .form_box textarea{width:100%;height:100px;padding:10px;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;font-size:1.5rem;font-weight:700;color:#000;resize:none;}
.fastrsv_wrap .form_box .box{display:flex;justify-content:center;}
.fastrsv_wrap .form_box .box.auth{margin-left:20px;}
.fastrsv_wrap .form_box .box.auth input[type="tel"]{flex-shrink:0;width:200px;}
.fastrsv_wrap .form_box .con_sbtn{margin-left:10px;}

.fastrsv_wrap .privacy_box{border:1px solid #d5d5d5;}
.fastrsv_wrap .privacy_box dl{padding:25px 20px;font-size:1.7rem;color:#000;}
.fastrsv_wrap .privacy_box dt{font-weight:700;}
.fastrsv_wrap .privacy_box dt:nth-child(n+2){margin-top:15px;}
.fastrsv_wrap .privacy_box dd{margin-top:5px;color:#555;}
.fastrsv_wrap .privacy_box .agree_chk{padding:20px;border-top:1px solid #d5d5d5;}
.fastrsv_wrap .privacy_box .agree_chk label{font-size:1.7rem;}

/* 인터넷진료예약공통 */ 
ol.rsv_step{display:flex;margin-bottom:50px;border-radius: 15px;overflow: hidden;background: #f9f5ed;}
ol.rsv_step > li{width:25%;min-height:160px;padding:20px;border-left: 1px solid rgb(165 89 0 / 18%);color: #775630;box-sizing:border-box;}
ol.rsv_step > li:first-child{border:0;}
ol.rsv_step > li dl{display:flex;flex-direction:column;height:100%;}
ol.rsv_step > li dt{display:flex;align-items:center;margin-bottom:10px;font-size:1.6rem;font-weight:700;}
ol.rsv_step > li dt span{display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;margin-right:10px;background: #5f482d;border-radius:100%;font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:600;text-align:center;color:#fff;}
ol.rsv_step > li dt .btn_modify{display:none;margin-left:auto;padding:0 10px;font-size:1.3rem;font-weight:700;color: #775630;border: 1px solid rgb(141 77 0 / 50%);}
ol.rsv_step > li dd{display:flex;flex-grow:1;justify-content:center;align-items:center;position:relative;}
ol.rsv_step > li dd::before,
ol.rsv_step > li dd::after{content:'';position:absolute;top:50%;left:50%;opacity:0.8;}
ol.rsv_step > li dd::before{width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:100%;border: 2px dotted rgb(201 201 201 / 70%);}
ol.rsv_step > li dd::after{width:32px;height:32px;margin:-16px 0 0 -16px;z-index:1;background-repeat:no-repeat;background-size:cover;}
ol.rsv_step > li.finish dd::before,
ol.rsv_step > li.finish dd::after{display:none;}

ol.rsv_step > li.finish dt{color: #775630;}
ol.rsv_step > li.finish dt span{position:relative;background:#fff;font-size:0;}
ol.rsv_step > li.finish dt span::after{content:'';position:absolute;top:50%;left:50%;width:14px;height:11px;margin:-5px 0 0 -7px;background:url(/nanum/site/reserve/img/icon_rsv_finish.png) no-repeat;background-size:cover;}
ol.rsv_step > li.finish dd{font-size:1.9rem;font-weight:700;color: #111;text-align:center;}
ol.rsv_step > li.finish .btn_modify{display:block;}

ol.rsv_step > li.active{background: #f18a07;}
ol.rsv_step > li.active dd::before{opacity:1;border: 2px dotted rgb(255 255 255 / 70%);}
ol.rsv_step > li.active dt{color:#fff;}
ol.rsv_step > li.active dt span{background:#fff;color:#e58000;}

ol.rsv_step > li.step2 dd{display:flex;}
ol.rsv_step > li.step2 dd .photo{overflow:hidden;width:60px;height:60px;margin-right:10px;border-radius:100%;}
ol.rsv_step > li.step2 dd .photo img{width:60px;height:auto;object-fit:cover;}
ol.rsv_step > li.step2 dd .name{font-size:1.9rem;font-weight:500;}
ol.rsv_step > li.step2 dd .name strong{margin-right:5px;}

ol.rsv_step > li.step3 dd{justify-content:flex-start;align-items:end;text-align:left;}
ol.rsv_step > li.step3 dd ul.user_info li{position:relative;padding-left:25px;font-size:1.4rem;line-height:1.3;font-weight:500;word-break:break-all;color: #111;letter-spacing:0;}
ol.rsv_step > li.step3.active dd ul.user_info li{color: #fff;}
ol.rsv_step > li.step3 dd ul.user_info li::after{content:'';position:absolute;top:50%;left:0;width:16px;height:16px;margin-top:-8px;background-size:cover;}
ol.rsv_step > li.step3 dd ul.user_info li:nth-child(n+2){margin-top:5px;}
ol.rsv_step > li.step3 dd ul.user_info li.name{padding-left:0;font-size:1.9rem;}
ol.rsv_step > li.step3 dd ul.user_info li.tel::after{background-image:url(/nanum/site/reserve/img/icon_rsv_tel.png);}
ol.rsv_step > li.step3 dd ul.user_info li.email::after{background-image:url(/nanum/site/reserve/img/icon_rsv_email.png);}
ol.rsv_step > li.step3 dd ul.user_info li.birth::after{background-image:url(/nanum/site/reserve/img/icon_rsv_birth.png);}

ol.rsv_step > li.step1 dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step4.png);}
ol.rsv_step > li.step1.active dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step4_on.png);}
ol.rsv_step > li.step2 dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step3.png);}
ol.rsv_step > li.step2.active dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step3_on.png);}
ol.rsv_step > li.step3 dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step2.png);}
ol.rsv_step > li.step3.active dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step2_on.png);}
ol.rsv_step > li.step4 dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step4.png);}
ol.rsv_step > li.step4.active dd::after{background-image:url(/nanum/site/reserve/img/icon_rsv_step4_on.png);}

/* 폼 스타일 */
.form_title{font-size: 24px;font-weight: 700;color: #333;margin-bottom: 30px;}
.form_section{margin-top: 50px;}
.form_section_title{font-size: 1.8rem;font-weight: 700;color: #333;margin-bottom: 24px;padding-bottom: 12px;border-bottom: 2px solid #ea9334;display:flex;align-items: center;gap: 8px;}
.section_subtitle {font-size: 14px;font-weight: 500;color: #d97706;margin-left: auto;}

.agreement_box{border:2px solid #e5e5e5;border-radius: 12px;padding: 0px 20px 15px 20px;margin-bottom: 20px;}
.agreement_text{font-size: 1.5rem;line-height: 1.8;color: #333;margin-bottom: 16px;white-space: pre-line;}
.agreement_check{display: flex;align-items: center;gap: 10px;padding-top: 16px;border-top: 1px solid #cccccc;}
.agreement_check .radio_group{display: flex;gap: 20px;}
.agreement_check .radio_item{display: flex;align-items: center;gap: 8px;}
.agreement_check input[type="checkbox"]{width: 20px;height: 20px;cursor: pointer;accent-color: #ea9334;}
.agreement_check input[type="radio"]{width: 18px;height: 18px;cursor: pointer;accent-color: #cd720f;flex-shrink: 0;}
.agreement_check label{font-size: 1.6rem;font-weight: 600;color: #333;cursor: pointer;}

.form_item{display: flex;align-items: flex-start;padding: 20px 0;border-bottom: 1px solid #e5e5e5;}
.form_item:first-of-type{padding-top: 0;}
.form_label{width: 140px;font-size: 1.6rem;font-weight: 700;color: #333;padding-top: 8px;flex-shrink: 0;}
.form_content{flex: 1;}
.form_input{width: 100%;height: 48px;padding: 0 15px;border: 1px solid #d5d5d5;border-radius: 10px;font-size: 1.5rem;transition: all 0.3s;box-sizing: border-box;}
.form_input:focus{outline: none;border-color: #ea9334;background: #fffdf8;}
.form_input:disabled{background: #f5f5f5;color: #999;cursor: not-allowed;}

/* 주민등록번호 입력 */
.jumin_input{display: flex;align-items: center;gap: 12px;}
.jumin_input input{flex: 1;}
.jumin_input .btn{flex-shrink: 0;}
.jumin_dash{font-size: 2rem;font-weight: 700;color: #999;flex-shrink: 0;}

/* 버튼 스타일 */
.input_with_btn{display: flex;gap: 12px;align-items: center;}
.input_with_btn .form_input{flex: 1;}
.input_with_btn .btn{flex-shrink: 0;}
.btn_group{display: flex;gap: 12px;margin-top: 12px;}
.btn{height: 48px;padding: 0 24px;border: none;border-radius: 10px;font-size: 1.5rem;font-weight: 700;cursor: pointer;transition: all 0.3s;display: inline-flex;align-items: center;justify-content: center;gap: 8px;white-space: nowrap;}
.btn_primary{background: linear-gradient(135deg, #ea9334 0%, #f18a07 100%);color: white; }
.btn_primary:disabled{background: #d5d5d5;box-shadow: none;transform: none;}
.btn_secondary{background: white;color: #666;border: 2px solid #e5e5e5;}
.btn_secondary:hover{border-color: #ea9334;color: #ea9334;}

/* 성공/실패 메시지 */
.message_box{margin-top: 16px;padding: 16px 20px;border-radius: 10px;font-size: 1.4rem;font-weight: 600;animation: slideDown 0.3s ease-out;}
@keyframes slideDown{from{opacity: 0;transform: translateY(-10px);} to{opacity: 1;transform: translateY(0);} }
.message_success{background: #e8f5e9;color: #2e7d32;border: 2px solid #4caf50;}
.message_error{background: #ffebee;color: #c62828;border: 2px solid #f44336;}
.message_warning{background: #fff3e0;color: #e65100;border: 2px solid #ff9800;}

/* 환자 정보 박스 */
.patient_info{margin-top: 16px;padding: 20px;background: linear-gradient(135deg, #e3f2fd 0%, #f0f8ff 100%);border: 2px solid #4a90e2;border-radius: 12px;animation: fadeIn 0.4s ease-out;}
@keyframes fadeIn{from{opacity: 0;transform: scale(0.95);} to{opacity: 1;transform: scale(1);} }
.patient_info_title{font-size: 1.6rem;font-weight: 700;color: #1976d2;margin-bottom: 12px;display: flex;align-items: center;gap: 8px;}
.patient_info_content{font-size: 1.5rem;color: #333;line-height: 1.6;}
.patient_number{font-size: 20px;font-weight: 700;color: #1976d2;}

/* 초진 환자 안내 */
.first_patient{margin-top: 16px;padding: 28px;background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);border: 2px solid #ffa726;border-radius: 12px;text-align: center;animation: fadeIn 0.4s ease-out;}
.first_patient_icon{font-size: 48px;margin-bottom: 16px;animation: bounce 1s ease infinite;}
@keyframes bounce{0%, 100%{transform: translateY(0);} 50%{transform: translateY(-10px);} }
.first_patient_title{font-size: 20px;font-weight: 700;color: #f57c00;margin-bottom: 12px;}
.first_patient_text{font-size: 1.5rem;color: #555;line-height: 1.8;margin-bottom: 20px;}
.contact_link{display: inline-flex;align-items: center;gap: 8px;padding: 14px 28px;background: white;border: 2px solid #ffa726;border-radius: 10px;font-size: 18px;font-weight: 700;color: #f57c00;text-decoration: none;transition: all 0.3s;}
.contact_link:hover{background: #f57c00;color: white;transform: scale(1.05);}

/* 헬프 텍스트 */
.help_text{margin-top: 8px;font-size: 1.3rem;color: #666;line-height: 1.5;}

/* 제출 버튼 영역 */
.submit_area{display: flex;justify-content: center;align-items: center;gap: 16px;padding: 40px;}
.btn_submit{width: 240px;height: 56px;font-size: 1.8rem;}

/* 인증 완료 표시 */
.verified_badge{display: inline-flex;align-items: center;gap: 6px;padding: 6px 12px;background: #e8f5e9;color: #2e7d32;border-radius: 20px;font-size: 1.3rem;font-weight: 700;animation: fadeIn 0.3s ease-out;}

/* step1 */
.rsv_type_wrap .tac a{text-decoration:underline;color:#224191;font-weight:600;}
.rsv_type_wrap .rsv_type{display:flex;gap:25px;}
.rsv_type_wrap .rsv_type a{display:flex;flex-direction:column;justify-content:space-between;width:50%;height:300px;padding:50px 20px 20px 20px;border-radius:20px;border:2px solid #e5e5e5;text-align:center;box-sizing:border-box;}
.rsv_type_wrap .rsv_type a strong{display:block;position:relative;padding-top:75px;font-size:2.2rem;line-height:1.3;}
.rsv_type_wrap .rsv_type a strong::after{content:'';position:absolute;top:0;left:50%;width:70px;height:60px;margin-left:-35px;background-repeat:no-repeat;background-size:cover;}
.rsv_type_wrap .rsv_type a strong p{font-size:1.9rem;font-weight:500;}
.rsv_type_wrap .rsv_type a .btn{padding:13px 0;border-radius:10px;background:#f5f5f5;font-size:1.6rem;font-weight:700;color:#000;}
.rsv_type_wrap .rsv_type a.type1 strong::after{background-image:url(/nanum/site/reserve/img/rsv_type1.png);}
.rsv_type_wrap .rsv_type a.type2 strong::after{background-image:url(/nanum/site/reserve/img/rsv_type2.png);}
.rsv_type_wrap .rsv_type a.type3 strong::after{background-image:url(/nanum/site/reserve/img/rsv_type3.png);}

/* step1_자녀보호자예약레이어 */
#jsMask{position:fixed;display:none;width:100%;height:100%;top:0;right:0;bottom:0;left:0;background:#000;opacity:.8;z-index:98;}
.rsv_pop_layer{display:none;position:fixed;border-radius: 20px;overflow: hidden;width:600px;min-height:460px;top:50%;left:50%;margin:-230px 0 0 -300px;background:#fff;z-index:99;}
.rsv_pop_layer .pop_head{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background:#ea9334;}
.rsv_pop_layer .pop_head h3{font-size:2.2rem;font-weight:700;color:#fff;}
.rsv_pop_layer .pop_head .btn_pop_cls{width:28px;height:28px;background:url(/nanum/site/reserve/img/btn_pop_cls.png) no-repeat;background-size:cover;text-indent:-9999px;}
.rsv_pop_layer .pop_cont{padding:30px;box-sizing:border-box;}
.rsv_pop_layer .pop_cont ul.list > li:nth-child(n+2){margin-top:3px;}
.rsv_pop_layer .pop_cont .user_list{overflow:auto;max-height:240px;margin-top:15px;}
.rsv_pop_layer .pop_cont .user_list ul li{padding:10px 20px;border:1px solid #d5d5d5;font-size:1.5rem;color:#000;}
.rsv_pop_layer .pop_cont .user_list ul li:nth-child(n+2){margin-top:5px;}
.rsv_pop_layer .pop_cont .user_list ul li:hover{border-color:#ea9334;background:#eff9ff;color:#ea9334;}
.rsv_pop_layer .pop_cont .user_chk_frm{margin-top:20px;padding:20px 30px;background:#f9f9f9;}
.rsv_pop_layer .pop_cont .user_chk_frm dl{display:flex;align-items:center;justify-content:center;}
.rsv_pop_layer .pop_cont .user_chk_frm dt{font-weight:700;}
.rsv_pop_layer .pop_cont .user_chk_frm dt:nth-of-type(n+2){margin-left:20px;}
.rsv_pop_layer .pop_cont .user_chk_frm dd{flex-shrink:0;width:150px;margin-left:10px;}
.rsv_pop_layer .pop_cont .user_chk_frm dd input[type="tel"]{width:100%;height:40px;padding:0 10px;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;font-size:1.5rem;font-weight:700;color:#000;}
.rsv_pop_layer .pop_cont .user_chk_frm dd input::placeholder{font-weight:500;color:#d5d5d5;}
.rsv_pop_layer .pop_cont .user_chk_frm dd input::-webkit-input-placeholder{font-weight:500;color:#d5d5d5;}
.rsv_pop_layer .pop_cont .user_chk_frm dd input:-ms-input-placeholder{font-weight:500;color:#d5d5d5;}
.rsv_pop_layer .btn_w{position:absolute;bottom:30px;left:0;padding:0;}

/* step2 */
.rsv_medi_wrap .medipart_srch h3.tit{margin-bottom:0;}
.rsv_medi_wrap .medipart_srch .srch_area{flex-grow:0;}

/* step3 */
.rsv_doctor_wrap .dr_list{display:flex;gap:30px;flex-wrap:wrap;}
.rsv_doctor_wrap .dr_list li{display:flex;flex-direction:column;justify-content:space-between;width:50%;max-width:460px;min-height:200px;padding:20px;border:2px solid #e5e5e5;border-radius:10px;box-sizing:border-box;cursor:pointer;}
.rsv_doctor_wrap .dr_list li .info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:0 10px;}
.rsv_doctor_wrap .dr_list li .info .d_info{flex-grow:1;padding-right:20px;}
.rsv_doctor_wrap .dr_list li .info .d_info .name{margin-bottom:15px;font-size:2.1rem;font-weight:700;}
.rsv_doctor_wrap .dr_list li .info .d_info dl{display:flex;font-size:1.5rem;line-height:1.3;}
.rsv_doctor_wrap .dr_list li .info .d_info dl:nth-of-type(n+2){margin-top:5px;}
.rsv_doctor_wrap .dr_list li .info .d_info dt{flex-shrink:0;width:100px;font-weight:700;color:#000;}
.rsv_doctor_wrap .dr_list li .info .d_info dd{flex-grow:1;color:#555;display:-webkit-box;overflow:hidden;max-height:60px;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-all;}
.rsv_doctor_wrap .dr_list li .info .photo{flex-shrink:0;overflow:hidden;width:80px;height:80px;border:1px solid #e5e5e5;border-radius:100%;box-sizing:border-box;}
.rsv_doctor_wrap .dr_list li .info .photo img{width:80px;height:auto;object-fit:cover;}
.rsv_doctor_wrap .dr_list li .rsv_btn{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:40px;font-size:1.5rem;font-weight:700;color:#000;background:#eee;}

/* 팝업 배경 딤처리 */
.popup_overlay{display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.5);z-index: 9998;}
.popup_overlay.active{display: block;}

/* 팝업 레이어 */
.rsv_popup{display: none;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 90%;max-width: 500px;background: #fff;border-radius: 15px;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);z-index: 9999;padding: 40px 30px;box-sizing: border-box;}
.rsv_popup.active{display: block;}
.rsv_popup .blueTitle{font-size: 2.2rem;font-weight: 700;color: #ea9334;text-align: center;margin: 0 0 20px 0;line-height: 1.4;}
.rsv_popup .explain{font-size: 1.6rem;color: #555;text-align: center;line-height: 1.6;margin: 0 0 30px 0;}

/* 환자정보 표시 영역 */
.rsv_popup .patient_info{background: #f9f5ed;border-radius: 10px;padding: 20px;margin: 0 0 30px 0;border: 1px solid rgba(165, 89, 0, 0.18);}
.rsv_popup .patient_info ul{list-style: none;padding: 0;margin: 0;}
.rsv_popup .patient_info li{font-size: 1.5rem;color: #333;padding: 8px 0;border-bottom: 1px solid rgba(165, 89, 0, 0.1);}
.rsv_popup .patient_info li:last-child{border-bottom: none;}
.rsv_popup .patient_info li strong{color: #775630;font-weight: 700;margin-right: 5px;}

/* 버튼 영역 */
.rsv_popup .btn_box{display: flex;gap: 10px;justify-content: center;margin: 0;}
.rsv_popup .btn_box button{flex: 1;min-width: 120px;height: 50px;border-radius: 8px;font-size: 1.6rem;font-weight: 700;cursor: pointer;transition: all 0.3s;border: none;}
.rsv_popup .btn_box button.white{background: #fff;color: #775630;border: 2px solid rgba(165, 89, 0, 0.5);}
.rsv_popup .btn_box button.white:hover{background: #f9f5ed;border-color: #ea9334;color: #5f482d;}
.rsv_popup .btn_box button.blue{background: #ea9334;color: #fff;}
.rsv_popup .btn_box button.blue:hover{background: #d17d1f;}
.rsv_popup .btn_close{position: absolute;top: 15px;right: 15px;width: 30px;height: 30px;background: none;border: none;cursor: pointer;font-size: 2.4rem;color: #999;line-height: 1;padding: 0;}
.rsv_popup .btn_close:hover{color: #333;}

/* 팝업 배경 딤처리 */
.popup_overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 9998;}
.popup_overlay.active { display: block;}

/* 팝업 레이어 */
.rsv_popup { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 500px; background: #fff; border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); z-index: 9999; padding: 40px 30px; box-sizing: border-box;}
.rsv_popup.active { display: block;}
.rsv_popup .blueTitle { font-size: 2.2rem; font-weight: 700; color: #ea9334; text-align: center; margin: 0 0 20px 0; line-height: 1.4;}
.rsv_popup .explain { font-size: 1.6rem; color: #555; text-align: center; line-height: 1.6; margin: 0 0 30px 0;}

/* 환자정보 표시 영역 */
.rsv_popup .patient_info { background: #f9f5ed; border-radius: 10px; padding: 20px; margin: 0 0 30px 0; border: 1px solid rgba(165, 89, 0, 0.18);}
.rsv_popup .patient_info ul { list-style: none; padding: 0; margin: 0;}
.rsv_popup .patient_info li { font-size: 1.5rem; color: #333; padding: 8px 0; border-bottom: 1px solid rgba(165, 89, 0, 0.1);}
.rsv_popup .patient_info li:last-child { border-bottom: none;}
.rsv_popup .patient_info li strong { color: #775630; font-weight: 700; margin-right: 5px;}

/* 버튼 영역 */
.rsv_popup .btn_box { display: flex; gap: 10px; justify-content: center; margin: 0;}
.rsv_popup .btn_box button { flex: 1; min-width: 120px; height: 50px; border-radius: 8px; font-size: 1.6rem; font-weight: 700; cursor: pointer; transition: all 0.3s; border: none;}
.rsv_popup .btn_box button.white { background: #fff; color: #775630; border: 2px solid rgba(165, 89, 0, 0.5);}
.rsv_popup .btn_box button.white:hover { background: #f9f5ed; border-color: #ea9334; color: #5f482d;}
.rsv_popup .btn_box button.blue { background: #ea9334; color: #fff;}
.rsv_popup .btn_box button.blue:hover { background: #d17d1f;}
.rsv_popup .btn_close { position: absolute; top: 15px; right: 15px; width: 30px; height: 30px; background: none; border: none; cursor: pointer; font-size: 2.4rem; color: #999; line-height: 1; padding: 0;}
.rsv_popup .btn_close:hover { color: #333;}

/* step4 */
.rsv_date_wrap .date_select{display:flex;justify-content:space-between;margin-top:20px;}
.rsv_date_wrap .date_select .calendar_box{flex-grow:1;padding-bottom:20px;border-bottom:1px solid #e5e5e5;}
.rsv_date_wrap .date_select .calendar_box .cal_top{display:flex;align-items:center;min-height:50px;margin-bottom:10px;padding:0 20px;background: #fffdf8;border: 1px solid #e8dac5;box-sizing:border-box;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select{display:flex;align-items:center;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select span{padding:0 20px;font-weight:500;font-size:1.9rem;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select span strong{font-weight:700;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next{display:block;position:relative;text-indent:-9999px;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev::after,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next::after{content:'';position:absolute;top:0;left:0;background-repeat:no-repeat;background-size:cover;background-image:url(/nanum/site/reserve/img/btn_month_arr.png);}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev::after{transform:rotate(180deg);}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev::after,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next::after{width:24px;height:24px;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.disable::after{opacity:0.2;cursor:default;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc{display:flex;margin-left:auto;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc li{position:relative;padding-left:20px;font-size:1.4rem;font-weight:700;color:#000;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc li::after{content:'';position:absolute;top:50%;left:0;width:10px;height:10px;margin-top:-5px;border-radius:100%;box-sizing:border-box;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc li.disc_today::after{border: 2px solid #ed9424;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc li.disc_select::after{background: #ed9424;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc li:nth-child(n+2){margin-left:20px;}
.rsv_date_wrap .date_select .calendar_box table.list_date{table-layout:fixed;width:100%;text-align:center;}
.rsv_date_wrap .date_select .calendar_box table.list_date th,
.rsv_date_wrap .date_select .calendar_box table.list_date td{height:60px;}
.rsv_date_wrap .date_select .calendar_box table.list_date th{font-size:1.6rem;font-weight:600;}
.rsv_date_wrap .date_select .calendar_box table.list_date td{color:#b5b5b5;}
.rsv_date_wrap .date_select .calendar_box table.list_date td em{display:inline-flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:100%;color:#000;font-weight:700;cursor:pointer;box-sizing:border-box;}
.rsv_date_wrap .date_select .calendar_box table.list_date td.today em{border: 2px solid #ed9424;color: #ed9424;}
.rsv_date_wrap .date_select .calendar_box table.list_date td.select em{background: #f18a07;color:#fff;}

.rsv_date_wrap .date_select .time_box{position:relative;flex-shrink:0;width:370px;margin-left:20px;border:1px solid #e5e5e5;}
.rsv_date_wrap .date_select .time_box ol{display:flex;flex-wrap:wrap;gap:20px;padding:20px 30px;}
.rsv_date_wrap .date_select .time_box ol li{width:33.3333%;max-width:90px;}
.rsv_date_wrap .date_select .time_box ol li em{display:inline-flex;justify-content:center;align-items:center;width:100%;height:40px;border-radius:40px;background:#f5f5f5;font-size:1.5rem;color:#b5b5b5;box-sizing:border-box;}
.rsv_date_wrap .date_select .time_box ol li.pos em{border:1px solid #e5e5e5;background:#fff;font-weight:700;color:#000;cursor:pointer;}
.rsv_date_wrap .date_select .time_box ol li.select em{background: #f18a07;border-color: #f18a07;color:#fff;}
.rsv_date_wrap .date_select .rsv_btn{position:absolute;left:0;bottom:0;width:100%;height:60px;border:0;background:#f9f9f9;color:#b5b5b5;font-size:1.8rem;font-weight:500;cursor:pointer;}
.rsv_date_wrap .date_select .rsv_btn.active{left:-1px;bottom:-1px;width:calc(100% + 2px);background: #f18a07;color:#fff;font-weight:700;}

.rsv_date_wrap .symptom_txt{margin-top:30px;}
.rsv_date_wrap .symptom_txt textarea{height:150px;padding:20px;border:1px solid #e5e5e5;font-size:1.6rem;font-weight:700;color:#000;resize:none;box-sizing:border-box;}
.rsv_date_wrap .symptom_txt textarea::placeholder{font-weight:500;color:#b5b5b5;}
.rsv_date_wrap .symptom_txt textarea::-webkit-input-placeholder{font-weight:500;color:#b5b5b5;}
.rsv_date_wrap .symptom_txt textarea:-ms-input-placeholder{font-weight:500;color:#b5b5b5;}

/* step5 */
.rsv_finish_wrap .finish_box{padding-top:50px;text-align:center;}
.rsv_finish_wrap .finish_box .btxt{position:relative;padding-top:130px;font-size:3rem;line-height:1.3;font-weight:700;}
.rsv_finish_wrap .finish_box .btxt::after{content:'';position:absolute;top:0;left:50%;width:94px;height:96px;margin-left:-47px;background:url(/nanum/site/reserve/img/bg_rsv_finish.png) no-repeat;background-size:cover;}
.rsv_finish_wrap .finish_box .stxt{margin:10px 0 50px;font-size:1.9rem;line-height:1.3;color:#555;}
.rsv_finish_wrap .chk_list{display:flex;gap:20px;margin-top:80px;}
.rsv_finish_wrap .chk_list li{position:relative;width:50%;max-width:465px;padding:100px 0 30px 0;background:#f5f5f5;text-align:center;border-radius: 10px;}
.rsv_finish_wrap .chk_list li::after{content:'';position:absolute;top:30px;left:50%;width:50px;height:52px;margin-left:-25px;background-repeat:no-repeat;background-size:cover;}
.rsv_finish_wrap .chk_list li.chk1::after{background-image:url(/nanum/site/reserve/img/icon_chk_list1.png);}
.rsv_finish_wrap .chk_list li.chk2::after{background-image:url(/nanum/site/reserve/img/icon_chk_list2.png);}

/********************태블릿********************/
@media all and (max-width:1024px){

/* 처음진료간편예약 */
.fastrsv_wrap .form_box{flex-wrap:wrap;}
.fastrsv_wrap .form_box dl{width:100%;}
.fastrsv_wrap .form_box dd{flex-grow:1;flex-shrink:1;width:100%;}
.fastrsv_wrap .form_box .con_sbtn{flex-shrink:0;width:150px;}
.fastrsv_wrap .form_box .box{width:100%;justify-content:space-between;}
.fastrsv_wrap .form_box .box.auth{margin:1vh 0 0 0;}
.fastrsv_wrap .form_box .box.auth input[type="tel"]{width:100%;flex-shrink:1;flex-grow:1;}

.fastrsv_wrap .privacy_box dl{padding:2vh 3vw;}
.fastrsv_wrap .privacy_box .agree_chk{padding:2vh 3vw;}

/* 인터넷진료예약공통 */
ol.rsv_step{margin-bottom:5vh;}
ol.rsv_step > li{min-height:auto;padding:2vh 3vw;}
ol.rsv_step > li dt{margin-bottom:1vh;}
ol.rsv_step > li dt span{width:16px;height:16px;font-size:1.2rem;}
ol.rsv_step > li dt .btn_modify{padding:0 1.5vw;font-size:1.1rem;}
ol.rsv_step > li dd::before{width:40px;height:40px;margin:-20px 0 0 -20px;}
ol.rsv_step > li dd::after{width:16px;height:16px;margin:-8px 0 0 -8px;}
ol.rsv_step > li.finish dt span::after{width:8px;height:6px;margin:-3px 0 0 -4px;}
ol.rsv_step > li.finish dd{font-size:1.7rem;}

ol.rsv_step > li.step2 dd .photo{width:40px;height:40px;}
ol.rsv_step > li.step2 dd .photo img{width:40px;}
ol.rsv_step > li.step2 dd .name{font-size:1.7rem;}

ol.rsv_step > li.step3 dd ul.user_info li{font-size:1.3rem;}	
ol.rsv_step > li.step3 dd ul.user_info li.name{font-size:1.5rem;}

/* 폼 스타일 */
.form_section{margin-top: 40px;}
.form_section_title{margin-bottom: 15px !important;}
.form_item{padding: 15px 0;}

/* step1 */
.rsv_type_wrap .tac br{display:none;}

/* step3 */
.rsv_doctor_wrap .dr_list{gap:0;justify-content:space-between;}
.rsv_doctor_wrap .dr_list li{width:49%;max-width:100%;min-height:auto;padding:2vh 2vw;}
.rsv_doctor_wrap .dr_list li:nth-child(n+3){margin-top:2%;}
.rsv_doctor_wrap .dr_list li .info{margin-bottom:1.5vh;padding:0 1vw;}
.rsv_doctor_wrap .dr_list li .info .d_info{padding-right:2vw;}
.rsv_doctor_wrap .dr_list li .info .d_info .name{margin-bottom:1vh;}
.rsv_doctor_wrap .dr_list li .info .photo{width:60px;height:60px;}
.rsv_doctor_wrap .dr_list li .info .photo img{width:60px;}

/* step4 */
.rsv_date_wrap .date_select{margin-top:2vh;}
.rsv_date_wrap .date_select .calendar_box .cal_top{padding:0 2vw;}
.rsv_date_wrap .date_select .time_box{width:40%;margin-left:2vw;}
.rsv_date_wrap .date_select .time_box ol{justify-content:space-between;gap:0;padding:2vh 2vw;}
.rsv_date_wrap .date_select .time_box ol li{width:49%;max-width:100%;}
.rsv_date_wrap .date_select .time_box ol li:nth-child(n+3){margin-top:2%;}
.rsv_date_wrap .date_select .time_box ol li em{height:auto;padding:1vh 0;}
.rsv_date_wrap .date_select .rsv_btn{height:auto;padding:2vh 0;font-size:1.7rem;}
.rsv_date_wrap .symptom_txt{margin-top:3vh;}

/* step5 */
.rsv_finish_wrap .finish_box{padding-top:0;}
.rsv_finish_wrap .finish_box .btxt{padding-top:80px;}
.rsv_finish_wrap .finish_box .btxt::after{width:60px;height:61px;margin-left:-30px;}
.rsv_finish_wrap .finish_box .stxt{margin:1vh 0 5vh;}
.rsv_finish_wrap .chk_list{margin-top:5vh;}


}

/********************모바일********************/
@media all and (max-width:767px){

/* 처음진료간편예약 */
.fastrsv_wrap .top_box{min-height:auto;margin-bottom:2vh;padding-top:160px;text-align:center;}
.fastrsv_wrap .top_box::after{top:0;left:50%;right:auto;bottom:auto;width:160px;height:145px;margin-left:-80px;}
.fastrsv_wrap .top_box .btxt br{display:none;}
.fastrsv_wrap .top_box .stxt{margin-top:1vh;}
.fastrsv_wrap .top_box ul{text-align:left;}

.fastrsv_wrap .form_box{padding:2vh 4vw;}
.fastrsv_wrap .form_box dl:nth-child(n+2){margin:0.5vh 0 0 0;}
.fastrsv_wrap .form_box dt{display:none;}
.fastrsv_wrap .form_box .box{flex-wrap:wrap;}
.fastrsv_wrap .form_box .box.auth{margin-top:2vh;}
.fastrsv_wrap .form_box .con_sbtn{flex-shrink:1;width:100%;margin:1vh 0 0 0;}

/* 인터넷진료예약공통 */ 
ol.rsv_step{flex-wrap:wrap;}
ol.rsv_step > li{width:50%;min-height:120px;}
ol.rsv_step > li:nth-child(n+3){border-top:1px solid rgb(165 89 0 / 18%);}
ol.rsv_step > li:nth-child(3){border-left: 0;}
ol.rsv_step > li dt{font-size: 1.7rem;}
ol.rsv_step > li dt .btn_modify{font-size: 1.4rem;}
ol.rsv_step > li.step3 dd ul.user_info li{padding-left:15px;}
ol.rsv_step > li.step3 dd ul.user_info li::after{width:10px;height:10px;}

/* step1 */
.rsv_type_wrap .rsv_type{flex-wrap:wrap;gap:1vh;}
.rsv_type_wrap .rsv_type a{width:100%;max-width:100%;height:auto;padding:3vh 2vw;}
.rsv_type_wrap .rsv_type a strong{padding-top:45px;}
.rsv_type_wrap .rsv_type a strong::after{width:40px;height:34px;margin-left:-20px;}
.rsv_type_wrap .rsv_type a .btn{display:none;}

/* step1_자녀보호자예약레이어 */
.rsv_pop_layer{width:calc(100% - 4vw);min-height:50vh;top:25vh;left:2vw;margin:0;padding-bottom:5vh;}
.rsv_pop_layer .pop_head{padding:1.5vh 5vw;}
.rsv_pop_layer .pop_head .btn_pop_cls{width:16px;height:16px;}
.rsv_pop_layer .pop_cont{padding:3vh 3vw;}
.rsv_pop_layer .pop_cont .user_list{;margin-top:2vh;}
.rsv_pop_layer .pop_cont .user_list ul li{padding:1vh 2vw;}
.rsv_pop_layer .pop_cont .user_chk_frm{margin-top:2vh;padding:2vh 3vw;}
.rsv_pop_layer .pop_cont .user_chk_frm dl{flex-wrap:wrap;flex-direction:column;align-items:flex-start;width:100%;}
.rsv_pop_layer .pop_cont .user_chk_frm dt:nth-of-type(n+2){margin:1vh 0 0 0;}
.rsv_pop_layer .pop_cont .user_chk_frm dd{flex-shrink:0;width:100%;margin:1vh 0 0 0;}
.rsv_pop_layer .pop_cont .user_chk_frm dd input[type="tel"]{width:100%;height:40px;padding:0 10px;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;font-size:1.5rem;font-weight:700;color:#000;}
.rsv_pop_layer .btn_w{bottom:0;}

/* step2 */
.rsv_medi_wrap .medipart_srch{align-items:flex-start;flex-direction:column;}
.rsv_medi_wrap .medipart_srch h3.tit{margin-bottom:1vh;}
.rsv_medi_wrap .medipart_srch .srch_area{width:100%;flex-grow:1;}

/* step3 */
.rsv_doctor_wrap .dr_list li{width:100%;}
.rsv_doctor_wrap .dr_list li:nth-child(n+2){margin-top:1vh;}
.rsv_doctor_wrap .dr_list li .info .d_info{margin-bottom:0;}
.rsv_doctor_wrap .dr_list li .info .d_info dt{width:80px;}
.rsv_doctor_wrap .dr_list li .info .d_info dd{max-height:50px;}
.rsv_doctor_wrap .dr_list li .rsv_btn{min-height:auto;padding:1vh 0;}

/* step4 */
.rsv_date_wrap .date_select{flex-direction:column;}
.rsv_date_wrap .date_select .calendar_box{border-bottom:0;}
.rsv_date_wrap .date_select .calendar_box .cal_top{min-height:auto;flex-wrap:wrap;flex-direction:column;padding:0;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select{justify-content:space-between;width:100%;padding:1vh 2vw;box-sizing:border-box;}
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.prev::after,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next,
.rsv_date_wrap .date_select .calendar_box .cal_top .month_select a.next::after{width:20px;height:20px;}
.rsv_date_wrap .date_select .calendar_box .cal_top .cal_disc{justify-content:center;width:100%;margin-left:0;padding:1vh 0;background:#fff;}
.rsv_date_wrap .date_select .calendar_box table.list_date td em{width:30px;height:30px;}
.rsv_date_wrap .date_select .time_box{width:100%;margin-left:0;}
.rsv_date_wrap .date_select .rsv_btn{position:relative;}

/* step5 */
.rsv_finish_wrap .chk_list{flex-wrap:wrap;gap:0;}
.rsv_finish_wrap .chk_list li{width:100%;max-width:100%;padding:20px 0 20px 80px;text-align:left;}
.rsv_finish_wrap .chk_list li::after{top:50%;left:30px;width:30px;height:31px;margin:-15px 0 0 0;}
.rsv_finish_wrap .chk_list li:nth-child(n+2){margin-top:1vh;}
.rsv_finish_wrap .chk_list li br{display:none;}

/* 폼 스타일 */
.rsv_step{flex-wrap: wrap;}
.rsv_step li{width: 50%;padding: 20px 15px;}

.step_title{font-size: 14px;}
.step_content{font-size: 13px;}

.form_title{font-size: 20px;margin-bottom: 24px;}
.form_content{width: 100%;}
.form_section_title{margin-bottom: 5px !important;}
.form_item{flex-direction: column;padding: 20px 0;}
.form_label{width: 100%;margin-bottom: 10px;font-size: 1.9rem;}
.form_input{width: 100% !important;height: 40px;font-size: 1.7rem;}

.agreement_box{margin-bottom: 15px;padding: 0px 15px 15px;}
.agreement_text{font-size: 1.7rem;line-height: 1.5;}
.agreement_check{flex-direction: column;align-items: flex-start;gap: 12px;}
.agreement_check .radio_group{gap: 5px;width: 100%;}
.agreement_check .radio_item{flex: 1;}
.agreement_check input[type="radio"]{margin: 0;}

.input_with_btn,
.jumin_input{flex-wrap: wrap;gap: 8px;}
.jumin_input .jumin_dash{width: auto;}
.jumin_input input:first-child,
.jumin_input input:nth-child(3){width: calc(50% - 14px);}
.jumin_input .btn,
.input_with_btn .btn{width: 100%;height: 40px;font-size: 1.7rem;}

.submit_area{padding: 30px 0;gap: 5px;}
.btn_submit{width: 100%;height: 42px;font-size: 1.7rem;}
.help_text{font-size: 12px;}

.rsv_popup{width: 95%;padding: 30px 20px;}
.rsv_popup .blueTitle{font-size: 1.8rem;}
.rsv_popup .explain{font-size: 1.4rem;}
.rsv_popup .patient_info li{font-size: 1.3rem;}
.rsv_popup .btn_box{flex-direction: column;}
.rsv_popup .btn_box button{width: 100%;min-width: auto;}


.rsv_popup { width: 95%; padding: 30px 20px;}
.rsv_popup .blueTitle { font-size: 1.8rem;}
.rsv_popup .explain { font-size: 1.4rem;}
.rsv_popup .patient_info li { font-size: 1.3rem;}
.rsv_popup .btn_box { flex-direction: column;}
.rsv_popup .btn_box button { width: 100%; min-width: auto;}
}

/********************웹********************/
@media all and (min-width:1025px) {

/* step1 */
.rsv_type_wrap .rsv_type a:hover{border-color:#ea9334;}
.rsv_type_wrap .rsv_type a:hover .btn{background:#ea9334;color:#fff;}
.rsv_type_wrap .tac a[href^='tel:']{pointer-events:none;cursor:default;}

/* step3 */
.rsv_doctor_wrap .dr_list li:hover{border-color:#ea9334;}
.rsv_doctor_wrap .dr_list li:hover .rsv_btn{background:#ea9334;color:#fff;}

}