@charset "utf-8";
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family: 'Noto Sans KR', sans-serif;
}
img{
    vertical-align:top;
    width:100%;
}
section{
    position:relative;
    max-width:1920px;
    margin:0px auto;
}
.m{    
    display:none;
}
.none{
    display:none;
}
section .img_wrap img {
    width: 100%;
    vertical-align: top;
}

.direct{
    position:fixed;
    right:10%;
    bottom:10%;
    z-index:1000;
    cursor:pointer;
}
.form{
    position:absolute;
    bottom:5%;
    left:50%;
    transform:translate(-50%);
    width:1080px;
    border-radius:15px;
    background-color:#fff;
}
.form>p{
    text-align:center;    
    font-size:1.5em;
    padding:10px 0;
    border-radius:15px 15px 0 0;
    color:#fff;
    background-color:#a357c4;
}
.form>p span{
    color:#f7ff11;
}
.form .input_wrap{
    padding:30px 20% 50px;
}
.form .input_wrap>div{
    margin-bottom:20px;
}
.form label{
    display:inline-block;
    width:20%;
    color:#444;
    font-size:1rem;
    font-weight:bold;
    text-align:right;
}
.form input,
.form select{
    background-color:#f2f2f2;
    font-size:1rem;
    outline:none;
    padding:10px;
    border:0;
    border-radius:20px;
    margin-left:10%;
}
.form .textinput{
    font-size:0;
}
.form .textinput input{
    width:70%;
}
.form .textinput.phone input{
    width:22%;
}
.form .textinput.phone input:not(:nth-of-type(1)){
    margin:0;
}
.form .textinput.phone span{
    font-size:1rem;
}
.form .radioinput input,
.form .checkbox input{
    display:none;
}
.form .radioinput label,
.form .checkbox label{    
    vertical-align:middle;
}
.form .radioinput label:nth-of-type(2){
    margin-left:10%;
}
.form .radioinput label:not(:nth-of-type(1)){    
    text-align:left;
}
.form .radioinput label{    
    vertical-align:middle;
}
.form .radioinput .check,
.form .checkbox .check{
    position:relative;
    width:1.5em;
    height:1.5em;
    border:2px solid #000;
}
.form .radioinput .check{
    border-radius:50%;
}
.form .radioinput .check:after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:80%;
    height:80%;
    border-radius:50%;
    background-color:#a357c4;
    opacity:0;
    transition:0.3s;
}
.form .radioinput input:checked + .check:after{
    opacity:1;    
}
.form .selectbox select{
    margin-left:10%;
    width:50%;
}
.form .checkbox{
    padding-left:30%;
}
.form .checkbox label:not(:nth-of-type(1)){
    display:inline;
}
.form .checkbox input:checked + .check{
    background-image:url('../image/check.png');
    background-repeat:no-repeat;
    background-position:center;
}
.form .checkbox button{
    position:relative;
    background:#fff;
    color:#646079;
    border:0;
    border-bottom:1px solid #646079;
}
.form .checkbox button:after{
    content:'';
    position:absolute;
    top:50%;
    right:-15px;
    transform:translateY(-50%) rotate(45deg);
    width:5px;
    height:5px;
    border-right:solid 2px #2b2642;
    border-bottom:solid 2px #2b2642;
}

.form .textbox{
    font-size:14px;
    word-break:break-all
}
.form .textbox h2{
    text-align:left;
    font-size:1.2em;
    padding:0;
    background:#fff;
    color:#000;
}

.form .submit{
    border-radius:10px;
    box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.3);
}
.form .submit button{
    width:100%;
    font-size:1.5em;
    padding:20px 0;
    border:0;
    outline:none;
    border-radius:10px;
    color:#fff;
    background-color:#763791;
    box-shadow: inset 0px -5px 20px 5px rgba(0,0,0,0.1);
    cursor:pointer;
}

.list_wrap ul{
    position:absolute;
    bottom:20%;
    left:50%;
    transform:translate(-50%);
    font-size:0;
}
.list_wrap ul li{
    display:inline-block;
    width:18.4%;
    list-style:none;
    margin-right:2%;
}
.list_wrap ul li:last-child{
    margin:0;
    cursor:pointer;
}
.readme{
    background-color:#eee;
    text-align:center;
    padding:5%;
}
.readme h2,
.readme p{
    width:70%;
    margin:0 auto;
}
.readme h2{
    padding-bottom:50px;
}
.readme p{
    text-align:left;
}

footer{
    background:#3e3e3e;
    color:#c8c8c8;
}
footer>div{
    width:780px;
    padding:30px 0;
    margin:0 auto;
}
footer h2{
    filter:grayscale(1);
    display:inline-block;
    height:100%;
    vertical-align:top;
    padding-right:30px;
}
footer .ft_text{
    position:relative;
    display:inline-block;
    vertical-align:top;
    padding-left:30px;
}
footer .ft_text:after{
    content:'';
    position:absolute;
    top:0px;
    left:0px;
    width:1px;
    height:100%;
    background:#878787;
}
.modal{
    display:none;
    position:fixed;
    top:0px;
    left:0px;
    width:100%;
    height:100%;   
    z-index:9999; 
}
.modal .bg{    
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
}
.modal .con{
    position:absolute;
    top:50%;
    left:50%;
    width:1080px;    
    max-height:95%;
    transform:translate(-50%,-50%);
    padding:20px;
    color:#333;
    background:#fff;
    overflow:auto;
    overscroll-behavior:contain;
}
.modal3 .con{
    width:379px;
}
.modal .con h2{
    padding:5% 0;
    border-bottom:1px solid #999;
    font-size:2.5em;
    text-align:center;
}
.modal .con>p{
    width:95%;
    line-height:2em;
    padding:2% 0;
    margin:0 auto;
}
.modal .con>p{
    border-bottom:1px solid #999;
}
.modal .con>div{    
    width:95%;
    line-height:2em;
    padding:2% 0;
    margin:0 auto;
}
.modal .con>div h3{
    position:relative;
    padding-left:15px;
    margin-bottom:10px;
    font-size:1.5em;
    color:#333;
}
.modal .con>div h3:after{
    content:'';
    position:absolute;
    top:50%;
    left:0px;
    width:10px;
    height:10px;
    transform:translateY(-50%);
    border-radius:50%;
    background-color:#333;
}
.modal .con>div p{
    padding-left:20px;
}
.modal button{
    background:#fff;
    position:absolute;
    top:20px;
    right:20px;   
    width:1.5em;
    height:1.5em; 
    border:0;    
}

.finish{
    text-align:center;
    background-image:url('../image/fin.jpg');
    background-repeat:no-repeat;
    background-position:left bottom;
    background-size:cover;
    /* background-color:#eef6ff; */
    height:100vh;
}
.finish>div{    
    position:fixed;    
    top:50%;    
    left:50%;
    width:500px;
    height:500px;
    padding-top:200px;
    background:#fff;
    border-radius:50%;
    transform:translate(-50%,-50%);
}
.finish img{
    width:90%;
}


@media all and (max-width:1200px){
    body,html{
        font-size:3vw;
    }
    .form{
        bottom:5%;
        width:90%;
    }
    .form>p{
        font-size:0.5em;
    }
    .form .input_wrap{
        padding:1em;
    }
    .form .input_wrap>div{
        margin-bottom:10px;
    }
    .form label{
        font-size:0.5rem;
    }
    .form input, .form select{
        font-size:0.5rem;
    }
    .form .submit{
        width:70%;
        margin:0 auto;
    }
    
    .form .submit button{
        font-size:1em;
        padding:5px 0;
    }
    .modal .con{
        width:95%;
    }
    .modal3 .con{
        width:300px;
    }
    .modal .con{
        padding:50px 20px 20px;
    }
    .modal .con h2{
        font-size:1.5em;
    }
    .modal .con p{
        font-size:14px;
    }
    .modal .con>div h3{
        font-size:1em;
    }
    .modal .con>div p{
        padding:0;
    }
}
@media all and (max-width:780px){
    .m{
        display:block;
    }
    .pc{
        display:none;
    }
    .direct{
        width:100px;
    }
    .form{
        bottom:2%;
    }
    .form>p{
        font-size:1.2em;
    }
    .form label{
        font-size:1rem;
    }
    .form .input_wrap{
        padding:3em 1em;
    }
    .form .input_wrap>div{
        margin-bottom:25px;
    }
    .form input, .form select{
        font-size:1.5rem;
    }
    .form .textbox{
        font-size:2vw;
    }
    .form .submit{
        width:90%;
    }
    .form .submit button{
        font-size:1.2em;
        padding:1em 0;
    }
    .list_wrap ul{
        width:80%;
        bottom:5%;
    }
    .list_wrap ul li{
        width:47.5%;
        margin-right:5%;
        margin-bottom:5%;
    }
    .list_wrap ul li:nth-of-type(2n){
        margin:0;
    }
    .list_wrap ul li:last-child{
        display:block;
        margin:0 auto;
    }
    .readme h2{
        padding-bottom:20px;
    }
    .readme h2,
    .readme p{
        width:95%;
    }
    footer h2{
        width:25%;
        padding-right:10px;
    }
    footer>div{
        font-size:14px;
        width:95%;
        text-align:center;
    }
    footer .ft_text{
        padding-left:10px;
        width:60%;
        text-align:left;
    }
}
@media all and (max-width:520px){
    .form .input_wrap{
        padding:10px 1em;
    }
    .form input, .form select{
        padding:5px;
        border-radius:10px;
    }
    .finish>div{
        width:300px;
        height:300px;
        padding-top:120px;
    }
}
@media all and (max-width:420px){
    .form .input_wrap>div{
        margin-bottom:15px;
    }
    footer h2{
        width:35%;
    }
}