html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-y: auto;
}

body {
    display: flex;
    justify-content: center;
}

.Login_allBack {
    display: flex;
    box-shadow: rgb(69, 69, 69) 0 0 5px 0;
    width: 100%;
    max-width: 375px;
    min-height: 100vh;
}

.Title_login {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;

    box-sizing: border-box;
}

.yy {
    height: 0;
    width: 100%;
}

.Title_topBarIcon {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;

}



.Title_birdIcon {
    position: relative;
    top: 125px;
    left: 20px;
    width: 100px;
    height: auto;
    text-align: center;
}

.Title_titleIcon {
    position: relative;
    width: 250px;
    height: auto;
    top: 178px;
    right: -58px;
    text-align: center;

}

.Title_calendarIcon {
    position: relative;
    top: 183px;
    right: 270px;
    width: 70px;
    height: auto;
    text-align: center;
}

.Title_folderIcon {
    width: 100%;
    height: auto;

}

#Title_loginButton {
    position: relative;
    top: -110px;
    align-items: center;
    width: 70%;
    max-width: 320px;
    height: 64px;
    padding: 8px 24px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 30px;
    color: rgb(15, 125, 213);
    text-shadow: 2px 2px rgb(157, 195, 230);
    text-align: center;
    overflow-wrap: anywhere;
    background-color: white;
    border: 2px solid rgb(15, 125, 213);
}

#Title_loginButton:hover {
    background-color: rgb(15, 125, 213);
    color: white;
    border: white 2px solid;
}

.TItle_adjustment {
    width: auto;
    height: 190px;
}

/*ここからログイン画面のCSS*/
.Login_mainLogin {
    display: none;
    flex-direction: column;
    justify-content: center;
    height: 100vh;
    min-height: 100vh;
    box-sizing: border-box;
    overflow: hidden;
}

.Login_topBar {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(10, 14px);
    flex: none;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 140px;
    padding-left: 10px;
}

.Login_loginIcon {
    grid-column: 1/4;
    grid-row: 3/7;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 38px;
    width: 98px;
    font-size: 20px;
    font-weight: 500;
    color: white;
    border: 1px solid rgb(127, 127, 127);
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: rgb(78, 149, 217);
    clip-path: polygon(0 0,
            /* 左上 */
            calc(100% - 10px) 0,
            /* 右上の斜め開始 */
            100% 10px,
            /* 右上の斜め終了 */
            100% 100%,
            /* 右下 */
            10px 100%,
            /* 左下の斜め開始 */
            0 calc(100% - 10px)
            /* 左下の斜め終了 */
        );
}

.Login_adjustment {
    grid-column: 1/4;
    grid-row: 3/7;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    width: 100px;
    background-color: rgb(127, 127, 127);
    clip-path: polygon(0 0,
            calc(100% - 9px) 0,
            100% 9px,
            100% 100%,
            9px 100%,
            0 calc(100% - 9px));
    z-index: -1;
}

.Login_explanatoryText {
    grid-column: 2/10;
    grid-row: 9;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    display: inline-block;
    width: fit-content;
    text-decoration: underline;

}



.Login_mainContent {
    display: grid;
    position: relative;
    top: -20px;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(10, 1fr);
    flex: 1;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
}

.Login_mailAddressForm_text {
    grid-column: 4/7;
    grid-row: 3;
}

#Login_mailAddressForm {
    grid-column: 4/8;
    grid-row: 4;
    height: 40px;
    width: 250px;
    border: rgb(70, 177, 225) solid 1px;
}

.Login_passWordForm_text {
    grid-column: 4/7;
    grid-row: 5;
}

#Login_passWordForm {
    grid-column: 4/8;
    grid-row: 6;
    height: 40px;
    width: 250px;
    border: rgb(70, 177, 225) solid 1px;
}

#Login_forgetPassword {
    grid-column: 4/8;
    grid-row: 8;
    font-size: 12px;
    text-decoration: underline solid rgb(0, 112, 192);
    color: rgb(0, 112, 192);
    background-color: white;
    border: none;
    text-align: left;
    padding: 0px;
}

#Login_forgetPassword:hover {
    color: rgb(0, 153, 255);
}

#Login_newCreateAccount {
    grid-column: 4/6;
    grid-row: 9;
    font-size: 12px;
    text-decoration: underline solid rgb(0, 112, 192);
    color: rgb(0, 112, 192);
    background: white;
    padding: 0px;
    border: none;
    text-align: left;
}

#Login_newCreateAccount:hover {
    color: rgb(0, 153, 255);
}


.Login_footer {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(10, 14px);
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 140px;
    flex: 2;
}

#Login_nextScreen {
    grid-column: 5/7;
    grid-row: 1;
    width: 155px;
    height: 60px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#Login_nextScreen:hover {
    width: 150px;
    height: 55px;
}

/* 新規アカウント作成画面 */
.Login_newAccount {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;

}

.newAccount_title {
    height: 50px;
    width: 250px;
    background-image: url(/img/newAccount_back.webp);
    margin: 15px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#newAccount_back {
    position: relative;
    top: -66px;
    left: 13px;
    height: 50px;
    width: 50px;
    opacity: 0;
}

.newAccount_headLine {
    position: relative;
    text-align: center;
    top: -20px;
    height: 50px;
    width: 80%;
    margin-left: 10%;
}

.newAccount_error {
    position: relative;
    top: -40px;
    width: 100%;

}

.newAccount_form {
    position: relative;
    top: -30px;
    height: 35px;
    width: 70%;
    margin-left: 15%;

}

.newAccount_explanation {
    font-size: 13px;
    height: 50px;
    width: 70%;
    margin-left: 15%;
}

#newAccount_nextScreen {
    position: relative;
    top: 150px;
    width: 40%;
    margin-left: 30%;
    height: 55px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#newAccount_nextScreen:hover {
    height: 49px;
    margin: 3px 1% 3px 31%;
    width: 38%;

}

/*新規アカウント作成画面の認証*/
.Login_newAccountAuthentication {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;
}

.newAccountAuthentication_topBar {
    background-image: url(/img/newAccount_Authentication.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 310px;
    height: 60px;
    margin: 15px;

}

#newAccountAuthentication_back {
    position: relative;
    top: -60px;
    left: 10px;
    height: 40px;
    width: 50px;
    opacity: 0;
}

.newAccountAuthentication_headline {
    text-align: center;
    width: 100%;
    height: 50px;
    font-size: 15px;
    text-decoration: underline black;
}

.newAccountAuthentication_explanation {
    position: relative;
    top: 25px;
    text-align: center;
    font-size: 12px;
    width: 70%;
    margin-left: 15%;
}

.newAccountAuthentication_pinForm {
    text-align: center;
    position: relative;
    top: 80px;
    width: 55%;
    margin-left: 22%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

#newAccountAuthentication_nextScreen {
    position: relative;
    top: 125px;
    width: 40%;
    margin-left: 30%;
    height: 55px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#newAccountAuthentication_nextScreen:hover {
    height: 49px;
    margin: 3px 1% 3px 31%;
    width: 38%;

}

#newAccountAuthentication_resend {
    position: relative;
    top: 175px;
    width: 60%;
    margin-left: 20%;
    height: 30px;
    font-size: 14px;
    font-weight: 500;
    background-color: white;
    border: rgb(162, 202, 236) solid 3px;
}

/*アカウント作成画面*/
#Login_createAccount {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;
}

.createAccount_topBar {
    background-image: url(/img/CreateAccount.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    max-width: 300px;
    height: 45px;
    margin: 15px;
}

#createAccount_back {
    position: relative;
    top: -63px;
    left: 14px;
    height: 39px;
    width: 41px;
    opacity: 0;
}

.createAccount_accountNameText {
    position: relative;
    top: -40px;
    text-align: left;
    font-size: 15px;
    width: 100%;
    padding-left: 11%;
    padding-right: 5%;
    box-sizing: border-box;
    font-weight: 600;
    text-decoration: underline black;
}

.createAccount_accountNameItem1,
.createAccount_accountNameItem2,
.createAccount_accountNameItem3 {
    position: relative;
    top: -35px;
    text-align: left;
    font-size: 10px;
    width: 100%;
    padding-left: 12%;
    padding-right: 8%;
    box-sizing: border-box;

}

#createAccount_accountName {
    position: relative;
    top: -10px;
    width: 60%;
    margin-left: 20%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

.createAccount_passWord {
    position: relative;
    top: 10px;
    text-align: left;
    font-size: 15px;
    width: 100%;
    padding-left: 11%;
    padding-right: 5%;
    box-sizing: border-box;
    font-weight: 600;
    text-decoration: underline black;
}

.createAccount_passWord1,
.createAccount_passWord2 {
    position: relative;
    top: 18px;
    text-align: left;
    font-size: 10px;
    width: 80%;
    padding-left: 13%;
}

#createAccount_accountPassWord {
    position: relative;
    top: 30px;
    width: 60%;
    margin-left: 20%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

#resetPass_accountPassWord {
    position: relative;
    top: 30px;
    width: 60%;
    margin-left: 20%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

.createAccount_passWordOnceMore {
    position: relative;
    top: 50px;
    text-align: left;
    font-size: 15px;
    width: 80%;
    padding-left: 11%;
    font-weight: 600;
    text-decoration: underline black;
}

#createAccount_accountOnce {
    position: relative;
    top: 75px; 
    width: 60%;
    margin-left: 20%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

#resetPass_accountOnce {
    position: relative;
    top: 75px;
    width: 60%;
    margin-left: 20%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
}

#createAccount_Completion {
    position: relative;
    top: 110px;
    width: 40%;
    margin-left: 30%;
    height: 55px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#createAccount_Completion:hover {
    height: 49px;
    margin: 3px 1% 3px 31%;
    width: 38%;
}

#resetPass_Completion {
    position: relative;
    top: 110px;
    width: 40%;
    margin-left: 30%;
    height: 55px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#resetPass_Completion:hover {
    height: 49px;
    margin: 3px 1% 3px 31%;
    width: 38%;
}


/*パスワードを忘れた場合の画面*/
.Login_forgetPass {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;
}

.forgetPass_topBar {
    background-image: url(/img/forgetPassWord.webp);
    height: 50px;
    width: 280px;
    margin: 15px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#forgetPass_back {
    position: relative;
    top: -60px;
    left: 14px;
    height: 39px;
    width: 41px;
    opacity: 0;
}

.forgetPass_headLine {
    position: relative;
    top: 0px;
    text-align: left;
    font-size: 18px;
    width: 100%;
    padding-left: 8%;
    padding-right: 5%;
    box-sizing: border-box;
    font-weight: 600;
    text-decoration: underline black;
}

.forgetPass_EmailForm {
    position: relative;
    top: 45px;
    margin-left: 15%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
    width: 65%;
}

.forgetPass_explanation {
    position: relative;
    top: 90px;
    font-size: 13px;
    height: 50px;
    width: 70%;
    margin-left: 15%;
}

#forgetPass_nextScreen {
    position: relative;
    top: 200px;

    margin-left: 30%;
    height: 55px;
    width: 40%;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

/* パスワード認証画面 */
.Login_certification {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;
}

.certification_topBar {
    background-image: url(.../img/forgetPassWord_PIN.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 340px;
    height: 60px;
    margin: 10px;
}

#certification_Back {
    position: relative;
    top: -63px;
    left: 6px;
    height: 42px;
    width: 47px;
    opacity: 0;
}

.certification_codeText {
    position: relative;
    top: -20px;
    text-align: center;
    font-size: 13.5px;
    width: 100%;
    padding-right: 0%;
    box-sizing: border-box;
    font-weight: 500;
    text-decoration: underline black;
}

.certification_codeItem {
    position: relative;
    top: -15px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    width: 100%;
    padding-left: 1%;
    box-sizing: border-box;
}

#certification_code {
    position: relative;
    top: 25px;
    width: 45%;
    margin-left: 26%;
    border: rgb(70, 177, 225) solid 1px;
    height: 40px;
    outline: none;
}

#certification_code::placeholder {
    font-size: 15px;
}

#certification_confirmation {
    position: relative;
    top: 70px;
    width: 40%;
    margin-left: 30%;
    height: 48px;
    font-size: 22px;
    color: white;
    background-color: rgb(78, 149, 217);
    border: rgb(162, 202, 236) solid 7px;
}

#certification_resend {
    position: relative;
    top: 115px;
    width: 60%;
    margin-left: 19%;
    height: 30px;
    font-size: 14px;
    font-weight: 500;
    background-color: white;
    border: rgb(162, 202, 236) solid 3px;


}

/*パスワードをリセットする画面*/
.Login_resetPass {
    display: none;
    justify-content: start;
    align-items: start;
    flex-flow: column;
    width: 100%;
}


/*パスワードの再設定が完了した画面*/
.resetPass_modelOverLay {
    position: fixed;
    top: 0;
    width: 375px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.415);
    z-index: 7;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modelOverLay_submit {
    width: 245px;
    height: 220px;
    background-color: rgb(142, 191, 254);
    border: solid white 5px;
    border-radius: 30px;
    text-align: center;
    padding: 0 15px 0 15px;


}

.modelOverLay_lockIcon {
    width: 96px;
    height: 96px;
    margin: 0 auto 20px;
    background-image: url(/img/resetPassWord_Lock.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

}

.modelOverLay_successMessage {
    color: white;
    text-decoration: underline white;
}

.modelOverLay_backTitle {
    position: relative;
    top: 20px;
    width: 60%;
    height: auto;
    font-size: 15px;
    color: rgb(83, 83, 83);
    background-color: rgb(209, 234, 255);
    border: rgb(69, 163, 245) solid 5px;
    border-radius: 5px;
}


/*以降は共通に付け加えるcss*/
::placeholder {
    font-size: 18px;
    text-align: center;
    justify-items: center;
}

input,
textarea,
select {
    font-size: 16px;
}

#fontColor_red {
    color: red;
}

.hidden {
    display: none !important;
}

.show {
    display: flex !important;
}

.active {
    display: flex;
}

/* エラー状態のスタイル */
/* エラーメッセージのスタイル */
.error-message {
    color: red;
    font-size: 12px;
    text-align: center;
    margin-top: 5px;
    text-decoration: underline red;
}

.error-message.hidden {
    display: none;
}

.error-border {
    border-color: red !important;
}

/* グリッドの行を調整 */
#mailError {
    grid-column: 4/8;
    grid-row: 2;
}

#passError {
    grid-column: 4/8;
    grid-row: 7;
}

.newAccount_header {
    display: none;
}

.forgetPass_header {
    display: none;

}

.newAccount_pintimer {
    width: 30px;
    height: 30px;
    text-align: center;
    font-size: large;
    position: relative;
    top: 50px;
    left: 172px;
    border: black 1px solid;
}

.pin_error {
    width: 50%;
    position: relative;
    top: 60px;
    left: 25%;
}

#createAccount_mainError1 {
    width: 70%;
    text-align: center;
    position: relative;
    left: 15%;
    bottom: 30px;
}

#createAccount_mainError2 {
    width: 70%;
    text-align: center;
    position: relative;
    bottom: 30px;
    left: 15%;
}

#createAccount_mainError3 {
    width: 70%;
    text-align: center;
    position: relative;
    top: 90px;
    left: 15%;
}

#createAccount_mainError4 {
    width: 70%;
    text-align: center;
    position: relative;
    left: 15%;
    top: 20px;

}

#createAccount_mainError5 {
    width: 70%;
    text-align: center;
    position: relative;
    top: 20px;
    left: 15%;
}

#createAccount_mainError6 {
    width: 70%;
    text-align: center;
    position: relative;
    left: 15%;
    top: 60px;
}

#resetPass_mainError3 {
    width: 70%;
    text-align: center;
    position: relative;
    top: 90px;
    left: 15%;
}

#resetPass_mainError4 {
    width: 70%;
    text-align: center;
    position: relative;
    left: 15%;
    top: 20px;

}

#resetPass_mainError5 {
    width: 70%;
    text-align: center;
    position: relative;
    top: 20px;
    left: 15%;
}

#resetPass_mainError6 {
    width: 70%;
    text-align: center;
    position: relative;
    left: 15%;
    top: 60px;
}

#resetPass_back {
    position: relative;
    top: -60px;
    left: 10px;
    height: 40px;
    width: 50px;
    opacity: 0;
}

.Password_Reset_topBar {
    background-image: url(/img/Password_Reset.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 310px;
    height: 60px;
    margin: 15px;
}