html, body {
    position: relative;
    height: 100%;
}
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

header {
    margin-bottom: 1rem;
}


#login header, 
#admin_login header,
#login_auth_mail header,
#login_auth_no header {
    height : 4rem;
}

#wrapper {
    width: 100%;
    height : auto;
    max-width: 80rem;
    padding: 0 0.5rem;
    margin: 0 auto;
    flex: 1 0 auto;
}

#login #wrapper, 
#admin_login #wrapper,
#login_auth_mail #wrapper,
#login_auth_no #wrapper {
    height : calc(100vh - 4rem);
    position: relative;
}



#login #wrapper form, 
#admin_login #wrapper form,
#login_auth_mail #wrapper form, 
#login_auth_no #wrapper form {
    position: absolute;
    top: calc(50% - 4rem);
    left: 50%;
    transform: translate(-50%, -50%);
}

#wrapper input[type="text"],
#wrapper input[type="password"],
#wrapper select,
#wrapper textarea {
    padding: 0.8rem;
    border: solid 1px #707070;
    border-radius: 0.2rem;
}

#wrapper h2 {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

#wrapper table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 3rem;
}

#wrapper table thead {
    background-color: #9B9898;

}

#wrapper table thead tr th {
    padding: 1.5rem;
    color: #ffffff;
    font-weight: 700;
}

#wrapper table thead tr th.th_no {
    width : 10%;
}

#wrapper table thead tr th.th_domain {
    width : 50%;
}

#wrapper table thead tr th.th_domain input {
    width : 100%;
}



#wrapper table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

#wrapper table tbody tr:nth-child(even) {
    background-color: #F3F3F3
}


#wrapper table tbody tr td {
    padding: 1.5rem;
}

#wrapper a.btn, #wrapper input[type="submit"].btn {
    border-radius: 1rem;
    background-color: #ffffff;
    border: solid 1px #DC000C;
    color: #DC000C;
    width: 9.5rem;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    display: block;
    text-decoration: none;
}



#wrapper form.edit, #wrapper form.history {
    width: 100%;
    max-width: 50rem;
    margin: 0 auto;
}

#wrapper form.edit .column, #wrapper form.history .column {
    display: flex;
    justify-content: start;
    align-items: start;
    margin-bottom: 1rem;
}


#wrapper form.edit .column>p {
    width: 4rem;
    padding: 0.8rem 0;
}

#wrapper form.history .column>p {
    width: 8rem;
    padding: 0.8rem 0;
}

#wrapper form.edit .column .input_box {
    display: block;
    width: calc(100% - 4rem);
}

#wrapper form.history .column .input_box {
    display: block;
    width: calc(100% - 8rem);
}

#wrapper form.edit .column .input_box input,
#wrapper form.edit .column .input_box textarea {
    display: block;
    width: 100%;
}

#wrapper form.history .column .input_box input {
    display: inline-block;
    width: 12rem;
}

#wrapper form.history .column .input_box input:nth-child(1) {
    margin-right: 1rem;
}


#wrapper form.edit .btns, #wrapper form.history .btns {
    display: flex;
    justify-content: center;
    align-items: center;
}

#wrapper form.edit .btns .btn:nth-child(1), #wrapper form.history .btns .btn:nth-child(1) {
    margin: 1rem;
}


#wrapper form.login,
#wrapper form.certification_number {
    display: block;
    width: 100%;
    max-width: 30rem;
    border: solid 1px #686868;
    border-radius: 0.5rem;
    padding: 3rem 4rem;
    margin: 0 auto;
    box-shadow: 0px 4px 10px rgba(111, 111, 111, 0.25);
}


#admin_login #wrapper #admin_login_box{
    position: absolute;
    top: calc(50% - 4rem);
    left: 50%;
    transform: translate(-50%, -50%);
    border: solid 1.5px #DC000C;
    border-top: none;
    border-radius: 0.5rem;
    margin: 0 auto;
    box-shadow: 0px 4px 10px #dc000b46;
    width: 100%;
    max-width: 700px;
    overflow: hidden;
}

#admin_login #wrapper #admin_login_box h2{
    margin-bottom: 1.5rem;
    background-color: #DC000C;
    color: #ffffff;
    padding: 1rem;
}

#admin_login #wrapper #admin_login_box form.login {
    display: block;
    position: relative;
    top : 0;
    left : 0;
    margin: 0;
    transform: none;
    border: solid 0 #686868;
    box-shadow: 0 0 0 rgba(111, 111, 111, 0.25);
    padding-top: 0;
    box-sizing: border-box;
    max-width: none;
}


#wrapper form.certification_number{
    max-width: 34rem;
}


#wrapper form.login h3,
#wrapper form.certification_number h3 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

#wrapper form.login .column,
#wrapper form.certification_number .column {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 1rem;
}

#wrapper form.login .column>p {
    width: 4rem;
}

#wrapper form.certification_number .column>p {
    width: 14rem;
}

#wrapper form.login .column .input_box {
    width: calc(100% - 4rem);
}

#wrapper form.certification_number .column .input_box {
    width: calc(100% - 14rem);
}

#wrapper form.login .column .input_box input,
#wrapper form.certification_number .column .input_box input {
    width: 100%;
}

#wrapper form.login .btns,
#wrapper form.certification_number .btns {
    display: flex;
    justify-content: center;
    align-items: center;
}

#wrapper form.login .btns .btn:nth-child(1),
#wrapper form.certification_number .btns .btn:nth-child(1) {
    margin-right: 0.5rem;
}





#wrapper .finish_text_block {
    width: 100%;
    margin-bottom: 1rem;
    text-align: center;
}



footer {
    background-color: #DC000C;
    width: 100%;
    position: static;
    left: 0;
    bottom: 0;
    flex-shrink: 0;
}

footer p {
    text-align: center;
    color: #ffffff;
    padding: 1rem 0;
}

#modal {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    background-color: #00000064;
}


#modal.active {
    display: flex;
}

#modal #modal_box {
    background-color: #ffffff;
    width: 80%;
    max-width: 800px;
    position: relative;
}

#modal #modal_box:before {
    padding-top: 75%;
    content: "";
    display: block;
}


#modal #modal_box #modal_content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

#modal_close_btn {
    width: 2rem;
    height: 2rem;
    background-color: #000000;
    border-radius: 1rem;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}

#modal_close_btn:before,
#modal_close_btn:after {
    width: 75%;
    height: 12%;
    background-color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    display: block;
    transform-origin: center;
}

#modal_close_btn:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

#modal_close_btn:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}


input[type="text"], textarea, input[type="password"], select {
    border: solid 1px #000000;
}




div.wickedpicker {
    height: auto;
}


.delete_domain_btn {
    display: none;
}

.delete_domain_btn.active {
    display: block;
}


.wickedpicker__title {
    display: none;
}





/* ------------------- メール送信完了画面:start -------------------------- */
#login_auth_mail_finish .finish_text_block{
    position: absolute;
    top: calc(50% - 4rem);
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 1024px;
    border: solid 2px #C7C7C7;
    padding : 6rem 0;
}

#login_auth_mail_finish .finish_text_block h2{
    font-weight: 700;
    color: #9F0810;
    text-align: center;
}


#login_auth_mail_finish .finish_text_block p{
    line-height: 1.5;
}
/* ------------------- メール送信完了画面:end -------------------------- */



/* ------------------- DOMAIN SETTINGS:start -------------------------- */
#admin_domain .btns{
    display: flex;
    justify-content: center;
    align-items: center;
}

#admin_domain .btns p{
    border-radius: 1rem;
    background-color: #ffffff;
    border: solid 1px #DC000C;
    color: #DC000C;
    width: 10rem;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    display: block;
    text-decoration: none;
    cursor: pointer;
}

#admin_domain .btns p:nth-child(1){
    margin-right: 1rem;
}


#admin_domain input{
    width: 100%;
}
/* ------------------- DOMAIN SETTINGS:end -------------------------- */