.message.error { text-align: center; background-color: #fddcdc; width: 100%; color: red; padding: 0.5rem; }
.message.success { text-align: center; background-color: #d1e7dd; width: 100%; color: #0a3622; padding: 0.5rem; }
.header-logo-txt { display: none; }
.header-logo-link img { max-width: none; height: 100%; }
.header-logo-link { display: inline-block; width: auto; height: 3.6rem; }
@media print, screen and (min-width: 640px) {
    .header-logo-txt { display: block; }
    .header-logo-link { height: 6rem; }
}
/* 登録ページ------------------*/
.u-form-error { color: red; }
.is-disactive { background-color: #9D9D9D; border: none; cursor: not-allowed; }
.invalid-input { border: 2px solid #f00 !important; }
input[disabled=disabled] { color: #9b9b9b !important; background-color: #fcfcfc !important; }
.modal-overlay .modal._center { width: 90%; }
.modal-overlay .modal._center .u-linkbtn { max-width: unset; height: 5rem; font-size: inherit; }
#messageModal .c-checkmodal-title { font-size: 2rem; margin-top: 3rem; }

.c-grtb-item:first-child { border-top: none; }
.c-grtb-item { border-top: var(--cl-border) 1px solid; border-bottom: 0; }

@media print, screen and (min-width: 640px) {
    .modal-overlay .modal._center { width: 70rem; }
    .modal-overlay .modal._center .u-linkbtn { max-width: 20rem; height: 6rem; font-size: inherit; }
    #messageModal .c-checkmodal-title { font-size: 2.4rem; margin-top: 0; }
    .c-flex .input { display: flex; flex-wrap: wrap; }
    .c-flex .input .u-check-item { width: 50%; }
}

ul.validation-mess { padding-left: 2rem; }
ul.validation-mess li { list-style-type: disc; color: #f00; }

label.c-checkitem { margin-bottom: 1.3rem; }
.form-input-box._check .c-grid { gap: 0rem; }
@media print, screen and (min-width: 640px) {
    label.c-checkitem { margin-bottom: 0; }
    .form-input-box._check .c-grid { gap: 0.5rem; }
}
/* 登録ページ------------------*/

/*会員規約ページのCSS*/
.terms-box p { overflow-wrap: anywhere; }
.terms-box table { background-color: #CCCCCC; margin: 0; font-size: 1.2rem; width: 100%; border-collapse: collapse; }
.terms-box table th { background-color: #caedfb; padding: 0 5px; text-align: center; height: 6rem; border-width: 1px; border-style: solid; border-color: #CCCCCC; }
.terms-box table tr td { background-color: #FFFFFF; padding: 0 5px; text-align: center; height: 6rem; border-width: 1px; border-style: solid; border-color: #CCCCCC; }
.terms-box table tr td:first-child { text-align: left; }
@media print, screen and (min-width: 640px) {
    .terms-box table { font-size: 1.4rem; }
}
/*会員規約ページのCSS　END*/
