@charset "utf-8";
.privacyBox input[type="checkbox"] {
    width: 2.6rem;
    height: 2.6rem;
    background: var(--endbgColor);
    border: none;
    border-radius: 0.3rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
}
.privacyBox input[type="checkbox"] {
    background: var(--whiteColor);
    border: 1px solid var(--tableborderColor);
}
.privacyBox input[type="checkbox"]:checked {
    background: var(--acceptColor);
    border: none;
}
.privacyBox input[type="checkbox"]:checked {
    background: var(--acceptColor);
    border: none;
}
.privacyBox input[type="checkbox"]:checked::after {
    content: "";
    border-right: var(--whiteColor) solid 0.3rem;
    border-bottom: var(--whiteColor) solid 0.3rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    width: 0.8rem;
    height: 1.4rem;
    top: 0.5rem;
    left: 0.9rem;
}
@media only screen and (max-width: 1215px) {
    .privacyBox input[type="checkbox"] {
        width: 2rem;
        height: 2rem;
        border-radius: 0.5rem;
        background: var(--whiteColor);
        border: 1px solid var(--tableborderColor);
    }
    .privacyBox input[type="checkbox"]:checked::after {
        width: 0.6rem;
        height: 0.9rem;
        top: 0.4rem;
        left: 0.7rem;
        border-right: var(--whiteColor) solid 0.2rem;
        border-bottom: var(--whiteColor) solid 0.2rem;
    }
}
/*-----------------------------------------------
    secMypage
-----------------------------------------------*/
.secFormTable input[type="text"], 
.secFormTable input[type="email"], 
.secFormTable input[type="password"] {
    height: 5rem;
}
.secLogin .boxTop{
    text-align: center;
}
.secLogin .titLogin{
    font-size: var(--pcFS30);
    letter-spacing: 0.04em;
    font-weight: bold;
    margin-bottom: 2.8rem;
}
.secLogin .txtLogin{
    font-size: var(--pcFS12);
    letter-spacing: 0.04em;
    margin-bottom: 3.8rem;
}
.secLogin .secCmnForm .secForm {
    width: 100%;
    margin: 0 auto;
    padding: 8rem 0;
}
.secLogin form{
    width: 56rem;
    margin: 0 auto;
}
.secLogin .secCmnForm tr {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5rem;
    flex-direction: row;
}
.secLogin .secCmnForm th {
    width: auto;
    padding-bottom: 0;
    font-size: var(--pcFS14);
    line-height: 1;
    border-bottom: none;
    display: block;
}
.secLogin .secCmnForm td {
    width: auto;
    padding-top: 0;
}
.secLogin .secCmnForm .w400 {
    width: 40rem;
}
.secLogin .secCmnForm tr + tr {
    padding-top: 2rem;
}
.secLogin .labelLogin {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}
.secForm .rememberBox {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.secForm .boxPassRemember {
    margin: 1.5rem 0 0;
    font-weight: bold;
    width: 40rem;
    text-align: left;
}
.secForm .accept {
    margin-left: 0.6rem;
    font-size: var(--pcFS12);
    letter-spacing: 0.04em;
    color: var(--textColor);
    font-weight: normal;
}
.secForm .boxPassRemember input[type="checkbox"] {
    width: 2.6rem;
    height: 2.6rem;
    top: -0.2rem;
}
.secForm .passForget{
    text-align: center;
    margin-top: 4rem;

}
.secForm .passForget a {
    font-size: var(--pcFS12);
    color: var(--linkColor);
}
.privacyBox.rememberBox input[type="checkbox"] {
    background: var(--tablebgColor);
    border: none;
    visibility: inherit;
}
.privacyBox.rememberBox input[type="checkbox"]:checked {
    background: var(--acceptColor);
    border: none;
}
.secForm .btnLogin {
    width: 40rem;
    height: 7rem;
    color: var(--greenColor);
    font-size: var(--pcFS18);
    letter-spacing: 0.04em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4rem auto 0;
}
.secForm .btnLogin a{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s ease-out;
    overflow: hidden;
    border: 1px solid var(--greenColor);
    border-radius: 1rem;
}
.secForm .btnLogin a:hover{
    color: var(--whiteColor);
    background-color: var(--greenColor);
    border-color: var(--whiteColor);
}
.secLogin .noMember {
    margin-top: 5rem;
}
.secLogin .secForm .cmnCoBtn {
    width: 40rem;
    height: 7rem;
    border-radius: 1rem;
    color: var(--whiteColor);
    font-size: var(--pcFS20);
    letter-spacing: 0.04em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--formBtnColor_gradient);
    margin: 4rem auto 0;
}
.secLogin .secForm .privacyIn label {
    text-align: center;
    font-size: var(--pcFS16);
    display: inline-block;
    display: flex;
    align-items: center;
}

/* プレースホルダーは狭い幅のみ表示（PCは th でラベル表示のため非表示） */
/* @media only screen and (min-width: 1216px) {
    .secLogin .secCmnForm .secFormTable input::placeholder {
        opacity: 0;
        color: transparent;
    }
    .secLogin .secCmnForm .secFormTable input::-webkit-input-placeholder {
        opacity: 0;
        color: transparent;
    }
    .secLogin .secCmnForm .secFormTable input::-moz-placeholder {
        opacity: 0;
        color: transparent;
    }
} */
@media only screen and (max-width: 1215px) {
    .secLogin .secCmnForm {
        background-color: var(--whiteColor);
        border-radius: 1rem;
        border: 0.1rem solid var(--gray_lightColor);
        box-shadow: 0 0 1.5rem var(--blackColor_6);
    }
    .secLogin .titLogin {
        font-size: var(--spFS16);
        margin-bottom: 1.5rem;
    }
    .secLogin .txtLogin {
        font-size: var(--spFS11);
        letter-spacing: 0;
        margin-bottom: 2rem;
    }
    .secLogin .secCmnForm .secFormTable tr {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0.8rem;
    }
    .secLogin .secCmnForm .secFormTable th {
        width: 100%;
        padding-bottom: 0;
        display: none;
    }
    .secLogin .secCmnForm .secFormTable td {
        width: 100%;
        padding-top: 0;
    }
    .secLogin form {
        width: 100%;
    }
    .secLogin .secCmnForm .ws100p {
        width: 100%;
    }
    .secLogin .secCmnForm tr + tr {
        padding-top: 1rem;
    }
    .secLogin .secForm .privacyIn label {
        font-size: var(--spFS12);
        justify-content: center;
    }
    .secForm .boxPassRemember {
        margin: 2.2rem 0 0;
        width: 100%;
    }
    .secForm .boxPassRemember input[type="checkbox"] {
        width: 2rem;
        height: 2rem;
        top: 0;
    }
    .privacyBox.rememberBox input[type="checkbox"] {
        background: var(--whiteColor);
        border: 1px solid var(--tableborderColor);
    }
    .secForm .passForget {
        margin-top: 3rem;
    }
    .secForm .btnLogin {
        width: 100%;
        height:5rem;
        border-radius: 0.5rem;
        font-size: var(--spFS12);
        letter-spacing: 0;
        margin: 3rem auto 0;
    }
    .secLogin .secCmnForm .secForm {
        padding: 5rem 0;
        width: 86.01%;
    }
    .secLogin .secForm .cmnCoBtn {
        width: 100%;
        height:5rem;
        border-radius: 1rem;
        font-size: var(--spFS12);
        letter-spacing: 0;
        margin: 3rem auto 0;
    }
    .secLogin .noMember {
        margin-top: 3rem;
    }
}

/* pass */
.secLogin.pass .titLogin{
    font-size: var(--pcFS24);
    line-height: var(--pcLH34_51);
}
.secLogin.pass .txtLogin{
    line-height: var(--pcLH12_24);
}
.secLogin.pass .secForm .btnLogin {
    width: 36rem;
    height: 6rem;
    border-radius: 1rem;
    color: var(--greenColor);
    font-size: var(--pcFS16);
    letter-spacing: 0.04em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem auto 0;
    border: 1px solid var(--greenColor);
}
.secLogin.pass .secForm .btnLogin a{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secLogin.pass .secForm .btnLeave {
    background: var(--whiteColor);
    color: var(--textColor);
    border: 1px solid var(--tableborderColor);
    width: 40rem;
    height: 6rem;
    margin: 5rem auto 0;
    font-size: var(--pcFS18);
}
@media only screen and (max-width: 1215px) {
    .secLogin.pass .titLogin{
        font-size: var(--spFS14);
        margin-bottom: 2rem;
    }
    .secLogin.pass .secForm .btnLogin {
        width: 92%;
        height: 4rem;
        font-size: var(--spFS11);
        letter-spacing: 0;
        margin: 2rem auto 0;
    }
    .secLogin.pass .secForm .btnLeave {
        width: 100%;
        height: 5rem;
        margin: 2rem auto 0;
        font-size: var(--spFS12);
    }
}
.loginIndex #footer {
    margin-top: 20rem;
}
@media only screen and (max-width: 1215px) {
    .loginIndex #footer {
        margin-top: 7rem;
    } 
}