:root{
    --base-c1: #161616;
    --base-c2: #444444;
    --base-c3: #242424;
    --line-color: #24cd03;
    --shadow-color: #40ff5ab1;
    --base-font: #d6d6d6;
    --font-color1: #8e8e8e;
}

main{
    box-sizing: border-box;
    width: 95vw;
    max-width: 1600px;
    display: block;
    position: relative;
    margin: 3rem auto 10rem auto;
    background: #181818;
    padding: 10%;
}

.head-title{
    font-size: 4rem;
    margin: 0 auto 3rem auto;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    border-bottom: solid 0.3rem #444444;
}

.sec-name{
    font-size: 3.5rem;
    height: 4rem;
    line-height: 4rem;
    color: var(--font-color1);
    margin: 4rem 0 1.5rem 0;
    padding-right: 2rem;
    position: relative;
    width: fit-content;
}
.sec-name.require::before{
    content: "*";
    display: inline-block;
    box-sizing: border-box;
    color: var(--line-color);
    font-size: 1.5rem;
    height: 2rem;
    line-height: 2rem;
    font-weight: 900;
    position: absolute;
    top: 0;
    right: 0;
}
form .inputs:not(.submit, .textarea){
    box-sizing: border-box;
    font-size: 2.3rem;
    padding: 1rem;
    color: var(--font-color1);
    background: var(--base-c3);
    border: 0.3rem solid var(--font-color1);
    transition: 300ms;
    width: 100%;
    max-width: 700px;
    display: block;
}
form .inputs:not(.submit, .textarea):focus{
    outline: none;
    color: var(--base-font);
    border: 0.3rem solid var(--line-color);
}
form textarea.inputs{
    box-sizing: border-box;
    width: 100%;
    padding: 2%;
    color: var(--font-color1);
    background: var(--base-c3);
    font-size: 2.3rem;
    line-height: 2.5rem;
    border: 0.3rem solid var(--font-color1);
    transition: 300ms;
}
form textarea.inputs:focus{
    outline: none;
    color: var(--base-font);
    border: 0.3rem solid var(--line-color);
}
form button{
    display: block;
    margin: 6rem auto 0 auto;
    width: fit-content;
    padding: 1rem 3rem;
    font-size: 3rem;
    font-weight: 900;
    color: var(--base-font);
    background: #25cd0389;
    border: none;
    border-radius: 1rem;
    text-align: center;
    cursor: pointer;
    transition: 300ms;
    outline: none;
}
form button.no-active{
    cursor: not-allowed;
    background: #f6181889;
    opacity: 0.7;
}
form button.active:focus{
    outline: none;
    background: var(--line-color);
}
form button.active:hover{
    background: var(--line-color);
}

form .inputs.error, form .inputs.error:focus{
    border: 0.3rem solid #ec2525;
}

form .count-str{
    font-size: 1.8rem;
    color: var(--font-color1);
    margin: 1rem 0;
}
form .count-str span{
    color: var(--shadow-color);
    font-size: 2.3rem;
    padding: 0 0.3rem;
}
form .inputs.error + .count-str span{
    color: #ec2525;
}
@media screen and (max-width: 768px) {
    form button{
        background: var(--line-color);
    }
}