@charset "utf-8";

body {
    /*min-width: 1418px;*/
}

.linker:link, .linker:hover, .linker:visited, .linker:active {
    text-decoration: none;
    color: #9c9c9c;
!important
}

.text_left {
    text-align: left !important
}

.text_center {
    text-align: center !important
}

.text_right {
    text-align: right !important
}

.wrap-loading { /*화면 전체를 어둡게 합니다.*/
    z-index: 9999;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2); /*not in ie */
    filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#20000000', endColorstr='#20000000'); /* ie */
}

.wrap-loading div { /*로딩 이미지*/
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
}

.display-none { /*감추기*/
    display: none;
}

/* 공통 - 상ㆍ하단 버튼 */
#hd {
    min-width: 1000px;
    margin-top: 30px;
    margin-bottom: 40px;
}

#hd_wrapper {
    width: 1000px;
    margin: 0 auto;
    height: 47px;
}

#logo {
    display: none;
}

#hd_tab {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
    border-bottom: 1px solid #525252;
    height: 47px;
}

#hd_tab:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#hd_tab ul {
    width: 432px;
    margin: 0 auto;
    padding: 0
}

#hd_tab ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#hd_tab li {
    float: left;
    margin: 0 30px;
    font-size: 18px;
    padding: 0;
    position: relative;
}

#hd_tab li a {
    display: block;
    padding: 15px 10px;
    color: #222222;
    text-decoration: none;
}

#hd_tab li span {
    display: none;
    position: absolute;
    padding: 0px;
    left: 0;
    bottom: 4.5px;
    width: 83px;
    border-bottom: 2px solid #ed2b3c;
}

#hd_tab li span:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -6px;
    width: 0;
    border-bottom: 6px solid #ed2b3c;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0;
}

#hd_tab li.active span {
    display: block
}

#hd_tab li.active a {
    color: #ed2b3c
}

#btn_view {
    margin-top: 20px;
    margin-bottom: 20px
}

#btn_view:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

/*.btn {*/
/*    float: left;*/
/*    width: 173px;*/
/*    height: 48px;*/
/*    border: 1px solid #ed2b3c;*/
/*    text-align: center;*/
/*    line-height: 50px;*/
/*    text-indent: 20px;*/
/*    background-repeat: no-repeat;*/
/*    background-position: 20px 16px;*/
/*}*/

/*.btn a {*/
/*    display: block;*/
/*    text-decoration: none;*/
/*    color: #ed2b3c;*/
/*}*/

/*.btn.active a {*/
/*    color: #fff;*/
/*}*/

#btn_room {
    background-image: url(/assets/img/calendar/ico_btn_vroom.jpg);
    background-color: #fff
}

#btn_room.active {
    background-image: url(/assets/img/calendar/ico_btn_vroom_ov.jpg);
    background-color: #ed2b3c
}

#btn_calendar {
    background-image: url(/assets/img/calendar/ico_btn_vcal.jpg);
    background-color: #fff;
}

#btn_calendar.active {
    background-image: url(/assets/img/calendar/ico_btn_vcal_ov.jpg);
    background-color: #ed2b3c
}

#btn_back {
    width: 140px !important;
    color: #fff;
    background-color: #f12b3d;
    background-image: url(/assets/img/calendar/ico_btn_back.jpg);
}

#btn_back a {
    color: #fff;
!important
}

#submit_reservation {
    clear: both;
    width: 100%;
    position: relative;
    text-align: center;
}

.submit {
    border: none;
    width: 160px;
    height: 34px;
    text-align: center;
    background-color: #eb1c22;
    color: #ffffff;
    cursor: pointer;
    font-size: 18px;
    margin: 0 auto;
}

.sub_fr {
    float: right;
    display: inline-block;
}

.margin_b40 {
    margin-bottom: 40px !important;
}

.margin_t0 {
    margin-top: 0 !important;
}

.margin_t40 {
    margin-top: 40px !important;
}

.margin_t20 {
    margin-top: 20px !important;
}

.no_bottom {
    padding-bottom: 10px !important;
}

.color_1 {
    color: #ed2b3c
}

.size_1 {
    font-size: 16px;
}

.margin_r10 {
    margin-right: 10px !important;
}

.width_full {
    width: 1000px !important;
}

.color_sun {
    color: #ff0000 !important;
}

/* 일요일 */
.color_sat {
    color: #0000ff !important;
}

/* 토요일 */
.color_day {
    color: #000 !important;
}

/* 평일 */

.rs_img {
    margin: 0 2px 0 5px;
}

/* 객실목록 */
#reserv_room_list {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    margin-bottom: 50px;
}

#reserv_room_list:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#reserv_room_list .swiper-slide {
    text-align: center;
    width: 20%;
    line-height: 50px;
    box-sizing: border-box;
    color: #646363;
    background-color: #f9f9f9;
    border-top: 1px solid #dddddd;
    border-left: 1px solid #dddddd;
    border-bottom: 1px solid #525252;
    cursor: pointer;
    margin: 0 !important;
    padding: 0 !important;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#reserv_room_list ul {
    list-style: none;
    padding: 0;
}

#reserv_room_list ul li {
    float: left;
    width: 20%;
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    text-align: center;
    color: #646363;
    background-color: #f9f9f9;
    border-top: 1px solid #dddddd;
    border-left: 1px solid #dddddd;
    border-bottom: 1px solid #525252;
    cursor: pointer;
}

#reserv_room_list ul li:last-child {
    border-right: 1px solid #dddddd;
}

#reserv_room_list ul li.on, #reserv_room_list .swiper-slide.on {
    border: 1px solid #525252;
    border-bottom: none;
    color: #525252;
    background-color: #fff
}

/*
#reserv_room_list ul li.blank {border-left:0; border-top:1px solid #dddddd; border-right:1px solid #dddddd; border-bottom:1px solid #525252; background-color:#f9f9f9; cursor:default;}
#reserv_room_list ul li a {display:block; width:100%; line-height:58px; text-align:center; color:#646363; text-decoration:none;}
#reserv_room_list ul li.on a {color:#525252;}*/

/* 페이지 내 안내문 */
.local_desc {
    padding: 10px 20px;
    margin: 10px 0;
    text-align: center;
    font-size: 20px;
    border: 1px solid #f2f2f2;
    background: #edf1ff
}

/* 달력 */
.reserv_admin {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -15px;
    font-size: 14px;
    width: 98px;
    height: 28px;
    line-height: 28px;
    border: 1px solid #2e86d7;
    color: #2e86d7;
    text-align: center;
    cursor: pointer;
}

.reserv_admin:hover {
    background-color: #2e86d7;
    color: #ffffff;
}

#reserv_calendar {
    margin-top: 33px;
}

/* 달력 전체 */
#reserv_calendar #reserv_title {
    height: 43px;
    text-align: center;
    margin-bottom: 10px;
}

/* 달력 네비게이션(오늘 년월, 전달, 전년도, 다음달, 다음년도) */
#reserv_calendar #reserv_title tr td.blank, #reserv_calendar #reserv_title tr td.blank2 {
    width: 460px
}

#reserv_calendar #reserv_title tr td.blank {
    text-align: left;
    font-size: 13px;
}

#reserv_calendar #reserv_title tr td.blank2 {
    text-align: right;
    padding-top: 20px;
}

#reserv_calendar #reserv_title #reserv_title_prev_year {
    text-align: center;
    width: 23px;
    margin-right: 5px;
}

/* 전년도 */
#reserv_calendar #reserv_title #reserv_title_prev_month {
    text-align: center;
    width: 23px;
    margin-right: 15px;
}

/* 전월 */
#reserv_calendar #reserv_title #reserv_title_today {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    width: 150px
}

/* 오늘 년월 */
#reserv_calendar #reserv_title #reserv_title_next_month {
    text-align: center;
    width: 23px;
    margin-left: 15px;
}

/* 다음달 */
#reserv_calendar #reserv_title #reserv_title_next_year {
    text-align: center;
    width: 23px;
    margin-left: 5px;
}

/* 다음년도 */

#reserv_dayweek {
    width: 100%;
    table-layout: fixed;
    /* 아래 새로 추가본. */
    display: flex;
    flex-direction: column;
}

/* 아래 새로 추가본. */
#reserv_dayweek > .reserv_head {
    display: flex;
    flex-direction: row;
}

#reserv_dayweek > .reserv_head > .reserv_title_dayweek {
    flex: 1;
}

#reserv_dayweek > .reserv_row {
    display: flex;
    flex-direction: row;

}

#reserv_dayweek > .reserv_row > .reserv_col {
    display: flex;
    flex-direction: column;
    flex: 1;

}

/* 달력 요일 전체 */
.reserv_title_dayweek {
    font-size: 14px;
    font-weight: 600;
    color: #141312;
    letter-spacing: -0.4px;
    padding: 0 16px;
}

/* 요일부분 */
/* 일요일 */
.dayweek_sun {
    padding-bottom: 16px;
    border-bottom: 2px solid #eb1c22;
}

/* 토요일 */
.dayweek_sat {
    padding-bottom: 16px;
    border-bottom: 2px solid #23c2c5;
}

/* 평일 */
.dayweek_day {
    padding-bottom: 16px;
    border-bottom: 2px solid #313131;
}

#reserv_dayweek .reserv_day {
    vertical-align: top;
}

/* 달력 내용 전체 */
.day_sun {
    /*clear: both;*/
    /*background: #fff9f9 url(/assets/img/calendar/dot.gif) top right repeat-y;*/
}

/* 일요일 */
.day_sat {
    /*background: #f7fbff;*/
}

/* 토요일 */
.day_day {
    /*background: url(/assets/img/calendar/dot.gif) top right repeat-y;*/
}

/* 평일 */
.today {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 15px;
    font-size: 10px;
    color: #fff;
    background: #eb1c22;
    padding-bottom: 2px;
}

/* today 표시 */
/*.season, .holiday {padding-right:20px; color:#ff6f6f} /* 성수기, 연휴 표시 */
.season {
    font-size: 14px;
    color: #626262;
    font-weight: 500;
    letter-spacing: -0.4px;
    margin-bottom: 14px;
}

.season .season-sub {
    /*height: auto;*/
    color: #eb1c22;
    margin-top: 5px;
}

.phrase {
    text-align: center;
    color: #628ed1;
    border-bottom: 1px solid #dfdfdf
}

.phrase_info {
    text-align: right;
    padding-right: 10px;
    color: #d57272;
}

.prev_day, .next_day {
    color: #dddddd !important;
}

.sun {
    color: #ff0000;
}

.sat {
    color: #0000ff;
}

.day {
    color: #000000;
}

#reserv_dayweek .reserv_day {
    position: relative;
    text-align: left;
    font-size: 14px;
    color: #313131;
    font-weight: 600;
    letter-spacing: -0.4px;
    line-height: 11px;
    padding: 30px 16px 18px;
    display: flex;

}

/* 달력 예약날짜부분 전체 */
#reserv_dayweek .reserv_col .day_sun,
#reserv_dayweek .reserv_col .day_holiday {
    color: #eb1c22;
    /*background: #fff4f4 url(/assets/img/calendar/dot.gif) top right repeat-y;*/
}

/* 일요일 */

#reserv_dayweek .reserv_col .day_sat {
    color: #16aaad;
    /*background: #e6eff8;*/
}

/* 토요일 */

#reserv_dayweek .reserv_col .day_day {
    /*background: #F9F9F9 url(/assets/img/calendar/dot.gif) top right repeat-y;*/
}

/* 평일 */

.today-holiday-wrap {
    /*position: absolute;*/
    /*top: 28px;*/
    /*right: 16px;*/
    margin-left: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.today-holiday-wrap .holiday {
    font-size: 12px;
    /*color: #626262;*/
    color: #eb1c22;
    font-weight: 500;
    letter-spacing: -0.8px;
    /*margin-left: 5px;*/
}

/*기존*/
/*.reserv_info {*/
/*position: relative;*/
/*margin: 0;*/
/*padding: 0;*/
/*}*/

/*수정*/
.reserv_info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    font-size: 14px;
    color: #bfbfbf;
    letter-spacing: -0.4px;
    line-height: 14px;
    clear: both;
    padding: 0 16px;
    margin: 0;
}

.reserv_info > .season {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
    /*justify-content: space-between;*/
}

/*예약대기 버튼*/
.reserv_info > .season > .waiting-box {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;

    background: #f6f6f6;
    height: 30px;
    font-size: 13px;
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    color: #575757;
    border: solid 1px rgba(191, 191, 191, 0.5);
}

/*할인관련 표기*/
.discount-badge-wrap {
    display: flex;
}

.discount-badge-wrap .discount-badge {
    font-size: 12px;
    font-weight: 500;
    border-radius: 5px;
    padding: 3px;
    text-wrap: nowrap;
}

.discount-badge-preorder {
    background-color: #0d6efd;
    color: #fff;
    border: 1px solid #0d6efd;
}

#waiting {
    position: absolute;
    z-index: 999;
}

.reserv_info > .reserv_name {
    display: flex;
    height: 30px;
}

.h-auto {
    height: auto;
}

/*수정끝*/

/* 달력 예약내용부분 전체 */
.reserv_info, .reserv_info label {
    color: #646464
}

.room_end {
    text-decoration: line-through;
}

.reserv_name label span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    min-width: 20px;
    height: 20px;
    min-height: 20px;
    color: #fff;
    font-weight: 300;
    padding-bottom: 2px;
    margin-right: 5px;
}

/* 원본 */
.room_info {
    font-size: 14px;
    color: #bfbfbf;
    letter-spacing: -0.4px;
    line-height: 14px;
    clear: both;
    padding: 0 16px;
    margin: 0;
}

/*.room_info span {display:block;font-size:0.92em;color:#d82727;font-weight:bold;line-height:1.2;}*/
.btn_subject {
    font-size: 12px;
    color: #626262;
    letter-spacing: -0.4px;
    border: 0;
    background: none;
    padding: 0 5px 0 0;
}

.room_name {
    position: relative;
    text-align: left;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.5pt;
    cursor: pointer;
}

/* 객실명 */
/*.room_end {text-align:center; font-size: 14px;}*/
.reserv_name {
    position: relative;
    text-align: left;
    padding: 4px 0;
    margin: 0;
}

/* 예약자명 */
.reserv_name label {
    display: inline-flex;
    align-items: center;
    /*overflow: hidden;*/
    /*text-overflow: ellipsis;*/
    /*white-space: nowrap;*/
}

.reserv_name .count {
    position: absolute;
    right: 0;
    top: 0;
}

.reserv_name > img {
    margin-left: -3px;
}

.room_money {
    font-size: 13px;
    line-height: 13px;
    margin-bottom: 4px;
    padding-left: 25px;
}

.room_money .possible {
    color: #141312;
}

.room_money .complete,
.room_money .wait,
.room_money .inquiry {
    color: #a0a0a0;
}

.room_money__del-price {
    color: #a0a0a0;
}

.room_money .possible .room_money__del-price {
    text-decoration-color: #141312;
}

.room_money__sale-price {
    font-weight: 600;
}

.style_line {
    margin-right: 10px;
    text-decoration: line-through;
    color: #6c6c6c;
    font-size: 12px;
}

.bst {
    font-weight: bold;
    color: #61acf1;
}

.room_img {
    width: 20px;
    text-align: left;
    cursor: pointer;
}

.room_imgs {
    display: none;
    width: 150px;
    height: 110px;
    position: absolute;
    z-index: 999;
    margin: 7px 0 0 4px;
}

#rimg {
    display: none;
    z-index: 100;
    position: absolute;
    width: 166px;
    height: 110px;
}

#rimg .loader {
    text-align: center;
    line-height: 110px;
    background: #ededed;
    border-radius: 5px;
    border: 1px solid #ddd;
}

#rimg img {
    border-radius: 5px;
}

#rimg .rprice {
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom-left-radius: 5px;
    color: #ffffff;
    border-bottom-right-radius: 5px;
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    text-align: center;
}

#rimg .rprice .style_line {
    margin-right: 15px;
}

/* 상단 타이틀 */
.title_basic {
    padding-bottom: 20px;
    max-width: 1000px
}

.title_basic > span:not(.tnum) {
    float: right;
    font-size: 12px;
    display: inline-block;
}

.tnum {
    clear: both;
    display: inline-block;
    width: 16px;
    height: 16px;
    line-height: 16px;
    border: 1px solid #c83f35;
    background: #e25147;
    font-weight: bold;
    color: #fff;
    border-radius: 3px;
    text-align: center;
}

.tnum.ttxt {
    border-radius: 100%;
}

/* 상세예약정보 */
#info_table {
    width: 1000px;
    border: 1px solid #ed2b3c;
    padding: 20px 25px 20px 25px;
    margin-bottom: 30px;
    background-color: #fff9f9;
}

#info_table tr td {
    vertical-align: middle;
}

#info_table tr td:last-child {
    text-align: right;
    line-height: 25px;
}

div#all_price_result {
    vertical-align: middle;
    height: 30px;
    line-height: 30px;
    font-size: 30px;
}

div#all_price_result, div#fee_room, div#fee_add_person, div#fee_option, div#fee_sale {
    display: inline-block;
    color: #ed2b3c;
}

#reserv_caution {
    line-height: 1.7em;
    text-align: center;
    padding: 10px 15px;
    background: #f7ecea;
    border: 2px solid #ffb6c1;
    color: #ff0000;
    font-weight: bold;
    margin: 10px 0 20px
}

.add_person option:disabled {
    color: #ddd;
}

.start_date, .end_date {
    color: #ed2b3c;
    font-size: 18px;
    font-weight: bold;
}

.tbl_option {
    border: 1px solid #d5d5d5;
    background: #fff;
}

.tbl_option h2 {
    position: relative;
    background: #fff9f9 url('/assets/img/calendar/img_buga_txt.png') left 75px center no-repeat;;
    font-size: 14px;
    padding: 10px;
    border-bottom: 1px solid #d5d5d5;
}

.tbl_option ul {
    width: 95%;
    margin: 0 auto;
}

.tbl_option li:nth-child(2n-1) {
    padding: 10px 0;
}

.tbl_option li:nth-child(2n) {
    border-bottom: 1px solid #ededed;
}

.tbl_option li:last-child {
    border: 0;
}

.tbl_option strong {
    margin-left: 5px;
    color: #da4416;
    cursor: pointer;
}

.tbl_option #opt_question {
    position: absolute;
    z-index: 5;
    width: 180px;
    top: 30px;
    left: 50%;
    margin-left: -90px;
    border: 2px solid #9dccef;
    background: #cee5f6;
    border-radius: 5px;
    padding: 0 20px
}

.tbl_option table {
    font-size: 13px;
    border-collapse: collapse;
    border-spacing: 0 5px;
    border: 1px solid #ededed;
    width: 95%;
    margin: 0 auto;
    text-align: center;
}

.tbl_option tbody th {
    position: relative;
    width: 33.33%;
    background: #ededed;
}

.tbl_option tbody td {
    padding: 5px 20px;
    border: 1px solid #ededed;
}

.tbl_option tbody td:first-child {
    text-align: left;
}

.tbl_option tbody td:last-child {
    text-align: right
}

.tbl_option tbody td span {
    display: inline-block;
    font-size: 12px !important;
    color: #ed2b3c !important;
}

.tbl_option .op_cont {
    font-size: 12px;
    margin: 10px 15px;
    color: #718ae8;
}

#sod_frm .tbl_option {
    margin: 10px;
}

#sod_frm .tbl_option table {
    width: 100%;
}

#sod_frm .tbl_option thead th {
    padding: 8px;
    border-bottom: 1px solid #555
}

#sod_frm .tbl_option tbody td {
    padding: 5px;
}

#sod_frm .tbl_option .td_num {
    width: 10%;
}

#sod_frm .tbl_option .td_name {
    width: 40%;
}

/* 최종 예약 확인 및 결제 */
.tbl_chkodr table {
    font-size: 15px;
    color: #222222;
    margin-bottom: 10px;
}

.tbl_chkodr thead th {
    padding: 8px;
    border: 1px solid #d5d5d5;
    background: #f9f9f9;
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: center;
}

.tbl_chkodr td {
    padding: 5px;
    border: 1px solid #d5d5d5;
}

.tbl_chkopt {
    background: #fff;
}

.tbl_chkopt h2 {
    position: relative;
    background: #fff9f9 url('/assets/img/calendar/img_buga_txt.png') left 75px center no-repeat;;
    font-size: 14px;
    padding: 10px;
    border: 1px solid #d5d5d5;
    border-bottom: 0;
}

.tbl_chkopt strong {
    margin-left: 10px;
    color: #da4416;
}

.tbl_chkopt table {
    color: #222222;
}

.tbl_chkopt thead th, .tbl_chkopt tfoot td {
    padding: 10px 0;
    text-align: center;
    border: 1px solid #d5d5d5;
    background: #f9f9f9;
}

.tbl_chkopt td {
    border: 1px solid #d5d5d5;
    padding: 5px;
}

.td_prd {
    position: relative;
    /*padding: 7px 0 7px 140px !important;*/
    height: 85px;
}

.td_prd .sod_img {
    position: absolute;
    top: 10px;
    left: 10px;
}

.td_prd .sod_name {
}

.td_prd .sod_opt {
    margin-top: 5px;
}

.td_add {
    width: 95px;
    text-align: center;
}

.td_price {
    width: 95px;
    text-align: center;
}

.sod_left {
    display: table-cell;
    width: 670px;
    vertical-align: top;
    padding: 0 10px 0 0
}

.sod_right {
    display: table-cell;
    width: 330px;
    background: #c6c8cc;
    padding: 10px;
    vertical-align: top;
}

.sod_left table {
    font-size: 15px;
    color: #222222;
}

.sod_left tbody th {
    border: 1px solid #d5d5d5;
    background: #f9f9f9;
    width: 150px;
}

.sod_left td {
    border: 1px solid #d5d5d5;
    padding: 5px;
}

.pay_price {
    color: #ff006c;
    font-size: 1.25em
}

#sod_frm #sod_bsk_tot:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#sod_frm #sod_bsk_tot li {
    position: relative;
    float: left;
    background: #fff;
    width: 25%; /*height:50px;*/
    text-align: center;
    border-bottom: 1px solid #e7ebf1;
    padding: 15px 0
}

#sod_frm #sod_bsk_tot li:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#sod_frm #sod_bsk_tot li span {
    display: block;
    color: #777;
    margin-bottom: 5px;
    font-weight: bold
}

#sod_frm #sod_bsk_tot strong {
    font-size: 13px;
}

#sod_frm #sod_bsk_tot .sod_bsk_sell, #sod_frm #sod_bsk_tot .sod_bsk_coupon, #sod_frm #sod_bsk_tot .sod_bsk_dvr {
    border-right: 1px solid #e7ebf1
}

#sod_frm #sod_bsk_tot .sod_bsk_point, #sod_frm #sod_bsk_tot .sod_bsk_cnt {
    width: 100%;
    clear: both;
    height: 40px;
    padding: 0 15px;
    line-height: 40px;
    text-align: right
}

#sod_frm #sod_bsk_tot .sod_bsk_point span, #sod_frm #sod_bsk_tot .sod_bsk_cnt span {
    float: left;
    margin: 0
}

#sod_frm #sod_bsk_tot .sod_bsk_coupon:before {
    display: block;
    content: "+";
    position: absolute;
    top: 25px;
    left: -10px;
    width: 20px;
    height: 20px;
    background: #fff;
    color: #ff006c;
    border-radius: 50%;
    border: 1px solid #e7ebf1;
    font-weight: bold;
    font-size: 16px;
    line-height: 25px;
}

#sod_frm #sod_bsk_tot .sod_bsk_dvr:before {
    display: block;
    content: "+";
    position: absolute;
    top: 25px;
    left: -10px;
    width: 20px;
    height: 20px;
    background: #fff;
    color: #ff006c;
    border-radius: 50%;
    border: 1px solid #e7ebf1;
    font-weight: bold;
    font-size: 16px;
    line-height: 25px;
}

#sod_frm #sod_bsk_tot .sod_bsk_sale:before {
    display: block;
    content: "-";
    position: absolute;
    top: 25px;
    left: -10px;
    width: 20px;
    height: 20px;
    background: #fff;
    color: #ff006c;
    border-radius: 50%;
    border: 1px solid #e7ebf1;
    font-weight: bold;
    font-size: 16px;
    line-height: 25px;
}

#sod_frm #sod_bsk_tot .sod_bsk_cnt strong {
    color: #ff006c;
    font-size: 1.25em
}

#sod_frm #sod_bsk_tot .opt_payment_onsite {
    display: none;
    position: absolute;
    width: 100%;
    left: 0;
    top: 50px;
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
    z-index: 9;
    border: 2px solid #9dccef;
    background: #cee5f6;
    border-radius: 5px;
}

#sod_frm #sod_bsk_tot .sod_bsk_cnt:hover .opt_payment_onsite {
    display: block;
}

#reserv_pay {
    position: relative;
    margin: 10px 0
}

#reserv_pay input[type="radio"] {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    text-indent: -999px;
    left: 0;
    z-index: -1;
}

#reserv_pay .lb_icon {
    display: inline-block;
    float: left;
    width: 50%;
    background: #fff;
    border: 1px solid #eceff4;
    margin: -1px 0 0 -1px;
    cursor: pointer;
    height: 60px;
    position: relative;
    padding-left: 65px;
    padding-top: 20px;
    z-index: 1;
    box-sizing: border-box;
}

#reserv_pay input[type="radio"]:checked + .lb_icon {
    border: 1px solid #ff006c;
    z-index: 3
}

#sod_frm_paysel {
    width: 100%;
}

#sod_frm_paysel legend {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

#sod_frm_paysel .KPAY {
    background: url('/assets/img/calendar/kpay.png') no-repeat 50% 50% #fff;
    overflow: hidden;
    text-indent: -999px
}

#sod_frm_paysel .PAYNOW {
    background: url('/assets/img/calendar/paynow.png') no-repeat 50% 50% #fff;
    overflow: hidden;
    text-indent: -999px
}

#sod_frm_paysel .PAYCO {
    background: url('/assets/img/calendar/payco.png') no-repeat 50% 50% #fff;
    overflow: hidden;
    text-indent: -999px
}

#sod_frm_paysel .kakaopay_icon {
    background: url('/assets/img/calendar/kakao.png') no-repeat 50% 50% #f4dc34;
    overflow: hidden;
    text-indent: -999px
}

#sod_frm_paysel .bank_icon {
    background: url('/assets/img/calendar/pay_icon1.png') no-repeat 15px 50% #fff
}

#sod_frm_paysel .vbank_icon {
    background: url('/assets/img/calendar/pay_icon2.png') no-repeat 15px 50% #fff;
    padding-top: 13px
}

#sod_frm_paysel .iche_icon {
    background: url('/assets/img/calendar/pay_icon2.png') no-repeat 15px 50% #fff;
    padding-top: 13px
}

#sod_frm_paysel .hp_icon {
    background: url('/assets/img/calendar/pay_icon3.png') no-repeat 24px 50% #fff
}

#sod_frm_paysel .card_icon {
    background: url('/assets/img/calendar/pay_icon4.png') no-repeat 17px 50% #fff
}

.sod_frm_point {
    clear: both;
    padding: 10px 0
}

.sod_frm_point div {
    background: #fff;
    margin-bottom: 1px;
    padding: 10px;
    text-align: left;
    text-align: right
}

.sod_frm_point div:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ''
}

.sod_frm_point div label {
    float: left;
    line-height: 30px
}

.sod_frm_point div span {
    display: block;
    font-size: 0.92em
}

.sod_frm_point div span:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ''
}

.sod_frm_point div strong {
    float: left;
    color: #666;
    font-weight: normal
}

.sod_frm_point #od_temp_point {
    height: 30px;
    text-align: right;
    padding: 0 5px;
    border: 1px solid #ccc;
}

#settle_bank, #settle_card {
    margin: 5px 0 10px;
    background: #fff;
    padding: 10px;
    clear: both
}

#settle_bank select, #settle_card select {
    height: 30px;
    margin: 0 0 5px;
    width: 100%;
    border: 1px solid #ccc;
}

#settle_bank #rv_deposit_name {
    height: 30px;
    border: 1px solid #ccc;
    text-align: center;
}

#sod_frm_escrow {
    margin: 30px 0 0
}

#sod_frm #sod_frm_escrow h2 {
    margin: 0;
    border: 0
}

#sod_frm #sod_frm_escrow p {
    margin: 5px 0
}

#display_pay_process {
    padding: 20px;
    text-align: center
}

#menu_terms {
    /*height: 60px;*/
    /*margin-bottom: 10px;*/
}

#menu_terms li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 60px;
    font-size: 16px;
    color: #141312;
    padding: 20px 40px;
    cursor: pointer;
    border-bottom: 1px solid #c9c9c9;
}

#menu_terms li svg {
    margin-left: 7px;
}

#menu_terms li svg:nth-child(2) {
    display: none;
}

#menu_terms li.active svg:nth-child(2) {
    display: inline-flex;
}

#menu_terms li.active svg:first-child {
    display: none;
}

#menu_terms li:last-child {
    border-bottom: none;
}

#menu_terms li.active {
    /*border: 1px solid #525252;*/
    /*border-bottom: 0;*/
    /*background-color: #ffffff;*/
}

#menu_terms li input[type="checkbox"] {
    display: none;
}

#menu_terms li input[type="checkbox"] + label {
    display: inline-block;
    left: 4px;
    width: 20px;
    height: 20px;
    position: absolute;
    box-shadow: 0 0 0 2px #8D755D inset;
    border-radius: 20px;
}

#menu_terms li input[type="checkbox"]:checked + label {
    background-image: url('/assets/img/calendar/check.png');
    background-repeat: no-repeat;
    background-position: center;
}

#menu_terms li span {
    display: none;
    position: absolute;
    width: 30px;
    height: 30px;
    background-image: url('/assets/img/calendar/check.png');
    background-repeat: no-repeat;
    background-position: center;
}

#menu_terms li.active .menu_terms__sub {
    display: block;
}

.menu_terms__sub {
    max-height: 180px;
    overflow-y: scroll;
    margin-top: 10px;
}

.menu_terms__sub table {
    width: 100%;
    font-size: 14px;
}

.menu_terms__sub th {
    font-weight: 400;
    background: #eee;
    text-align: center;
    padding: 10px 0;
}

.menu_terms__sub th,
.menu_terms__sub td {
    border: 1px solid #d9d9d9;
}

.menu_terms__sub td {
    text-align: center;
    padding: 10px 0;
}

.menu_terms__sub .sub_terms {
    font-size: 14px;
    padding: 10px 20px;
    border: 1px solid #d9d9d9;
}

.sub_terms--mt20 {
    margin-top: 20px;
}

#get_terms {
    border: 1px solid #dddddd;
    border-radius: 5px;
}

#get_terms .sub_terms {
    padding: 15px;
}

#get_terms table {
}

#get_terms thead th, #get_terms tbody th {
    border: 1px solid #d5d5d5;
    background: #f9f9f9;
    padding: 10px;
}

#get_terms tbody th {
    width: 200px;
}

#get_terms td {
    border: 1px solid #d5d5d5;
    padding: 10px;
    text-align: center;
}

#terms_check {
    font-size: 14px;
    color: #ff0000;
    letter-spacing: -0.4px;
    text-align: center;
    margin-top: 40px;
}

/* 자료 없는 목록 */
.empty_table {
    padding: 50px 0 !important;
    text-align: center !important
}

.empty_list {
    padding: 20px 0 !important;
    text-align: center !important
}

/* 주문내역 */
#sod_v {
}

#sod_v td {
    text-align: center
}

#sod_v td a {
    font-weight: bold
}

#sod_v .basic_tbl {
    text-align: center
}

#sod_v_info {
    margin: 0 0 10px
}

.status_01 {
    display: inline-block;
    background: #fe528f;
    color: #fff;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

.status_02 {
    display: inline-block;
    background: #68d0a7;
    color: #fff;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

.status_03 {
    display: inline-block;
    background: #b668d0;
    color: #fff;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

.status_04 {
    display: inline-block;
    background: #ffa700;
    color: #fff;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

.status_05 {
    display: inline-block;
    background: #688fef;
    color: #fff;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

.status_06 {
    display: inline-block;
    background: #fff;
    border: 1px solid #ddd;
    color: #666;
    padding: 0 5px;
    line-height: 20px;
    font-size: 0.92em
}

/* 주문상세내역 */
#sod_fin {
}

#sod_fin th {
    padding: 8px
}

#sod_fin .th_line th {
    border-top: 1px solid #ddd;
}

#sod_fin_no {
    margin: 0 0 20px;
    padding: 15px;
    border: 4px solid #f3f3f3;
    font-size: 1.25em
}

/*#sod_sts_wrap {margin:0 0 10px;text-align:right}
#sod_sts_explan {display:none}

#sod_fin_legend {padding:10px;background:#f3f3f3;margin:10px 0;border:1px solid #e9e9e9;text-align:left;zoom:1}
#sod_fin_legend:after {display:block;visibility:hidden;clear:both;content:''}
#sod_fin_legend dt {clear:both;float:left;margin:0 0 5px;width:50px;font-weight:bold}
#sod_fin_legend dd {float:left;margin:0}*/

#sod_fin #sod_bsk_tot li {
    background: #fff;
    border-bottom: 1px solid #e7ebf1;
    height: 40px;;
    padding: 0 15px;
    line-height: 40px;
    text-align: right
}

#sod_fin #sod_bsk_tot li span {
    float: left;
    clear: both;
    color: #777;
}

#sod_fin #sod_bsk_tot li strong {
}

#sod_fin #sod_bsk_tot .sod_bsk_cnt strong {
    color: #ff006c;
    font-size: 1.25em
}

#request_form {
    position: relative
}

#request_form div {
    display: none;
    z-index: 10000;
    position: absolute;
    top: 23px;
    left: 0;
    padding: 20px 0;
    width: 520px;
    border: 1px solid #000;
    background: #f2f5f9;
    text-align: center
}

#request_form .frm_input {
    width: 300px;
    background: #fff !important
}

#request_form .btn_frmline, #request_form .btn_cancel {
    vertical-align: middle !important
}

#request_form .btn_frmline {
    padding: 0 10px;
    line-height: 1.6em
}

#sod_req_btn {
    margin: 0 0 10px
}

#sod_req_btn button {
    background: #626870
}

#sod_req_log {
    margin: 0 0 20px
}

#sod_req_log ul {
    margin: 0;
    padding: 0;
    border-top: 1px solid #e9e9e9;
    background: #f2f5f9;
    list-style: none
}

#sod_req_log li {
    padding: 10px 10px 20px;
    border: 1px solid #e9e9e9;
    border-top: 0
}

#sod_req_log h3 {
    margin: 20px 0 10px
}

.sod_req_log_view table {
    margin: 0
}

.sod_req_log_view caption {
    padding: 10px 0;
    font-size: 1em;
    font-weight: bold;
    text-align: left;
    line-height: 1em
}

.sod_req_log_view caption span {
    color: #ff3061
}

.sod_req_log_view th {
    border-top: 1px solid #e9e9e9;
    background: #f7f7f7 !important;
    color: #000 !important;
    text-align: center
}

.sod_req_log_view td {
    background: #fff;
    color: #000
}

.sod_req_log_view p {
    padding: 10px 15px;
    border-bottom: 1px solid #e9e9e9;
    background: #fff;
    color: #000
}

.sod_req_log_view .sod_req_it {
    width: 270px
}

.sod_req_log_view button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ff3061;
    text-decoration: underline;
    vertical-align: middle;
    cursor: pointer
}

#sod_fin_list > h2 {
    font-size: 16px;
    margin: 0 0 10px
}

#sod_fin_list .td_bdno {
    border-left: 0
}

#sod_fin_list .td_bdno a {
    font-weight: bold
}

#sod_fin_view {
    border: 1px solid #e9e9e9
}

#sod_fin_view h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

#sod_fin_view h3 {
    margin: 0 0 10px
}

#sod_fin_view .basic_tbl th {
    padding: 0 10px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    background: #f2f5f9;
    text-align: left
}

#sod_fin_pay {
    margin: 0 0 30px
}

#sod_fin_orderer {
    margin: 0 0 30px
}

#sod_fin_receiver {
    margin: 0 0 30px;
}

#sod_fin_dvr {
}

#sod_fin .sod_left {
    background: #fafafa;
    padding: 20px;
}

#sod_fin .sod_left h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

#sod_fin .sod_left h3 {
    font-size: 1.167em;
    margin: 0 0 10px
}

#sod_fin .sod_left .tbl_head01 {
}

#sod_fin .sod_left th {
    padding: 10px;
    border: 0;
    border-top: 1px solid #f3f3f3;
    text-align: left;
    width: 100px;
    color: #666;
    background: #fff
}

#sod_fin .sod_left td {
    padding: 10px;
    border: 0;
    border-top: 1px solid #f3f3f3;
    background: #fff
}

#sod_fin .sod_right {
    -webkit-box-shadow: inset 7px 0 9px -7px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 7px 0 9px -7px rgba(0, 0, 0, 0.2);
    box-shadow: inset 7px 0 11px -5px #ced8e5;
    padding: 20px;
}

#sod_fin_dvr .dvr_link {
    color: #ff3061;
    text-decoration: underline
}

#sod_fin_tot {
    margin: 10px 0
}

#sod_fin_tot h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

#sod_fin_tot ul {
    margin: 0;
    padding: 0;
    list-style: none
}

#sod_fin_tot li {
    padding: 10px;
    background: #38b2b9;
    border-bottom: 1px solid #5ec2c7;
    color: #fff;
    zoom: 1
}

#sod_fin_tot li:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#sod_fin_tot #alrdy {
    border-bottom: 0 !important
}

#sod_fin_tot #alrdy .right {
    margin-top: 10px;
    text-align: right;
    color: #f3f3f3;
    font-size: 0.9em
}

#sod_fin_tot #alrdy .right p {
    position: relative
}

#sod_fin_tot #alrdy .right .title {
    position: absolute;
    left: 0;
    padding-left: 8px
}

#sod_fin_tot strong {
    float: right
}

#sod_fin_cancel {
    text-align: center
}

#sod_fin_cancel h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden
}

#sod_fin_cancel button {
    height: 40px;
    border: 1px solid #5e6b6f;
    font-weight: bold;
    width: 100%;
    background: none;
    color: #5e6b6f
}

#sod_fin_cancel button:hover {
    background: #fff
}

#sod_fin_refund {
    margin-top: 5px;
    color: #cd2020;
}

#sod_fin_cancelfrm {
    display: none;
    margin: 10px 0 0;
    text-align: center;
    background: #fff;
    padding: 15px
}

#sod_fin_cancelfrm .frm_input {
    background: #fff;
    margin: 0 0 5px;
    width: 100%
}

#sod_fin_cancelfrm .btn_frmline {
    background: #5e6b6f;
    color: #fff;
    border: 0;
    padding: 10px;
    width: 100%;
    cursor: pointer
}

#sod_fin_test {
    padding: 10px
}

/* 주문상세내역 중 현금영수증 발급 */
#scash {
}

#scash section {
    padding: 10px 0
}

#scash h2 {
    margin: 0 0 10px;
    text-align: center
}

#scash .basic_tbl th {
    padding: 0 10px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    background: #f2f5f9;
    text-align: left
}

#scash_apply {
    padding: 10px 0 20px;
    text-align: center
}

#scash_apply button {
    padding: 10px;
    border: 0;
    background: #565e60;
    color: #fff
}

#scash_copy {
    text-align: center
}

/* 객실형 달력 */
.sinfo_left {
    display: table-cell;
    max-width: 620px;
    vertical-align: top;
    padding: 0 20px 0 0
}

.sinfo_right {
    display: table-cell;
    width: 380px;
    vertical-align: top;
}

.sinfo_right #reserv_caution {
    margin-top: 0;
}

.tbl_info {
    border: 1px solid #ed2b3c;
    padding: 20px 25px;
    margin-bottom: 30px;
    background: #fff9f9;
}

.tbl_info table {
    width: 570px;
    margin: 0 auto;
}

.tbl_info tr:first-child td {
    padding: 0 0 15px;
    text-align: left;
    background: url('/assets/img/calendar/line2.png') 0 bottom repeat-x;
}

.tbl_info tr:last-child td {
    padding: 15px 0 0;
}

.tbl_info td {
    vertical-align: middle;
}

.tbl_info td:last-child {
    text-align: right;
    line-height: 25px;
}

.sinfo_left #reserv_title_prev_year {
    height: 43px;
    text-align: center;
    width: 23px;
    margin-right: 5px;
}

/* 전년도 */
.sinfo_left #reserv_title_prev_month {
    height: 43px;
    text-align: center;
    width: 23px;
    margin-right: 15px;
}

/* 전월 */
.sinfo_left #reserv_title_today {
    height: 43px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    width: 150px
}

/* 오늘 년월 */
.sinfo_left #reserv_title_next_month {
    height: 43px;
    text-align: center;
    width: 23px;
    margin-left: 15px;
}

/* 다음달 */
.sinfo_left #reserv_title_next_year {
    height: 43px;
    text-align: center;
    width: 23px;
    margin-left: 5px;
}

/* 다음년도 */

.tbl_count {
    margin-bottom: 20px;
    border: 1px solid #d5d5d5;
}

.tbl_count h2 {
    font-size: 16px;
    padding: 17px;
    border-bottom: 1px solid #d5d5d5;
    background: #f9f9f9;
}

.tbl_count h2 select {
    float: right;
    background: #fff;
    color: #5c5c5c;
    font-size: 12px;
    height: 30px;
    border: 1px solid #e4e4e4;
}

.tbl_count h2 span {
    float: right;
    font-size: 12px;
    margin-top: 2px;
    font-weight: normal;
}

.tbl_count table {
    width: 90%;
    margin: 0 auto;
    color: #222;
    font-size: 14px;
}

.tbl_count tbody tr {
    background: url('/assets/img/calendar/line.jpg') 0 bottom repeat-x;
}

.tbl_count tbody tr:last-child {
    background: none;
}

.tbl_count tbody th {
    text-align: left;
    padding: 10px;
}

.tbl_count tbody td {
    text-align: right;
    padding: 10px;
}

.tbl_count tbody td .date {
    font-size: 18px;
    color: #ed2b3c;
    font-weight: bold
}

#info_option table tbody td {
    padding: 5px;
}

/* Mobile화면으로 */
#device_change {
    display: block;
    margin: 0.3em;
    padding: 0.5em 0;
    border: 1px solid #eee;
    border-radius: 2em;
    background: #fff;
    color: #000;
    font-size: 2em;
    text-decoration: none;
    text-align: center
}

/* 하단 예약 알림 경고 */
#confirm {
    width: 1418px;
    font-size: 14px;
    color: #626262;
    letter-spacing: -0.4px;
    padding: 85px 71px;
    margin: 0 auto;
}

/* 예약확인, 예약관리 */
.check {
    width: 480px;
    margin: 60px auto 60px auto;
    padding-top: 50px;
}

.check #subtit {
    font-size: 16px;
    text-align: center;
    color: #706f6f;
    line-height: 16px;
    margin-bottom: 12px;
}

.check #subtit span {
    color: #f67474;
}

.check #tit {
    font-size: 45px;
    text-align: center;
    color: #373737;
    line-height: 45px;
    margin-bottom: 50px;
    text-transform: uppercase;
}

.check #cont {
    font-size: 14px;
    text-align: center;
    color: #3d3d3d;
    line-height: 14px;
    margin-top: 15px;
}

.rsv_input {
    width: 478px;
    height: 53px;
    border: 1px solid #d5d5d5;
    color: #3d3d3d;
    font-size: 16px;
    margin-bottom: 10px;
    text-indent: 25px;
}

#rsv_submit {
    width: 480px;
    height: 55px;
    border: 0;
    color: #ffffff;
    font-size: 17px;
    line-height: 55px;
    text-align: center;
    background-color: #f67474;
}

/* 예약정보보기 */
#pop_de {
    width: 1000px;
    margin: 20px auto 50px;
}

#pop_de .tit {
    width: 1000px;
    margin-bottom: 20px;
    border-bottom: #44a1ff 2px solid;
    font-size: 20px;
    line-height: 40px;
}

#pop_de .tit select {
    float: right;
}

#pop_de .stit {
    width: 150px;
    height: 35px;
    line-height: 35px;
    font-size: 18px;
    border-bottom: #000000 1px solid;
    text-align: center;
}

.pop_de_tb {
    width: 1000px;
    border: #dfdfdf 1px solid;
    margin-bottom: 20px;
}

.pop_de_tb th {
    background: #f8f9fa;
    border-right: #dfdfdf 1px solid;
    border-bottom: #dfdfdf 1px solid;
    font-size: 14px;
    font-weight: normal;
    vertical-align: middle;
    height: 40px;
}

.pop_de_tb th.total {
    background: #fff7f7;
    font-size: 16px;
    font-weight: normal;
    vertical-align: middle;
    padding: 5px 0 5px 7px;
}

.pop_de_tb td {
    border-right: #dfdfdf 1px solid;
    border-bottom: #dfdfdf 1px solid;
    color: #7f7f7f;
    font-size: 13px;
    padding: 5px 0 5px 7px;
    vertical-align: middle;
}

.pop_de_tb td.td2 {
    border-right: #dfdfdf 1px solid;
    border-bottom: #dfdfdf 1px solid;
    color: #7f7f7f;
    font-size: 13px;
    padding: 5px;
    vertical-align: middle;
    text-align: center;
}

.pop_de_tb td .bt_sms {
    margin-left: 3px;
    vertical-align: middle;
}

.pop_de_tb td input[type=radio] {
    vertical-align: middle;
}

.pop_de_tb td input[type=checkbox] {
    vertical-align: middle;
}

#pop_de .bt_box {
    width: 100%;
    height: 35px;
    text-align: center;
}

#pop_de .bt_box li {
    display: inline-block;
}

#pop_de .bt_box li:first-child {
    margin-right: 5px;
}

/* 테이블 그리드 */
.grid_1 {
    width: 50px
}

.grid_2 {
    width: 100px
}

.grid_3 {
    width: 150px
}

.grid_4 {
    width: 200px
}

.grid_5 {
    width: 250px
}

.grid_6 {
    width: 300px
}

.grid_7 {
    width: 350px
}

.grid_8 {
    width: 400px
}

.grid_9 {
    width: 450px
}

.grid_10 {
    width: 500px
}

.grid_11 {
    width: 550px
}

.grid_12 {
    width: 600px
}

.grid_13 {
    width: 650px
}

.grid_14 {
    width: 700px
}

.grid_15 {
    width: 750px
}

.grid_16 {
    width: 800px
}

.grid_17 {
    width: 850px
}

.grid_18 {
    width: 900px
}

.tx_red {
    color: #ef3434;
}

.tx_blue {
    color: #4771dd;
}

.mody {
    width: 100px;
    color: #ffffff;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 15px;
    background: #525c78;
    cursor: pointer;
}

.del {
    width: 100px;
    color: #ffffff;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 15px;
    background: #99a2ab;
    cursor: pointer;
}

/* 폼 */
textarea, .frm_input {
    border: 1px solid #ced9de;
    vertical-align: middle
}

textarea {
    padding: 2px;
    width: 90%;
    height: 100px
}

.frm_input {
    height: 30px;
    border: #cccccc 1px solid;
    line-height: 28px;
    font-size: 13px;
    color: #999999;
    text-indent: 5px;
    box-sizing: border-box;
}

.full_input {
    width: 98%
}

select {
    border: 1px solid #ced9de
}

legend {
    position: absolute;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999em;
    border: 0;
    overflow: hidden
}

.readonly {
}

/* 폼 안내글 */
.frm_info {
    display: block;
    padding: 0 0 5px;
    color: #5b747e
}

/* 모달형태 */
#modal {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1000;
}

#modal .modal_wrap {
    position: absolute;
    border-radius: 5px;
    z-index: 1001;
    width: 372px;
    height: 390px;
    background: #eeeeee;
    margin-left: -186px;
    margin-top: -195px;
}

#modal .modal_body {
    margin: 10px;
    max-height: 390px;
}

#modal .modal_close {
    border: 0;
    position: absolute;
    z-index: 1002;
    right: -15px;
    top: -15px;
    border-radius: 15px;
    font-size: 30px;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    background: #fff;
}

/* 모달 + 확인창 */
.confirm {
    position: absolute;
    width: 500px;
    height: 300px;
    border: 1px solid #eee;
    border-radius: 3px;
    margin-left: -250px;
    margin-top: -150px;
    background: #fff;
    -moz-box-shadow: 2px 2px 2px 2px #d5d5d5;
    -webkit-box-shadow: 2px 2px 2px 2px #d5d5d5;
    box-shadow: 2px 2px 2px 2px #d5d5d5;
}

.confirm button {
    background: none;
    border: 0;
    border-radius: 5px;
}

.confirm #btn_close {
    position: absolute;
    width: 23px;
    height: 23px;
    background: #fff;
    border: 1px solid #eee;
    right: 15px;
    top: 15px;
}

.confirm .co_title {
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    background: #fff3dd;
    border-bottom: 1px solid #eee;
}

.confirm .co_cont {
    padding: 10px;
}

.confirm .co_btn {
    position: absolute;
    width: 100%;
    bottom: 0;
    border-top: 1px solid #eee;
    text-align: right;
    height: 50px;
}

.confirm .co_btn button {
    margin: 10px 10px 0 0;
    padding: 8px;
    text-align: center;
    color: #fff;
}

.confirm #btn_true {
    background: #596cff;
}

.confirm #btn_true:hover {
    background: #2942fe;
}

.confirm #btn_false {
    background: #ff6161;
}

.confirm #btn_false:hover {
    background: #ff2e2e;
}

/* 모바일주문서 */
/* 장바구니 주문서 공통 */
#sod_chk {
    margin: 10px;
}

.sod_list {
    margin: 10px
}

.sod_list .sod_li {
    background: #fff;
    border-bottom: 1px solid #ccc;
    margin: 10px 0;
}

.sod_list .li_name {
    border-bottom: 1px solid #dcdcdc;
    line-height: 1.3em;
    padding: 10px 10px;
    font-size: 1.083em
}

.sod_list .li_op_wr {
    position: relative;
    margin: 10px;
    padding-left: 120px;
    min-height: 80px
}

.sod_list .total_img {
    position: absolute;
    top: 0;
    left: 0
}

.sod_list .mod_options {
    padding: 0 7px;
    border: 1px solid #38b2b9;
    color: #38b2b9;
    background: #fff;
    height: 23px;
    line-height: 21px;
    margin: 5px 0 0;
}

.sod_list .li_prqty {
    margin: 10px 10px;
    border-top: 1px solid #dcdcdc;
    padding: 10px 0 0
}

.sod_list .li_prqty:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ''
}

.sod_list .li_prqty_sp {
    float: left;
    width: 50%;
    display: block;
    line-height: 20px;
    padding: 0 7px;
    text-align: right;
}

.sod_list .li_prqty_sp span {
    float: left
}

.sod_list .prqty_sc, .sod_list .prqty_price {
    border-right: 1px solid #dcdcdc
}

.sod_list .total_price {
    background: #f5f5f5;
    border: 1px solid #e2e2e2;
    display: block;
    clear: both;
    margin: 10px;
    text-align: right;
    padding: 5px 10px;
    line-height: 20px
}

.sod_list .total_price span {
    float: left
}

.sod_list .total_price strong {
    font-size: 1.25em;
    color: #ff006c
}

.sod_opt li {
    padding-left: 10px;
    background: url('/assets/img/calendar/bullet.gif') no-repeat 3px 50%;
    color: #777;
    margin: 3px 0;
    line-height: 1.3em;
}

.tbl_option {
    border: 1px solid #d5d5d5;
    background: #fff;
}

.tbl_option h2 {
    position: relative;
    background: #fff9f9 url('/assets/img/calendar/img_buga_txt.png') left 85px center no-repeat;;
    font-size: 14px;
    padding: 10px;
    border-bottom: 1px solid #d5d5d5;
}

.tbl_option ul {
    width: 95%;
    margin: 0 auto;
}

.tbl_option li:nth-child(2n-1) {
    padding: 10px 0;
}

.tbl_option li:nth-child(2n) {
    border-bottom: 1px solid #ededed;
}

.tbl_option li:last-child {
    border: 0;
}

.tbl_option strong {
    margin-left: 5px;
    color: #da4416;
    cursor: pointer;
}

.tbl_option #opt_question {
    position: absolute;
    z-index: 5;
    width: 170%;
    top: 30px;
    left: 0;
    border: 2px solid #9dccef;
    background: #cee5f6;
    border-radius: 5px;
    padding: 5px
}

.tbl_option table {
    font-size: 13px;
    border-collapse: collapse;
    border-spacing: 0 5px;
    border: 1px solid #ededed;
    width: 95%;
    margin: 0 auto;
    text-align: center;
}

.tbl_option tbody th {
    position: relative;
    width: 33.33%;
    background: #ededed;
}

.tbl_option tbody td {
    padding: 5px 20px;
    border: 1px solid #ededed;
}

.tbl_option tbody td:first-child {
    text-align: left;
}

.tbl_option tbody td:last-child {
    text-align: right
}

.tbl_option tbody td span {
    display: inline-block;
    font-size: 12px !important;
    color: #ed2b3c !important;
}

.tbl_option .op_cont {
    font-size: 12px;
    margin: 10px 15px;
    color: #718ae8;
}

.sod_opt_list {
    margin: 10px;
}

.sod_opt_list h2 {
    line-height: 100%;
}

.sod_opt_list table {
    width: 100%;
}

.sod_opt_list thead th {
    padding: 8px;
    border-bottom: 1px solid #555
}

.sod_opt_list tbody td {
    padding: 5px;
}

.sod_opt_list tfoot td {
    padding: 5px;
    border: 1px solid #ededed;
}

.sod_opt_list .td_num {
    width: 10%;
}

.sod_opt_list .td_price {
    width: 25%;
}

.pay_price {
    color: #ff006c;
    font-size: 1.083em
}

#sod_frm_terms {
    padding: 10px;
    padding-top: 0;
    border-top: 1px solid #f3f3f3;
}

#sod_frm_terms > strong {
    float: right;
    margin: 3px 5px 10px;
}

#sod_terms h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    content: ""
}

#sod_terms > div {
    border: 1px solid #d5d5d5;
    background: #fff;
}

#sod_terms .sub_terms {
    padding: 10px;
}

#sod_terms .chk_tvalue {
    display: block;
    text-align: right;
    padding: 8px;
    border-top: 1px solid #d5d5d5;
}

.get_terms table {
}

.get_terms thead th, .get_terms tbody th {
    border: 1px solid #d5d5d5;
    background: #f9f9f9;
    padding: 10px;
}

.get_terms tbody th {
    width: 35%;
}

.get_terms td {
    border: 1px solid #d5d5d5;
    padding: 10px;
    text-align: center;
}

#sod_fin_refund {
    margin: 10px 0 0;
}

/* 장바구니 */
#mod_option_frm {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 99;
    border-radius: 0 0 3px 3px;
    -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
}

#mod_option_frm h2 {
    height: 45px;
    line-height: 45px;
    font-size: 1.167em;
    background: #333;
    color: #fff;
    padding: 0 15px
}

#mod_option_frm #sit_sel_option {
    margin: 15px
}

#mod_option_frm #sit_tot_price {
    margin: 15px
}

#mod_option_frm #sit_sel_option ul {;
    background: #f3f3f3;
    border: 0
}

#mod_option_frm h3 {
    margin: 0 0 10px;
    color: #5772d5;
}

#mod_option_frm .option_wr {
    margin: 15px;
}

#mod_option_frm .option_wr label {
    margin: 0 0 5px;
    display: block
}

#mod_option_frm .option_wr select {
    width: 100%;
    height: 30px;
    border: 1px solid #d9d9d9;
    margin: 0 0 5px;
}

#mod_option_frm .btn_confirm {
    margin: 15px;
}

#mod_option_frm .btn_confirm .btn_submit {
    height: 40px;
    font-size: 1.167em;
    font-weight: bold;
    width: 100%;
}

#mod_option_frm .btn_confirm .btn_close {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    border: 0;
    background: none;
    color: #fff;
    font-size: 1.25em
}

#sod_bsk .btn_del_wr {
    margin: 10px
}

#sod_bsk .sod_ta_wr {
    background: #fff;
    padding: 15px;
}

#sod_bsk .go_shopping {
    margin: 10px
}

#sod_bsk .go_shopping .btn01 {
    height: 45px;
    line-height: 43px;
    font-size: 1.167em;
    font-weight: bold;
    width: 100%;
    text-align: center
}

#m_sod_bsk_tot {
    background: #f4f4f4;
    border-radius: 5px;
    padding: 5px 10px
}

#m_sod_bsk_tot:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#m_sod_bsk_tot dt {
    float: left;
    width: 47%;
    padding: 5px 0;
    line-height: 20px;
    clear: both
}

#m_sod_bsk_tot dd {
    float: left;
    width: 48%;
    padding: 5px 0;
    text-align: right;
    line-height: 20px
}

#m_sod_bsk_tot .sod_bsk_cnt {
    border-top: 1px solid #cdcdcd;
    font-weight: bold;
    margin-top: 5px;
    line-height: 25px
}

#m_sod_bsk_tot .sod_bsk_cnt strong {
    color: #ff006c;
    font-size: 1.25em
}

#sod_bsk_act .btn_submit {
    height: 45px;
    font-size: 1.167em;
    font-weight: bold;
    width: 100%;
    margin: 10px 0
}

/* 주문서 작성 */
#sod_frm .od_prd_list {
    margin: 10px;
    background: #fff;
    padding: 15px
}

.od_prd_list .td_chk {
    border-left: 0;
}

.od_prd_list .td_prd {
    border-left: 0;
    position: relative;
    padding-left: 90px;
    min-height: 100px
}

.od_prd_list .td_prd .sod_img {
    position: absolute;
    top: 15px;
    left: 0
}

.od_prd_list .td_prd .sod_name {
    min-height: 80px
}

.od_prd_list .td_prd .prd_name {
    font-size: 1.167em
}

.od_prd_list .total_prc {
    color: #ff006c;
    font-weight: bold;
    font-size: 1.167em
}

#sod_frm_orderer {
}

#sod_frm_taker {
    padding: 10px;
}

#sod_frm_taker h2, #sod_frm_orderer h2 {
    margin: 10px 0;
    font-size: 1.25em
}

.odf_list li {
}

.odf_list label, .odf_list strong {
    display: block;
    margin: 7px 0 5px;
    color: #444;
    font-weight: normal
}

.odf_list .frm_input {
    width: 100%;
    margin: 0 0 5px
}

.odf_list .dlv_slt div {
    background: #f3f3f3;
    border: 1px solid #ccc;
    margin: 5px 0;
    padding: 10px
}

.odf_list .dlv_slt div label {
    display: inline-block;
    margin: 3px 0;
    color: #000
}

#order_address {
    display: block;;
    text-align: center;
    border: 1px solid #3476be;
    color: #3476be;;
    height: 30px;
    line-height: 28px;
    margin: 5px 0 0;
    background: none
}

.odf_list .ad_default {
    display: inline-block;
    margin: 0
}

.odf_list .btn_addsch {
    position: absolute;
    top: 5px;
    right: 5px;
    border-radius: 3px;
    height: 30px;
}

.odf_list .add_num {
    position: relative;
    display: block;
}

.odf_list textarea {
    border: 1px solid #ccc;
    background: #fff;
    color: #000;
    vertical-align: middle;
    border-radius: 3px;
    padding: 5px;
    width: 100%;
    height: 70px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

#m_sod_frm_paysel {
    margin: 10px 0;
}

#m_sod_frm_paysel ul {
    margin: 0 0;
    background: #fff;
    padding: 10px;
    border-bottom: 1px solid #ccc
}

#m_sod_frm_paysel ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

#m_sod_frm_paysel li {
    float: left;
    padding: 5px;
    width: 46%;
    height: 25px
}

#m_sod_frm_paysel .KPAY {
    background: url('../../assets/img/calendar/kpay.png') no-repeat;
    width: 37px;
    height: 15px;
    overflow: hidden;
    text-indent: -999px;
    display: inline-block;
    background-size: 100%
}

#m_sod_frm_paysel .PAYNOW {
    background: url('../../assets/img/calendar/paynow.png') no-repeat;
    width: 46px;
    height: 15px;
    overflow: hidden;
    text-indent: -999px;
    display: inline-block;
    background-size: 100%;
}

#m_sod_frm_paysel .PAYCO {
    background: url('../../assets/img/calendar/payco.png') no-repeat 1px;
    width: 46px;
    height: 15px;
    overflow: hidden;
    text-indent: -999px;
    display: inline-block;
    background-size: 100%;
}

#m_sod_frm_paysel .inicis_lpay {
    background: url('../../assets/img/calendar/lpay_logo.png') no-repeat;
    width: 35px;
    height: 12px;
    overflow: hidden;
    text-indent: -999px;
    display: inline-block;
    background-size: 100%;
}

.kakaopay_icon {
    background: url('../../assets/img/calendar/kakao.png') no-repeat;
    height: 21px;
    width: 74px;
    display: inline-block;
    overflow: hidden;
    text-indent: -999px;
    background-size: 100%
}

.samsung_pay {
    background: url('../../assets/img/calendar/samsungpay.png') no-repeat;
    height: 12px;
    width: 83px;
    display: inline-block;
    overflow: hidden;
    text-indent: -999px
}

#sod_frm .sod_ta_wr {
    background: #fff;
    padding: 15px;
}

#sod_frm .btn_confirm {;
    margin: 0 10px 10px
}

#sod_frm .btn_submit {
    width: 100%;
    height: 45px;
    font-size: 1.167em;
    font-weight: bold;
    margin: 5px 0
}

#sod_frm .btn_cancel, #sod_frm .btn01 {
    width: 100%;
    height: 45px;
    line-height: 43px;
    font-size: 1.167em;
    font-weight: bold;
    padding: 0;
    border-radius: 0
}

#sod_frm_pay {
    padding: 10px;;
    border-top: 1px solid #f3f3f3
}

#sod_frm_pay h2 {
    margin: 10px 0;
    font-size: 1.25em
}

#sod_frm_pay .cp_btn1, #sod_frm_pay .cp_cancel1 {
    margin-top: 0
}

.odf_tbl {
    position: relative
}

.odf_tbl table {
    background: #fff;
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px solid #ccc
}

.odf_tbl table th {
    border-top: 1px solid #eceff4;
    padding: 10px;
    text-align: left;
    width: 120px;
    font-weight: normal
}

.odf_tbl table td {
    border-top: 1px solid #eceff4;
    padding: 7px 10px;
    text-align: right
}

#sod_frm_pt_alert {
    margin: 10px 0;
    color: #328abd;
}

.sod_frm_point {
    padding: 10px 0;;
    clear: both
}

.sod_frm_point div {
    background: #fff;
    border-bottom: 1px solid #eceff4;
    padding: 10px;
    text-align: right
}

.sod_frm_point div:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ''
}

.sod_frm_point div label {
    float: left;
    line-height: 30px
}

.sod_frm_point div span {
    display: block;
    font-size: 0.92em
}

.sod_frm_point div span:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ''
}

.sod_frm_point .max_point_box em {
    font-style: normal !important
}

.sod_frm_point div strong {
    float: left;
    color: #666;
    font-weight: normal
}

.sod_frm_point #od_temp_point {
    height: 30px;
    border: 1px solid #ccc;
    text-align: right
}

#settle_card, #settle_bank {
    background: #fff;
    border-bottom: 1px solid #ccc;
    padding: 10px;
    text-align: right;
    clear: both
}

#settle_bank select {
    height: 30px;
    margin: 0 0 5px;
    width: 100%;
}

#settle_bank #od_deposit_name {
    height: 30px;
    border: 1px solid #ccc;
    text-align: center;
}

#settle_bank label {
    float: left;
    line-height: 30px
}

#sod_frm_pt_info {
    border-bottom: 1px solid #ccc
}

.od_coupon {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 99;
    border-radius: 0 0 3px 3px;
    -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
}

.od_coupon h3 {
    height: 45px;
    line-height: 45px;
    font-size: 1.167em;
    background: #333;
    color: #fff;
    padding: 0 15px;
    text-align: left
}

.od_coupon .tbl_head02 {
}

.od_coupon .tbl_head02 .btn_frmline {
    background: #3b67c2;
    color: #fff;
    border: 0;
    padding: 0 5px;
    line-height: 25px
}

.od_coupon .tbl_head02 td {
    text-align: left
}

.od_coupon .tbl_head02 th {
    width: auto !important
}

.od_coupon .tbl_head02 .td_mngsmall {
    width: 60px;
    text-align: center
}

.od_coupon .tbl_head02 .td_numbig {
    width: 80px;
    text-align: right
}

.od_coupon .btn_confirm {
    margin: 20px;
}

.od_coupon .btn_confirm .btn_submit {
    height: 40px;
    font-size: 1.167em;
    font-weight: bold;
    width: 100%;
}

.od_coupon .btn_confirm .btn_close {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    border: 0;
    background: none;
    color: #fff;
    font-size: 1.25em
}

.cp_btn, .cp_btn1 {
    padding: 0 7px;
    border: 1px solid #38b2b9;
    color: #38b2b9;
    background: #fff;
    height: 23px;
    line-height: 21px;
    margin: 10px 0 0
}

.cp_apply {
    background: #3b67c2;
    color: #fff;
    border: 0;
    padding: 0 5px;
    line-height: 25px
}

.cp_cancel, .cp_cancel1 {
    padding: 0 7px;
    border: 1px solid #aaa;
    color: #666;
    background: #fff;
    height: 23px;
    line-height: 21px;
    margin: 10px 0 0 2px;
}

#sod_frm_escrow {
    margin: 10px;
}

#sod_frm_escrow h2 {
    font-size: 1.25em
}

#od_pay_sl h3 {
    font-size: 1.25em
}

/* 목록 바로가기 */
.sanchor {
    margin: 0 0 5px;
    padding: 0
}

.sanchor:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

.sanchor li {
    float: left;
    list-style: none;
    width: 20%;
    border-top: 2px solid #000;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    letter-spacing: 0.2em;
    font-size: 0.93em
}

.sanchor a {
    display: block;
    padding: 10px;
    border-left: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
    background: #fcfcfc;
    text-decoration: none;
    color: #484848
}

.sanchor a:focus, .sanchor a:hover {
    background: #eee;
    text-decoration: none
}

.sanchor a.sanchor_on {
    background: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff;
}

/* calendar_step2 */
.top-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top-section__today {
    display: flex;
    align-items: flex-end;
    height: 30px;
    margin-bottom: 15px;
}

.top-section__pension-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    max-width: 610px;
    height: 280px;
    background: #f6f6f6;
    padding: 0 40px;
    margin-top: 40px;
}

.top-section__pension-box--flex {
    display: flex;
    height: auto;
}

.top-section__pension-box--pension-name {
    font-size: 22px;
    font-weight: 600;
    color: #141312;
    letter-spacing: -0.4px;
    padding-right: 16px;
    margin-right: 16px;
    border-right: 1px solid #141312;
}

.top-section__pension-box--address-tel {
    width: 260px;
}

.top-section__pension-box--pension-address {
    display: flex;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    margin-top: 0;
}

.top-section__pension-box--pension-address div:first-child {
    position: relative;
    width: 55px;
    min-width: 55px;
    margin-right: 6px;
}

.top-section__pension-box--pension-address div:first-child:after {
    content: ':';
    position: absolute;
    top: 0;
    right: 0;
}

.top-section__pension-box--pension-tel {
    display: flex;
    font-size: 14px;
    letter-spacing: -0.4px;
}

.top-section__pension-box--pension-tel div:first-child {
    position: relative;
    width: 55px;
    min-width: 55px;
    margin-right: 6px;
}

.top-section__pension-box--pension-tel div:first-child:after {
    content: ':';
    position: absolute;
    top: 0;
    right: 0;
}

.top-section__pension-box--line {
    height: 1px;
    background-image: linear-gradient(to right, #a5a5a5 60%, rgba(255, 255, 255, 0) 0%);
    background-size: 16px 1px;
    margin: 20px 0 15px;
}

.top-section__pension-box--selected-date {
    font-size: 18px;
    letter-spacing: -0.4px;
    color: #141312;
    margin-top: 15px;
}

.top-section__pension-box--selected-date span {
    line-height: unset;
    padding-bottom: 5px;
}

.top-section__pension-box--selected-date span:first-child {
    color: #eb1c22;
}

.top-section__month {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 20px;
}

.top-section__month button {
    display: flex;
    width: 25px;
    height: 25px;
    background: #141312;
    border: none;
}

.top-section__month button.prev-month {
    padding-top: 6px;
    padding-left: 8px;
}

.top-section__month button.next-month {
    padding-top: 6px;
    padding-left: 9px;
}

.top-section__calendar-box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 610px;
    height: 410px;
    border: 1px solid #e5e5e5;
}

.top-section__calendar {
    width: 490px;
    height: 378px;
    border-spacing: 0;
    user-select: none;
}

.top-section__calendar th {
    position: relative;
    height: 54px;
    display: table-cell;
    vertical-align: inherit;
    font-weight: bold;
    text-align: center;
    padding: 0 8px;
}

.top-section__calendar th:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 8px;
    width: 54px;
    border-bottom: 2px solid #141312;
}

.top-section__calendar th.top-section__calendar-sun {
    color: #eb1c22;
}

.top-section__calendar th.top-section__calendar-sun:after {
    border-bottom: 2px solid #eb1c22;
}

.top-section__calendar th.top-section__calendar-sat {
    color: #16aaad;
}

.top-section__calendar th.top-section__calendar-sat:after {
    border-bottom: 2px solid #16aaad;
}

.top-section__calendar td {
    width: 70px;
    height: 54px;
    font-size: 14px;
    letter-spacing: -0.4px;
    color: #141312;
    min-width: 69px;
    padding: 0 8px;
    text-align: center;
    cursor: pointer;
    vertical-align: middle !important;
}

.top-section__calendar td.top-section__calendar-sun {
    color: #eb1c22;
}

.top-section__calendar td.top-section__calendar-sat {
    color: #16aaad;
}

.top-section__calendar td.top-section__calendar-disable {
    color: #aaa;
    cursor: default !important;
}

.top-section__calendar-select span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 33px;
    height: 33px;
    background-color: #2b2a29;
    border-radius: 50%;
    color: #fff;
    padding-right: 1px;
}

.fa, .far, .fas {
    font-family: "Font Awesome 5 Free" !important;
}

.pension-thumbnail {
    width: 60px;
    height: 60px;
    object-fit: cover;
    margin-right: 5px;
}

/* //calendar_step2 */

/* calendar main */
.main-calendar {
    background: #f6f6f6;
    width: 100%;
    height: 100%;
}

.calendar__header {
    display: flex;
    justify-content: center;
    height: 130px;
}

.calendar-warp {
    z-index: 1;
    position: relative;
    width: 100%;
    height: 100%;
}

.calendar__background {
    position: absolute;
    width: 100%;
    height: calc(100% - 164px);
    margin-top: 164px;
    background: #FFF;
}

.calendar-footer {
    /*position: relative;*/
    z-index: 2;
    width: 100%;
    height: 100%;
    background: #FFF;
}

.calendar__header-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 1418px;
    padding: 43px 66px 0;
}

.calendar__header-top {
    display: flex;
    justify-content: space-between;
}

.calendar__logo {
    display: flex;
    align-items: center;
}

.calendar__logo a {
    display: flex;
    align-items: center;
    color: #141312;
}

.calendar__logo a:hover {
    color: #141312;
    text-decoration: none;
}

.calendar__logo span {
    font-size: 13px;
    margin-top: 7px;
    margin-left: 7px;
    letter-spacing: -0.64px;
}

.calendar__header-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #141312;
    letter-spacing: -0.4px;
    padding: 0 10px 9px;
    border-bottom: 2px solid #313131;
}

.calendar__header-link:hover {
    text-decoration: none;
    color: #141312;
}

.calendar__header-link--mr18 {
    margin-right: 18px;
}

.calendar__header-bottom {
    max-width: 1418px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 84px 30px;
    margin: 0 auto;
}

.calendar__header-bottom__pension {
    max-width: 1418px;
    width: 100%;
    display: flex;
    padding: 50px 10px;
    justify-content: space-between;
    margin: 0 auto;
}

.calendar__prev-month,
.calendar__next-month {
    display: flex;
    width: 25px;
    height: 25px;
    background: #141312;
}

.calendar__prev-month {
    padding-top: 6px;
    padding-left: 8px;
}

.calendar__next-month {
    padding-top: 6px;
    padding-left: 9px;
}

.calendar__header-date {
    display: flex;
    align-items: flex-end;
}

.calendar__header-year-month-today {
    padding: 0 50px 0 60px;
}

.calendar__header-year {
    font-size: 35px;
    color: #141312;
    letter-spacing: -0.4px;
}

.calendar__header-month {
    font-size: 70px;
    color: #141312;
    letter-spacing: -0.4px;
    margin-left: 8px;
}

.calendar__header-today {
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    margin-left: 10px;
}

.calendar__header-status {
    display: flex;
    align-items: flex-end;
}

.calendar__header-status-item {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    margin-left: 10px;
}

.calendar__header-status-item span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    color: #fff;
    font-weight: 300;
    padding-bottom: 2px;
    margin-right: 7px;
}

.calendar__header-status-item span.possibility, .reserv_name label.possible span {
    /*background: #23c2c5;*/
    background-image: url("/assets/img/calendar/status/possibility.svg");
    background-repeat: no-repeat;
    text-indent: -9999px;

}

.room-list__room-name-wrap .status-badge.possible {
    background: #6ac017;
    border-radius: 5px;
}

.calendar__header-status-item span.completion, .reserv_name label.complete span {
    /*background: #eb1c22;*/
    background-image: url("/assets/img/calendar/status/completion.svg");
    background-repeat: no-repeat;
    text-indent: -9999px;
}

.room-list__room-name-wrap .status-badge.complete {
    background: #fc613d;
    border-radius: 5px;
}

.calendar__header-status-item span.waiting, .reserv_name label.wait span {
    /*background: #f7862a;*/
    background-image: url("/assets/img/calendar/status/waiting.svg");
    background-repeat: no-repeat;
    text-indent: -9999px;
}

.room-list__room-name-wrap .status-badge.wait {
    background: #86c2f4;
    border-radius: 5px;
}

.calendar__header-status-item span.inquiry, .reserv_name label.inquiry span {
    /*background: #cfda00;*/
    background-image: url("/assets/img/calendar/status/inquiry.svg");
    background-repeat: no-repeat;
    text-indent: -9999px;
}

.room-list__room-name-wrap .status-badge.inquiry {
    background: #b586d6;
    border-radius: 5px;
}

.status-icon.now-pay {
    /*background: #e2373c !important;*/
    background-image: url("/assets/img/calendar/status/now-pay.svg");
    background-repeat: no-repeat;
}

.status-icon.onsite-pay {
    /*background: #18a4e2 !important;*/
    background-image: url("/assets/img/calendar/status/onsite-pay.svg");
    background-repeat: no-repeat;
}

.calendar__wrapper {
    position: relative;
    /*background:#f6f6f6;*/
}

.calendar__wrapper--index {
    /*margin-top: -164px;*/
}

.calendar__container {
    max-width: 1418px;
    width: 100%;
    background: #fff;
    border-top-left-radius: 100px 100px;
    border-top-right-radius: 100px 100px;
    padding: 60px 71px;
    margin: 0 auto;
}

.calendar__container__pension {
    max-width: 1418px;
    width: 100%;
    background: #fff;
    border-top-left-radius: 100px 100px;
    border-top-right-radius: 100px 100px;
    padding-top: 60px;
    margin: 0 auto;
}

.view-day-fee-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.view-day-fee {
    position: relative;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    cursor: pointer;
    user-select: none;
    padding-right: 47px;
}

.view-day-fee input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.view-day-fee .checkmark {
    position: absolute;
    top: 1px;
    right: 145px;
    width: 20px;
    height: 20px;
    border: 1px solid #000;
}

.view-day-fee:hover input ~ .checkmark {
    background: #dedede;
}

.view-day-fee input:checked ~ .checkmark {
    background: #000;
}

.view-day-fee .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.view-day-fee input:checked ~ .checkmark:after {
    display: block;
}

.view-day-fee .checkmark:after {
    top: 1px;
    left: 5px;
    width: 8px;
    height: 13px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.calendar-date-label {
    max-width: 150px;
    flex: 1;
    /*border:1px solid red;*/
    font-size: 12px;
}

.word-break {
    text-align: left;
    word-break: keep-all;
}

.text-dot {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* //calendar main */

/* calendar step2 */
.calendar__wrapper--step2 {
    /*margin-top: -253px;*/
}

.calendar__header--step2 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /*width: 1418px;*/
    max-width: 1418px;
    padding: 0 86px;
    margin: 0 auto;
}

.calendar__prev-step {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.4px;
    background: #eb1c22;
    padding-bottom: 2px;
}

.calendar__prev-step:hover {
    text-decoration: none;
    color: #fff;
    background: #e7454a;
}

.calendar__prev-step-desc {
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    line-height: 13px;
    margin: 15px 0 32px;
}

.calendar__container--step2 {
    /*padding: 59px 87px 0;*/
}

/* //calendar step2 */

/* calendar step2 room list */
.room-list {
    margin-top: 40px;
}

/* modal open시 padding-right 값 0으로 초기화 */
.modal-open {
    padding-right: 0 !important;
}

.room-list-top {
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.room-list__title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 24px;
    color: #141312;
    font-weight: 600;
    letter-spacing: -0.4px;
}

.room-list__title-desc {
    display: flex;
    font-size: 14px;
    font-weight: normal;
    justify-content: flex-end;
}

.room-list__wrap {
    margin-top:10px;
    border-top: 2px solid #141312;
    border-bottom: 2px solid #100f0e;
}

.room-list__row {
    display: flex;
    flex: 1;
    justify-content: space-between;
}

.room-list__row.group-check select {
    color:#000;
}

.room-list__row.group-check input {
    color:#000;
}

.room-list__row.group-check button {
    color:#000;
}

.room-list__row--p20 {
    padding: 20px;
}

.room-list__row--column {
    flex-direction: column;
}

.room-list__row--bb1 {
    border-bottom: 1px solid #000;
}

.room-list__row--checked {
    background: #f6f6f6;
}

/* 부가서비스 시작 */
.room-list__row--checked .room-list__service {
    display: flex;
}

.room-list__service {
    display: none;
    /*padding: 20px 50px 20px 60px;*/
    padding: 20px 20px 20px 60px;
    border-top: 1px solid #ccc;
}

.room-list__service--last {
    padding-bottom: 60px;
}

.room-list__service-title {
    font-size: 18px;
    color: #141312;
    font-weight: 600;
    padding-left: 40px;
    margin-bottom: 15px;
}

.room-list__service-row {
    display: flex;
    justify-content: space-between;
}

.room-list__service-desc {
    width: 100%;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    /*margin-top: 2px;*/
    padding-top: 5px;
}

/* 부가서비스 종료 */

/* custom 체크박스 시작 */
.room-list__checkbox-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
}

.room-list__checkbox {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.room-list__checkbox input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    cursor: pointer;
}

.room-list__checkbox input[disabled] ~ .checkmark {
    background: #c9c9c9;
}

.room-list__checkbox .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid #c9c9c9;
}

.room-list__checkbox:hover input ~ .checkmark {
    background-color: #c9c9c9;
}

.room-list__checkbox input:checked ~ .checkmark {
    background-color: #141312;
    border: none;
}

.room-list__checkbox .checkmark:after {
    content: '';
    position: absolute;
    display: none;
}

.room-list__checkbox input:checked ~ .checkmark:after {
    display: block;
}

.room-list__checkbox .checkmark:after {
    top: 3px;
    left: 7px;
    width: 7px;
    height: 11px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

/* custom 체크박스 끝 */

/* 썸네일, 이름 */
.room-list__thumb-name-wrap {
    display: flex;
    /*width: 672px;*/
}

.room-list__thumb-name-wrap--service {
    /*width: 830px;*/
    width: 100%;
}

/* 객실상세보기 버튼 시작 */
.room-list__detail-btn {
    position: relative;
    padding: 0;
    border: none;
    margin-left: 20px;
}

.room-list__detail-btn:hover .room-list__detail-btn-icon-wrap {
    opacity: 1;
}

.room-list__detail-btn-icon-wrap {
    position: absolute;
    /*bottom: 20px;*/
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: 0.3s;
}

.room-list__detail-btn-icon {;
    position: absolute;
    top: 6px;
    left: 12px;
}

.room-list__detail-btn-icon .cross {
    position: relative;
    width: 1px;
    height: 13px;
    background: #fff;
}

.room-list__detail-btn-icon .cross:after {
    content: "";
    position: absolute;
    top: 6px;
    left: -6px;
    width: 13px;
    height: 1px;
    background: #fff;
}

/* 객실상세보기 버튼 끝 */

/* 썸네일 */
.room-list__thumb {
    width: 180px;
    height: 120px;
    object-fit: cover;
}

.room-list__thumb--ml20 {
    margin-left: 20px;
}

/* 객실이름 */
.room-list__room-name-wrap {
    /*width: 442px;*/
    margin-left: 30px;
}

.room-list__room-name-wrap--mb20 {
    margin-left: 20px;
}

.room-list__room-name-wrap--service {
    /*width: 830px;*/
    width: 100%;
}

.room-list__room-name {
    font-size: 24px;
    color: #141312;
    font-weight: 600;
    letter-spacing: -0.4px;
    margin-top: 10px;
}

.room-list__room-name--service {
    font-size: 18px;
    margin-top: 0;
}

/* 객실상태배지 시작 */
.room-list__room-name-wrap .status-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 20px;
    font-size: 14px;
    color: #fff;
    letter-spacing: -0.4px;
}

/* 객실상태배지 끝 */

/* 기간, 인원 옵션 시작 */
.room-list__option-wrap {
    display: flex;
    justify-content: flex-end;
    /*flex: 1;*/
    /*width: 300px;*/
    /*margin-left: 30px;*/

}

.room-list__option-wrap--service {
    justify-content: flex-end;
    /*width: 300px;*/
    /*margin-left: 71px;*/
}

.room-list__period {
    display: flex;
    width: 140px;
    flex-wrap: wrap;
    align-content: baseline;
    flex-direction: row;
}

.room-list__period2 {
    display: flex;
    /*flex-wrap: wrap;*/
    /*align-content: baseline;*/
}

.room-list__select-title {
    display: flex;
    align-items: center;
    height: 34px;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__select-title {
    color: #727171;
}

.room-list__select-wrap {
    position: relative;
    margin-left: 10px;
    height: 34px;
}

.room-list__select-wrap--service {
    margin-left: 0;
}

.room-list__select {
    position: relative;
    width: 100px;
    height: 34px;
    font-size: 14px;
    color: #aaa;
    letter-spacing: -0.4px;
    text-align: center;
    border: 1px solid #c9c9c9;
    appearance: none;
    padding-right: 12px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__select {
    color: #ccc;
}

.room-list__select-icon {
    position: absolute;
    top: 13px;
    right: 8px;
    display: flex;
    pointer-events: none;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__select-icon {
    opacity: 0.6;
}

.room-list__people {
    display: flex;
    flex-direction: column;
    margin-left: 30px;
}

.room-list__select-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.room-list__select-container--mt8 {
    margin-top: 8px;
}

/* 기간, 인원 옵션 끝 */

/* 금액 */
.room-list__price-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: 150px;
    margin-left: 30px;
    padding-bottom: 6px;
}

.room-list__price-wrap--service {
    justify-content: flex-start;
    /*margin-left: 20px;*/
}

.room-list__discount-title {
    font-size: 12px;
    color: #141312;
    letter-spacing: -0.8px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__discount-title {
    color: #aaa;
}

.room-list__discount-ratio {
    font-size: 14px;
    color: #eb1c22;
    letter-spacing: -0.4px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__discount-ratio {
    color: #f8adaf;
}

.room-list__discount-del-price {
    position: relative;
    font-size: 14px;
    color: #aaaaaa;
    letter-spacing: -0.4px;
    margin-left: 8px;
    text-align: center;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__discount-del-price {
    color: #e0e0e0;
}

.room-list__discount-del-price:after {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #141312;
    padding: 0 5px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__discount-del-price:after {
    background: #aaaaaa;
}

.room-list__price {
    font-size: 24px;
    color: #141312;
    font-weight: 600;
    letter-spacing: -0.4px;
    margin-top: 5px;
}

/* 예약완료 상태 */
.room-list__row.complete .room-list__price {
    color: #aaaaaa;
}

.room-list__footer {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-right: 18px;
    margin-top: 40px;
}

.room-list__footer > div {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.room-list__total {
    font-size: 24px;
    color: #141312;
    font-weight: 600;
    letter-spacing: -0.4px;
    margin-left: 30px;
}

/*실 결제 금액 + 현장결제 금액*/
.room-list__total-price {
    font-size: 14px;
}

.room-list__submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.4px;
    background: #eb1c22;
    border: none;
    padding-bottom: 2px;
    margin-left: 30px;
}

.room-list__submit:hover {
    background: #e7454a;
}

.detail-modal .modal-dialog {
    width: 1250px;
    max-width: 1250px;
    margin: 6rem auto;
}

.detail-modal .modal-content {
    position: relative;
    /*height: 674px;*/
    border-radius: 0;
    border: none;
}

.modal-close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    background: none;
    border: none;
}

.detail-modal__wrap {
    display: flex;
    justify-content: space-between;
    height: 100%;
    padding: 50px;
    /*opacity: 0;*/
    /*transition: 0.3s;*/
}

.detail-modal__wrap.open {
    opacity: 1;
}

.detail-modal__slide-wrap {
    width: 720px;
    /*height: 574px;*/
}

.detail-modal__slide-box {
    position: relative;
}

.detail-modal-slide-img-wrap img {
    width: 720px;
    height: 480px;
    object-fit: cover;
}

.prev-slide-btn {
    position: absolute;
    top: 50%;
    left: 0;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.3);
    border: none;
    transform: translateY(-50%);
}

.next-slide-btn {
    position: absolute;
    top: 50%;
    right: 0;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.3);
    border: none;
    transform: translateY(-50%);
}

.detail-modal__small-img-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    justify-content: flex-start;
}

.detail-modal__small-img-wrap div {
    width: 60px !important;
    height: 40px !important;
    background: #535353 !important;
    margin-left: 0 !important;
    margin-right: 6px !important;
    margin-bottom: 4px !important;
    border: 0 !important;
}

.detail-modal__small-img-wrap div:nth-child(11) {
    margin-right: 0;
}

.detail-modal__small-img-wrap div:nth-child(n+12) {
    margin-bottom: 0;
}

.detail-modal__small-img {
    opacity: 0.5;
    cursor: pointer;
}

.detail-modal__small-img.active {
    opacity: 1;
}

.detail-modal__small-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-modal__info-wrap {
    width: 380px;
    padding-top: 140px;
}

.detail-modal__info-name {
    font-size: 24px;
    color: #141312;
    font-weight: 500;
    word-wrap: break-word;
    letter-spacing: -0.4px;
    border-bottom: 2px solid #000000;
    padding-bottom: 20px;
}

.detail-modal__info-title {
    font-size: 18px;
    color: #141312;
    font-weight: 500;
    letter-spacing: -0.4px;
    margin-top: 25px;
    margin-bottom: 4px;
}

.detail-modal__info-title--first {
    margin-top: 20px;
}

.detail-modal__info {
    font-weight: 500;
    border-bottom: 1px solid #ccc;
    padding-bottom: 25px;
}

.detail-modal__info--last {
    border-bottom: 2px solid #000;
}

/* //calendar step2 room list */

/* calendar step3, step4 */
.calendar__container--step3 {
    width: 100% !important;
    max-width: 1418px;
    padding-top: 90px;
}

.reservation__box {
    /*border-bottom: 2px solid #141312;*/
    padding-bottom: 18px;
}

.reservation__box--pb0 {
    padding-bottom: 0;
}

.reservation__box--w600 {
    width: 600px;
}

.reservation__box--w100p {
    width: 100%;
}

.reservation__title {
    position: relative;
    font-size: 24px;
    color: #141312;
    font-weight: 500;
    letter-spacing: -0.4px;
    border-bottom: 2px solid #141312;
    padding-bottom: 20px;
    margin-bottom: 18px;
}

.reservation__title--info {
    /*position: absolute;*/
    /*bottom: 14px;*/
    /*right: 0;*/
    display: inline-flex;
    /*display: flex;*/
    flex: 1;
    justify-content: flex-end;
    align-items: center;
    font-size: 14px;
    color: #ff0000;
    letter-spacing: -0.4px;
}

.reservation__title--info svg {
    margin-right: 6px;
}

.reservation__title--mb0 {
    margin-bottom: 0;
}

.reservation__check-table {
    display: table;
    width: 100%;
}

.reservation__check-table.mobile {
    display: none;
}

.reservation__check-table th {
    height: 40px;
    font-size: 14px;
    color: #e5e5e5;
    font-weight: 400;
    letter-spacing: -0.4px;
    text-align: center;
    background: #535353;
    vertical-align: middle;
}

.reservation__check-table td {
    height: 120px;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    text-align: center;
    vertical-align: middle;
}

.reservation__check-table td.check-table__f18 {
    font-size: 18px;
}

.reservation__check-table td.check-table__red {
    color: #eb1c22;
}

.check-table__br1 {
    border-right: 1px solid #ccc;
}

.check-table__bb1 {
    border-bottom: 1px solid #ccc;
}

.reservation__check-table td.check-table__h60 {
    height: 60px;
}

.check-table__w210 {
    width: 210px;
}

.check-table__w160 {
    width: 160px;
}

.reservation__check-table th.check-table__h80 {
    height: 80px;
}

.reservation__check-table th.check-table__w120 {
    width: 120px;
}

.reservation__box-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
}

.reservation__btn__submit {
    margin-top: 10px;
}

.info-table {
    /*width: 600px;*/
    width: 100%;
}

.info-table th,
.info-table td {
    border: 1px solid #c9c9c9;
}

.info-table th {
    width: 140px;
    font-size: 14px;
    color: #141312;
    font-weight: 400;
    letter-spacing: -0.4px;
    text-align: center;
    background: #f6f6f6;
}

.info-table th.bl0 {
    border-left: 0;
}

.info-table td.bl0 {
    border-left: 0;
}

.info-table td.br0 {
    border-right: 0;
}

.info-table td.bb0 {
    border-bottom: 0;
}

.info-table td {
    height: 40px;
    padding: 10px;
}

.info-table__select {
    color: #141312;
}

.info-table__input {
    width: 190px;
    height: 32px;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    background: #fff;
    border: 1px solid #c9c9c9;
    padding: 5px;
}

.info-table__input--required {
    background: url(/assets/img/calendar/wrest.gif) top right no-repeat;
}

.info-table__textarea {
    width: 100%;
    height: 79px;
    color: #141312;
    resize: none;
    padding: 5px;
    border: 1px solid #c9c9c9;
}

.info-table__warning-text {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    color: #eb1c22;
    letter-spacing: -0.4px;
    padding-left: 20px;
}

.info-table__warning-text svg {
    position: absolute;
    top: 9px;
    left: 9px;
}

.reservation__pay-wrap {
    display: flex;
}

.reservation__pay-left {
    display: flex;
    flex-direction: column;
}

.reservation__pay-radio {
    appearance: none;
}

#od_settle_card_label {
    /*background: url(/assets/img/calendar/un_checked.png) no-repeat 10px 43px;*/
}

#od_settle_card:checked ~ #od_settle_card_label {
    /*background: url(/assets/img/calendar/checked.png) #f6f6f6 no-repeat 10px 43px;*/
}

#od_settle_bank_label {
    /*background: url(/assets/img/calendar/un_checked.png) no-repeat 10px 43px;*/
}

#od_settle_bank:checked ~ #od_settle_bank_label {
    /*background: url(/assets/img/calendar/checked_green.png) #f6f6f6 no-repeat 10px 43px;*/
}

.reservation__pay-label--bb {
    border-bottom: 1px solid #c9c9c9;
}

.reservation__box--settle {
    width: 100%;
    font-size: 13px;
    color: #141312;
    letter-spacing: -0.4px;
    padding: 25px 25px 20px 42px;
    background: #f6f6f6;
}

#settle_blank {
    color: #eb1c22;
}

.reservation__box--settle #settle_card {
    display: none;
    background: none;
    text-align: left;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 18px;
}

.reservation__box--settle #settle_card div:first-child {
    color: #eb1c22;
}

.reservation__box--settle #settle_bank {
    display: none;
    background: none;
    text-align: left;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 18px;
}

.reservation__box--settle #settle_bank div {
    display: flex;
}

.reservation__box--settle #settle_bank select {
    width: 209px;
    height: 25px;
    font-size: 13px;
    color: #707070;
    text-align: center;
    border: 1px solid #c9c9c9;
}

.reservation__box--settle #settle_bank .room-list__select-icon {
    top: 10px;
    right: 10px;
}

.reservation__box--settle #settle_bank input {
    width: 123px;
    height: 25px;
    border: 1px solid #c9c9c9;
    padding: 0 5px;
}

.settle-bank__acount {
    width: 310px;
    height: 35px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.settle-bank__acount label {
    width: 190px;
}

.settle-bank__info-title {
    color: #eb1c22;
    /*margin-top: 15px;*/
}

#terms_check .room-list__checkbox {
    width: 204px;
}

#terms_check .room-list__checkbox-container {
    height: 20px;
}

#terms_check .room-list__checkbox input:checked ~ .checkmark {
    background-color: #eb1c22;
}

#submit_reservation a.btn01 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #a0a0a0;
    border: 1px solid #c9c9c9;
    background: #fff;
    margin-left: 18px;
}

.check-table__service {
    /*padding: 20px 85px 0;*/
    padding: 20px 0;
}

.check-table__service--title {
    font-size: 18px;
    color: #141312;
    letter-spacing: -0.4px;
    text-align: left;
    margin-top: 20px;
    margin-bottom: 20px;
}

.check-table__service table {
    width: 100%;
}

.check-table__service th {
    height: 60px;
    font-size: 14px;
    color: #000;
    background: #f6f6f6;
    border: 1px solid #c9c9c9;
}

.check-table__service th:first-child {
    border-left: none;
}

.check-table__service th:last-child {
    border-right: none;
}

.check-table__service tbody td {
    font-size: 14px;
    color: #141312;
    height: 40px;
    letter-spacing: -0.4px;
    border-right: 1px solid #c9c9c9;
}

.check-table__service tbody tr td:last-child {
    border-right: none;
}

.check-table__service tfoot td {
    height: 60px;
    font-size: 14px;
    color: #000;
    background: #f6f6f6;
    border: 1px solid #c9c9c9;
}

.check-table__service tfoot td:first-child {
    border-left: none;
}

.check-table__service tfoot td:last-child {
    color: #eb1c22;
    border-right: none;
}

/* calendar step2 */
.calendar__wrapper--step4 {
    /*margin-top: -159px;*/
}

.info-box__wrap .info-box:first-child {
    margin-top: 0;
}

.info-box__wrap .info-box {
    margin-top: 50px;
}

.info-box__row {
    display: flex;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
}

.info-box__row--mt-1 {
    margin-top: -1px;
}

.info-box__title {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 270px;
    height: 60px;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    background: #f6f6f6;
    border-right: 1px solid #c9c9c9;
}

.info-box__contents {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 980px;
    height: 60px;
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    padding: 0 40px;
}

.info-box__contents--red {
    font-size: 18px;
    color: #ff0000;
    letter-spacing: -0.4px;
}

.reservation__box--notes {
    margin-top: 60px;
    padding-bottom: 0;
}

.notes-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 140px;
    background: #f6f6f6;
}

.notes-box.breakfast {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: auto !important;
    padding: 40px 120px 35px 60px;
    background: #f6f6f6;
}

.notes-box.breakfast > div {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 530px;
}

.notes-box.breakfast > div:first-child {
    /*width:530px !important;*/
    /*margin-right:100px;*/
}

.breakfast-day-price {
    font-size: 18px;
    letter-spacing: -0.45px;
}

.notes-box__refund_policy {
    overflow: auto;
    padding: 10px;
}

.notes-box__refund_rate table {
    font-size: 1em;
    width: 100%;
    height: 80%;

th, td {
    text-align: center;
    border-style: solid;
    border-width: 1px;
}

@media (max-width: 576px) {
    th {
        display: none;
    }

    tbody tr {
        display: flex;
        flex-direction: column;
    }

    td[data-th]::before {
        content: attr(data-th);
    }
}

}

.notes-box p {
    font-size: 14px;
    color: #141312;
    letter-spacing: -0.4px;
    padding-bottom: 0;
}

.notes-box p span {
    font-weight: 600;
}

.reservation-buttons {
    display: flex;
    justify-content: space-around;
}

.reservation-close {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.reservation-close a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.4px;
    padding-bottom: 2px;
    background: #6c757d;
}

.reservation-close a:hover {
    text-decoration: none;
    background: #6c757d;
}

.reservation-cancel {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.reservation-cancel button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.4px;
    padding-bottom: 2px;
    background: #ec4348;
    border: none;
}

.reservation-cancel button:hover {
    text-decoration: none;
    background: #ec4348;
}

.reservation-search {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.reservation-search button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.4px;
    padding-bottom: 2px;
    background: #eb1c22;
    border: none;
}

.reservation-search button:hover {
    background: #ec4348;
}

#reservationCancelModal .modal-dialog .modal-content {
    padding: 10px;
}

.info-box__input-text {
    width: 315px;
    height: 37px;
    border: 1px solid #c9c9c9;
    padding: 0 5px;
}

.info-box__input-text--w145 {
    width: 145px;
}

.info-box__text {
    font-size: 14px;
    color: #a0a0a0;
    letter-spacing: -0.4px;
    margin-left: 20px;
}

.info-box__dash {
    position: relative;
    width: 19px;
    height: 1px;
    color: #c9c9c9;
}

.info-box__dash:after {
    content: '';
    position: absolute;
    top: 0;
    left: 6px;
    width: 8px;
    height: 1px;
    background: #c9c9c9;
}

.info-box__select-wrap {
    position: relative;
}

.info-box__select {
    position: relative;
    width: 145px;
    height: 37px;
    color: #a0a0a0;
    border: 1px solid #c9c9c9;
    padding: 0 20px;
    appearance: none;
    padding-right: 12px;
}

.info-box__select-icon {
    position: absolute;
    top: 14px;
    right: 10px;
    display: flex;
    pointer-events: none;
}

.room-list__group {
    display: flex;
    flex: 1;
}

.reservation__check-table-mobile {
    display: none;
}

.reservation__box--mobile {
    /*display: none;*/
    display: block;
}

/* 인원 카운팅 class */

.person-group {
    display: flex;
    margin-left: 10px;
    width: 100px;
    height: 34px;
    justify-content: flex-end;
}

.person-count {
    border: 1px solid #c9c9c9;
    width: 30%;
    color: #aaa;
    text-align: center;
    font-size: 14px;
}

.person-btn {
    padding: 0;
    width: 35%;
    border: 1px solid #c9c9c9;
    text-align: center;
    background: #FFF;
    color: #000;
    font-size: 0.8em;

}

.person-minus {
    border-right: 0;
}

.person-plus {
    border-left: 0;
}

/*@media (max-width: 576px) {*/
/*@media (max-width: 1040px) {*/
/*@media (max-width: 1180px) {*/
@media (max-width: 1310px) {
    body {
        width: 100%;
        min-width: unset;
    }

    .room-list__period {
        width: auto;
    }

    .notes-box.breakfast {
        flex-direction: column;
        padding: 40px 10px 35px 10px;
    }

    .breakfast-day-price {
        font-size: 15px;
    }

    .calendar__logo a {
        flex-direction: column;
    }

    .calendar__logo span {
        margin-top: 3px;
        margin-left: 0;
    }

    .calendar__header-wrapper {
        width: 100%;
        padding: 45px 30px;
    }

    .calendar__header--step2 {
        width: 100%;
        padding: 0 30px;
    }

    .calendar__header-link--mr18 {
        margin-right: 8px;
    }

    .calendar__header-link {
        font-size: 14px;
        padding: 0 10px 5px;
        margin-top: 6px;
    }

    .calendar__header-year-month-today {
        padding: 0 10px;
    }

    .calendar__header-year {
        font-size: 26px;
    }

    .calendar__header-month {
        font-size: 42px;
    }

    .top-section__month button {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 25px;
        height: 25px;
        background: #141312;
        border: none;
    }

    .top-section__month button.prev-month {
        padding-top: 0;
        padding-left: 0;
    }

    .top-section__month button.prev-month svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .top-section__month button.next-month {
        padding-top: 0;
        padding-left: 0;
    }

    .top-section__month button.next-month svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .calendar__header-today {
        margin-left: 5px;
    }

    .calendar__header-today > span {
        display: none;
    }

    .calendar__prev-step {
        width: 120px;
        height: 26px;
        font-size: 16px;
    }

    .calendar__prev-step-desc {
        font-size: 12px;
    }

    .calendar__container--step2 {
        width: 100%;
        padding: 0 30px;
    }

    .calendar__container {
        background: transparent;
    }

    .top-section {
        width: 100%;
        flex-wrap: wrap;
    }

    .top-section > div {
        width: 100%;
    }

    .top-section__month {
        position: absolute;
        top: -8px;
        left: 30px;
    }

    .top-section__calendar-box {
        width: 100%;
        background: #fff;
    }

    .top-section__calendar {
        width: 100%;
    }

    .top-section__calendar th:after {
        left: 50%;
        transform: translateX(-50%);
        width: 60%;
    }

    .top-section__calendar td {
        width: 13vw;
        min-width: unset;

    }

    .top-section__pension-box {
        max-width: 100%;
        height: auto;
        padding: 40px 30px;
        margin-top: 30px;
    }

    .top-section__pension-box--pension-name {
        font-size: 18px;
        padding-right: 5px;
        margin-right: 5px;
        line-height: 17px;
    }

    .top-section__pension-box--selected-date {
        font-size: 16px;
    }

    .room-list {
        margin-top: 30px;
    }

    #confirm {
        width: 100%;
        padding: 30px;
    }

    .room-list__row--fwrap {
        flex-wrap: wrap;
    }

    .room-list__row--p20 {
        padding: 10px;
    }

    .room-list__title {
        font-size: 18px;
        /*padding-bottom: 12px;*/
    }

    .room-list__thumb {
        width: 120px;
        height: 80px;
    }

    .room-list__checkbox-container {
        height: 80px;
    }

    .room-list__thumb-name-wrap {
        width: 100%;
    }

    .room-list__room-name-wrap {
        width: 100%;
        margin-left: 10px;
    }

    .room-list__detail-btn {
        margin-left: 10px;
    }

    .room-list__checkbox {
        width: 15px;
        height: 15px;
    }

    .room-list__checkbox .checkmark {
        width: 15px;
        height: 15px;
    }

    .room-list__checkbox .checkmark:after {
        top: 2px;
        left: 5px;
        width: 5px;
        height: 9px;
        border-width: 0 2px 2px 0;
    }

    .room-list__room-name-wrap .status-badge {
        width: 60px;
        height: 18px;
        font-size: 12px;
    }

    .room-list__room-name {
        font-size: 18px;
        margin-top: 5px;
    }

    .room-list__option-wrap {
        flex: 1;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        /*margin-left: 25px;*/
        margin-top: 20px;
    }

    .room-list__select {
        width: 50px;
        height: 30px;
        font-size: 12px;
        padding-right: 18px;
    }

    .room-list__select-icon {
        top: 12px;
    }

    .room-list__select-container--mt8 {
        margin-top: 0;
    }

    .room-list__select-title {
        width: 25px;
        height: 30px;
    }

    .room-list__price-wrap {
        /*width: 100%;*/
        flex-direction: row;
        justify-content: flex-end;
        align-self: flex-end;
        padding-bottom: 0;
        margin-top: 10px;
        margin-bottom: 3px;
    }

    .room-list__price {
        font-size: 18px;
        margin-top: 0;
    }

    .room-list__select-title--ml {
        margin-left: 10px;
    }

    .room-list__select-wrap {
        margin-left: 5px;
        height: 24px;
    }

    .room-list__discount-title {
        margin-right: 5px;
    }

    .room-list__discount-del-price {
        margin-right: 8px;
    }

    .room-list__service-title {
        font-size: 16px;
        padding-left: 26px;
        margin-bottom: 10px;
    }

    .room-list__service {
        /*padding: 10px 20px;*/
        padding: 10px 10px;
    }

    .room-list__room-name-wrap--service {
        width: 190px;
    }

    .room-list__option-wrap--service {
        width: 55px;
        margin-top: 0;
        margin-left: 15px;
    }

    .room-list__price-wrap--service {
        margin-top: 0;
        margin-left: 5px;
    }

    .room-list__price-wrap--service .room-list__price {
        font-size: 15px;
    }

    .room-list__footer {
        flex-direction: column;
        align-items: flex-end;
        padding-right: 0;
        margin-top: 20px;
    }

    .room-list__total {
        font-size: 16px;
    }

    .room-list__submit {
        width: 120px;
        height: 26px;
        font-size: 16px;
        margin-left: 10px;
    }

    .detail-modal .modal-dialog {
        width: 100%;
    }

    .detail-modal .modal-content {
        height: auto;
    }

    .detail-modal__wrap {
        flex-wrap: wrap;
    }

    .detail-modal__slide-wrap {
        width: 100%;
        height: auto;
    }

    .detail-modal-slide-img-wrap img {
        width: 100%;
        height: auto;
    }

    .detail-modal__info-wrap {
        width: 100%;
        padding-top: 30px;
    }

    .modal-close-btn svg {
        zoom: 0.5;
    }

    .prev-slide-btn,
    .next-slide-btn {
        width: 30px;
        height: 30px;
    }

    .prev-slide-btn svg,
    .next-slide-btn svg {
        zoom: 0.3;
    }

    .detail-modal__info-name {
        font-size: 18px;
        padding-bottom: 10px;
    }

    .detail-modal__info-title {
        font-size: 16px;
    }

    .detail-modal__info {
        font-size: 12px;
        padding-bottom: 10px;
    }

    .detail-modal__info-title--first {
        margin-top: 10px;
    }

    .detail-modal__info-title {
        margin-top: 10px;
    }

    .detail-modal__wrap {
        padding: 50px 30px;
    }

    .calendar__container--step3 {
        width: 100%;
        background: #fff;
        border-radius: 0;
        padding: 30px;
    }

    .reservation__title {
        font-size: 18px;
        padding-bottom: 10px;
        margin-bottom: 8px;
    }

    .reservation__check-table td {
        font-size: 13px;
    }

    .reservation__check-table-mobile {
        display: block;
        margin-bottom: 10px;
    }

    .check-mobile__row {
        display: flex;
        border-top: 1px solid #c9c9c9;
        border-bottom: 1px solid #c9c9c9;
    }

    .check-mobile__title {
        display: flex;
        align-items: center;
        width: 130px;
        height: 40px;
        font-size: 14px;
        color: #e5e5e5;
        background: #535353;
        padding-left: 20px;
        padding-bottom: 2px;
    }

    .check-mobile__data {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        font-size: 14px;
        color: #141312;
        padding-bottom: 2px;
        padding-right: 20px;
    }

    .check-mobile__row--mt-1 {
        margin-top: -1px;
    }

    .check-mobile__data--bg {
        background: #f6f6f6;
        color: #eb1c22;
    }

    .check-mobile__service {
        padding: 0;
        margin-top: 20px;
        /*margin-bottom: 30px;*/
    }

    .check-mobile__buga-title {
        flex: 1;
        padding-right: 5px;
    }

    .check-mobile__service-title {
        font-size: 16px;
        color: #141312;
        font-weight: 500;
        border-bottom: 1px solid #141312;
    }

    .check-mobile__service-row {
        display: flex;
        font-size: 14px;
        color: #141312;
        border-bottom: 1px solid #c9c9c9;
        padding: 5px 20px;
    }

    .check-mobile__service-row div {
        text-align: center;
    }

    .check-mobile__service-row div:nth-child(1) {
        flex: 0 0 40%;
        text-align: left;
    }

    .check-mobile__service-row div:nth-child(2) {
        flex: 0 0 15%;
    }

    .check-mobile__service-row div:nth-child(3) {
        flex: 0 0 20%;
    }

    .check-mobile__service-row div:nth-child(4) {
        flex: 0 0 25%;
        text-align: right;
    }

    .check-mobile__service-row--mt-1 {
        margin-top: -1px;
    }

    .check-mobile__service-row--total {
        background: #f6f6f6;
        border-bottom: 1px solid #141312;
    }

    .check-mobile__service-row--total div:first-child {
        flex: 0 0 75%;
        text-align: left;
    }

    .check-mobile__service-row--total div:last-child {
        flex: 0 0 25%;
        text-align: right;
        color: #eb1c22;
    }

    .reservation__box {
        padding-bottom: 0;
    }

    .reservation__modal {
        display: block;
    }

    .calendar__wrapper--step4 {
        /*margin-top: -245px;*/
    }

    .info-box__title {
        height: auto;
        padding: 10px 20px;
    }

    .info-box__contents {
        height: auto;
        padding: 10px 20px;
    }

    .notes-box {
        height: auto;
        padding: 10px 20px;
    }

    .reservation__title--mb0 {
        margin-bottom: 0;
    }

    .reservation-cancel button {
        width: 140px;
        height: 30px;
        font-size: 16px;
    }

    .reservation-close a {
        width: 140px;
        height: 30px;
        font-size: 16px;
    }

    .info-box__wrap .info-box {
        margin-top: 25px;
    }

    .reservation-search button {
        width: 140px;
        height: 30px;
        font-size: 16px;
    }

    .info-box-confirm .info-box__input-text {
        width: 100%;
    }

    .info-box-confirm .info-box__title {
        width: 90px;
        min-width: 90px;
    }

    .info-box-confirm .info-box__contents {
        flex-direction: column;
    }

    .info-box-confirm .info-box__select-wrap {
        width: 100%;
    }

    .info-box-confirm .info-box__select {
        width: 100%;
    }

    .info-box-confirm .info-box__dash {
        margin: 10px 0;
    }

    .info-box-confirm .info-box__text {
        margin-left: 0;
    }

    .reservation-search {
        margin-top: 40px;
    }

    .reservation__box--confirm {
        padding-bottom: 8px;
    }

    .reservation__box--pc {
        display: none;
    }

    .reservation__box-wrap {
        margin-top: 30px;
    }

    .info-table {
        width: 100%;
    }

    .info-table th {
        width: 92px;
    }

    .info-table__input {
        width: 100%;
    }

    .reservation__title--terms {
        padding-bottom: 44px;
    }

    #terms_check {
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .room-list__checkbox .checkmark {
        top: 3px;
    }

    .submit {
        width: 120px;
        height: 30px;
        font-size: 16px;
    }

    #submit_reservation a.btn01 {
        width: 120px;
        height: 30px;
        font-size: 16px;
        margin-left: 10px;
    }

    #submit_reservation {
        margin-bottom: 0 !important;
    }

    #menu_terms li {
        font-size: 14px;
    }

    .reservation__box--mobile {
        display: block;
    }

    #menu_terms li {
        min-height: unset;
        padding: 15px 40px;
    }

    #menu_terms li span {
        top: 11px;
        left: 7px;
    }

    .reservation__check-table--mobile {
        display: table;
    }

    .check-table__td--total {
        height: 60px !important;
        font-size: 16px !important;
        font-weight: 600;
        text-align: right !important;
        padding-right: 15px;
        border-bottom: 1px solid #141312;
    }

    .check-table__td--total span {
        color: #eb1c22;
    }

    .check-table__service--mobile {
        border-bottom: 1px solid #141312;
    }

    .reservation__pay-mobile-wrap {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid #c9c9c9;
    }

    #card-mobile-desc,
    #bank-mobile-desc {
        display: none;
        flex-direction: column;
    }

    #card-mobile-desc {
        padding: 10px 50px 30px;
    }

    #card-mobile-desc div:first-child {
        color: #eb1c22;
    }

    #bank-mobile-desc {
        padding: 10px 50px 30px;
    }

    #od_settle_card_label_mobile {
        background: url(/assets/img/calendar/un_checked.png) no-repeat 20px 26px;
    }

    #od_settle_bank_label_mobile {
        background: url(/assets/img/calendar/un_checked.png) no-repeat 20px 26px;
    }

    #od_settle_card_mobile:checked ~ #od_settle_card_label_mobile {
        background: url(/assets/img/calendar/checked.png) #f6f6f6 no-repeat 20px 26px;
    }

    #od_settle_bank_mobile:checked ~ #od_settle_bank_label_mobile {
        background: url(/assets/img/calendar/checked_green.png) #f6f6f6 no-repeat 20px 26px;
    }

    #od_settle_card_mobile:checked ~ #card-mobile-desc {
        display: flex;
        background: #f6f6f6;
    }

    #od_settle_bank_mobile:checked ~ #bank-mobile-desc {
        display: flex;
        background: #f6f6f6;
    }

    .bank-select-wrap {
        position: relative;
        width: 90%;
        margin-bottom: 10px;
    }

    .room-list__select--bank {
        width: 100%;
        color: #707070;
        text-align: right;
        padding-right: 30px;
    }

    .bank-select-title {
        position: absolute;
        top: 3px;
        left: 7px;
        user-select: none;
        z-index: 2;
    }

    .settle-bank__acount {
        /*position: relative;*/
    }

    .bank-deposit-name {
        position: absolute;
        top: 3px;
        left: 7px;
        user-select: none;
        z-index: 2;
    }

    /*.settle-bank__acount input {*/
    /*width: 90%;*/
    /*height: 30px;*/
    /*font-size: 12px;*/
    /*color: #707070;*/
    /*text-align: right;*/
    /*border: 1px solid #c9c9c9;*/
    /*padding-left: 70px;*/
    /*padding-right: 30px;*/
    /*padding-bottom: 2px;*/
    /*}*/
    /* 인원 카운트 그룹 */
    .person-group {
        margin-left: 3px;
        display: flex;
        flex: 1;
        height: 30px;
    }
}

@media (max-width: 580px) {
    .calendar__header-wrapper {
        padding: 45px 20px;
    }

    .calendar__header--step2 {
        padding: 0 20px;
    }

    .calendar__container--step2 {
        padding: 0 20px;
    }

    .calendar__header-link {
        padding: 0 2px 5px;
    }

    .calendar__header-link--mr18 {
        margin-right: 4px;
    }

    .calendar__prev-step-desc {
        margin: 15px 0 16px;
    }

    .top-section__pension-box {
        margin-top: 20px;
    }

    .top-section__month {
        position: relative;
        top: unset;
        left: unset;
    }

    .calendar__header-year {
        font-size: 20px;
    }

    .calendar__header-month {
        font-size: 34px;
    }

    .top-section__pension-box {
        padding: 20px 10px;
    }

    .top-section__pension-box--pension-name {
        font-size: 16px;
    }

    .top-section__pension-box--address-tel {
        width: 190px;
    }

    .top-section__pension-box--pension-address {
        font-size: 12px;
    }

    .top-section__pension-box--pension-address div:first-child {
        width: 40px;
        min-width: 40px;
    }

    .top-section__pension-box--pension-tel {
        font-size: 12px;
    }

    .top-section__pension-box--pension-tel div:first-child {
        width: 40px;
        min-width: 40px;
    }

    .top-section__pension-box--selected-date {
        margin-top: 10px;
    }

    .room-list {
        margin-top: 20px;
    }

    .room-list__checkbox-container {
        height: 60px;
    }

    .room-list__thumb {
        width: 90px;
        height: 60px;
    }

    .room-list__room-name {
        font-size: 16px;
    }

    .room-list__select-title {
        width: 22px;
        height: 24px;
        font-size: 12px;
    }

    .room-list__select {
        width: 48px;
        height: 24px;
        padding-right: 10px;
    }

    .room-list__select-title--ml {
        margin-left: 6px;
    }

    .room-list__select-icon {
        top: 11px;
        right: 4px;
    }

    .room-list__select-icon svg {
        zoom: 0.7;
    }

    .room-list__option-wrap {
        margin-left: 0;
    }

    .room-list__price-wrap {
        margin-left: 0;
    }

    .room-list__room-name-wrap--service {
        width: 190px;
    }

    .room-list__thumb--ml20 {
        margin-left: 10px;
    }

    .room-list__service-row {
        flex-wrap: wrap;
    }

    .room-list__option-wrap--service {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .room-list__price-wrap--service {
        justify-content: flex-end;
        margin-top: 5px;
    }

    .reservation__title--info {
        font-size: 12px;
        bottom: 12px;
    }

    .calendar__container--step3 {
        padding: 20px;
    }

    .room-list__select--bank {
        width: 100%;
        height: 30px;
        text-align: right;
        padding-right: 20px;
        padding-bottom: 2px;
    }

    .bank-select-wrap {
        width: 100%;
    }

    /*.settle-bank__acount input {*/
    /*width: 100%;*/
    /*padding-right: 20px;*/
    /*}*/
    /* 인원 카운트 그룹 */
    .person-group {
        display: flex;
        width: 90px;
        height: 24px;
    }

    .person-count {
        font-size: 12px;
    }

    .room-list__title-desc {
        font-size: 11px;
    }

    .room-list__select-container {
        margin-bottom: 3px;
    }

    .room-list__people {
        margin-left: 10px;
    }

    .room-list__total-price {
        font-size: 12px;
        margin-bottom: 5px;
    }

    /* 객실선택 페이지 */
    .room-list-top{
        flex-direction: column;
    }

    /* 예약 결제 화면 */
    .reservation__check-table.pc {
        display: none;
    }

    .reservation__check-table.mobile {
        display: table;
    }

    .reservation__check-table.mobile td {
        height: 60px;
    }
}

.image-ready {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 120px;
    font-size: 16px;
    color: #7d7d7d;
}

/* 팝업 레이어 */
.popup-layer {
    z-index: 9;
    position: absolute;
    display: flex;
    flex-direction: column;
    border: 1px solid #dcdcdc;
    padding: 39px 15px 0 16px;
    border-radius: 30px;
    background: #FFF;
    -webkit-box-shadow: 10px 10px 10px 1px rgba(0, 0, 0, 0.1);
    box-shadow: 10px 10px 10px 1px rgba(0, 0, 0, 0.1);
}

.popup-layer > .popup-title {
    display: flex;
    justify-content: center;
    margin: 0 23px 25px 23px;
    /*font-size: 40px;*/
    font-size: 22pt;
    font-weight: 900;
    font-stretch: normal;
    font-style: normal;
    line-height: 30px;
    color: #18a4e2;
}

.popup-layer > .popup-contents {
    margin: 0 23px 10px 23px;
    flex: 1;
    overflow-y: auto;

}

.popup-layer > .popup-footer {
    display: flex;
    flex-direction: row;
    height: 40px;
    border-top: 1px solid #dcdcdc;
    font-size: 13.3px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    color: #313131;
}

.popup-layer > .popup-footer > div {
    display: flex;
    flex: 1;
    margin: 13px 0 15px 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.popup-layer > .popup-footer > div:first-child {
    border-right: 1px solid #dcdcdc;
}

.hidden {
    display: none;
}

/* 달력 게시글 */

.calendar-board {
    position: relative;
    width: 1418px;
    padding: 0 71px;
    margin: 0 auto 50px auto;
}

.calendar-board .calendar-board-title {
    font-size: 15px;
    font-weight: 700;
    color: #575757;
    margin: 10px 0;
}

.calendar-board-list > li:first-child {
    border-top: 2px solid #000;
}

.calendar-board-list > li {
    border-bottom: 1px solid #000;
    padding: 10px;
    cursor: pointer;
}

.calendar-board-contents {
    display: none;
}

/* 20231106 */
/* 갤럭시 폴드 관련. css 수정건 */
.reservation-box-wrap-step3 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.reservation-box-items {
    width: 48%;
}

.payment-box {
    display: flex;
    flex-direction: row;
    flex: 1;
}

.payment-warp {
    display: flex;
    flex-direction: column;
}

.payment-box > div {
    display: flex;
    width: 33.3%;
    height: 80px;
    border-bottom: 1px solid #ccc;
}

@media (max-width: 1040px) {
    .reservation-box-items {
        flex-basis: 100%;
    }

    .payment-box {
        flex-direction: column;
    }

    .payment-box > div {
        width: 100%;
    }

}

@media (max-width: 350px) {

    .settle-bank__acount {
        width: 100%;
        height: auto;
        flex-direction: column;
        /*justify-content: space-between;*/
        justify-content: flex-end;
        /*justify-content: center;*/
        align-items: flex-end;
    }
}

.payment-box-desc {
    flex: 1;
    flex-direction: row;
    padding: 10px;

}

.payment-box-desc ul li {
    list-style-type: "-" !important;
    padding-left: 3px;
}

.payment-box-desc #bank-desc {
    /*display: flex;*/
    display: none;
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
    align-items: flex-end;
}

.pay-title {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: #141312;
    letter-spacing: -0.4px;
    /*border-right: 1px solid #c9c9c9;*/
}

.reservation__pay-label svg {
    margin: 0 11px 0 33px;
}

.reservation__pay-label span {
    width: 84px;
}

.reservation__pay-radio:checked ~ .reservation__pay-label {
    background: #F6F6F6;
}

.reservation__pay-label {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    font-size: 18px;
    color: #141312;
    letter-spacing: -0.4px;
    cursor: pointer;
}