@charset "utf-8";

.topimg {
    width: 100%;
    height: 280px;
    margin: 0;
    padding: 0;
    background: url('../img/topimg/topimg4.jpg') no-repeat center;
    background-size: cover;
}
.topimg h1 {
    font-weight: 700;
    font-size: 43px;
    padding: 70px 0 10px 0;
    color: white;
}
.topimg h3 {
    font-weight: 500;
    font-size: 20px;
    color: white;
}

/*-----콘텐츠부분-----*/

.contents {
    clear: both;
    position: relative;
    margin-top: 80px;
}
.contents h1 {
    font-size: 38px;
    font-weight: 300;
    color: #323232;
    text-align: center;
    margin: 0 0 50px 0;
    letter-spacing: -1.5px;
}
.contents h2 {
    font-size: 31px;
    font-weight: 500;
    color: #323232;
    margin: 80px 0 50px 0;
    text-align: center;
    letter-spacing: -1px;
}
.contents h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 7px;
    color: #ff7777;
    letter-spacing: -0.6px;
}
.contents p {
    font-size: 16px;
    font-weight: 400;
    color: #555555;
    line-height: 1.7;
    letter-spacing: -0.5px;
}
.step {
    margin-top: 20px;
}
.step:first-child {
    margin-top: 0;
}
.step:last-child {
    margin-bottom: 0;
}
.centered {
    display: block;
    margin: 20px auto;
    text-align: center;
    letter-spacing: -10px;
    position: relative;
}
.step img {
    display: inline-block;
    vertical-align: middle;
}
.stepCont {
    display: inline-block;
    vertical-align: middle;
    width: 80%;
    background: white;
    border: 1px solid #e4e4e4;
    padding: 20px;
    box-sizing: border-box;
    overflow: hidden;
    text-align: left;
    letter-spacing: -0.3px;
}
.bold {
    font-weight: 500;
}
.img {
    display: inline-block;
    vertical-align: middle;
}
.step .img:after {
    display: inline-block;
    content: "";
    width: 30px;
    height: 1px;
    background: #e4e4e4;
}
.stepline {
    padding-bottom: 0px;
    position: relative;
}
.stepline:before {
    position: absolute;
    content: "";
    height: 1200px;
    width: 1px;
    border-left: 1px dotted rgba(255, 119, 119, 0.478);
    margin-left: 99px;
    z-index: -1;
}

.bg {
    background: rgb(253, 253, 253);
    border: 1px solid #EDEDED;
}



.process {
    width: 100%;
    text-align: center;
    display: block;
    padding-bottom: 80px;
    position: relative;
}
.b_step {
    text-align: center;
    color: #323232;
    display: inline-block;
    margin-right: 5%;
    position: relative;
    width: 29%;
}
.mrg_left_no {
    margin-right: 0;
}
.b_step_t {
    width: 36px;
    height: 36px;
    background: #ff7777;
    border-radius: 200px;
    margin: 0 auto;
    display: block;
}
.b_step_t p {
    font-weight: 500;
    vertical-align: middle;
    padding: 9.5px 2px 7px 2px;
    font-size: 18px;
    line-height: 18px;
    color: white;
}
.b_step_c {
    font-size: 20px;
    margin-top: 13px;
    margin-bottom: 13px;
    font-weight: 500;
    letter-spacing: -0.5px;
}


.b_step_c2 {
    position: relative;
    display: inline-block;
    width: 300px;
    height: 200px;
}
.b_step_c2 img {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    box-sizing: border-box;
    -webkit-box-shadow: 0px 13px 26px -3px rgba(163,163,163,1);
    -moz-box-shadow: 0px 13px 26px -3px rgba(163,163,163,1);
    box-shadow: 0px 13px 26px -3px rgba(163,163,163,1);
}
.cover {
    position: absolute;
    width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    border-radius: 20px;
    top: 0;
    left: 0;
    background: rgba(255, 119, 119, 0.8);
    box-sizing: border-box;
    opacity: 0;
}
.text {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    width: 300px;
    height: 200px;
    font-size: 18px;
    font-weight: 500;
    color: white;
    padding: 0 20px;
    word-break: keep-all;
    letter-spacing: -0.5px;
}
.cover:hover {
    opacity: 1;
}
.mrg_top {
    margin-top: 60px;
}
#touch_layer {
    position: absolute;
    display: block;
    top: 0px;
    margin: 0 auto;
    z-index: 20;
    width: 100%;
    text-align: center;
}
#touch_layer p {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    word-break: keep-all;
    width: 200px;
    height: 100px;
    background: rgba(44, 44, 44, 0.6);
    border-radius: 100px;
    color: white;
    padding: 15px;
    line-height: 23px;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.33);
    -moz-box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.33);
    box-shadow: 0px 0px 13px 0px rgba(0,0,0,0.33);
}
#touch_layer img {
    display: block;
    position: relative;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 8px;
}




@keyframes fade {
    from {opacity:1;}
    to {opacity:0;}

}
@-webkit-keyframes fade {
	from {opacity:1;}
	to {opacity:0;}
}

/*-----TOP버튼-----*/

.last {
    height: 29px;
    margin-top: 100px; 
    padding-bottom: 50px;
}

.topbtn {
    width: 86px;
    height: 29px;
    background: #ff7777;
    border-radius: 50px;
    text-align: center;
    float: right;
}
.topbtn a .top p {
    color: white;
    font-size: 15px;
    font-weight: 500;
    display: block;
    padding: 2.5px 0 3.5px 0;
}
.topbtn a .top p:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 6px solid white;
    display: inline-block;
    vertical-align: top;
    margin: 8px 0 8px 8px;
}


@media all and (max-width: 1152px) {
    .centered {
        text-align: left;
        width: 100%;
    }
    .step .img {
        width: 20%;
    }
    .stepline:before {
        height: 1250px;
        margin-left: 69px;
    }
    .step .img:after {
        position: absolute;
        top: 50%;
        width: 100px;
        z-index: -1;
    }
    .stepCont {
        background: white;
    }
    .b_step {
        width: auto;
        margin-right: 6px;
    }
    .mrg_left_no {
        margin-right: 0;
    }
}
@media all and (max-width: 991px) {
    .contents {
        margin-top: 65px;
    }
    .contents h1 {
        font-size: 35px;
    }
    .contents h2 {
        font-size: 30px;
        margin: 75px 0 60px 0;
    }
    .contents p {
        font-size: 16px;
    }
    .b_step_t p {
        font-size: 18px;
    }
    .b_step:nth-child(3) {
        margin-top: 60px;
    }
    .b_step:nth-child(odd) {
        margin-right: 2%;
    }
    .b_step:nth-child(even) {
        margin-right: 0;
    }
    .b_step_c2 {
        width: 310px;
        height: 210px;
    }
    .text {
        width: 310px;
        height: 210px;
    }

}
@media all and (max-width: 767px) {
    .contents h2 {
        margin: 65px 0 50px;
    }
    .step img {
        display: block;
        margin: 0 auto;
    }
    .step .img {
        display: block;
        text-align: center;
        width: auto;
    }
    .stepCont {
        display: block;
        width: 100%;
        margin-top: -5px;
    }
    .step .img:after {
        display: none;
    }
    .stepline:before {
        display: block;
        margin: 0 50%;
        height: 2250px;
    }
    .b_step {
        margin-top: 30px;
    }
    .b_step:first-child {
        margin-top: 0;
    }
    .b_step:nth-child(odd) {
        margin-right: 0;
    }
    .b_step:nth-child(3) {
        margin-top: 40px;
    }


}
@media screen and (max-width: 576px) {
    .topimg {
        height: 190px;
    }
    .topimg h1 {
        font-size: 34px;
        font-weight: 500;
        text-align: center;
        padding: 60px 0 0 0;
    }
    .topimg h3 {
        display: none;
    }
    .contents {
        margin-top: 50px;
    }
    .contents h1 {
        font-size: 30px;
        margin: 0 0 50px 0;
    }
    .contents h2 {
        padding-bottom: 6px;
        font-size: 25px;
        margin: 55px 0 40px 0;
    }
    .step img {
        width: 120px;
    }
}
@media screen and (max-width: 463px) and (min-width: 320px) {
    .topimg {
        height: 150px;
    }
    .topimg h1 {
        font-size: 30px;
        padding: 52.5px 0;
    }
    .stepline:before {
        display: block;
        margin: 0 50%;
        height: 2650px;
    }
    .stepCont h3 {
        font-size: 18px;
    }
    .b_step_c2 {
        width: 290px;
        height: 190px;
    }
    .text {
        width: 290px;
        height: 190px;
    }

}