nav ul li a:hover {
    color: #707070 !important;
}

nav ul li:last-child,
nav ul li:last-child a {
    color: #707070;
}

/* contents */
.sub_inner {
    padding: 5rem 0;
}

h3.title {
    font-size: 2.2vw;
    font-weight: bold;
}

h3.title span {
    display: block;
    font-size: 1.3vw;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.progress {
    margin: 5rem 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.progress .line_bg {
    max-width: 94%;
    width: 100%;
    height: 8px;
    border-radius: 50px;
    background-color: #0000000f;
    position: relative;
    overflow: hidden;
}

.progress .line {
    position: absolute;
    background-color: #7e5648;
    top: 0;
    left: 0;
    height: 8px;
    border-radius: 50px;
    z-index: 2;
}

.progress .line.estimate02 {
    width: 10%;
}

.progress .line.estimate03 {
    width: 20%;
}

.progress .line.estimate04 {
    width: 30%;
}

.progress .line.estimate05 {
    width: 40%;
}

.progress .line.estimate06 {
    width: 50%;
}

.progress .line.estimate07 {
    width: 60%;
}

.progress .line.estimate08 {
    width: 70%;
}

.progress .line.estimate09 {
    width: 80%;
}

.progress .line.estimate10 {
    width: 90%;
}

.progress .line {
    animation-name: animateBar;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: .5s;
}

/* @keyframes animateBar {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(0%);
    }

} */






.progress .persent {
    color: #7e5648;
    font-weight: 500;
}


.estimate_content h4 {
    font-size: 1.6vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}

.service.estimate02_service {
    height: 30vh;
}

.service {
    width: 100%;
    margin: 0 auto;
}

.service ul {}

.service>ul>li {
    padding: 0 0 0 0;
    border: 1px solid #E8E8E8;
    border-radius: 30px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.label_container {
    display: block;
    position: relative;

    padding: 2.5rem 2.5rem 2.5rem 5rem;
    /* padding-left: 35px; */
    cursor: pointer;
    font-size: 1.5vw;
    font-weight: 500;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.label_container.roomLabel {
    padding: 2.5rem 2.5rem 2.5rem 5rem;
}

/* Hide the browser's default checkbox */
.label_container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 2.95rem;
    left: 2.5rem;
    height: 15px;
    width: 15px;
    border: 1px solid #C4C4C4;
}

/* On mouse-over, add a grey background color */
.label_container:hover input~.checkmark {
    /* background-color: #ccc; */
}

/* When the checkbox is checked, add a blue background */
.label_container input:checked~.checkmark {
    border: 1px solid #7e5648;
    background-color: #7e5648;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.label_container input:checked~.checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.label_container .checkmark:after {
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.label_container p {
    font-size: 0.9vw;
    font-weight: normal;
    color: #707070;
    margin-top: 0.5rem;
}

.step {
    display: none;
}

.step ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 1rem 0;
}

.step ul li {
    width: 24%;
    display: flex;
    color: #7e5648;
    font-size: 0.8vw;
    font-weight: 500;
    /*flex-direction: column;*/
    align-items: center;
}

.step ul li span {

   /* width: 100%;
    height: 18px;
    background-color: #e7dfd6;
    margin-bottom: 0.3rem;
	border-radius: 5px;*/
	width: 10%;
    height: 30px;
    background-color: #e7dfd6;
    margin-bottom: 0.3rem;
	margin-right: 10px;
	border-radius: 100px;
	border: 2px solid #7e5648;
}

.step_line02 {
    background-color: #ff922e !important;
}

.step_line03 {
    font-size: 0.7rem;
    text-align: center;
    color: #fff !important;
    background-color: #FFC960 !important;
}


.step_content {
    background-color: #e7dfd6;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1.5rem;
}

.step_content .text span {
    display: block;
    font-size: 0.9vw;
    color: #252020;
    font-weight: normal;
    line-height: 2;
}

.step_content img {
    height: 90px;
    width: auto;
}


.time_select {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.time_select select {
    width: 49%;
    border: 1px solid #E8E8E8;
    padding: 1.5rem 1.5rem;
    border-radius: 10px;
}


.service_input {
    margin-bottom: 1rem;
}

.service_input.address {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.service_input.address input {
    width: 79%;
}

.service_input.address button {
    background-color: #C2C2C2;
    color: #fff;
    border-radius: 50px;
    width: 19%;
}

.service_input button.date_btn {
    background-color: #E1A48D;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    width: 100%;
    color: #fff;
    font-weight: 500;
}


.service_input button.date2_btn {
    background-color: #E1A48D;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    width: 100%;
    color: #fff;
    font-weight: 500;
}

.service_input input {
    border: 1px solid #E8E8E8;
    padding: 1.5rem 1.5rem;
    border-radius: 10px;
    width: 100%;
}

.service_input.address {
    position: relative;
}

.service_input.address input {
    padding-left: 2.3rem;
    width: 100%;
}

.service_input.address::before {
    content: '';
    position: absolute;
    background-image: url(../../img/station.png);
    background-position: left;
    background-size: 100%;
    width: 20px;
    height: 20px;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.service p.input_desc {
    color: #E1A48D;
    font-size: 1rem;
    white-space: pre-line;
    line-height: 1.7;
}


.service_tab {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 3rem 0 1.5rem;
}

.service_tab button {
    border: 1px solid #7e5648;
    background-color: #fff;
    color: #7e5648;
    border-radius: 10px;
    width: 48%;
    padding: 1.5rem 0;
    font-size: 1.3rem;
    font-weight: 500;
    cursor: pointer;
}

.service_tab button.active {
    background-color: #7e5648;
    color: #fff;
}

.address_wrap {
    position: relative;
}

.address_wrap .address_list {
    position: absolute;
    background-color: #fff;
    width: 100%;
    border: 1px solid #E8E8E8;
    border-radius: 30px;
    max-height: 250px;
    overflow-y: scroll;
    top: 100%;
    /* display: none; */
}

.address_wrap .address_list ul li {
    padding: 1.2rem 1.5rem;
    border-bottom: 1px solid #E8E8E8;
}

.address_wrap .address_list ul li p {
    font-size: 1rem;
}

.address_wrap .address_list ul li span {
    font-size: 0.9rem;
    color: #707070;
}

.address_wrap .address_list ul li:last-child {
    border: none;
}




.earlyEnd {
    text-align: center;
}

button.earlyEnd_btn {
    color: #E1A48D;
    font-size: 1.2rem;
    text-decoration: underline;
    margin-top: 4rem;
    background: none;
}

.service ul.detail_text li {
    padding: 1.5rem;
    border-radius: 20px;
}

.service ul.detail_text li textarea {
    border: none;
    width: 100%;
    outline: none;
    resize: none;
    font-size: 1rem;
}

.service ul.detail_text2 li {
    padding: 1.5rem;
    border-radius: 20px;
}

.service ul.detail_text2 li input[type="text"] {
    border: none;
    width: 70%;
    outline: none;
    font-size: 1rem;
    height: 2.5rem;
}

.service ul.detail_text2 li input[type="button"] {
    border: 1px solid #7e5648;
    background-color: #fff;
    color: #7e5648;
    border-radius: 50px;
    width: 28%;
    padding: 0.7rem 0;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
}
.service ul.detail_text2 li input[type="button"].active {
    background-color: #7e5648;
    color: #fff;
}

.service ul span.detail_desc {
    color: #7e5648;
    font-size: 1rem;
    display: block;
    text-align: right;
    margin-bottom: 0.7rem;
}

textarea.notice_text::placeholder {
    color: #7e5648;
}


.check_label {
    display: block;
    position: relative;
    padding: 1.2rem 0 1.2rem 4rem;
    cursor: pointer;
    font-size: 1vw;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    border-bottom: 1px solid #E9E9EB;
}

.check_label p.check_text {
    font-size: 1vw;
    background-image: url(../../img/arrow_in.png);
    background-position: calc(100% - 0.8rem) center;
    background-repeat: no-repeat;
    background-size: 22px;
}

.check_label.last_label {
    border: none;
}

.check_label.first_label {
    border: none;
    background-color: #F5F5F5;
    font-size: 1vw;
    font-weight: 500;
    background-image: none;
    border-radius: 10px;
}

p.check_text em {
    color: #E1A48D;
}

/* Hide the browser's default checkbox */
.check_label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.check_label .checkmark {
    position: absolute;
    top: 1.2rem;
    left: 1.5rem;
    height: 25px;
    width: 25px;
    background-color: #e1e1e1;
    border-radius: 50%;
    border: none;
}

/* On mouse-over, add a grey background color */
.check_label:hover input~.checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.check_label input:checked~.checkmark {
    background-color: #E1A48D;
}

/* Create the checkmark/indicator (hidden when not checked) */
.check_label .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.check_label input:checked~.checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.check_label .checkmark:after {
    left: 11px;
    top: 6px;
    width: 5px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.check_label .checkmark::before {
    content: '';
    position: absolute;
    left: 11px;
    top: 6px;
    width: 5px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.agree_cont {
    white-space: pre-line;
    font-size: 0.85vw;
    line-height: 2;
    padding-left: 1.5rem;
    display: none;
    padding-right: 1.5rem;

}

.agree_cont em {
    font-size: 1vw;
    color: #7e5648;
    font-weight: bold;
}

.btns {
    width: 40%;
    margin: 7rem auto 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.btns button {
    width: 48%;
   /* border-radius: 50px; */
}

.btns button.finish_btn {
    width: 100%;
}

.btns button.prev_btn {
    background-color: #f88a01;
}

.btns button.next_btn,
.btns button.finish_btn {
    background-color: #f88a01;
}

.btns button a {
    padding: 0.7rem 0;
    color: #fff;
    display: block;
    font-size: 1vw;
    font-weight: bold;
}

.service>ul>li .room_wid {
    width: 100%;
    text-align: center;
    padding: 0 2.5rem 2.5rem 2.5rem;
    display: none;
}

.service>ul>li .room_wid input {
    width: 100%;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    outline: none;
    border: 1px solid #7e5648;
    font-size: 1rem;
}



/* calender */
.calendar-container {
    width: 100%;
    margin: 30px auto;
    border: 1px solid #e9e9e9;
    padding: 1.5rem;
    background-color: #fff;
    border-radius: 40px;
}

.calendar-header {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0 2rem;
}

.calendar-header button {
    background: none;
    width: 25px;
    margin: 0.3rem 0.9rem 0;
    display: flex;
    padding: 0;
    cursor: pointer;
}

.calendar-header h2 {
    font-weight: bold;
    font-size: 1.5rem;
}

.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    font-weight: normal;
    font-size: 1rem;
    padding-bottom: 5px;
}

.calendar-days div:nth-child(7n + 1),
.calendar-dates div:nth-child(7n + 1),
.holiday {
    color: #EB4F5D;
}

.calendar-days div:nth-child(7n),
.calendar-dates div:nth-child(7n) {
    color: #5A6EF6;
}

/* .calendar-dates div:nth-last-child(-n+7) {
    border: none;
} */

.day {
    padding: 5px;
    text-align: center;

}

span.holiday-name {
    display: block;
    font-size: 0.6rem;
}

.calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: 0;
    font-size: 1rem;
    font-weight: 500;
}

.date {
    cursor: pointer;
    padding: 10px 0;
    text-align: center;
    border-bottom: 1px solid #e9e9e9;
    height: 85px;
}

.date2 {
    cursor: pointer;
    padding: 10px 0;
    text-align: left;

    height: 85px;
}


.empty {
    opacity: 0.3;
}

.today {
    position: relative;
    color: #fff;
    z-index: 2;
}

.today::before {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #E1A48D;
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
}

.selected {
    color: #CBB4A7 !important;
    border: 3px solid #CBB4A7;
    padding: 7px 0;
}

.time_select select {
    -webkit-appearance: none;
    /* ?롬 ?살?? ?애? */
    -moz-appearance: none;
    /* ?이?폭?? ?살?? ?애? */
    appearance: none;
    /* ?살?? ?애? */
    outline: none;
    color: black;
}

.time_select select {
    text-align-last: center;
    color: black;
    font-size: 1.2rem;
}


@media screen and (max-width:1020px) {
    h3.title {
        font-size: 4vw;
    }

    h3.title span {
        font-size: 2.2vw;
    }

    .service {
        width: 80%;
        margin: 0 auto;
    }

    .estimate_content h4 {
        font-size: 2.5vw;
    }

    .label_container {
        font-size: 1.9vw;
        padding: 1rem 1rem 1rem 3rem;
    }

    .checkmark {
        top: 1.25rem;
        left: 1rem;
    }

    .step_content {
        padding: 0.5rem 1rem;
    }

    .label_container p {
        font-size: 1.5vw;
    }

    .step ul li {
        font-size: 1.5vw;
    }

    .step_content .text span {
        font-size: 1.5vw;
    }

    .btns {
        width: 80%;
    }

    .btns button a {
        font-size: 1.8vw;
    }

    .service ul li .check_label {
        font-size: 2.8vw;
    }

    .agree_cont {
        white-space: pre-line;
        font-size: 0.7rem;
    }

    .agree_cont em {
        font-size: 0.9rem;
    }

    .service>ul>li .room_wid {
        padding: 0 1rem 1rem;
    }

    .check_label p.check_text {
        font-size: 2.8vw;
    }
}

@media screen and (max-width:600px) {
    .sub_inner {
        padding: 3rem 0 5rem;
    }

    .address_wrap .address_list ul li p {
        font-size: 0.8rem;
    }

    .check_label p.check_text {
        font-size: 3.8vw;
    }

    .service ul.detail_text li {
        padding: 1rem;
    }

    .service ul.detail_text2 li {
        padding: 1rem;
    }

    .service {
        width: 100%;
    }

    button.earlyEnd_btn {
        font-size: 1rem;
    }

    .address_wrap .address_list ul li span {
        font-size: 0.7rem;
        color: #707070;
    }

    .service ul.detail_text li textarea {
        font-size: 0.9rem;
    }

    .service ul.detail_text2 li textarea {
        font-size: 0.9rem;
    }

    h3.title {
        font-size: 4.5vw;
    }

    h3.title span {
        font-size: 3vw;
    }

    .progress {
        margin: 3rem 0;
    }

    .progress .line {
        max-width: 100%;
    }

    .service>ul>li {
        padding: 0;
        border-radius: 15px;
        margin-bottom: 1rem;
    }

    .estimate_content h4 {
        font-size: 4.2vw;
        margin-bottom: 2rem;
    }

    .label_container {
        font-size: 4vw;
    }

    .label_container.roomLabel {
        font-size: 4vw;
        padding: 1rem 1rem 1rem 3rem;
    }

    .service>ul>li .room_wid input {
        width: 100%;
        padding: 0.7rem 1.5rem;
        font-size: 0.8rem;
    }

    .label_container p {
        font-size: 0.75rem;
    }

    .step ul li {
        font-size: 0.7rem;
    }

    .step_content .text span {
        font-size: 0.65rem;
    }

    .step_content img {
        height: 60px;
    }

    .btns {
        width: 100%;
    }

    .btns button a {
        font-size: 3.8vw;
    }

    .calendar-header h2 {
        font-weight: bold;
        font-size: 1.2rem;
    }

    .calendar-header button {
        width: 23px;
    }

    .calendar-dates,
    .calendar-days {
        font-size: 0.75rem;
    }

    .date {
        height: 70px;
    }


    .date2 {
        height: 45px;
    }


    .today::before {
        width: 20px;
        height: 20px;
    }

    .progress .line_bg {
        max-width: 86%;
    }

    .service ul span.detail_desc {
        color: #7e5648;
        font-size: 0.7rem;
        display: block;
        text-align: right;
        margin-bottom: 0.7rem;
    }

    .service ul li .check_label {
        font-size: 3.8vw;
    }

    .agree_cont {
        padding: 0 1.5rem;
    }
}