body{
    min-height: calc(var(--vh, 1vh) * 100);
}
.wrap{
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
}
.card_list.none_content{
    height: calc((var(--vh, 1vh) * 100) - 102px);
}
.zzz .pg_point .close{
    display: none!important;
}

select{
    width: 100%;
    height: 44px;
    padding: 0 40px 0 12px;
    font-size: 14px;
    color: #222;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    cursor: pointer;
}


/* 스크롤 막기 */
.none_scroll{
    overflow: hidden!important;
}
.none_scroll .wrap{
    height: initial;
}

/* 로고 */
.logo{
    width: 220px;
    height: 56px;
    background: url("../../images/common/logo.svg") no-repeat;
    background-size: cover;
    display: block;
}


/* 인풋 */
.input_wrap{
    width: 100%;
}
.input_wrap .input_item{
    display: flex;
    margin-top: 8px;
    flex-wrap: wrap;
    gap: 8px;
}
.input_wrap .input_item:first-child{
    margin-top: 0;
}
.input_wrap .input_item .input_alert_txt{
    font-size: 12px;
    line-height: 18px;
    width: 100%;
    color: #d05050;
}
.input_wrap .input_item .input_alert_txt.c_blue{
    color: #4065c2;
}
.input_wrap .input_item.type_time label{
    position: relative;
}
.input_wrap .input_item.type_time input{
    padding-right: 54px;
}
.input_wrap .input_item.type_time .send_time{
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translate(0,-50%);
    font-size: 12px;
    line-height: 18px;
    color: #d05050;
}
.input_wrap .input_item .input_head{
    width: 100%;
}
.input_wrap .input_item .input_head .title{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.input_wrap .input_item .input_body {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.input_wrap .input_btn .btn_item{
    flex: initial;
    min-width: 80px;
}
.input_wrap .input_item label input.disabled{
    border-color: #f5f5f5;
    background-color: #fafafa;
    color: #a9a9a9;
}
label{
    width: 100%;
    cursor: pointer;
    flex: 1;
}
label input{
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 14px;
}
label input::placeholder{
    color: #a9a9a9;
}
label input:disabled{
    background-color: #f5f5f5;
}
.chk_box{
    width: auto;
    display: inline-flex;
    align-items: center;
}
.chk_box input[type="checkbox"]{
    display: none;
}
.chk_box .chk_icon{
    width: 20px;
    height: 20px;
    background: url("../../images/common/icon_chk.svg") no-repeat;
    background-size: cover;
}
.chk_box .chk_txt{
    padding-left: 8px;
    font-size: 14px;
    color: #5a5a5a;
}
.chk_box input:checked~ .chk_icon{
    background: url("../../images/common/icon_check_active_color.svg") no-repeat;
    background-size: cover;
}
.chk_box.type_02{
    width: auto;
    display: inline-flex;
    align-items: center;
}
.chk_box.type_02 input[type="checkbox"]{
    display: none;
}
.chk_box.type_02 .chk_icon{
    display: none;
}
.chk_box.type_02 .chk_txt{
    padding: 7px;
    width: 100%;
    font-size: 13px;
    line-height: 20px;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    color: #454545;
    text-align: center;
}
.chk_box.type_02 input:checked~ .chk_txt{
    border-color: #7e1785;
    color: #7e1785;
}
.chk_box.type_02 input:checked ~ .chk_txt {
    color: #fff;
    background-color: #7e1785;
    border-color: #7e1785;
}
.chk_box.type_02 input:disabled ~ .chk_txt {
    color: #ccc;
    background-color: #f5f5f5;
}
.chk_box.type_radio .chk_icon {
    width: 44px;
    height: 24px;
    background-color: #f5f5f5!important;
    border: 1px solid #eaeaea;
    position: relative;
    background-image: none!important;
    border-radius: 12px;
}
.chk_box.type_radio .chk_icon::before{
    content: "";
    width: 16px;
    height: 16px;
    background-color: #ccc;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 3px;
    transform: translate(0, -50%);
    transition: 0.4s;
}
.chk_box.type_radio input:checked~ .chk_icon::before{
    background-color: #4065c2;
    left: calc(100% - 20px);
}

.radio_box {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.radio_box .radio_icon {
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_radio_unactive.svg")no-repeat;
    background-size: cover;
    position: relative;
    cursor: pointer;
}
.radio_box .radio_txt {
    padding-left: 10px;
    user-select: none;
    font-size: 14px;
    white-space: nowrap;
}
.radio_box input {
    display: none;
}
.radio_box input:checked ~ .radio_icon {
    background: url("../../images/common/icon_radio_active.svg")no-repeat;
    background-size: cover;
}
.radio_box input:checked ~ .radio_txt {
    color: #000;
}

.radio_box.type_02 {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.radio_box.type_02 .radio_txt {
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    user-select: none;
    font-size: 13px;
    line-height: 20px;
    color: #454545;
    text-align: center;
    border: 1px solid #eaeaea;
    border-radius: 8px;
}
.radio_box.type_02 input:checked ~ .radio_txt {
    color: #fff;
    background-color: #7e1785;
    border-color: #7e1785;
}
.radio_box.type_02 input:disabled ~ .radio_txt {
    color: #ccc;
    background-color: #f5f5f5;
}
.radio_wrap{
    box-sizing: border-box;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.input_item{
    width: 100%;
    position: relative;
}
.input_item input{
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    font-size: 14px;
    line-height: 20px;
    color: #454545;
    padding: 0 16px;
}
.input_item.size_big input{
    height: 52px;
}
.input_item.size_big button{
    height: 52px;
}
.input_item input::placeholder{
    color: #a9a9a9;
}
.input_item.sc_search input{
    background-color: #fafafa;
    border-color: #f5f5f5;
    border-radius: 22px;
}
.input_item.type_icon .icon_btn{
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translate(0, -50%);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0;
}
.input_item.type_icon input{
    padding-right: 44px;
}
.icon_search{
    background-image: url("../../images/common/icon_search.svg");
}
.icon_calendar{
    background-image: url("../../images/common/icon_calender2.svg");
}
.icon_arr_down{
    background-image: url("../../images/common/icon_arr_down.svg");
}

.input_certify label{
    position: relative;
}
.input_certify label input{
    padding-right: 52px;
}
.input_certify label .send_time{
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translate(0,-50%);
    font-size: 12px;
    line-height: 18px;
    color: #d05050;
}



/* 버튼 */
.btn_list{
    width: 100%;
    display: flex;
}
.btn_item{
    flex: 1 1 0;
    height: 48px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 1px solid transparent;
    background-color: transparent;
    font-size: 14px;
    box-sizing: border-box;
}
.btn_item.pm_color{
    border-color: #7e1785;
    background-color: #7e1785;
    color: #fff;
}
.btn_item.disabled{
    border-color: #ccc!important;
    background-color: #ccc!important;
    color: #fff!important;
}
.btn_item.pm_l_color{
    border-color: #7e1785;
    background-color: #fff;
    color: #7e1785;
}
.btn_item.g_l_color{
    border-color: #5a5a5a;
    color: #5a5a5a;
}
.btn_item.r_l_color{
    border-color: #e7385e;
    color: #e7385e;
}
.btn_item.phone_chk_send{
    padding: 0 16px;
    min-width: 80px;
    flex: initial;
}
.btn_list.bottom_btn{
    margin-top: auto;
    padding-top: 20px;
}
.btn_list.type_gap{
    gap: 12px;
}
.btn_list.type_02{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 20px;
    border-top: 1px solid #eaeaea;
    gap: 12px;
}
.btn_list.type_floating{
    width: 100vw;
    margin: auto -20px 0;
    padding: 12px 20px;
    border-top: 1px solid #eaeaea;
}
.btn_icon{
    width: 24px;
    height: 24px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0;
}


/* 해더 */
.header{
    width: 100%;
    box-sizing: border-box;
    padding: 16px 20px;
    border-bottom: 4px solid #fafafa;
}
.header .top{
    width: 100%;
    display: flex;
    align-items: center;
}
.header .top > div{
    flex: 1 1 0;
}
.header .top .h_left .logo{
    width: 100px;
    height: 24px;
    display: none;
}
.header .top .h_left .back_btn{
    display: none;
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_back_m.svg")no-repeat;
    background-size: cover;
}
.header .top .h_left .back_btn.active{
    display: block;
}
.header .top .h_center{
    flex: initial;
    width: 60%;
}
.header .top .h_center .title{
    font-size: 16px;
    line-height: 24px;
    color: #222;
    text-align: center;
}
.header .top .h_right{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}
.header .top .h_right .btn_alarm{
    background-image: url("../../images/common/icon_notifications_none.svg");
    padding: 0;
    display: none;
}
.header .top .h_right .btn_alarm.active{
    background-image: url("../../images/common/icon_notifications.svg");
    padding: 0;
}
.header .top .h_right .btn_menu{
    background-image: url("../../images/common/icon_menu.svg");
    padding: 0;
}


/* gnb */
.gnb{
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    top: 0;
    left: 101%;
    transition: 0.6s;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    z-index: 999;
}
.gnb.active{
    left: 0;

}
.gnb .gnb_head{
    width: 100%;
    border-bottom: 4px solid #fafafa;
}
.gnb .gnb_head .top{
    width: 100%;
    padding: 16px 20px 0;
    display: flex;
}
.gnb .gnb_head .top .user_name{
    font-size: 20px;
    line-height: 30px;
    color: #454545;
}
.gnb .gnb_head .top .user_name span{
    font-family: 'notokr-bold';
    color: #222;
}
.gnb .gnb_head .top .gnb_btn{
    flex: initial;
    margin-left: auto;
    display: flex;
    gap: 12px;
}
.gnb .gnb_head .top .gnb_btn .logout_btn{
    padding: 4px 12px;
    background-color: #f5f5f5;
    border-radius: 16px;
    font-size: 12px;
    line-height: 18px;
    color: #222;
}
.gnb .gnb_head .top .gnb_btn .gnb_close{
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_close.svg") no-repeat;
    background-size: cover;
    padding: 0;
}
.gnb .gnb_head .quick_list{
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.gnb .gnb_head .quick_list .quick_item{
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.gnb .gnb_head .quick_list .quick_item .quick_icon{
    width: 24px;
    height: 24px;
}
.gnb .gnb_head .quick_list .quick_item .quick_title{
    font-size: 14px;
    line-height: 20px;
    color: #222;
    text-align: center;
}
.gnb .gnb_body{
    flex: 1;
    height: 1px;
    box-sizing: border-box;
    padding: 16px 20px;
}
.gnb .gnb_body .menu_box .menu_section{
    padding-top: 20px;
}
.gnb .gnb_body .menu_box .menu_section:first-child{
    padding-top: 0;
}
.gnb .gnb_body .menu_box .menu_section .menu_title{
    font-size: 13px;
    line-height: 20px;
    color: #777;
}
.gnb .gnb_body .menu_box .menu_section .menu_list{
    width: 100%;
    padding-top: 4px;
    display: flex;
    flex-direction: column;
}
.gnb .gnb_body .menu_box .menu_section .menu_list .menu_item{
    width: 100%;
    padding: 12px 0;
    font-size: 16px;
    line-height: 24px;
    color: #222;
}


/* 알림 */
.alarm{
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    position: fixed;
    top: 0;
    left: 101%;
    transition: 0.6s;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    z-index: 999;
}
.alarm.active{
    left: 0;
}
.alarm .alarm_head{
    width: 100%;
    border-bottom: 4px solid #fafafa;
    position: relative;
    box-sizing: border-box;
    padding: 16px 20px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.alarm .alarm_head .alarm_title{
    margin: 0 auto;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #222;
}
.alarm .alarm_head .alarm_close{
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_close.svg") no-repeat;
    background-size: cover;
}
.alarm .alarm_head .alarm_chk{
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 18px;
    color: #4065c2;
}
.alarm .alarm_head .alarm_chk.all_chk{
    color: #a9a9a9;
}
.alarm .alarm_list{
    width: 100%;
    height: 1px;
    flex: 1;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 20px 0;
}
.alarm .alarm_list .alarm_item{
    width: 100%;
    border-bottom: 1px solid #eaeaea;
    overflow: hidden;
    /*max-height: 74px;*/
    transition: 0.6s;
}
.alarm .alarm_list .alarm_item .alarm_top{
    width: 100%;
    box-sizing: border-box;
    padding: 16px 20px 16px 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    position: relative;
}
.alarm .alarm_list .alarm_item .alarm_top::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #d05050;
    position: absolute;
    left: 20px;
    top: 16px;
}
.alarm .alarm_list .alarm_item .alarm_top .title{
    font-size: 14px;
    line-height: 20px;
    width: calc(100% - 24px);
}
.alarm .alarm_list .alarm_item .alarm_top .alarm_item_btn{
    width: 20px;
    height: 20px;
    background: url("../../images/common/icon_arr_down.svg") no-repeat;
    background-size: cover;
    margin-left: auto;
    transition: 0.6s;
}
.alarm .alarm_list .alarm_item .alarm_top .date{
    font-size:12px;
    line-height: 18px;
    color: #777;
}
.alarm .alarm_list .alarm_item .alarm_content{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 20px 12px 40px;
    background-color: #fafafa;
    border-top: 1px solid #eaeaea;
    display: none;
}
.alarm .alarm_list .alarm_item .alarm_content .txt_list{
    width: 100%;
}
.alarm .alarm_list .alarm_item .alarm_content .txt_list li{
    font-size: 13px;
    line-height: 20px;
    color: #454545;
}
.alarm .alarm_list .alarm_item.active .alarm_item_btn{
    transform: rotate(180deg);
}
.alarm .alarm_list .alarm_item.alarm_read{
    opacity: 0.6;
}
.alarm .alarm_list .alarm_item.alarm_read .alarm_top::before{
    background-color: #a9a9a9;
}


/* 팝업 */
.popup{
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
}
.popup .bg{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #222;
    opacity: 0.3;
    z-index: 0;
}
.popup .popup_box{
    width: calc(100% - 40px);
    background-color: #fff;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.popup .popup_box .popup_head{
    width: 100%;
    display: flex;
    align-items: center;
}
.popup .popup_box .popup_head .title{
    font-size: 16px;
    line-height: 24px;
    color: #222;
}
.popup .popup_box .popup_head .popup_close{
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_close.svg")no-repeat;
    background-size: cover;
    margin-left: auto;
}
.popup .popup_box .popup_content{
    width: 100%;
}
.popup .popup_box .popup_content .refund_con{
    width: 100%;
    height: 104px;
    resize: none;
    min-height: auto;
}
.popup .popup_box.type_alert{
    padding: 0;
    gap: 0;
}
.popup .popup_box.type_alert .alert{
    width: 100%;
    padding: 50px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.popup .popup_box.type_alert .alert .pb_title{
    font-size: 16px;
    line-height: 24px;
    color: #7e1785;
    font-family: 'notokr-bold';
    text-align: center;
    padding-bottom: 12px;
}
.popup .popup_box.type_alert .alert .pb_txt{
    font-size: 14px;
    line-height: 20px;
    color: #454545;
    text-align: center;
}
.popup .popup_box .btn_list{
    width: 100%;
}
.popup .popup_box.type_alert .btn_list .btn_item{
    font-size: 13px;
    line-height: 20px;
    font-family: 'notokr-bold';
    border-radius: 0;
}
.popup .popup_box.type_alert .btn_list .btn_cancel{
    width: 120px;
    background-color: #f5f5f5;
    color: #5a5a5a;
    flex: initial;
}
.popup.active{
    display: flex;
}


/* 로그인 */
.login_box{
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 20px;
    background-color: #fafafa;
}
.login_box .login_head{
    margin-bottom: 156px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.login_box .login_head .login_txt{
    font-size: 14px;
    line-height: 20px;
    color: #222;
    padding-top: 20px;
    text-align: center;
}
.login_box .input_item{
    gap: 8px;
}
.login_box .input_item input{
    height: 52px;
    padding: 0 16px;
    border-radius: 12px;
}
.login_box .btn_list{
    padding-top: 24px;
}
.login_box .btn_list .btn_item{
    height: 52px;
}
.login_box .txt_btn{
    font-size: 14px;
    line-height: 20px;
    color: #777;
    display: inline-flex;
    margin: 16px auto 0;
    cursor: pointer;
}
.login_box .input_item .btn_item{
    height: 52px;
}

.agree_box p{
    font-size: 14px;
    line-height: 20px;
}
.agree_title{
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 12px;
}
.agree_title{
    font-size: 14px;
    line-height: 20px;
    font-family: 'notokr-bold';
    margin-bottom: 12px;
}
.agree_box .agree_item{
    margin-top: 12px;
}
.agree_box .agree_item:first-child{
    margin-top: 0;
}
.agree_box .agree_item .ai_title{
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 8px;
}
.agree_box .agree_item .ai_txt{
    font-size: 12px;
    line-height: 18px;
    font-family: 'notokr-thin';
}

.type_login .header .h_right *{
    display: none;
}
.type_login .section{
    height: 1px;
}
.type_login .section .s_content{
    overflow-y: auto;
}
.type_login .section .s_content::-webkit-scrollbar {
    width: 12px;
}
.type_login .section .s_content::-webkit-scrollbar-thumb {
    background-color: #eaeaea;
    border-radius: 24px;
    background-clip: padding-box;
    border: 4px solid transparent;
}
.type_login .section .s_content  .scb_title{
    font-size: 20px;
    line-height: 30px;
    color: #7e1785;
    padding-bottom: 12px;
}
.type_login .section .s_content  .scb_txt{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.type_login .section .s_content  .input_wrap{
    padding-top: 32px;
}
.type_login .section .s_content  .input_wrap .input_item input{
    height: 52px;
}
.type_login .section .s_content .btn_list{
    padding-top: 32px;
}

.type_first .h_right button{
    display: none;
}

/* 컨텐츠 */
.section{
    width: 100%;
    flex: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}


/* 메인페이지 */
.main_page{
    background-color: #fafafa;
}
.main_page .header {
    border: none;
}
.main_page .header .top .h_left .logo,
.main_page .header .top .h_right .btn_alarm{
    display: block;
}
.main_page .header .top .h_right .back_btn{
    display: none!important;
}
.main_page .section{
    padding: 20px;
}
.main_layout{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.main_layout .layout_item .schedule_txt{
    font-size: 20px;
    line-height: 30px;
    color: #454545;
    padding-bottom: 12px;
}
.main_layout .layout_item .schedule_txt .user_name{
    font-family: 'notokr-bold';
    color: #222;
}
.main_layout .layout_item .box_content{
    width: 100%;
    box-sizing: border-box;
    padding: 16px;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}
.main_layout .layout_item .box_content .box_title{
    font-size: 16px;
    font-family: 'notokr-bold';
    line-height: 24px;
    color: #454545;
}
.main_layout .layout_item .box_content .box_txt{
    font-size: 12px;
    line-height: 18px;
    color: #454545;;
}
.main_layout .layout_item.schedule_item{
    width: 100%;
    gap: 16px;
}
.main_layout .layout_item.schedule_item .box_content{
    padding: 0;
    overflow: hidden;
}
.main_layout .layout_item.schedule_item .box_content .top{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border-radius: 0 0 0 12px;
    background-color: #7e1785;
    display: flex;
    align-items: center;
}
.main_layout .layout_item.schedule_item .box_content .top .title{
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    position: relative;
}
.main_layout .layout_item.schedule_item .box_content .top .title::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #e6375e;
    position: absolute;
    right: -4px;
    top: 0;
    transform: translate(100%, 0);
}
.main_layout .layout_item.schedule_item .box_content .top .d-day{
    box-sizing: border-box;
    padding: 4px 12px;
    border-radius: 16px;
    background-color: #48094d;
    color: #fff;
    font-size: 11px;
    line-height: 16px;
    margin-left: auto;
}
.main_layout .layout_item.schedule_item .box_content .bot{
    box-sizing: border-box;
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 124px;
}
.main_layout .layout_item.schedule_item .box_content .bot .date_box{
    width: 96px;
    height: 92px;
    background-color: #f8f4fb;
    border-radius: 16px;
    box-sizing: border-box;
    padding: 8px 12px;
}
.main_layout .layout_item.schedule_item .box_content .bot .date_box .date_txt{
    font-size: 24px;
    font-family: 'notokr-bold';
    line-height: 36px;
    color: #7e1785;
    margin-bottom: 4px;
}
.main_layout .layout_item.schedule_item .box_content .bot .date_box .day_txt,
.main_layout .layout_item.schedule_item .box_content .bot .date_box .time_txt{
    font-size: 12px;
    line-height: 18px;
    color: #454545;
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box{
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 1px;
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box .r_status{
    min-width: 56px;
    border-radius: 6px;
    background-color: #f55165;
    color: #fff;
    font-size: 11px;
    line-height: 16px;
    box-sizing: border-box;
    padding: 4px;
    text-align: center;
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box .r_detail{
    margin-left: auto;
    font-size: 12px;
    line-height: 18px;
    color: #5a5a5a;
    padding-right: 16px;
    position: relative;
    cursor: pointer;
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box .r_detail::before{
    content: "";
    width: 12px;
    height: 12px;
    background: url("../../images/common/chevron_forward_small.svg") no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0,-50%);
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box .r_title{
    font-size: 16px;
    line-height: 24px;
    font-family: 'notokr-bold';
    color: #222;
    padding: 8px 0 4px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}
.main_layout .layout_item.schedule_item .box_content .bot .reservation_box .r_content{
    font-size: 13px;
    line-height: 20px;
    color: #777;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}
.r_status.status_01{
    background-color: #f8f4fb!important;
    color: #7e1785!important;
}
.r_status.status_02{
    background-color: #fff3f4!important;
    color: #d05050!important;
}
.r_status.status_03{
    background-color: #f55165!important;
}
.r_status.status_04{
    background-color: #ebfeea!important;
    color: #65a95f!important;
}
.r_status.status_05{
    background-color: #4065c2!important;
}
.r_status.status_06{
    background-color: #5a5a5a!important;
}
.r_status.status_07{
    background-color: #a9a9a9!important;
}

.main_layout .layout_item.half_item {
    width: 100%;
    display: flex;
    gap: 16px;
}
.main_layout .layout_item.half_item .box_content{
    flex: 1 1 0;
    padding: 20px 16px 16px;
    position: relative;
    cursor: pointer;
}
.main_layout .layout_item.half_item .box_content .box_icon{
    width: 52px;
    height: 52px;
    margin: 36px 0 0 auto;
}
.main_layout .layout_item.my_promotion_item{
    width: 100%;
}
.main_layout .layout_item.my_promotion_item .box_content{
    padding: 24px 16px;
    flex-direction: row;
    gap: 12px;
    align-items: center;
}
.main_layout .layout_item.my_promotion_item .box_content .box_icon{
    width: 40px;
    height: 40px;
}
.main_layout .layout_item.promotion_buy{
    width: 100%;
}
.main_layout .layout_item.promotion_buy .box_content{
    padding: 24px 20px;
    border: 1px solid #eed4f7;
    background-color: #f5e5fd;
    flex-direction: row;
    align-items: center;
}
.main_layout .layout_item.promotion_buy .box_content .box_info .box_title{
    color: #550f5a;
}
.main_layout .layout_item.promotion_buy .box_content .box_info .box_txt{
    padding-top: 4px;
}
.main_layout .layout_item.promotion_buy .box_content .box_icon{
    margin-left: auto;
    width: 64px;
    height: 40px;
}


/* 페이지 탭 */
.page_tab{
    width: 100%;
}
.page_tab .pt_list{
    width: 100%;
    display: flex;
    align-items: center;
}
.page_tab .pt_list .pt_item{
    flex: 1 1 0;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-family: 'notokr-bold';
    border-bottom: 1px solid #eaeaea;
}
.page_tab .pt_list .pt_item.current{
    color: #7e1785;
    border-color: #7e1785;
}


/* 서브 페이지 */
.section{
    width: 100%;
}
.wrap.no_flex {
    height: auto;
    overflow: initial;
}
.wrap.no_flex .section{
    flex: initial;
    height: auto;
    overflow: initial;
}
.wrap.no_flex .section .s_content{
    flex: initial;
    height: auto;
    overflow: initial;
}
.wrap.no_flex .section .s_content .sc_body{
    flex: initial;
    height: auto;
    overflow: initial;
}
.section .s_top{
    width: 100%;
    box-sizing: border-box;
    padding: 16px 20px;
    border-bottom: 1px solid #eaeaea;
}
.section .s_content{
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    flex: 1;
    height: 1px;
    display: flex;
    flex-direction: column;
}
.section .s_content .sc_head{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 20px;
}
.section .s_content .sc_body{
    flex: 1;
    height: 1px;
}
.section.type_02{
    height: 1px;
}
.section.type_02 .s_content{
    padding-bottom: 0;
}
.section.type_02 .s_content .sc_body{
    overflow-y: auto;
    padding-bottom: 20px;
}


/* 나의 예약*/
.tab_box{
    width: calc(100% + 40px);
    margin: 0 -20px;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
.tab_box::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera*/
}
.tab_box .tab_list{
    display: inline-flex;
    padding: 0 20px;
    white-space: nowrap;
    gap: 8px;
}
.tab_box .tab_list .tab_item{
    box-sizing: border-box;
    padding: 6px 16px;
    border-radius: 16px;
    background-color: #f5f5f5;
    font-size: 13px;
    line-height: 20px;
    color: #777;
}
.tab_box .tab_list .tab_item.current{
    background-color: #7e1785;
    color: #fff;
}


/* 상태 값 */
.status_txt{
    min-width: 56px;
    border-radius: 6px;
    color: #fff;
    font-size: 11px;
    line-height: 16px;
    box-sizing: border-box;
    padding: 4px;
    display: inline-flex;
    justify-content: center;
    border: 1px solid transparent;
}
.status_txt.status_01{
    background-color: #f8f4fb;
    border-color: #f8f4fb;
    color: #7e1785;
}
.status_txt.status_02{
    background-color: #fff3f4;
    border-color: #fff3f4;
    color: #d05050;
}
.status_txt.status_03{
    background-color: #f55165;
    border-color: #f55165;
}
.status_txt.status_04{
    background-color: #ebfeea;
    border-color: #ebfeea;
    color: #65a95f;
}
.status_txt.status_05{
    background-color: #4065c2;
    border-color: #4065c2;
}
.status_txt.status_06{
    background-color: #5a5a5a;
    border-color: #5a5a5a;
}
.status_txt.status_07{
    background-color: #a9a9a9;
    border-color: #a9a9a9;
}
.status_txt.status_08{
    background-color: transparent;
    border-color: #4065c2;
    color: #4065c2;
}
.status_txt.status_09{
    background-color: transparent;
    border-color: #65a95f;
    color: #65a95f;
}
.status_txt.status_10{
    background-color: transparent;
    border-color: #5a5a5a;
    color: #5a5a5a;
}
.status_txt.status_11{
    background-color: #fff3f4;
    border-color: #fff3f4;
    color: #d05050;
}
.status_txt.status_12{
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #454545;
}


/* 카드리스트 */
.card_list{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.card_item{
    width: 100%;
    box-sizing: border-box;
    padding: 16px 0;
    border-bottom: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 8px;
}
.card_item:first-child{
    padding-top: 0;
}
.card_item:last-child{
    border: none;
    padding-bottom: 0;
}
.card_item .detail_btn{
    font-size: 12px;
    line-height: 18px;
    color: #5a5a5a;
    padding-right: 16px;
    position: relative;
    margin-left: auto;
}
.card_item .detail_btn::before{
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
    background: url("../../images/common/chevron_forward_small.svg") no-repeat;
    background-size: cover;
}
.card_item .detail_btn.pm_color{
    color: #914196;
}
.card_item .detail_btn.pm_color::before{
    background: url("../../images/common/chevron_forward_small_p.svg") no-repeat;
    background-size: cover;
}
.card_item .title{
    font-size: 16px;
    line-height: 24px;
    margin-top: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}
.card_item .date{
    font-size: 14px;
    line-height: 20px;
    color: #222;
    margin-top: 8px;
    width: 100%;
}
.card_item .txt{
    font-size: 13px;
    line-height: 20px;
    color: #5a5a5a;
    margin-top: 4px;
    width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.card_item .date2{
    font-size: 11px;
    line-height: 16px;
    color: #a9a9a9;
}
.card_item .amount{
    width: 100%;
    padding-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
/*.card_item .amount.total_amount::before{*/
/*    content: "";*/
/*    width: 100%;*/
/*    height: 1px;*/
/*    background-color: #eaeaea;*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 8px;*/
/*}*/
.card_item .amount .a_title{
    font-size: 13px;
    line-height: 20px;
    color: #777;
}
.card_item .amount .a_txt{
    font-size: 14px;
    font-family: 'notokr-bold';
    line-height: 20px;
    color: #222;
}
.card_item .guide_txt{
    font-size: 13px;
    line-height: 20px;
    color: #929292;
    margin-top: 8px;
    width: 100%;
}
.card_item .date_txt{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}
.card_item .date_txt .dt_title{
    font-size: 13px;
    line-height: 20px;
    color: #777;
}
.card_item .date_txt .dt_date{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.card_item .sub_title{
    font-size: 13px;
    line-height: 20px;
    color: #222;
    margin-top: 4px;
    width: 100%;
}
.card_item .description{
    font-size: 13px;
    line-height: 20px;
    margin-top: 4px;
}
.card_item .btn_list{
    margin-top: 16px;
    width: 100%;
}
.card_item .btn_list .btn_item{
    height: 48px;
    border-radius: 8px;
}
.card_item .dropdown_box{
    width: 100%;
    margin-top: 8px;
}
.card_item .dropdown_box .ddb_trigger{
    width: 100%;
    box-sizing: border-box;
    padding-right: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
}
.card_item .dropdown_box .ddb_trigger::before{
    content: "";
    width: 20px;
    height: 20px;
    background: url("../../images/common/icon_arr_down.svg")no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: 0.6s;
}
.card_item .dropdown_box.active .ddb_trigger::before{
    transform: rotate(180deg);
}
.card_item .dropdown_box .ddb_trigger .sub_title{
    margin-top: 0;
    margin-bottom: 4px;
}
.card_item .dropdown_box .ddb_trigger .title{
    margin-top: 0;
}
.card_item .dropdown_box .ddb_content{
    width: 100%;
    padding-top: 8px;
    display: none;
}
.card_item .promotion_detail{
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 12px;
    background-color: #fafafa;
    border: 1px solid #f5f5f5;
}
.card_item .promotion_detail .pd_item{
    width: 100%;
    padding: 12px 0;
    border-top: 1px solid #777;
}
.card_item .promotion_detail .pd_item:first-child{
    padding-top: 0;
    border-top: none;
}
.card_item .promotion_detail .pd_item:last-child{
    padding-bottom: 0;
}
.card_item .promotion_detail .pd_item .pd_thumbnail{
    width: 100%;
    margin-bottom: 12px;
}
.card_item .promotion_detail .pd_item .pd_thumbnail img{
    width: 100%;
}
.card_item .promotion_detail .pd_item .pd_top{
    width: 100%;
    display: flex;
    align-items: center;
    padding-bottom: 12px;
}
.card_item .promotion_detail .pd_item .pd_top .pd_title{
    font-size: 13px;
    line-height: 20px;
    color: #7e1785;
}
.card_item .promotion_detail .pd_item .pd_bot{
    width: 100%;
}
.card_item .promotion_list{
    width: 100%;
}
.card_item .promotion_list .promotion_item{
    width: 100%;
    padding: 8px 0;
    border-top: 1px solid #ccc;
}
.card_item .promotion_list .promotion_item:first-child{
    padding-top: 0;
    border-top: none;
}
.card_item .promotion_list .promotion_item:last-child{
    padding-bottom: 0;
}
.card_item .promotion_list .promotion_item .package_title{
    font-size: 14px;
    font-family: 'notokr-bold';
    line-height: 20px;
    color: #454545;
    padding-bottom: 8px;
}
.card_item .product_list{
    width: 100%;
}
.card_item .product_list .product_item{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
}
.card_item .product_list .product_item .product_title{
    font-size:14px;
    line-height: 20px;
    color: #222;
}
.card_item .product_list .product_item .num{
    font-size: 13px;
    line-height: 20px;
    color: #5a5a5a;
    margin-left: auto;
}
.card_item .product_list .product_item .num span{
    font-size: 16px;
    line-height: 24px;
    color: #222;
}


/* 바텀시트 */
.bottom_sheet{
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    align-items: flex-end;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
}
.bottom_sheet .bs_bg{
    width: 100%;
    height: 100%;
    opacity: 0.3;
    background-color: transparent;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.6s;
    z-index: -1;
}
.bottom_sheet .bs_box{
    width: 100%;
    background-color: #fff;
    border-radius: 16px 16px 0 0;
    box-sizing: border-box;
    padding: 20px 20px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    height: calc(100% - 80px);
    transform: translate(0, 100%);
    transition: 0.6s;
}
.bottom_sheet.bs_resize .bs_box{
    max-height: calc(100% - 80px);
    height: auto;
}
.bottom_sheet .bs_box .bs_header{
    width: 100%;
    display: flex;
    align-items: center;
    padding-bottom: 20px;
}
.bottom_sheet .bs_box .bs_header .title{
    font-size: 16px;
    line-height: 24px;
    color: #222;
}
.bottom_sheet .bs_box .bs_header .bs_close{
    width: 24px;
    height: 24px;
    background: url("../../images/common/icon_close.svg")no-repeat;
    background-size: cover;
    margin-left: auto;
}
.bottom_sheet .bs_box .bs_content{
    flex: 1;
    height: 1px;
    display: flex;
    flex-direction: column;
    padding-bottom: 20px;
    box-sizing: border-box;
    overflow-y: auto;
}
.bottom_sheet .bs_box .bs_content::-webkit-scrollbar {
    width: 12px;
}
.bottom_sheet .bs_box .bs_content::-webkit-scrollbar-thumb {
    background-color: #eaeaea;
    border-radius: 24px;
    background-clip: padding-box;
    border: 4px solid transparent;
}
.bottom_sheet .bs_box .bs_content .bs_search{
    padding-bottom: 20px;
}
.bs_content_list{
    width: 100%;
    flex: 1;
    height: 1px;
    overflow-y: auto;
    margin: 0 0 -20px;
    padding-bottom: 20px;
}
.bs_content_list::-webkit-scrollbar {
    width: 12px;
}
.bs_content_list::-webkit-scrollbar-thumb {
    background-color: #eaeaea;
    border-radius: 24px;
    background-clip: padding-box;
    border: 4px solid transparent;
}
.box_list{
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eaeaea;
}
.box_list:first-child{
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.box_list .box_item{
    width: 100%;
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 8px;
    cursor: pointer;
    gap: 0 8px
}
.box_list .box_item:first-child{
    margin-top: 0;
}
.box_list .box_item .title{
    font-size: 16px;
    font-family: 'notokr-bold';
    line-height: 24px;
    color: #454545;
    flex: 1;
    width: 1px;
    word-break: keep-all;
}
.box_list .box_item > .price{
    font-size: 16px;
    line-height: 24px;
    color: #454545;
}
.box_list .box_item > .txt{
    font-size: 14px;
    line-height: 20px;
    color: #a9a9a9;
    padding-top: 4px;
    width: 100%;
}
.box_list .box_item.active{
    border-color: #7e1785;
}
.box_list .disabled{
    opacity: 0.5!important;
}
.box_list .disabled .disabled{
    opacity: 1!important;
}

.bottom_sheet .bs_box .btn_list{
    width: calc(100% + 40px);
    margin: 0 -20px;
    box-sizing: border-box;
    padding: 12px 20px;
    border-top: 1px solid #eaeaea;
    display: none;
}
.bottom_sheet .bs_box .bs_content .btn_list{
    width: 100%;
    margin: 0;
    border: none;
    padding: 20px 0 0;
    display: flex;
}
.bottom_sheet.date_sheet .bs_box{
    max-height: 70%;
    height: auto;

    /*max-height: inherit;*/
    /*height: 70%;*/
}

.icon_txt{
    width: 100%;
    margin-top: 8px;
}
.icon_txt li{
    font-size: 14px;
    line-height: 20px;
    color: #777;
    padding-left: 20px;
    position: relative;
    margin-top: 4px;
}
.icon_txt li:first-child{
    margin-top: 0;
}
.icon_txt li::before{
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 2px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 0;
}
.icon_txt li.icon_address::before{
    background-image: url("../../images/common/icon_location.svg");
}
.icon_txt li.icon_phone::before{
    background-image: url("../../images/common/icon_call.svg");
}

.bottom_sheet.active .bs_bg {
    background-color: #222;
}
.bottom_sheet.active .bs_box{
    transform: translate(0, 0);
}


.box_list.pro_list .box_top{
    width: 100%;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}
.box_list.pro_list .box_top .title{
    font-size: 16px;
    line-height: 24px;
    font-family: 'notokr-bold';
    color: #000;
}
.box_list.pro_list .box_top .all_chk{
    padding: 0;
    font-size: 13px;
    line-height: 20px;
    color: #454545;
    margin-left: auto;
}
.box_list.pro_list .box_item{
    cursor: initial;
}
.box_list.pro_list .box_item .chk_box{
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.box_list.pro_list .box_item .chk_box .chk_txt{
    color: #000;
}
.box_list.pro_list .box_item .chk_box .chk_txt span{
    color: #777;
    font-size: 12px;
    line-height: 18px;
}
.box_list.pro_list .box_item .chk_box .chk_txt span{
    color: #777;
    font-size: 12px;
    line-height: 18px;
}
.box_list.pro_list .box_item .sub_box{
    width: 100%;
    margin-top: 10px;
    background-color: #fafafa;
    border: 1px solid #f5f5f5;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 16px 12px;
}
.box_list.pro_list .box_item .sub_box .sb_item{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 0;
    border-top: 1px solid #ccc;
}
.box_list.pro_list .box_item .sub_box .sb_item:first-child{
    padding-top: 0;
    border-top: none;
}
.box_list.pro_list .box_item .sub_box .sb_item:last-child{
    padding-bottom: 0;
}
.box_list.pro_list .box_item .type_chk .chk_txt{
    font-size: 13px;
    line-height: 20px;
}
.box_list.pro_list .box_item .sb_count{
    font-size: 13px;
    line-height: 20px;
    color: #454545;
    margin-left: auto;
}
.box_list.pro_list .box_item .sb_count span{
    font-size: 14px;
    color: #222;
}
.box_list.pro_list .box_item .sb_txt{
    font-size: 12px;
    line-height: 18px;
    color: #a9a9a9;
    width: 100%;
    box-sizing: border-box;
    padding-left: 28px;
}


/* 플랙스 텍스트 */
.flex_txt{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.flex_txt .title{
    font-size: 16px;
    line-height: 24px;
    font-family: 'notokr-bold';
    color: #454545;
}
.flex_txt .price{
    font-size: 16px;
    line-height: 24px;
    color: #454545;
    font-family: 'notokr-bold';
    margin-left: auto;
}


/* 가이드 텍스트 */
.gt_list{
    width: 100%;
}
.gt_list li{
    font-size: 13px;
    line-height: 20px;
    color: #929292;
    width: 100%;
}


/* 예약신청 */
.apply_hospital{
    width: 100%;
    padding-bottom: 16px;
}
.apply_hospital .title{
    font-size: 16px;
    line-height: 24px;
    color: #7e1785;
    font-family: 'notokr-bold';
}
.apply_hospital .input_item{
    margin-top: 16px;
}
.apply_detail{
    padding-top: 16px;
    border-top: 1px solid #eaeaea;
}
.apply_detail .input_item{
    margin-top: 12px;
}
.apply_detail .select_product{
    margin-top: 20px;
}
.apply_detail .select_product .sp_head{
    display: flex;
    align-items: center;
    padding-bottom: 16px;
}
.apply_detail .select_product .sp_head .title{
    font-size: 14px;
    line-height: 20px;
    color: #454545;
}
.apply_detail .select_product .sp_head .title .count{
    box-sizing: border-box;
    padding: 2px 4px;
    border-radius: 16px;
    background-color: #f8f4fb;
    text-align: center;
    min-width: 32px;
    font-size: 11px;
    line-height: 16px;
    color: #7e1785;
    display: inline-flex;
    justify-content: center;
    margin-left: 4px;
}
.apply_detail .select_product .sp_body{
    width: 100%;
}
.sct_list{
    width: 100%;
    box-sizing: border-box;
    padding: 20px 16px;
    background-color: #fafafa;
    border: 1px solid #f5f5f5;
    border-radius: 12px;
}
.sct_list .sct_item{
    width: 100%;
    padding: 10px 0;
    border-top: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.sct_list .sct_item:first-child{
    padding-top: 0;
    border-top: none;
}
.sct_list .sct_item:last-child{
    padding-bottom: 0;
}
.sct_list .sct_item .category{
    font-size: 12px;
    line-height: 18px;
    color: #777;
    width: 70%;
}
.sct_list .sct_item .title{
    display: flex;
    align-items: center;
    width: 100%;
}
.sct_list .sct_item .title .title_txt{
    font-size: 14px;
    line-height: 20px;
    font-family: 'notokr-bold';
    color: #454545;
    width: 1px;
    flex: 1;
}
.sct_list .sct_item .title label{
    flex: initial;
    padding-right: 8px;
    display: none;
}
.sct_list .sct_item .sct_delete{
    font-size: 12px;
    line-height: 18px;
    color: #d05050;
    margin-left: auto;
    padding: 0;
}
.sct_list .sct_item .pp_list{
    padding-top: 4px;
}
.sct_list .sct_item .pp_list .pp_item{
    display: inline-flex;
    align-items: center;
    width: 100%;
}
.sct_list .sct_item .price{
    font-size: 14px;
    line-height: 20px;
    color: #454545;
    margin-left: auto;
}
.sct_list .sct_item .pp_list .pp_item .chk_box .chk_icon{
    display: none;
    margin-right: 8px;
}
.sct_list .sct_item .pp_list .pp_item .chk_box .chk_txt{
    padding-left: 0;
}
.sct_list .sct_item.active .pp_list .pp_item .chk_box .chk_icon{
    display: block;
}
.sct_list .sct_item.active .title label{
    display: inline-flex;
}
.apply_detail .select_product .sp_body .flex_txt{
    padding-top: 20px;
}
.apply_detail .select_product .sp_body .flex_txt .gt_list{
    padding-top: 8px;
}


/* 예약신청 완료 */
.complete_box{
    width: 100%;
}
.complete_box .cb_head{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.complete_box .cb_head img{
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
}
.complete_box .cb_head .title{
    font-size: 20px;
    font-family: 'notokr-bold';
    line-height: 30px;
    color: #7e1785;
    text-align: center;
    margin-bottom: 12px;
}
.complete_box .cb_head .txt{
    font-size: 14px;
    line-height: 20px;
    text-align: center;
}
.complete_box .cb_body{
    width: 100%;
    padding-top: 32px;
}
.complete_box .cb_body .result_box{
    width: 100%;
    box-sizing: border-box;
    padding: 20px 16px;
    background-color: #fafafa;
    border-radius: 12px;
    border: 1px solid #f5f5f5;
}
.complete_box .cb_body .result_box .rb_head{
    width: 100%;
    display: flex;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid #ccc;
}
.complete_box .cb_body .result_box .rb_head .rb_title{
    font-size: 16px;
    font-family: 'notokr-bold';
    line-height: 24px;
    color: #454545;
}
.complete_box .cb_body .result_box .rb_head .rb_date{
    font-size: 12px;
    line-height: 18px;
    color: #777;
    padding-left: 12px;
}
.complete_box .cb_body .result_box .rb_body{
    padding-top: 12px;
}
.complete_box .cb_body .result_box .rb_body .sct_list{
    padding: 0;
    background: none;
}
.complete_box .cb_body .result_box .rb_body .sct_list .sct_item{
    border-top: none;
    padding-top: 12px;
}
.complete_box .cb_body .result_box .rb_body .sct_list .sct_item:first-child{
    padding: 0;
}


/* 휴무 라이브러리 커마 */
.calendar_box .calendar .months-container{
    gap: 20px 32px;
}
.calendar_box .calendar .months-container .month-container.month-3{
    width: calc(25% - 24px);
}
.calendar_box .calendar table.month th.month-title{
    height: 48px;
    text-align: left;
    box-sizing: border-box;
    padding: 0 8px;
    font-size: 20px;
    line-height: 30px;
    font-family: 'notokr-bold';
    border-bottom: 1px solid #5a5a5a;
}
.calendar_box .calendar table{
    width: 100%;
}
.calendar_box .calendar table.month th.day-header{
    height: 48px;
    font-size: 14px;
    color: #454545;
}
.calendar_box .calendar table.month tr td{
    height: 40px;
    box-sizing: border-box;
    padding: 2px 4px;
}
.calendar_box .calendar table.month th.day-header:first-child,
.calendar_box .calendar table.month td.day:first-child .day-content{
    color: #d05050;
}
.calendar_box .calendar table.month th.day-header:last-child,
.calendar_box .calendar table.month td.day:last-child .day-content{
    color: #17a1fa;
}
.calendar_box .calendar table.month td.day .day-content{
    width: 100%;
    height: 100%;
    font-size: 14px;
    line-height: 20px;
    color: #454545;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar_box .calendar table.month td.day .day-content.operating_time{
    background-color: #adc3fd;
    color: #1a53e6;
    border-radius: 6px;
}
.calendar_box .calendar table.month td.day .day-content.event_day{
    background-color: #fdb7bf;
    color: #f55165;
    border-radius: 6px;
}
.calendar_box .month-container .day {
    box-shadow: none !important;
}
.calendar_box .calendar  .calendar-header{
    display: none!important;
}
.calendar_box .custom_header{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-bottom: 12px;
}
.calendar_box .calendar .current_month{
    font-size: 18px;
    line-height: 28px;
    color: #000;
}
.calendar_box .custom_header .calendar_btn{
    width: 24px;
    height: 24px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 0;
    padding: 0;
}
.calendar_box .custom_header .calendar_btn.prev_btn{
    background-image: url("../../images/common/icon_back_m.svg");
}
.calendar_box .custom_header .calendar_btn.next_btn{
    background-image: url("../../images/common/icon_next_m.svg");
}
.calendar_box .custom_header .calendar_btn:disabled{
    background-color: transparent!important;
    border: none!important;
    opacity: 0.3;
}

.calendar_box.type_02 .calendar .month-container{
    display: none;
    width: 100%;
}
.calendar_box.type_02 .calendar table{
    table-layout: fixed;
    border-collapse: collapse;
}
.calendar_box.type_02 .calendar table.month tr th,
.calendar_box.type_02 .calendar table.month tr td{
    border: none;
}
.calendar_box.type_02 .calendar table.month tr th:first-child,
.calendar_box.type_02 .calendar table.month tr td:first-child{
    border-left: none;
}
.calendar_box.type_02 .calendar table.month tr th:last-child,
.calendar_box.type_02 .calendar table.month tr td:last-child{
    border-right: none;
}
.calendar_box.type_02 .calendar table.month tr th{
    height: 32px;
}
.calendar_box.type_02 .calendar table.month tr td{
    height: 40px;
    padding: 10px;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    border-radius: 8px;
}
.calendar_box.type_02 .calendar table.month tr td.passes{
    opacity: 0.3;
    color: #454545!important;
}
.calendar_box.type_02 .calendar table.month tr td.today{
    background-color: #f5f5f5;
}
.calendar_box.type_02 .calendar table.month tr td.active{
    background-color: #7e1785;
}
.calendar_box.type_02 .calendar table.month tr td.active .day-content{
    color: #fff;
}
.calendar_box.type_02 .calendar .month-container.active {
    display: block;
}
.calendar_box.type_02 .calendar table.month th.month-title{
    display: none;
}
.calendar_box.type_02 .calendar table.month td.day .day-content{
    height: auto;
}
.calendar_box.type_02 .calendar table.month td.day .day_list{
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 16px;
}
.calendar_box.type_02 .calendar table.month td.day .day_list p{
    font-size: 12px;
    line-height: 20px;
}
.bs_content .calendar_box{
    padding-bottom: 20px;
}

.time_list{
    padding-top: 20px;
    border-top: 1px solid #eaeaea;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.time_list .time_item{
    width: 100%;
}
.time_list .time_item .title{
    font-size: 13px;
    line-height: 20px;
    color: #454545;
    margin-bottom: 6px;
}
.time_list .time_item .time_box{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.time_list .time_item .time_box .chk_box{
    width: calc(25% - 6px);
    box-sizing: border-box;
    flex: initial;
}


#calendar {
    flex-grow: 1;
    height: 100%;
}
#roomContainer {
    width: 15%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-right: 1px solid #ddd;
    overflow-y: auto;
}
.room-label {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
    height: 50px;
}
.tui-full-calendar-timegrid-container {
    position: relative;
    top: -50px; /* Adjust this value based on the height of the room labels */
}


.card_item.type_pd .sub_title{
    margin-top: 8px;
}
.card_item.type_pd .title{
    margin-top: 4px;
}
.card_item.type_pd .promotion_detail{
    margin-top: 8px;
}
.card_item.type_basic .title{
    margin-top: 0;
    margin-bottom: 12px;
}
.sale_box{
    display: flex;
    box-sizing: border-box;
    padding: 3px 7px;
    border: 1px solid #fdb7bf;
    background-color: #fff3f4;
    gap: 4px;
    border-radius: 6px;
    align-items: center;
}
.sale_box .sale_title{
    font-size: 11px;
    line-height: 16px;
    color: #e7385e;
}
.sale_box .sale_date{
    font-size: 11px;
    line-height: 16px;
    color: #f16d7d;
}

.txt_table{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.txt_table .tt_item{
    width: 100%;
    display: flex;
    gap: 8px;
}
.txt_table .tt_item .tt_title{
    width: 78px;
    font-size: 13px;
    line-height: 20px;
    color: #777;
    letter-spacing: -0.5px;
}
.txt_table .tt_item .tt_detail{
    width: 1px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.txt_table .tt_item .tt_detail li{
    width: 100%;
    display: flex;
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.txt_table .tt_item .tt_detail li.txt_right{
    justify-content: flex-end;
}
.txt_table .tt_item .tt_detail li .tt_product_name{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.txt_table .tt_item .tt_detail li .tt_product_num{
    font-size: 13px;
    line-height: 20px;
    color: #5a5a5a;
    margin-left: auto;
}
.txt_table .tt_item.type_02{
    flex-wrap: wrap;
}
.txt_table .tt_item.type_02 .tt_title{
    width: 100%;

}
.txt_table .tt_item.type_02 .tt_detail{
    width: 100%;
}
.txt_right{
    text-align: right;
}
.txt_bold{
    font-family: 'notokr-bold';
}
.card_item > .txt_table{
    margin-top: 16px;
}
.card_item > .txt_table.none_margin{
    margin-top: 0;
}
.bottom_sheet.promotion_detail_sheet .bs_box .btn_list{
    display: flex;
}


.intro{
    width: 100vw;
    height: calc(var(--vh, 1vh) * 100);
    background-color: #7e1785;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transform-origin: center;
    animation: splashAnimation3 0.6s 3s ease-in-out forwards;
}
/*.intro::before{*/
/*    content: "";*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    background-color: #fff;*/
/*    animation: splashAnimation3 0.4s ease-in-out forwards;*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 0;*/
/*}*/
.intro .logo_box{
    height: 34px;
    display: flex;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.intro .logo_box .logo_dot_box{
    display: flex;
    margin: 6px 8px 0 6px;
    position: relative;
    width: 11px;
    height: 40px;
    overflow: hidden;
    transform: translateY(calc(-100% + 11px));
    align-items: flex-end;
}
.intro .logo_box .logo_dot{
    width: 11px;
    height: 11px;
    background-color: #e6375e;
    border-radius: 100%;
    -webkit-animation: bounce-top 1.2s 1.6s both;
    animation: bounce-top 1.2s 1.6s both;
}
.intro .logo_box .logo_b_box{
    width: 92px;
    height: 34px;
    overflow: hidden;
}
.intro .logo_box .logo_p_box{
    width: 74px;
    height: 34px;
    position: relative;
    overflow: hidden;
}
.intro .logo_box .logo_b{
    transform: translateX(102%);
    animation: splashAnimation2 1s 0.6s ease-in-out forwards;
}
.intro .logo_box .logo_p{
    transform: translateX(-102%);
    animation: splashAnimation2 1s 0.6s ease-in-out forwards;
}


@keyframes splashAnimation {
    0% {
        transform: scale(1);
        background-color: #e6375e;
    }
    100% {
        transform: scale(100);
        background-color: #fff;
    }
}
@keyframes splashAnimation2 {
    100% {
        transform: translateX(0);
    }
}
@keyframes splashAnimation3 {
    100% {
        opacity: 0;
    }
}
@keyframes bounce-top {
    0% {
        -webkit-transform: translateY(-45px);
        transform: translateY(-45px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 1;
    }
    24% {
        opacity: 1;
    }
    40% {
        -webkit-transform: translateY(-24px);
        transform: translateY(-24px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    65% {
        -webkit-transform: translateY(-12px);
        transform: translateY(-12px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    82% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    93% {
        -webkit-transform: translateY(-4px);
        transform: translateY(-4px);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
    25%,
    55%,
    75%,
    87% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
        opacity: 1;
    }
}


.user_box{
    width: 100%;
}
.user_box .ub_top{
    width: 100%;
}
.user_box .ub_top .user_group{
    display: inline-flex;
    min-width: 40px;
    box-sizing: border-box;
    padding: 0 8px;
    text-align: center;
    font-size: 12px;
    line-height: 18px;
    color: #fff;
    background-color: #f64258;
    border-radius: 9px;
    margin-bottom: 12px;
    justify-content: center;
}
.user_box .ub_top .user_info{
    width: 100%;
    display: flex;
    align-items: center;
}
.user_box .ub_top .user_info .user_name{
    font-size: 20px;
    font-family: 'notokr-bold';
    line-height: 30px;
    color: #222;
}
.user_box .ub_top .user_info .user_hospital{
    font-size: 12px;
    line-height: 18px;
    color: #914196;
    margin-left: auto;
    padding-right: 16px;
    position: relative;
}
.user_box .ub_top .user_info .user_hospital::before{
    content: "";
    width: 12px;
    height: 12px;
    background: url("../../images/common/icon_chevron_forward_small_p.svg")no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0,-50%);
}
.user_box .ub_detail{
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background-color: #f8f4fb;
    border-radius: 16px;
    margin-top: 12px;
}
.user_box .ub_detail .ub_detail_item{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.user_box .ub_detail .ub_detail_item .title{
    font-size: 14px;
    line-height: 20px;
    color: #5a5a5a;
}
.user_box .ub_detail .ub_detail_item .txt{
    font-size: 13px;
    line-height: 20px;
    color: #222;
}
.user_box .ub_detail .ub_detail_item .txt.big_txt{
    font-size: 18px;
    line-height: 20px;
    font-family: 'notokr-bold';
}
.user_menu{
    width: 100%;
    padding-top: 12px;
}
.user_menu .user_menu_item{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.user_menu .user_menu_item .title{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}
.user_menu .user_menu_item .arrow{
    width: 12px;
    height: 12px;
    background: url("../../images/common/chevron_forward_small.svg")no-repeat;
    background-size: cover;
}
.user_menu .user_menu_item.logout_btn .title{
    color: #777;
}



.content_box{
    width: 100%;
}
.content_box .cb_head{
    width: 100%;
    padding-bottom: 16px;
}
.content_box .cb_head .title{
    font-size: 20px;
    font-family: 'notokr-bold';
    line-height: 30px;
    color: #7e1785;
}
.content_box .cb_head .txt{
    font-size: 14px;
    line-height: 20px;
    color: #222;
    padding-top: 8px;
}


.box_table{
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
    border-radius: 16px;
    background-color: #f8f4fb;
}
.box_table .bt_head{
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid #ccc;
}
.box_table .bt_head .title{
    font-size: 14px;
    font-family: 'notokr-bold';
    line-height: 20px;
}
.box_table .bt_head .amount{
    font-size: 16px;
    font-family: 'notokr-bold';
    line-height: 24px;
    color: #7e1785;
}
.box_table .bt_content{
    width: 100%;
    padding-top: 12px;
}
.box_table .bt_content .bt_con_item{
    width: 100%;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.box_table .bt_content .bt_con_item:first-child{
    margin-top: 0;
}
.box_table .bt_content .bt_con_item .title{
    font-size: 13px;
    line-height: 20px;
    color: #222;
}
.box_table .bt_content .bt_con_item .amount{
    font-size: 14px;
    line-height: 20px;
    color: #222;
}


.usage_history{
    width: 100%;
    padding-top: 12px;
}
.usage_history .uh_item{
    width: 100%;
    box-sizing: border-box;
    padding: 12px 0;
    border-bottom: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
}
.usage_history .uh_item .uh_date{
    width: 100%;
    font-size: 13px;
    line-height: 20px;
    color: #a9a9a9;
    margin-bottom: 8px;
}
.usage_history .uh_item .uh_title{
    font-size: 14px;
    line-height: 20px;
    font-family: 'notokr-bold';
    color: #222;
    width: 50%;
}
.usage_history .uh_item .uh_amount{
    font-size: 14px;
    line-height: 20px;
    color: #222;
    font-family: 'notokr-bold';
    width: 50%;
    text-align: right;
}
.usage_history .uh_item .uh_content{
    width: 100%;
    margin-top: 4px;
    font-size: 13px;
    font-family: 'notokr-bold';
    color: #a9a9a9;
    text-align: right;
}
.usage_history .uh_item.amount_add .uh_title,
.usage_history .uh_item.amount_add .uh_amount{
    color: #7e1785;
}


.none_content{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: auto;
}
.none_content .nc_title{
    font-size: 14px;
    line-height: 20px;
    color: #777;
    text-align: center;
    justify-content: center;
}
.none_content img{
    width: 40px;
    height: 40px;
    margin-bottom: 16px;
}
.none_content .btn_reserve{
    font-size: 12px;
    line-height: 18px;
    color: #914196;
    padding-right: 16px;
    position: relative;
    display: inline-flex;
    margin: 8px auto 0;
}
.none_content .btn_reserve::before{
    content: "";
    width: 12px;
    height: 12px;
    background: url("../../images/common/icon_chevron_forward_small_p.svg")no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0,-50%);
}



.error_box{
	width: 100vw;
	height: calc(var(--vh, 1vh) * 100);
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	left: 0;
	top: 0;
	flex-direction: column;
}
.error_box img{
	width: 188px;
	margin-bottom: 30px;
}
.error_box .error_title{
	font-size: 30px;
	line-height: 1.5;
	color: #000;
	text-align: center;
	font-family: 'notokr-bold';
	margin-bottom: 24px;
}
.error_box .error_txt{
	font-size: 14px;
	line-height: 1.5;
	color: #454545;
	text-align: center;
}




