@charset "utf-8";

html {
    min-width: 280px;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    background-color: #f9f9f9;
}

#wrap {
    position: relative;
    width: 1180px;
    margin: 0 auto;
}

/* seniorReservation_header */
#seniorReservation_header {
    position: relative;
    margin: 12px 16px 15px;
    padding: 20px;
    color: #fff;
    background-color: #887466;
    border-radius: 10px;
    text-align: center;
    z-index: 2;
}

#seniorReservation_header .header_bar {
    position: relative;
}

#seniorReservation_header .header_bar a {
    position: relative;
    display: inline-block;
    position: absolute;
    top: 9px;
    min-width: 129px;
    height: 44px;
    padding: 11px 29px;
    font-weight: 600;
    border: 1px solid rgba(23, 20, 20, 0.18);
    box-shadow: 3px 5px 5px rgba(0, 0, 0, .08); /*background-color:#ff9600;*/
    border-radius: 8px;
    overflow: hidden;
}

#seniorReservation_header .header_bar a span {
    position: relative;
    z-index: 1;
}

#seniorReservation_header .header_bar a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 22px;
    background: url("/resources/user/reserv/img/header_btn_bot.jpg") left top repeat-x;
}

#seniorReservation_header .header_bar a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 22px;
    background: url("/resources/user/reserv/img/header_btn_top.jpg") left top repeat-x;
}

#seniorReservation_header .header_bar .btn_back {
    left: 0;
}

#seniorReservation_header .header_bar .senior_member_close {
    right: 0;
}

#seniorReservation_header .user {
    padding: 19px 150px 26px;
    font-size: 28px;
    color: #fff;
    font-weight: 500;
}

#seniorReservation_header .user strong {
    font-weight: 900;
}

#seniorReservation_step {
    position: relative;
}

#seniorReservation_step ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 17px;
    width: 100%;
}

#seniorReservation_step ul li {
    flex: 1 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 19px 10px 22px 10px;
    font-size: 22px;
    font-weight: 500;
    background-color: #534a43;
    border-radius: 10px;
    z-index: 1;
}

#seniorReservation_step ul li i {
    display: none;
}

#seniorReservation_step ul li.step_on {
    font-weight: 800;
    background-color: #10100f;
}

#seniorReservation_step ul li.step_on i {
    display: block;
    margin-right: 10px;
    font-size: 35px;
    color: #ff9600;
    font-weight: 400;
}

#seniorReservation_header .step_bar {
    position: relative;
    height: 10px;
    margin-top: 15px;
    background-color: #10100f;
    border-radius: 5px;
    overflow: hidden;
}

#seniorReservation_header .step_bar p {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #ff9600;
    font-size: 1px;
    text-indent: -9999px;
}

#seniorReservation_header .step01 p {
    width: calc(33.33% - 12px);
}

#seniorReservation_header .step02 p {
    width: calc(66.66% - 5px);
}

#seniorReservation_header .step03 p {
    width: 100%;
}

/* contents */
#contents {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 16px;
    z-index: 2;
}

.required {
    font-weight: 700;
    color: #ff4e00;
}

/* form input style */
.form_area {
    display: flex;
    flex-wrap: wrap;
}

.form_area + .form_area {
    margin-top: 29px;
}

.form_area .form_item {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.form_item {
    position: relative;
    margin-bottom: 29px;
}

.form_item:last-child {
    margin-bottom: 0;
}

.form_item label,
.form_item .label {
    display: inline-block;
    margin-bottom: 12px;
    color: #000;
    font-weight: 700;
}

.form_half {
    display: flex;
    flex-wrap: wrap;
}

.form_half .form_item {
    display: flex;
    flex-direction: column;
    flex: 0 1;
    width: 100%;
    min-width: 50%;
}

.form_half .form_item:nth-child(2n+1) {
    padding-right: 22px;
}

.form_half .form_item:nth-child(2n) {
    padding-left: 22px;
}

.form_half .form_item:nth-last-child(-n+2) {
    margin-bottom: 0;
}

.form_half .form_item .input_area.btnplus, .form_half .form_item .select_box.btnplus {
    flex-wrap: nowrap;
    display: flex;
}

.form_half .form_item .input_area.btnplus input,.form_half .form_item .select_box.btnplus select {
    width: 100%;
    margin-right: 10px
}

.form_half .form_item .input_area.type2_btnplus {
    position: relative;
}

.form_half .form_item .input_area.type2_btnplus input {
    width: 100%;
    padding: 0 142px 0 22px;
}

.form_half .form_item .input_area.type2_btnplus button {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 129px;
    height: 60px;
    line-height: 60px;
    font-weight: 600;
    font-size: 20px;
    border-radius: 0 4px 4px 0px;
    background-color: #1d77ff;
    color: #fff;
}

.form_half .form_item .input_area.type2_btnplus button i {
    font-size: 20px;
    font-weight: 500;
}

.input_area + .input_area {
    margin-top: 10px;
}

.input_area input,
.input_area .input_style,
.input_area .file_input_add .input_txt {
    display: block;
    width: 100%;
    height: 60px;
    line-height: 60px;
    padding: 0 22px;
    color: #3e3e3e;
    font-weight: 500;
    border: 1px solid #cccbcb;
    background: #fff;
    border-radius: 4px;
}

.input_area.btnplus {
    display: flex;
    flex-wrap: wrap;
}

.input_area.btnplus input {
    width: calc(50% - 22px);
    margin-right: 9px;
}

.input_area.age_area {
    display: flex;
    align-items: center;
}

.input_area.age_area span {
    flex-shrink: 0;
    margin-left: 20px;
    color: #000;
    font-weight: 500;
}

.input_area.age_area strong {
    font-weight: 800;
}

.input_area.icon_brn {
    position: relative;
}

.input_area.icon_brn label,
.input_area.icon_brn button {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 54px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-weight: 400 !important;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.input_area.icon_brn label i,
.input_area.icon_brn button i {
    color: #fff;
    font-size: 30px;
}

.tip_style {
    margin-top: 13px;
    font-size: 18px;
    color: #404040;
    font-weight: 500;
    line-height: 1.2;
}

.form_item button {
    padding: 20px 30px;
    font-weight: 800;
    border-radius: 4px;
}

.select_box {
    position: relative;
    display: inline-block;
}

.select_box select {
    width: 100%;
    height: 60px;
    line-height: 60px;
    padding: 0 46px 0 24px;
    color: #3e3e3e;
    font-size: 19px;
    font-weight: 500;
    border-radius: 4px;
    border: 1px solid #cccbcb;
    background: url("/resources/user/reserv/img/select_arrow.png") right 18px center no-repeat;
    background-size: 16px 9px;
    cursor: pointer;
}

.input_area.input_dash {display:flex;justify-content:center;align-items:center;}
.input_area.input_dash .dash {display:inline-block;margin:0 7px;}

.textarea_box {
    position: relative;
}

.textarea_box textarea {
    width: 100%;
    padding: 19px 24px;
    color: #3e3e3e;
    font-size: 19px;
    font-weight: 500;
    border-radius: 4px;
    border: 1px solid #cccbcb;
    line-height: 1.35;
}

.textarea_box textarea::placeholder {
    color: #3e3e3e;
}

.textarea_box textarea::-webkit-input-placeholder {
    color: #3e3e3e;
}

.textarea_box textarea::-ms-input-placeholder {
    color: #3e3e3e;
}

.form_item .textarea_box textarea {
    min-height: 194px;
}

/* date_wrap */
.date_wrap2 {
    position: relative;
    overflow: hidden;
    text-align: left;
}

.date_wrap2::after {
    content: "\eb21";
    font-family: remixicon !important;
    font-style: normal;
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    border-radius: 0 4px 4px 0px;
    font-size: 20px;
    width: 129px;
    height: 60px;
    line-height: 60px;
    font-weight: 500;
    text-align: center;
    background-color: #1d77ff;
    pointer-events: none;
    z-index: 2;
}

.date_wrap2 input[type='time']::-webkit-calendar-picker-indicator,
.date_wrap2 input[type='date']::-webkit-calendar-picker-indicator {
    cursor: pointer;
    position: absolute;
    right: 2px;
    top: 2px;
    width: 120px;
    height: 58px;
    text-align: left;
    z-index: 1;
}

.date_wrap2 input[type='time']::-moz-focus-inner,
.date_wrap2 input[type='date']::-moz-focus-inner {
    border: 0;
}

.date_wrap2 input[type='time']::-webkit-date-and-time-value,
.date_wrap2 input[type='date']::-webkit-date-and-time-value {
    text-align: left;
}

.date_wrap2.type2_time::after {
    content: "\f20f   시간선택";
}

.date_wrap2.type2_date::after {
    content: "\eb21   날짜선택";
}

/* 체크, 라디오 block 스타일 */
.box_radio_area,
.box_checkbox_area {
    position: relative;
}

.box_radio_area input[type="radio"],
.box_checkbox_area input[type="checkbox"] {
    position: absolute;
    left: 0;
    width: 0px;
    height: 0px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0 none;
}

.box_radio_area input[type="radio"] + label,
.box_checkbox_area input[type="checkbox"] + label {
    position: relative;
    display: block;
    width: 100%;
    padding: 15px;
    margin: 0;
    background-color: #fff;
    border: 1px solid #cccbcb;
    border-radius: 4px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
}

.box_radio_area input[type="radio"] + label em,
.box_checkbox_area input[type="checkbox"] + label em {
    position: relative;
    display: inline-block;
    padding-left: 0;
    color: #000;
    font-weight: 700;
    line-height: 28px;
}

.box_radio_area input[type="radio"] + label .ex,
.box_checkbox_area input[type="checkbox"] + label .ex {
    display: block;
    margin-top: 8px;
    color: #404040;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
}

.box_radio_area input[type="radio"]:focus + label,
.box_checkbox_area input[type="checkbox"]:focus + label {
    outline: 1px dotted #444;
    outline: 5px auto -webkit-focus-ring-color;
    outline: 0 none;
}

.box_radio_area input[type="radio"]:focus + label:before,
.box_checkbox_area input[type="checkbox"]:focus + label:before {
    outline: 0 none;
}

.box_radio_area input[type="radio"]:checked + label,
.box_checkbox_area input[type="checkbox"]:checked + label {
    background-color: #534a43;
    border: 1px solid #534a43;
}

.box_radio_area input[type="radio"]:checked + label em,
.box_checkbox_area input[type="checkbox"]:checked + label em {
    color: #fff;
    padding-left: 39px;
}

.box_radio_area input[type="radio"]:checked + label em:after,
.box_checkbox_area input[type="checkbox"]:checked + label em:after {
    content: '\eb81';
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -15px;
    font-family: 'remixicon';
    font-style: normal;
    font-size: 30px;
    color: #ff9600;
    font-weight: 400;
}

.box_radio_area input[type="radio"]:checked + label .ex,
.box_checkbox_area input[type="checkbox"]:checked + label .ex {
    color: #fff;
}

/* 체크, 라디오 inline 스타일 */
.box_radio_inline,
.box_checkbox_inline {
    position: relative;
}

.box_radio_inline input[type="radio"],
.box_checkbox_inline input[type="checkbox"] {
    position: absolute;
    left: 0;
    width: 0px;
    height: 0px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0 none;
}

.box_radio_inline input[type="radio"] + label,
.box_checkbox_inline input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    min-width: 170px;
    padding: 9px 15px;
    margin: 0;
    background-color: #a09085;
    border: 1px solid #a09085;
    border-radius: 4px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
}

.box_radio_inline input[type="radio"] + label em,
.box_checkbox_inline input[type="checkbox"] + label em {
    position: relative;
    display: inline-block;
    padding-left: 39px;
    color: #fff;
    font-weight: 700;
    line-height: 28px;
}

.box_radio_inline input[type="radio"] + label em:after,
.box_checkbox_inline input[type="checkbox"] + label em:after {
    content: '\eb81';
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -14px;
    font-family: 'remixicon';
    font-style: normal;
    font-size: 30px;
    color: #fff;
    font-weight: 400;
}

.box_radio_inline input[type="radio"] + label .ex,
.box_checkbox_inline input[type="checkbox"] + label .ex {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
}

.box_radio_inline input[type="radio"]:focus + label,
.box_checkbox_inline input[type="checkbox"]:focus + label {
    outline: 1px dotted #444;
    outline: 5px auto -webkit-focus-ring-color;
    outline: 0 none;
}

.box_radio_inline input[type="radio"]:focus + label:before,
.box_checkbox_inline input[type="checkbox"]:focus + label:before {
    outline: 0 none;
}

.box_radio_inline input[type="radio"]:checked + label,
.box_checkbox_inline input[type="checkbox"]:checked + label {
    background-color: #534a43;
    border: 1px solid #534a43;
}

.box_radio_inline input[type="radio"]:checked + label em:after,
.box_checkbox_inline input[type="checkbox"]:checked + label em:after {
    color: #ff9600;
}

/* 방문시간선택 */
.visit_radio_area,
.visit_checkbox_area {
    position: relative;
}

.visit_radio_area input[type="radio"],
.visit_checkbox_area input[type="checkbox"] {
    position: absolute;
    left: 0;
    width: 0px;
    height: 0px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0 none;
}

.visit_radio_area input[type="radio"] + label,
.visit_checkbox_area input[type="checkbox"] + label {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    background-color: #fff;
    border: 1px solid #282828;
    border-radius: 10px;
    vertical-align: middle;
    cursor: pointer;
}

.visit_radio_area input[type="radio"] + label .time_area,
.visit_checkbox_area input[type="radio"] + label .time_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 22px;
}

.visit_radio_area input[type="radio"] + label .time,
.visit_checkbox_area input[type="checkbox"] + label .time {
    position: relative;
    display: inline-block;
    font-size: 24px;
    color: #1e1e1e;
    font-weight: 700;
}

.visit_radio_area input[type="radio"] + label .visit_cate,
.visit_checkbox_area input[type="checkbox"] + label .visit_cate {
    flex-shrink: 0;
    padding: 7px 10px 6px 10px;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    background-color: #282828;
    border-radius: 5px;
}

.visit_radio_area input[type="radio"] + label .dotline,
.visit_checkbox_area input[type="checkbox"] + label .dotline {
    position: relative;
    padding: 15px 24px 23px;
    background: url("/resources/user/reserv/img/list_area_dotline.png") 2px top repeat-x;
}

.visit_radio_area input[type="radio"] + label .dotline p,
.visit_checkbox_area input[type="checkbox"] + label .dotline p {
    padding: 12px 10px;
    color: #1e1e1e;
    font-weight: 500;
    line-height: 1.2;
    background-color: #f0efeb;
    border-radius: 5px;
    text-align: center;
}

.visit_radio_area input[type="radio"]:focus + label,
.visit_checkbox_area input[type="checkbox"]:focus + label {
    outline: 1px dotted #444;
    outline: 5px auto -webkit-focus-ring-color;
    outline: 0 none;
}

.visit_radio_area input[type="radio"]:focus + label:before,
.visit_checkbox_area input[type="checkbox"]:focus + label:before {
    outline: 0 none;
}

.visit_radio_area input[type="radio"]:checked + label,
.visit_checkbox_area input[type="checkbox"]:checked + label {
    border: 3px solid #282828;
}

.visit_radio_area.not_available_check label,
.visit_checkbox_area.not_available_check label {
    cursor: default !important;
}

.visit_radio_area.add_available_check .visit_cate,
.visit_checkbox_area.add_available_check .visit_cate {
    background-color: #ff9600 !important;
}

.visit_radio_area.reser_available_check .visit_cate,
.visit_checkbox_area.reser_available_check .visit_cate {
    background-color: #43a006 !important;
}

.visit_radio_area.not_available_check input[type="radio"] + label,
.visit_checkbox_area.not_available_check input[type="checkbox"] + label {
    border: 1px solid #282828;
}

.visit_radio_area.not_available_check input[type="radio"]:checked + label::after,
.visit_checkbox_area.not_available_check input[type="checkbox"]:checked + label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #282828;
    border-radius: 9px;
}

.visit_radio_area.add_available_check input[type="radio"] + label,
.visit_checkbox_area.add_available_check input[type="checkbox"] + label {
    border: 1px solid #ff9600;
}

.visit_radio_area.add_available_check input[type="radio"]:checked + label::after,
.visit_checkbox_area.add_available_check input[type="checkbox"]:checked + label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #ff9600;
    border-radius: 9px;
}

.visit_radio_area.reser_available_check input[type="radio"] + label,
.visit_checkbox_area.reser_available_check input[type="checkbox"] + label {
    border: 1px solid #43a006;
}

.visit_radio_area.reser_available_check input[type="radio"]:checked + label::after,
.visit_checkbox_area.reser_available_check input[type="checkbox"]:checked + label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #43a006;
    border-radius: 9px;
}

.checkboxbetween {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.checkboxbetween label {
    margin-bottom: 0;
}

.agree_info {/*max-height:250px;padding:23px 25px 22px;*/font-size:19px;color:#363636;font-weight:500;line-height:1.4;/*border:1px solid #cccbcb;*/background:#fff;border-radius:4px;overflow-y:auto;}
.agree_info .indent {padding-left:20px;text-indent:-18px;padding-bottom:20px;}
.agree_info .tableAscroll {position:relative;width:100%;overflow:hidden;overflow-x:auto;}
.agree_info .tableA {width:100%;min-width:768px;font-weight:400;line-height:1.4;}
.agree_info .tableA th,
.agree_info .tableA td {padding:10px 22px;vertical-align:middle;border:1px solid #e2e7f0;}
.agree_info .tableA td {padding:20px 22px;}
.agree_info .tableA th {background-color:#f3f3f3;}
.agree_info .tdCenter th,
.agree_info .tdCenter td {text-align:center;}

.btn_div {
    margin-top: 32px;
    text-align: center;
}

.btn_div button {
    padding: 17px 16px 16px 16px;
    font-size: 25px;
    font-weight: 800;
    border-radius: 9px;
}

.btn_div .end_btn {
    min-width: 412px;
}

.btn_div + .step_position {
    margin-top: 32px;
}

.half_2_gap16 {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.half_2_gap16 > div {
    flex: 1 1 0;
}

.half_3_gap17 {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
}

.half_3_gap17 > div {
    flex: 0 1;
    width: 100%;
    min-width: calc(33.33% - 17px);
}

.half_3_gap17 .box_radio_area input[type="radio"] + label,
.half_3_gap17 .box_checkbox_area input[type="checkbox"] + label {
    padding: 35px 15px;
}

.half_4_gap13 {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.half_4_gap13 > div {
    flex: 0 1;
    width: 100%;
    min-width: calc(25% - 13px);
}

.bg_brown {
    background-color: #534a43;
    color: #fff;
}

.bg_lightbrown {
    background-color: #8c7a6e;
    color: #fff;
}

.bg_green {
    background-color: #43a006;
    color: #fff;
}

.bg_blue {
    background-color: #1d77ff;
    color: #fff;
}

.bg_orange {
    background-color: #ff5a00;
    color: #fff;
}

.bg_lightorange {
    background-color: #ff9600;
    color: #fff;
}

.bg_lightgray {
    background-color: #f6f5f3;
}

.bg_blue_in_i {
    flex-shrink: 0;
    min-width: 129px;
    background-color: #1d77ff;
    color: #fff;
    padding: 0 !important;
    padding: 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bg_blue_in_i i {
    font-weight: 400;
    font-size: 24px;
    margin-right: 5px;
}

.bg_blue_in_i.W100per {width:100%;height:60px;}

.confirm_gg {padding:15px;color:#fff;font-weight:800;background-color:#534a43;border-radius:4px;text-align:center;}
.confirm_gg em {position:relative;display:inline-block;padding-left:39px;line-height:28px;}
.confirm_gg em::after {content:'\eb81';position:absolute;top:0;left:0;/*margin-top:-15px;*/font-family:'remixicon';font-style:normal;font-size:30px;color:#ff9600;font-weight:400;}
.confirm_gg span {margin-left:20px;}

.reservation_notify_box {margin-bottom:15px;padding:21px 32px;border-radius:10px;border:1px solid #cccbcb;background-color:#fff;overflow:hidden;}
.reservation_notify_box p {padding-left:42px;color:#000;font-weight:700;position:relative;min-height:32px;line-height:27px;}
.reservation_notify_box .icons::after {content:'\f385';position:absolute;top:0;left:0;font-family:'remixicon';font-style:normal;font-size:32px;color:#ff9600;font-weight:400;}

/* basic_box */
.basic_box {
    padding: 18px;
    border-radius: 10px;
    border: 1px solid #cccbcb;
    overflow: hidden;
}

.img_box {
    text-align: center;
}

/* basic_box_two */
.basic_box_two {
    display: flex;
    margin-top: 15px;
    border-radius: 10px;
    border: 1px solid #cccbcb;
    overflow: hidden;
}

.list_box + .list_box {
    margin-top: 15px;
}

/* reservation_infor_area */
.reservation_infor_area {
    border-radius: 10px;
    border: 1px solid #cccbcb;
    background-color: #fff;
    overflow: hidden;
}

.reservation_infor_area .reservation_infor_tit {
    display: flex;
    align-items: center;
    min-height: 65px;
    padding: 0 32px;
    border-bottom: 1px solid #cccbcb;
}

.reservation_infor_area .reservation_infor_tit i {
    margin-right: 10px;
    font-size: 36px;
    color: #ff9600;
}

.reservation_infor_area .reservation_infor_tit strong {
    margin-right: 20px;
    font-size: 25px;
    color: #1e1e1e;
    font-weight: 800;
}

.reservation_infor_area .reservation_infor_tit span {
    color: #404040;
    font-weight: 500;
}

.reservation_infor_area .reservation_infor_form {
    padding: 46px 40px;
    border-bottom: 1px solid #cccbcb;
}

.reservation_infor_area .reservation_infor_form:last-child {
    border-bottom: 0 none;
}

.reservation_infor_form.labelfont22 label,
.reservation_infor_form.labelfont22 .label {
    font-size: 22px;
}

.reservation_infor_area .bg_lightgray {
    margin: 40px 0;
    padding: 30px 40px;
}

.reservation_infor_area .bg_lightgray button {
    min-width: 129px;
}

/* step_position */
.step_position {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding: 25px 20px;
    border-radius: 10px;
    border: 1px solid #cccbcb;
    background-color: #fff;
    overflow: hidden;
}

.step_position a {
    min-width: 162px;
    height: 54px;
    line-height: 54px;
    color: #fff;
    font-weight: 600;
    border-radius: 9px;
    text-align: center;
}

.step_position a span {
    position: relative;
}

.step_position a span::after {
    font-family: 'remixicon';
    position: absolute;
    top: 50%;
    margin-top: -27px;
    font-style: normal;
    font-weight: 400;
    font-size: 30px;
}

.step_position .step_prev {
    background-color: #887466;
}

.step_position .step_prev span {
    padding-left: 36px;
}

.step_position .step_next,
.step_position .step_end {
    background-color: #ff9600;
}

.step_position .step_next span,
.step_position .step_end span {
    padding-right: 27px;
}

.step_position .step_prev span::after {
    content: '\ea60';
    left: -3px;
}

.step_position .step_next span::after {
    content: '\ea6c';
    right: -12px;
}

.step_position .step_end span::after {
    content: '\eb7a';
    right: -12px;
}

.step_position .position_box {
    color: #1e1e1e;
    font-size: 28px;
}

.step_position .position_box strong {
    font-weight: 800;
}

.step_position .position_box span {
    font-weight: 500;
}

/* show_infor_list */
.show_infor_list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 29px;
    border: 1px solid #cccbcb;
    border-radius: 4px;
    overflow: hidden;
}

.show_infor_list .show_infor_row {
    display: flex;
    flex: 0 1;
    width: 100%;
    font-size: 19px;
    line-height: 1.3
}

.show_infor_list .show_infor_row strong {
    flex-shrink: 0;
    width: 152px;
    padding: 10px 32px;
    color: #000;
    font-weight: 600;
    text-align: right;
    background-color: #f0edeb;
}

.show_infor_list .show_infor_row p {
    width: 100%;
    padding: 10px 22px;
    color: #363636;
    font-weight: 500;
}

.show_infor_list .show_infor_row p + strong {
    text-align: center;
}

.show_infor_list .show_infor_row:first-child strong,
.show_infor_list .show_infor_row:first-child p {
    padding-top: 30px
}

.show_infor_list .show_infor_row:last-child strong,
.show_infor_list .show_infor_row:last-child p {
    padding-bottom: 30px
}

/* seniorReservation_footer */
#seniorReservation_footer {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-top: 30px;
    padding-bottom: 28px;
    font-size: 13px;
    color: #8c8c8c;
    font-weight: 500;
    text-align: center;
    z-index: 2;
}

#seniorReservation_footer p {
    padding: 0;
}

#seniorReservation_footer .top_go {
    display: none;
    position: fixed;
    bottom: 16px;
    right: 50%;
    width: 60px;
    height: 60px;
    margin-right: -573px;
    background-color: rgba(136, 116, 102, .8);
    border-radius: 10px;
}

#seniorReservation_footer .top_go::after {
    content: '\ea76';
    position: absolute;
    top: 50%;
    right: 50%;
    margin: -18px -18px 0 0;
    font-family: 'remixicon';
    font-style: normal;
    font-size: 36px;
    color: #fff;
}

/* agree_guide_box */
.agree_guide_box {
    margin-top: 44px;
    padding: 30px 29px;
    background-color: #f6f5f3;
    border: 1px solid #cccbcb;
    border-radius: 4px;
    overflow: hidden;
}

.agree_guide_box .gu_tit {
    display: flex;
    align-items: center;
    color: #000;
    font-size: 22px;
    font-weight: 700;
}

.agree_guide_box .gu_tit i {
    margin-right: 10px;
    color: #1d77ff;
    font-size: 30px;
    font-weight: 400;
}

.agree_guide_box .list_guide {
    margin-top: 12px;
}

.list_guide {
    margin-top: -7px;
}

.list_guide li {
    position: relative;
    padding-left: 30px;
    margin-top: 7px;
    font-size: 19px;
    color: #363636;
    font-weight: 500;
    line-height: 1.5;
}

.list_guide li::before {
    content: '';
    display: block;
    position: absolute;
    left: 13px;
    top: 12px;
    width: 2px;
    height: 2px;
    background-color: #363636;
    border-radius: 100%;
}

/* 레이어팝업 */
.layer_pop_wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    padding: 12px 16px;
}

.layer_pop_wrap.open {
    display: flex;
}

.layer_pop_wrap input[type="text"] {
    width: 100%;
}

.layer_pop {
    position: relative;
    width: 486px;
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.layer_pop .btn_close {
    position: absolute;
    top: 20px;
    right: 20px;
    padding-right: 25px;
    color: #fff;
    font-weight: 500;
}

.layer_pop .btn_close::after {
    content: '\f4c8';
    position: absolute;
    top: 1px;
    right: 0;
    font-family: 'remixicon';
    font-style: normal;
    color: #fff;
    font-size: 18px;
}

.layer_pop_h {
    padding: 20px 26px;
    background: #7b6658;
    border-bottom: 6px solid #ff9600;
}

.layer_pop_h .layer_tit {
    padding-right: 70px;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
}

.layer_pop_b {
    flex: auto;
    overflow: auto;
    background: #fff;
}

.layer_pop_b .top_info {
    padding: 29px 16px 29px;
    color: #3e3e3e;
    font-weight: 600;
    line-height: 1.5;
    background-color: #f0efeb;
    border-bottom: 1px solid #dbdada;
    text-align: center;
}

.layer_pop_b .top_info strong {
    font-weight: 800;
}

.layer_pop_f {
    padding: 14px 16px 16px;
    border-top: 1px solid #dbdada;
    background: #fff;
}

.layer_pop_f .btn_wrap {
    display: flex;
    gap: 9px;
}

.layer_pop_f .btn_wrap .btn_type {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: auto;
    height: 54px;
    border-radius: 9px;
}

.layer_pop_f .btn_wrap .btn_type span {
    color: #fff;
    font-weight: 800;
}

.visit_time_layer_pop .layer_pop {
    width: 736px;
}

.visit_time_layer_pop .layer_pop .layer_pop_b .top_info {
    font-size: 24px;
    font-weight: 500;
}

.visit_time_layer_pop .layer_pop_f {
    padding-left: 140px;
    padding-right: 140px;
}

.visit_time_layer_pop .visit_form {
    padding: 30px 28px;
}

.visit_form .visit_info {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.visit_form .visit_info p {
    position: relative;
    padding-left: 50px;
    font-size: 18px;
    color: #3e3e3e;
    font-weight: 500;
}

.visit_form .visit_info p::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: -1px;
    width: 40px;
    height: calc(100% + 2px);
    border-radius: 5px;
}

.visit_form .visit_info .reser_available::before {
    background-color: #43a006;
}

.visit_form .visit_info .add_available::before {
    background-color: #ff9600;
}

.visit_form .visit_info .not_available::before {
    background-color: #282828;
}

.visit_checkbox_warp {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 25px;
}

.visit_checkbox_warp .visit_radio_area {
    flex: 0 1;
    width: 100%;
    min-width: calc(50% - 7px);
}

.residential_layer_pop .layer_pop {width:726px;}
.residential_layer_pop .layer_pop_b .top_info {padding:20px 46px 35px;text-align:left;}
.residential_layer_pop .layer_pop_b .form_half .form_item:nth-child(2n+1) {padding-right:20px;}
.residential_layer_pop .layer_pop_b .form_half .form_item:nth-child(2n) {padding-left:20px;}
.residential_layer_pop .layer_pop_b .form_half .input_area input {padding:0 16px;}
.residential_layer_pop .layer_pop_f {padding:21px 16px 27px;}
.residential_layer_pop .layer_pop_f .btn_wrap {justify-content:center;}
.residential_layer_pop .layer_pop_f .btn_wrap .btn_type {max-width:222px;}
.tit_orange_dot {position:relative;padding-left:17px;margin-bottom:11px;color:#3e3e3e;font-weight:800;}
.tit_orange_dot::before {content:'';display:block;position:absolute;left:0;top:10px;width:7px;height:7px;background-color:#ff9600;border-radius:100%;}
.tit_normal_dot {color:#3e3e3e;font-size:18px;font-weight:700;}
.tit_orange_dot + .tit_normal_dot {margin-top:-3px;}
.tit_normal_dot + .gray_box {margin-top:12px;}
.residential_layer_pop .residential_area {padding:27px 46px 25px;line-height:1.5;}
.blue_box {padding:17px 23px;margin-bottom:16px;color:#0966f3;font-size:18px;font-weight:500;line-height:1.65;background-color:#e7f1ff;border:1px solid #1d77ff;border-radius:4px;word-break:keep-all;word-wrap:break-word;}
.gray_box {padding:15px 22px;margin-bottom:20px;color:#404040;font-size:18px;font-weight:500;background-color:#f9f9f9;border:1px solid #cccbcb;border-radius:4px;}
.gray_box + .blue_box {margin-top:-6px;}
.gray_box ul li {position:relative;padding-left:14px;margin-bottom:3px;}
.gray_box ul li:last-child {margin-bottom:0;}
.gray_box ul li::before {content:'';display:block;position:absolute;left:0;top:12px;width:2px;height:2px;background-color:#404040;border-radius:100%;}
.orange_tip {position:relative;padding-left:16px;color:#f64c11;font-size:18px;font-weight:500;}
.orange_tip::before {content:'※';display:block;position:absolute;left:0;top:-1px;}
.orange_tip + .box_checkbox_inline {margin-top:25px;}

/* 넓이가 1180px 이하일 때*/
@media all and (max-width: 1180px) {
    #wrap {
        width: 100%;
    }

    #seniorReservation_footer .top_go {
        right: 16px;
        margin-right: 0;
    }
}

/* 넓이가 1023px 이하일 때*/
@media all and (max-width: 1023px) {
    .form_half {
        flex-wrap: nowrap;
        flex-direction: column;
    }

    .form_half .form_item:nth-child(2n+1),
    .residential_layer_pop .layer_pop_b .form_half .form_item:nth-child(2n+1) {padding-right:0;}
    .form_half .form_item:nth-child(2n),
    .residential_layer_pop .layer_pop_b .form_half .form_item:nth-child(2n) {padding-left:0;}

    .form_half .form_item:nth-last-child(-n+2) {
        margin-bottom: 29px;
    }

    .form_half .form_item:last-child {
        margin-bottom: 0;
    }
}

/* 넓이가 767px 이하일 때*/
@media all and (max-width: 767px) {
    #seniorReservation_header {
        margin-bottom: 8px;
        padding: 16px 16px 15px;
        z-index: 3;
    }

    #seniorReservation_header .header_bar a {
        top: -1px;
        min-width: auto;
        height: 38px;
        padding: 8px 16px;
    }

    #seniorReservation_header .header_bar a::before {
        background-position: left top -3px;
    }

    #seniorReservation_header .header_bar a::after {
        background-position: left top 3px;
    }

    #seniorReservation_header .user {
        padding: 7px 70px 16px;
        font-size: 24px;
    }

    #seniorReservation_step ul {
        flex-direction: column;
        gap: 4px 8px;
    }

    #seniorReservation_step ul li {
        display: none;
        padding: 10px 10px 11px 10px;
        font-size: 20px;
    }

    #seniorReservation_step ul li.selected {
        display: block;
    }

    #seniorReservation_step ul li.step_on i {
        display: inline-block;
        margin-right: 4px;
        font-size: 25px;
    }

    #seniorReservation_step ul li em span {
        line-height: 1.2;
    }

    #seniorReservation_step ul li em span:first-child {
        display: inline-block;
    }

    #seniorReservation_header .step_bar {
        display: none;
        height: 8px;
        margin-top: 8px;
    }

    .form_item,
    .form_half .form_half_item:nth-last-child(-n+2) {
        margin-bottom: 18px;
    }

    .form_half .form_half_item {
        min-width: 100%;
    }

    .form_half .form_half_item:nth-child(2n+1) {
        padding-right: 0;
    }

    .form_half .form_half_item:nth-child(2n) {
        padding-left: 0;
    }

    .form_item label,
    .form_item .label {
        margin-bottom: 8px;
        font-size: 17px;
        line-height: 1.3;
    }

    .input_area input,
    .input_area .input_style,
    .input_area .file_input_add .input_txt,
    .layer_pop_b .input_area input {
        height: 48px;
        line-height: 48px;
        padding: 0 16px;
    }

    .form_item button {
        min-height: 48px;
        padding: 10px 16px;
        font-size: 17px;
    }

    .input_area.btnplus {
        flex-wrap: nowrap;
        width: 100%;
    }

    .form_half .form_item .input_area.btnplus input {
        margin-right: 8px;
    }

    .form_half .form_item .input_area.type2_btnplus input {
        padding: 0 90px 0 16px;
    }

    .form_half .form_item .input_area.type2_btnplus button {
        width: 90px;
        height: 48px;
        line-height: 48px;
        font-size: 17px;
        padding: 0 !important;
        font-weight: 400;
    }

    .form_half .form_item .input_area.type2_btnplus button i {
        font-size: 20px;
        font-weight: 500;
    }

    .select_box select,
    .blood_measurment_box .select_box select {
        height: 48px;
        line-height: 48px;
        padding: 0 46px 0 16px;
        font-size: 17px;
    }

    .textarea_box textarea {
        padding: 12px 16px;
        font-size: 17px;
    }

    .date_wrap2 {
        border-radius: 0 5px 5px 0px;
    }

    .date_wrap2::after {
        font-size: 17px;
        width: 90px;
        height: 50px;
        line-height: 50px;
        right: -1px;
    }

    .date_wrap2 input[type='time']::-webkit-calendar-picker-indicator,
    .date_wrap2 input[type='date']::-webkit-calendar-picker-indicator {
        width: 80px;
        height: 46px;
        z-index: 1;
    }

    .date_wrap2.type2_time::after {
        content: "시간선택";
    }

    .date_wrap2.type2_date::after {
        content: "날짜선택";
    }

    .box_radio_area input[type="radio"] + label,
    .box_checkbox_area input[type="checkbox"] + label {
        padding: 9px;
    }

    .box_radio_area input[type="radio"] + label .ex,
    .box_checkbox_area input[type="checkbox"] + label .ex {
        margin-top: 4px;
        font-size: 16px;
    }

    .visit_radio_area input[type="radio"] + label .time_area,
    .visit_checkbox_area input[type="radio"] + label .time_area {
        padding: 16px 20px;
    }

    .visit_radio_area input[type="radio"] + label .dotline,
    .visit_checkbox_area input[type="checkbox"] + label .dotline {
        padding: 15px 16px 16px;
    }

    .checkboxbetween {
        flex-direction: column;
        align-items: start;
        margin-bottom: 8px;
    }

    .checkboxbetween .box_radio_inline,
    .checkboxbetween .box_checkbox_inline {
        width: 100%;
    }

    .checkboxbetween .box_radio_inline input[type="radio"] + label,
    .checkboxbetween .box_checkbox_inline input[type="checkbox"] + label {
        display: block;
    }

    .agree_info {font-size:17px;}
    .agree_info .indent {padding-bottom:0;}

    .half_2_gap16 {
        gap: 8px;
    }

    .bg_blue_in_i {
        min-width: auto;
        padding: 10px 16px !important;
    }

    .bg_blue_in_i i {
        display: none;
    }

    .bg_blue_in_i.W100per {height:48px;}

    .confirm_gg {padding:10px;font-size:17px;}
    .reservation_notify_box {margin-bottom:8px;padding:10px 16px;}
    .reservation_notify_box p {padding-left:34px;font-size:17px;line-height:24px;}
    .reservation_notify_box .icons::after {font-size:28px;}

    .btn_div {
        margin-top: 16px;
    }

    .btn_div button {
        padding: 17px 8px 17px 8px;
        font-size: 20px;
    }

    .btn_div .end_btn {
        min-width: 100%;
    }

    .btn_div + .step_position {
        margin-top: 16px;
    }

    .reservation_infor_area .reservation_infor_tit {
        padding: 10px 16px;
        min-height: auto;
    }

    .reservation_infor_area .reservation_infor_tit i {
        font-size: 32px;
        margin-right: 6px;
    }

    .reservation_infor_area .reservation_infor_tit strong {
        font-size: 21px;
        margin-right: 0;
    }

    .reservation_infor_area .reservation_infor_tit span {
        display: none;
    }

    .reservation_infor_area .reservation_infor_form {
        padding: 20px 16px;
    }

    .reservation_infor_form.labelfont22 label,
    .reservation_infor_form.labelfont22 .label {
        font-size: 18px;
    }

    .step_position {
        padding: 15px;
    }

    .step_position .position_box {
        font-size: 22px;
    }

    .step_position a {
        min-width: auto;
        width: 40px;
        height: 40px;
    }

    .step_position a span {
        font-size: 0;
    }

    .step_position a span::after {
        margin-top: -40px;
        font-size: 26px;
    }

    .step_position .step_prev span::after {
        left: 5px;
    }

    .step_position .step_next span::after,
    .step_position .step_end span::after {
        right: 0;
    }

    #seniorReservation_footer p {
        line-height: 1.5;
    }

    #seniorReservation_footer .top_go {
        width: 44px;
        height: 44px;
    }

    #seniorReservation_footer .top_go::after {
        font-size: 28px;
        margin: -14px -14px 0 0;
    }

    .agree_guide_box {
        margin-top: 24px;
        padding: 16px 16px;
    }

    .agree_guide_box .list_guide {
        margin-top: 8px;
    }

    .agree_guide_box .gu_tit {
        font-size: 19px;
    }

    .agree_guide_box .gu_tit i {
        margin-right: 5px;
        font-size: 27px;
    }

    .list_guide li {
        margin-top: 5px;
        padding-left: 22px;
        font-size: 17px;
    }

    .list_guide li::before {
        left: 8px;
        top: 11px;
    }

    .visit_time_layer_pop .layer_pop .layer_pop_b .top_info {
        padding: 20px 16px 19px;
        font-size: 20px;
    }

    .visit_time_layer_pop .visit_form {
        padding: 16px;
    }

    .visit_checkbox_warp {
        gap: 10px;
        flex-direction: column;
        margin-top: 16px;
    }

    .visit_time_layer_pop .layer_pop_f {
        padding: 12px 16px 14px;
    }

    .visit_form .visit_info {
        flex-direction: column;
        align-items: start;
        gap: 8px;
    }

    .visit_form .visit_info p {
        font-size: 16px;
    }

    .residential_layer_pop .layer_pop_b .top_info {padding:19px 20px 22px;}
    .residential_layer_pop .layer_pop_b .form_half .form_half_item:last-child {margin-bottom:0;}
    .residential_layer_pop .residential_area {padding:19px 20px 22px;}
    .tit_orange_dot {margin-bottom:6px;padding-left:12px;font-size:17px;}
    .tit_orange_dot::before {top:9px;width:5px;height:5px;}
    .tit_normal_dot {font-size:16px;}
    .tit_normal_dot + .gray_box {margin-top:6px;}
    .tit_orange_dot + .tit_normal_dot {margin-top:0;}
    .gray_box {margin-bottom:14px;padding:12px 16px;font-size:16px;}
    .gray_box + .blue_box {margin-top:-5px;}
    .gray_box ul li {padding-left:9px;}
    .gray_box ul li::before {top:10px;}
    .blue_box {margin-bottom:10px;padding:12px 16px;font-size:16px;}
    .orange_tip {font-size:16px;}
    .orange_tip + .box_checkbox_inline {margin-top:14px;}
    .residential_layer_pop .box_checkbox_inline input[type="checkbox"] + label {display:block;}
    .residential_layer_pop .layer_pop_f {padding:14px 16px 16px;}
    .residential_layer_pop .layer_pop_f .btn_wrap .btn_type {max-width:100%;}
}

/* 넓이가 480px 이하일 때*/
@media all and (max-width:480px) {
    .layer_pop_f,
    .residential_layer_pop .layer_pop_f {padding:12px 16px 14px;}
    .layer_pop_f .btn_wrap .btn_type {height:48px;}
}

/* 넓이가 400px 이하일 때*/
@media all and (max-width: 400px) {
    .half_2_gap16 {
        flex-direction: column;
    }
}

/* 넓이가 380px 이하일 때*/
@media all and (max-width: 380px) {
    #seniorReservation_header .user {
        padding: 42px 0px 14px;
    }

    .step_position .position_box span {
        display: none;
    }
}

/* 넓이가 340px 이하일 때*/
@media all and (max-width: 340px) {
    .visit_radio_area input[type="radio"] + label .time_area,
    .visit_checkbox_area input[type="radio"] + label .time_area {
        flex-direction: column;
        align-items: start;
    }

    .visit_radio_area input[type="radio"] + label .visit_cate,
    .visit_checkbox_area input[type="checkbox"] + label .visit_cate {
        margin-top: 8px;
    }
}

.reservation_infor_area:not(#reservation_step1) {
    display: none;
}

.btn_div {
    display: none;
}

/* 레이아웃 */
.info-list {
    display: grid;
    grid-template-columns: 140px 1fr; /* 왼쪽 고정, 오른쪽 가변 */
    gap: 8px 12px; /* row, column 간격 */
    margin: 0;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

/* 제목(왼쪽 열) */
.info-list dt {
    margin: 0;
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap; /* 제목 줄바꿈 방지 */
    position: relative;
    padding-right: 10px;
}

/* 콜론은 CSS로 일괄 출력 */
.info-list dt::after {
    content: " :";
}

/* 내용(오른쪽 열) */
.info-list dd {
    margin: 0;
    line-height: 1.6;
    word-break: keep-all; /* 한국어 단어 분리 최소화 */
}

/* 접근성: 시각적 숨김 */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* 모바일 대응 */
@media (max-width: 767px) {
    .info-list {
        grid-template-columns: 1fr;
    }

    .info-list dt {
        white-space: normal; /* 모바일에선 줄바꿈 허용 */
    }
}

