@charset "UTF-8";
.sub_top {
    background: url('/img/sub/subtitle07.jpg') #ecebe6 no-repeat center center;
}
.sub_menu li {
    width: 50%
}
.visible-xs,.visible-xxs {display:none !important}
@media (max-width:768px)  { .hidden-xs {display:none!important} .visible-xs {display:block!important}}
@media (max-width:500px)  { .hidden-xxs{display:none!important} .visible-xxs{display:block!important}}

.divline { display: block; width: 100%; height: 1px; background-color: #ccc; margin: 1.5rem 0; }
#rsv,
#rsv h1, #rsv h2, #rsv h3, #rsv h4, #rsv h5, #rsv h6,
#rsv input, #rsv select, #rsv button
{
    font-family: 'SUIT', sans-serif;
}

#rsv .step.step3 .cal .cal_table td span.t1 {
    background: #637bb1;
}
#rsv .step.step3 .cal .cal_table td span.t2 {
    background: #63b18f;
}

#rsv .step.step3 .cal .cal_table td span.t3 {
    background: #bb8484;
}

#rsv .step.step3 .cal .cal_table td span.t4 {
    background: #637bb1;
}

#rsv .step.step3 .cal .cal_table td span.t5 {
    background: #63b18f;
}

#rsv .clear {
    clear: both;
}

#rsv .bo_tit {
    text-align: center;
}

#rsv section {
    position: relative;
    margin: 0 0 30px 0;
}

#rsv section.last {
    margin: 0
}

#rsv .step {
    float: left;
    box-sizing: border-box;
    border: 1px solid #f1f1f1;
    border-radius: 0 0 .25rem .25rem;
}

#rsv .step .step_tit {
    margin: 0;
    padding: 15px 30px;
    color: snow;
    font-size: 24px;
    font-weight: bold;
    background: #8a1e36;
    border-radius: .25rem .25rem 0 0;
}

#rsv .step .step_cont {
    padding: 25px;
}
#rsv .step.step1 {
    width: 32.3333%;
}
#rsv .step.step3 #cal {
    position: relative;
    user-select: none;
}
#rsv .step.step3 #cal.blocked::after {
    position: absolute;
    content: '상담 후 검사일시 지정';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,.5);
    backdrop-filter: blur(5px);
    border-radius: .5rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: rgba(0,0,0,.75);
    cursor: not-allowed;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}
#rsv .step.step3 .cal .cal_head {
    margin: 0 0 20px 0;
    padding: 15px;
    background: #f7f7f7;
    text-align: center;
}
#rsv .step.step3 .cal .cal_head .cal_head_text {
    font-size: 20px;
    font-weight: bold;
}
#rsv .step.step3 .cal .cal_head .prev {
    float: left;
    cursor: pointer;
}
#rsv .step.step3 .cal .cal_head .next {
    float: right;
    cursor: pointer;
}
#rsv .step.step3 .cal .cal_table {
    width: 100%; 
}
#rsv .step.step3 .cal .cal_table tr {
    height: 45px;
}
#rsv .step.step3 .cal .cal_table th {
    color: #ababab;
    font-weight: bold;
    text-align: center;
}
#rsv .step.step3 .cal .cal_table td {
    color: #ababab;
    font-weight: bold;
    text-align: center;
}
#rsv .step.step3 .cal .cal_table td span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    cursor: pointer;
    border-radius: 50%;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    max-width: 45px;
    margin: auto;
    font-weight: 700;
}
#rsv .step.step3 .cal .cal_table td span.nor {
    color: #282828;
}
#rsv .step.step3 .cal .cal_table td span.sat {
    color: #282828;
}
#rsv .step.step3 .cal .cal_table td span.sun {
    color: #bf4b4d;
}
#rsv .step.step3 .cal .cal_table td span.on {
    background: #8a1e36;
    color: snow;
}
/* #rsv .step.step3 .cal .cal_table td span:hover {
    background: #8a1e36;
    color: snow;
} */
#rsv .step.step2 {
    width: 32.3333%;
    margin: 0 1.5%;

}
#rsv .step.step2 .step_cont {
    max-height: 850px;
    overflow-y: auto;
}
#rsv .step.step2 .sel_step02 ol {
    display: none;
}
#rsv .step.step2 .sel_step02 ol.sel_act {
    display: block;
}
#rsv .step.step2 .sel_step02 ol li { margin-bottom: .5rem; }
#rsv .step.step2 .sel_step02 a {
    position: relative;
    padding: 3% 5%;
    display: block;
    border: 1px solid #eee;
    border-radius: .25rem;
    box-sizing: border-box;
    margin-bottom: 10px;
}
#rsv .step.step2 .sel_step02 a:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 3px solid #8a1e36;
}
#rsv .step.step2 .sel_step02 li a .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
#rsv .step.step2 .sel_step02 li a .imgdiv,
#rsv .step.step2 .sel_step02 li a .icodiv
{ width: 35%; }
#rsv .step.step2 .sel_step02 li a .imgdiv img { border-radius: .25rem; overflow: hidden; }
#rsv .step.step2 .sel_step02 li a .icodiv { margin: .5rem 0; }
#rsv .step.step2 .sel_step02 li a .icodiv .ico { width: 50%; display: flex; align-items: center; justify-content: center; height: auto; background-color: #8a1e36; aspect-ratio: 1/1; border-radius: 50%; margin: auto; }
#rsv .step.step2 .sel_step02 li a .icodiv .ico img { max-width: 50%; object-fit: cover; }
#rsv .step.step2 .sel_step02 li a .txt {
    width: 65%;
    padding-left: 5%;
}
#rsv .step.step2 .sel_step02 li a .txt .d_tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
}
#rsv .step.step2 .sel_step02 li a .txt .d_tit h5 {
    margin-left: 5px;
}
#rsv .step.step2 .sel_step02 .sel_act02::before { 
    content: url(./img/ico_checkcirle.svg);
    position: absolute;
    top: .5rem;
    right: .5rem;
}
#rsv .step.step2 .sel_step02 .sel_act02::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 3px solid #8a1e36;
    border-radius: .25rem;
}
#rsv .step.step3 {
    width: 32.3333%;
}
#rsv .step.step3 .rsv_date {
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: 1px solid #f2f2f2;
}
#rsv .step.step3 .rsv_date #rsv_date {
    width: 200px;
    margin: -5px 0 0 0;
    padding: 0 10px;
    line-height: 30px;
    border: none;
    font-weight: 700;
}
#rsv .step.step3 .rsv_date .rsv_schedule {
    display: none;
    color: #8a1e36;
    margin-top: 1.25rem;
    margin-bottom: -30px;
}
#rsv .step.step3 .rsv_time {
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
}
#rsv .step.step3 .rsv_time .timebox,
#rsv .step.step3 .rsv_time .magbox { width: 47.5%; }
#rsv .step.step3 .rsv_time .timebox select,
#rsv .step.step3 .rsv_time .magbox select {
    display: block;
    width: 100%;
    height: auto;
    padding: .5rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: .25rem;
    box-sizing: border-box;
}

#rsv .step.step3 .c_nav {
    width: 100%;
    background: #f8f7f5;
    margin-bottom: 5%;
}
#rsv .step.step3 .c_nav .listwrap {
    padding: 1% 3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
#rsv .step.step3 .c_nav .listwrap .list {
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
}
#rsv .step.step3 .c_nav .listwrap .list .c_box {
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    border: 1px solid #eee;
}
#rsv .step.step3 .c_nav .listwrap .list01 .c_box {
    background: #bb8484;
}
#rsv .step.step3 .c_nav .listwrap .list02 .c_box {
    background: #637bb1;
}
#rsv .step.step3 .c_nav .listwrap .list03 .c_box {
    background: #63b18f;
}

#rsv .step.step1 .rsv_notice span.ht {
    display: block;
    font-weight: bold;
    line-height: 60px;
    font-size: 20px;
}

#rsv .step.step1 .rsv_notice ul {
    padding: 0;
    margin: 0;
    list-style: none;
    color: #282828;
}

#rsv .step.step1 .rsv_notice li {
    position: relative;
    line-height: 1.75;
    color: #343434;
}
#rsv .step.step1 .rsv_notice li:not(.ft20) { padding-left: 1rem; }
#rsv .step.step1 .rsv_notice li:not(.ft20)::before {
    position: absolute; content: '＊'; left: 0; top: .25rem; font-size: .75rem;
}

#rsv .step.step1 .rsv_notice li span {
    color: #8a1e36;
}

#rsv .step.step1 .sel_step01 li {
    margin-bottom: .5rem;
}
#rsv .step.step1 .sel_step01 li a {
    position: relative;
    padding: 1.25rem 2rem;
    display: block;
    border: 1px solid #eee;
    border-radius: .25rem;
    box-sizing: border-box;
}
#rsv .step.step1 .sel_step01 li a .mag { font-weight: 600; margin-bottom: .25rem; }
#rsv .step.step1 .sel_step01 li a:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 3px solid #8a1e36;
}

#rsv .step.step1 .sel_step01 li.sel_act a:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 3px solid #8a1e36;
    border-radius: .25rem;
}

#rsv .privacy {
    max-height: 300px;
    overflow-y: auto;
    padding: 20px;
    font-size: 14px;
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    line-height: 1.5;
}
#rsv .privacy ul, #rsv .privacy ol { margin-left: 1rem; }
#rsv .privacy ul.point li { position: relative; padding-left: 1rem; }
#rsv .privacy ul.point li::before { position: absolute; content: ''; width: 3px; height: auto; aspect-ratio: 1/1; border-radius: 50%; background-color: #8a1e36; top: .65rem; left: 0; }

#rsv .agree {
    padding: 15px;
    background: #f8f7f5;
    text-align: right;
    border: 1px solid #e5e5e5;
    border-top: none;
}

#rsv .rsv_input {
    width: 100%;
    border-top: 2px solid #282828;
    border-collapse: collapse;
}

#rsv .rsv_input tr {
    height: 65px;
}

#rsv .rsv_input th {
    width: 120px;
    padding: 0 1rem;
    background: #f8f8f8;
    color: #232323;
    border: 1px solid #e9e9e9;
    border-left: 0
}

#rsv .rsv_input td {
    padding: 15px 20px;
    color: #232323;
    border: 1px solid #e9e9e9;
    border-right: 0
}
#rsv .rsv_input td .innerform table { 
    width: 100%;
    border-spacing: 0;
}
#rsv .rsv_input td .innerform table td { width: 50%; }
#rsv .rsv_input td .innerform table tr:not(:last-child) td { border-bottom: 0; } 
#rsv .rsv_input td .innerform table tr td:last-child { border-right: 1px solid #e9e9e9; }
#rsv .rsv_input td .innerform table td input[type=text] { width: 100%; }
@media (max-width:990px){
    #rsv .rsv_input tr { height: auto; }
    #rsv .rsv_input td .innerform table,
    #rsv .rsv_input td .innerform table tbody,
    #rsv .rsv_input td .innerform table tr,
    #rsv .rsv_input td .innerform table td
    { display: block; }
    #rsv .rsv_input td .innerform table td { width: 100%; border-right: 1px solid #e9e9e9; }
}

#rsv .rsv_input td select {
    min-width: 300px;
    border-radius: 3px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #d0d3db;
    box-sizing: border-box;
}

#rsv .rsv_input td input[type='text'],
#rsv .rsv_input td input[type='password'] {
    min-width: 300px;
    border-radius: 3px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #d0d3db;
    box-sizing: border-box;
}

#rsv .rsv_input td textarea {
    border: 1px solid #d0d3db;
    width: 100%;
    min-height: 200px;
    border-radius: .25rem;
    resize: none;
    padding: .5rem;
}

#btn_submit {
    background: #8a1e36;
    color: #fff;
    min-width: 200px;
    min-height: 40px;
    display: block;
    margin: 40px auto;
    font-size: 1.5rem;
    padding: 1rem 0;
    border: 0;
    border-radius: .5rem;
    font-weight: 800;
}

#rsv .txt_imp {
    text-align: center;
    margin: 5% 0;
}

#rsv .txt_imp em {
    color: #8a1e36;
}

@media (max-width:1416px) {
    #rsv .step {
        float: none;
    }

    #rsv .step.step1 {
        width: 100%;
        margin: 0 auto 40px;
    }

    #rsv .step.step2 {
        width: 100%;
        margin: 0 auto 40px;
    }

    #rsv .step.step3 {
        width: 100%;
        margin: 0 auto 40px;
    }

    #rsv .privacy {
        width: 100%;
        margin: 0 auto;
    }

    #rsv .agree {
        width: 100%;
        margin: 0 auto 40px;
    }

    #rsv .rsv_input {
        width: 100%;
        margin: 0 auto 40px;
    }

    #rsv .rsv_input td select,
    #rsv .rsv_input td input[type='text'],
    #rsv .rsv_input td input[type='password'] {
        width: 180px;
    }
}

@media (max-width:768px) {

    #rsv .rsv_input th {
        width: 20%;
        padding: 0 5px;
        font-size: 12px;
    }

    #rsv .rsv_input td {
        width: 80%;
        padding: 15px 20px
    }

    #rsv .rsv_input td textarea {
        min-width: auto;
        width: 100%;
    }

    #rsv .rsv_input td select,
    #rsv .rsv_input td input[type='text'],
    #rsv .rsv_input td input[type='password'] {
        min-width: auto;
        width: 100%;
    }

    #rsv .rsv_input td select {
        min-width: auto;
        width: 100%;
    }

    #btn_submit {
        font-size: 16px;
    }
}

@media (max-width:400px) {
    #rsv .step.step3 .cal .cal_table {
        font-size: 12px;
    }

    #rsv .step.step3 .cal .cal_table tr {
        height: 30px;
    }

    #rsv .step.step3 .cal .cal_table td span {
        padding: 4px 0;
        max-width: 25px;
    }
}

#visitorSection, #visitorSection input, #visitorSection button { font-family: 'SUIT', sans-serif; }
#visitorSection { padding: 5rem 0 10rem; font-size: 1rem; }
#visitorSection form { padding: 2rem; background-color: #ffe3e3; border-radius: .25rem; }
#visitorSection form aside,
#visitorSection form .input-wrap 
{ display: flex; align-items: center; justify-content: space-between; }
#visitorSection form .input-wrap { width: 40%; }
#visitorSection form .input-wrap label { width: 20%; font-weight: 700; }
#visitorSection form .input-wrap label + input { width: 75%; padding: .75rem 1.25rem; border: 1px solid #e9e9e9; border-radius: .25rem; outline: none; background-color: #fff; }
#visitorSection form .input-wrap label + input:focus,
#visitorSection form .input-wrap label + input:active { box-shadow: none !important; border-color: #e9e9e9 !important; }
#visitorSection form .button-wrap { width: 15%; }
#visitorSection form .button-wrap button { width: 100%; background-color: #8a1e36; color: #fff; padding: .75rem 0; border: none !important; border-radius: .25rem; font-weight: 700; }
@media (max-width:990px){
    #visitorSection form { padding: 1.25rem; }
    #visitorSection form aside { flex-wrap: wrap; }
    #visitorSection form .input-wrap, #visitorSection form .button-wrap { width: 100%; margin-bottom: .5rem; }

}
#visitorSection .viewList { position: relative; width: 100%; margin: 3rem auto 0; }
#visitorSection .viewList table { width: 100%; border-spacing: 0; border-top: 2px solid #000; }
#visitorSection .viewList table th,
#visitorSection .viewList table td { padding: 1rem .5rem; border-bottom: 1px solid #e9e9e9; text-align: center; }
#visitorSection .viewList table tr.past td { color: #ccc; }
#visitorSection .viewList table td span { display: inline-block; padding: .25rem .75rem; border-radius: .25rem; }
#visitorSection .viewList table td span.wait { background-color: #ccc; }
#visitorSection .viewList table td span.complete { background-color: #8a1e36; color: #fff; }
#visitorSection .viewList table td.default-table,
#visitorSection .viewList table td.empty-table { padding: 4rem 0; line-height: 1.5; text-align: center; }
#visitorSection .viewList table td.default-table p,
#visitorSection .viewList table td.empty-table p { font-size: 1.15rem; color: #ababab; }
#visitorSection .viewList table td.default-table span { font-size: 1rem; color: #ccc; }
@media (max-width:990px){
    #visitorSection .viewList { white-space: nowrap; overflow-x: auto; }
}