body {
    width: 100%;
}
body *{
    font-size: 1rem;
}
.container{
    background-color: white;
    width: 100%;
    display: flex;
    justify-content: center;
    min-height: 100vh;
}
.contents-wrap{
    width: 30rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 3rem 2rem;
}
.logo {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 1rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--main-color);
}
.logo img{
    height: 35px;
}
.idpw_div, .login_div{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    gap: 2rem;
    padding: 35px 0px 30px 0px;
}
.login_div{
    gap: .7rem;
}
input{
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--black-300);
    height: 3rem;
}
input::placeholder{
    color: var(--black-300);
}
input:focus {
    outline: none;
}
button{
    height: 70px;
    border-radius: .4rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: .01rem solid;
}
#loginBtn{
    background-color: var(--main-color);
    color: white;
    font-weight: bold;
}
#loginBtn:hover{
    opacity: 0.7;
}
.container * {
    white-space: nowrap;
}

.util-div{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: -30px;
}
.auto-div label{
    width: 100%;
    display: flex;
    align-items: center;
    font-size : 1rem;
    font-weight : 600;
    justify-content: flex-end;
}
.auto-div label:hover{
    cursor : pointer;
    opacity : 0.7;
}
.auto-div input{
    width: 15px;
    margin: 0;
    margin-right: 10px;
}
.auto-div input:hover{
    cursor : pointer;
}
.info-div a{
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
}
.info-div a:hover{
    opacity: 0.7;
}
.line-div{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px 0 25px 0px;
}
.line-text{
    font-size: 1rem;
    font-weight: 600;
    position: relative;
    padding: 0 5px;
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    gap: 10px;
    align-items: center;
    color: var(--black-300);
}
.line-text:before,
.line-text:after {
    content: '';
    width: 100%;
    height: 1px;
    background: var(--black-300);
}
.join-div{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px;
}
.join-div button{
    height: 55px;
    border: 1px solid var(--main-color);
    background-color: white;
    color: var(--main-color);
    font-weight: 600;
}
.w100{
    width: 100%; position: relative;
}
i{
    position:absolute; left:50%; right:50%; bottom: 0;
    border-bottom: 2px solid var(--main-color);
    transition:all .3s;
}
.w100 > input:focus + i {left:0; right:0; transition:all .3s;}
.none{
    display: none;
}