/* common
-------------------------------------*/
@media screen and (max-width: 767px) {
    .users .btn.submit,
    .users .btn.back{
        width: 90vw;
        max-width: 400px;
        height: 50px;
        margin: 30px auto 0;
    }
    .users .btn button{
        width: 100%;
        height: 100%;
        font-size: 13px;
    }

    .users .btn.submit button::before{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 17px;
        border-top: 1px solid #fff;
    }
    .users .btn.submit button::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 8px;
        margin: -2px 0 0;
        border-top: 1px solid #fff;
        transform: rotate(30deg);
    }
    .users .btn.back button{
        background: #fff;
        border: 1px solid #bbb;
    }
    .users .domain-message{
        display: block;
        margin: 10px 0 0 !important;
        font-size: 12px;
    }
    .users .error-message{
        display: block;
        margin: 10px 0 0 !important;
        color: #FF1D25;
        font-size: 12px;
    }
}
@media screen and (min-width: 768px) {
    .users .btn.submit,
    .users .btn.back{
        width: 360px;
        height: 58px;
        margin: 30px auto 0;
    }
    .users .btn button{
        width: 100%;
        height: 100%;
        font-size: 16px;
    }
    .users .btn.back button{
        background: #fff;
        border: 1px solid #bbb;
    }
    .users .domain-message{
        display: block;
        margin: 10px 0 0 !important;
        font-size: 13px;
    }
    .users .error-message{
        display: block;
        margin: 10px 0 0 !important;
        color: #FF1D25;
        font-size: 13px;
    }
}

/* login
-------------------------------------*/
@media screen and (max-width: 767px) {
    #login{
        padding: 10px 0 30px;
    }
    #login .box{
        margin: 0 0 50px;
        border: 3px solid #e6e6e6;
    }
    #login .box .ttl{
        padding: 20px 0;
        border-bottom: 2px solid #000000;
        font-size: 15px;
        text-align: center;
    }
    #login .txt{
        margin: 30px 2vw;
    }
    #login .box dl{
        margin: 0 2vw;
    }
    #login .box dt{
        margin: 20px 2vw 15px;
    }
    #login .box input{
        width: 100%;
        height: 45px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #login .box .link{
        margin: 30px 2vw 30px;
    }
    #login .box .link a{
        color: #666;
        line-height: 1.8;
        text-decoration: underline;
    }
}
@media screen and (min-width: 768px) {
    #login{
        padding: 10px 0 60px;
    }
    #login .box{
        margin: 0 0 40px;
        border: 30px solid #e6e6e6;
    }
    #login .box .ttl{
        padding: 20px 0;
        border-bottom: 2px solid #000000;
        font-size: 18px;
        text-align: center;
    }
    #login .txt{
        width: 430px;
        margin: 30px auto;
    }
    #login .box dl{
        width: 430px;
        margin: 0 auto;
    }
    #login .box dt{
        margin: 25px 0 15px;
    }
    #login .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #login .box .link{
        width: 430px;
        margin: 30px auto 30px;
    }
    #login .box .link a{
        color: #666;
        line-height: 1.8;
        text-decoration: underline;
    }
}

/* forget
-------------------------------------*/
@media screen and (max-width: 767px) {
    #forget{
        padding: 10px 0 60px;
    }
    #forget .box{
        padding: 30px 2vw;
        margin: 40px 0 0;
        background: #f2f2f2;
    }
}
@media screen and (min-width: 768px) {
    #forget{
        padding: 10px 0 60px;
    }
    #forget .box{
        padding: 30px 80px;
        margin: 40px 0 0;
        background: #f2f2f2;
    }


}

/* PasswordReset,passcode
-------------------------------------*/


@media screen and (max-width: 767px) {
    #passwordReset,
    #passcode{
        padding: 10px 0 80px;
    }
    #passwordReset .box,
    #passcode .box{
        padding: 5px 2vw 30px;
        margin: 30px 0 50px;
        background: #f2f2f2;
    }
    #passwordReset .box dt,
    #passcode .box dt{
        margin: 25px 0 15px;
    }
    #passwordReset .box input,
    #passcode .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #passcode .ttl{
        margin: 0 0 30px;
        color: #1a1a1a;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
    }

    #addCreditCard .box select{
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #addCreditCard dt span{
        display: none;
    }
    #addCreditCard dd span{
        display: block;
        margin: 10px 0 0;
        font-size: 14px;
    }
}
@media screen and (min-width: 768px) {
    #passwordReset,
    #passcode{
        padding: 10px 0 100px;
    }
    #passwordReset .txt,
    #passcode .txt{
        font-size: 16px;
    }
    #passwordReset .box,
    #passcode .box{
        padding: 10px 80px 35px;
        margin: 40px 0 40px;
        background: #f2f2f2;
        font-size: 16px;
    }
    #passwordReset .box.error_box,
    #passcode .box.error_box{
        padding: 25px 80px 35px;
    }
    #passwordReset .box dt,
    #passcode .box dt{
        margin: 25px 0 15px;
    }
    #passwordReset .box input,
    #passcode .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #passcode .ttl{
        margin: 0 0 30px;
        color: #1a1a1a;
        font-size: 30px;
        font-weight: bold;
        text-align: center;
    }

    #addCreditCard .box select{
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #addCreditCard dt span{
        display: none;
    }
    #addCreditCard dd span{
        display: block;
        margin: 10px 0 0;
        font-size: 14px;
    }
}

/* register
-------------------------------------*/
@media screen and (max-width: 767px) {
    #register{
        padding: 10px 0 80px;
    }
    #register .txt{
        margin: 0 0 30px;
    }
    #register .box{
        padding: 30px 2vw 30px;
        margin: 0 0 40px;
        background: #f2f2f2;
        font-size: 13px;
    }
    #register .required_note {
        font-size: 12px;
    }
    #register .required_in_note {
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #register .box .input_name{
        margin: 20px 0px 10px 0px;
        width: 100%;
    }
    #register .title_area {
        margin-bottom: 15px;
    }
    #register .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #register .box .required{
        position: absolute;
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #register input[type="radio"] + label {
        padding: 6px 0px 6px 35px;
    }
    #register .error-message{
        display: block;
        margin-top: 10px !important;
        color: #FF1D25;
        font-size: 12px;
    }
    #register .form_row {
        display: flex;
        gap: 40px;
    }
    #register .input_name select {
        height: 45px;
        padding: 5px 10px;
        margin: 0px 4px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #register .agree{
        margin: 0 0 50px;
        text-align: center;
    }
    #register .agree input[type="checkbox"]{
        width: 28px;
        height: 28px;
        margin:  0 10px 0 0;
    }
}
@media screen and (min-width: 768px) {
    #register{
        padding: 10px 0 100px;
    }
    #register .txt{
        margin: 0 0 30px;
        font-size: 16px;
    }
    #register .box{
        padding: 25px 80px;
        margin: 0 0 40px;
        background: #f2f2f2;
        font-size: 16px;
    }
    #register .required_note {
        font-size: 15px;
    }
    #register .required_in_note {
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #register .box .input_name{
        margin: 20px 0px 10px 0px;
        width: 100%;
    }
    #register .title_area {
        margin-bottom: 15px;
    }
    #register .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #register .box .required{
        position: absolute;
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #register input[type="radio"] + label {
        padding: 6px 0px 6px 35px;
    }
    #register .error-message{
        display: block;
        margin-top: 10px !important;
        color: #FF1D25;
        font-size: 13px;
    }
    #register .form_row {
        display: flex;
        gap: 40px;
    }
    #register .input_name select {
        height: 45px;
        padding: 5px 10px;
        margin: 0px 4px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #register .agree{
        margin: 0 0 50px;
        text-align: center;
    }
    #register .agree input[type="checkbox"]{
        width: 28px;
        height: 28px;
        margin:  0 10px 0 0;
    }
}

/* application
-------------------------------------*/
@media screen and (max-width: 767px) {
    #application{
        padding: 10px 0 80px;
    }
    #application .txt{
        margin: 0 0 30px;
    }
    #application .box{
        padding: 30px 2vw 30px;
        margin: 0 0 40px;
        background: #f2f2f2;
        font-size: 13px;
    }
    #application .required_note {
        font-size: 12px;
    }
    #application .required_in_note {
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #application .box .input_name{
        margin: 20px 0px 10px 0px;
        width: 100%;
    }
    #application .title_area {
        margin-bottom: 15px;
    }
    #application .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #application .box .required{
        position: absolute;
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #application input[type="radio"] + label {
        padding: 6px 0px 6px 35px;
    }
    #application .error-message{
        display: block;
        margin-top: 10px !important;
        color: #FF1D25;
        font-size: 12px;
    }
    #application .form_row {
        display: flex;
        gap: 40px;
    }
    #application .input_name select{
        height: 48px;
        padding: 5px 10px;
        margin: 0 4px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #application .agree{
        margin: 0 0 50px;
        text-align: center;
    }
    #application .agree input[type="checkbox"]{
        width: 28px;
        height: 28px;
        margin:  0 10px 0 0;
    }
    #application .box textarea{
        width: 100%;
        padding: 5px 10px;
        margin:  0 0 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
}
@media screen and (min-width: 768px) {
    #application{
        padding: 10px 0 100px;
    }
    #application .txt {
        margin: 0 0 30px;
        font-size: 16px;
    }
    #application .box{
        padding: 25px 80px;
        margin: 0 0 40px;
        background: #f2f2f2;
        font-size: 16px;
    }
    #application .required_note {
        font-size: 15px;
    }
    #application .required_in_note {
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #application .box .input_name {
        margin: 20px 0px 10px 0px;
        width: 100%;
    }
    #application .title_area {
        margin-bottom: 15px;
    }
    #application .box input{
        width: 100%;
        height: 48px;
        padding: 5px 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #application .box .required{
        position: absolute;
        color: #FF4A4A;
        font-size: 13px;
        font-weight: bold;
    }
    #application input[type="radio"] + label {
        padding: 6px 0px 6px 35px;
    }
    #application .error-message{
        display: block;
        margin-top: 10px !important;
        color: #FF1D25;
        font-size: 13px;
    }
    #application .form_row {
        display: flex;
        gap: 40px;
    }
    #application .input_name select{
        height: 48px;
        padding: 5px 10px;
        margin: 0 4px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #application .agree{
        margin: 0 0 50px;
        text-align: center;
    }
    #application .agree input[type="checkbox"]{
        width: 28px;
        height: 28px;
        margin:  0 10px 0 0;
    }
    #application .box textarea {
        width: 100%;
        padding: 5px 10px;
        margin:  0 0 10px;
        border: 1px solid #bbb;
        font-size: 15px;
    }
    #application .separate_row {
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    #application .separate_row .form_row {
        width: 300px;
    }
}

/* end
-------------------------------------*/
@media screen and (max-width: 767px) {
    #end{
        padding: 10px 0 80px;
    }
    #end .ttl{
        margin: 0 0 30px;
        color: #1a1a1a;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
    }
    #end .box{
        padding: 30px 2vw 30px;
        margin: 0 0 50px;
        background: #f2f2f2;
    }

}
@media screen and (min-width: 768px) {
    #end{
        padding: 10px 0 100px;
    }
    #end .ttl{
        margin: 0 0 30px;
        color: #1a1a1a;
        font-size: 30px;
        font-weight: bold;
        text-align: center;
    }
    #end .box{
        padding: 20px 80px 35px;
        margin: 0 0 40px;
        background: #f2f2f2;
        font-size: 16px;
    }

}
