footer {
    margin-top: auto;
}

main {
    background-color: #f5e6da;
    padding-bottom: 80px;
}

.page_ttl_wrap {
    padding: 50px 30px;
    background: linear-gradient(
        to right,
        #b09a62 0%,
        #836c32 100%
    );
}

.page_ttl {
    max-width: 800px;
}






.form_wrap {
    max-width: 1054px;
    width: 90%;
    margin: 80px auto 0;
    background-color: #fff;
    padding: 40px;
    box-shadow: 0px 0px 10px #23181594;
}

.form_lead {
    text-align: center;
    font-size: clamp(15px,2vw,22px);
    margin-bottom: 20px;
}

.form .flex {
    max-width: 650px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.form .flex .pass {
    width: 73%;
}

.form .flex .login_btn {
    outline: 1px solid #937e28;
    outline-offset: 3px;
    width: 24%;
    height: 49px;
    margin-top: 3px;
    background-color: #937e28;
    color: #fff;
    text-align: center;
    cursor: pointer;
}

.form .flex .login_btn:hover {
    opacity: 0.7;
}

.form .flex .pass input {
    width: 100%;
    border: 1px solid #666666;
    color: #666666;
    font-size: clamp(14px,1.4vw,16px);
    padding: 15px 10px;
}

.form .flex .pass .note {
    margin-top: 5px;
}

.error_txt {
    text-align: center;
    margin-top: 10px;
    font-size: clamp(14px,1.4vw,16px);
    color: red;
}

.form_bottom {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #595757;
}

.form_bottom_lead {
    text-align: center;
    font-size: clamp(21px,3vw,30px);
}

.form_bottom_txt {
    text-align: center;
    font-size: clamp(13px,1.6vw,18px);
    margin: 8px 0 20px;
}

.form_bottom .entry_btn {
    max-width: 415px;
    margin: 0 auto;
}

.form_bottom .entry_btn a {
    cursor: pointer;
    display: block;
    background-color: #937e28;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: clamp(16px,1.8vw,22px);
    position: relative;
}

.form_bottom .entry_btn a::after {
    content: '';
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    width: 15px;
    height: 20px;
    background-color: #fff;
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    right: 10px;
}

/* SP版 */
@media screen and (max-width:730px) {

    main {
        padding-bottom: 50px;
    }

    .page_ttl_wrap {
        padding: 20px;
    }

    .form_wrap {
        margin-top: 30px;
        padding: 25px 20px;
    }

    .form .flex {
        flex-direction: column;
        gap: 10px 0;
    }

    .form .flex .pass {
        width: 100%;
    }

    .form .flex .login_btn {
        width: 100%;
    }

    .error_txt {
        margin-top: 20px;
    }

    .form_bottom {
        margin-top: 20px;
        padding-top: 20px;
    }
}