@charset "UTF-8";
/* ----------------------------------------------------
input
---------------------------------------------------- */
input[type="password"]{
    border: 0;
    background: none;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1px;
    box-sizing: border-box;
}


/* ----------------------------------------------------
list
---------------------------------------------------- */
table.tableList01 td.ctrl{
    text-align: center;
    width: 7%;
}

table.tableList01 td.ctrl span{
    white-space:nowrap;
}

table.tableList01 td.list_order_ctrl > div{
    display:inline-block;
    max-width:2em;
    min-width:1.3em;
    width:20%;
    text-align: center;
}

.listWrap table.tableList01 thead a{
    color:#ffffff;
    text-decoration:none;
}

@media (max-width: 768px) {
    table.tableList01 th {
        width:auto !important;
    }
    table.tableList01 td {
        width:auto !important;
        text-align:left !important;
    }
    table.tableList01 td.list_order_ctrl{
        flex-direction:row;
    }
    table.tableList01 td.list_order_ctrl > div{
        max-width:none;
        min-width:auto;
    }
}


/* ----------------------------------------------------
list pagination
---------------------------------------------------- */
.listWrap nav{
    background:transparent;
    margin:2em 0;
}

.listWrap nav ul li{
    font-weight:normal;
    border:none;
}

.listWrap nav ul li a{
    padding:0;
    display:block;
}


.listWrap .pagination{
    display:flex;
    justify-content: center;
    align-items:center;
}

.listWrap .pagination .page-item{
    margin:0.5em 0.25em;
}

.listWrap .pagination .page-item.disabled{
    color: #909090;
}

.listWrap .pagination .page-item.active{
    font-weight: bold;
    font-size: 110%;
}

.listWrap .pagination .page-link{
    display:block;
    padding:0 0.25em;
    line-height:2;
}



/* ----------------------------------------------------
form
---------------------------------------------------- */
.form_check{
    display:inline-flex;
    margin:0 1em 0 0;
}

.formWrap div.flex .form_check label{
    display:inline-block;
}

.formWrap input.error,
.formWrap select.error{
    border-color:#dc3545 !important;
    background:#f9ecec !important;
}

.form_error{
    margin-top:0.5em;
    width:100% !important;
}

.form_error ul{
    background:#f9ecec !important;
    border-radius:4px;
    border:1px solid #f5c6cb;
    color: #721c24;
    padding: 0.25em 0.5em;
    width:100%;
}

.form_error li{
    padding: 0.25em 0;
}

.formWrap div.formbox {
    justify-content:start;
}



/* ----------------------------------------------------
btn
---------------------------------------------------- */
.btnbox button {
    border:none;
    border-radius: 3px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto;
    padding: 16px 0 14px 0;
    transition: 0.2s ease-in-out;
    width: 300px;
}

.btnbox button:hover {
    opacity: 0.6;
}

.btnbox button[type="submit"] {
    background: #fdc44f;
    color: #fff;
}

.btnbox button[type="submit"].backbtn {
    background: #aaa;
}

.btnbox.delete{
    margin-top:6em;
}

.btnbox.delete button {
    color: #fff;
    background: #dc3545;
}



/* ----------------------------------------------------
flash
---------------------------------------------------- */
.flash-message{
    margin: 1em 0;
    padding: 0 20px;
}

.flash-message > div{
    border-radius:4px;
    border-style:solid;
    border-width:1px;
    margin:0 auto;
    padding: 1em;
    max-width:1200px;
    position:relative;
}

.flash-message .flash-message_alert{
    background:#f9ecec;
    border-color:#f5c6cb;
    color: #721c24;
}

.flash-message .flash-message_status{
    background: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.flash-message .close{
    position:absolute;
    right:0.5em;
    top:0;
    bottom:0;
    display:flex;
    justify-content:center;
    align-items:center;
}


@media (max-width: 1200px) {
    .flash-message > div{
        width:100%;
    }
}

.login-input .flash-message{
    padding: 0;
}

.login-input .flash-message .fa-times-circle{
    display:none;
}

/* ----------------------------------------------------
delete confirm
---------------------------------------------------- */
#delete_confirm_dlg{
    background:rgba(0,0,0,0.6);
    display:none;
    height:100vh;
    left:0;
    position:absolute;
    top:0;
    width:100%;
    z-index:900000;
}

#delete_confirm_dlg .box{
    background: #ffffff;
    left: 50%;
    max-width: 600px;
    min-width: 300px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

#delete_confirm_dlg .header{
    background: #fdc44f;
    font-size: 1.1em;
    font-weight: bold;
    padding: 0.5em;
}

#delete_confirm_dlg .body{
    padding: 1em;
}

#delete_confirm_dlg .body dl{
    margin:1.5em 0 0;
}

#delete_confirm_dlg .body dt{
    float:left;
    width:5em;
}

#delete_confirm_dlg .body dd{
    margin-left:6em;
}

#delete_confirm_dlg .footer{
    text-align:right;
    padding:0.5em 0;
}

#delete_confirm_dlg .footer button{
    width:auto !important;
    padding:0.5em 1em !important;
    margin:0 0.5em 0 0 !important;
}

#delete_confirm_dlg.show{
    display:block;
}


.empty{
    text-align:center;
    font-size:1.2em;
}


.login-input .remark{
    margin:1em 1em 0;
}

.password-reset{
    margin: 1em 0 0;
    text-align: center;
}








/* ----------------------------------------------------
user list
---------------------------------------------------- */
.userList .manager{
    /* min-width:10em; */
    width:10%;
}

.userList .kind{
    min-width:7em;
    width:10%;
}

.userList .tel,
.userList .fax{
    min-width:7em;
    width:10%;
}

.userList .addr{
    /* min-width:10em; */
    width:10%;
}

.userList .ctrl{
    /* min-width:10em; */
    width:6%;
}

.userList .updated_at{
    min-width:8.5em;
    width:8.5em;
}

/* ----------------------------------------------------
member list
---------------------------------------------------- */
.title_username{
    font-size: 14px;
    font-weight: bold;
    padding: 0 8px 8px 8px;
}

.memberList .gender{
    text-align: center;
    width: 8%;
}

.memberList .birthday{
    text-align: center;
    width: 14%;
}

.memberList .kind{
    text-align: center;
    width: 20%;
}

.memberList .registration_number{
    width: 20%;
}


.appformWrap.nonmember .formboxList{
    position:relative;
}

.appformWrap.nonmember .formboxList .wid56{
    width:auto;
}

.appformWrap.nonmember .formboxList .rowdel{
    position:absolute;
    right:2px;
    top:2px;
}

.appformWrap.nonmember .formboxList .rowdel .fa-times-circle{
    font-size:20px;
}

.appformWrap.addrow{
    display:block;
    margin: 10px auto 0;
    font-size: 20px;
    border: 1px solid #888888;
    text-align: center;
    width: 99%;
}

.formboxList.nonmember_row_template{
    display:none;
}


.listCondWrap.formWrap .formbox.fullwid{
    width:100%;
}

.listCondWrap.formWrap label{
    display:inline-block;
    margin:0.25em 1em 0.25em 0;
}


.listCondView{
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #ccc;
}

.listCondView .h{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: center;
}

.listCondView .btnbox input[type="submit"].backbtn {
    width: 140px;
    font-size: 15px;
    padding: 10px 0 8px 0;
}

.listCondView .row{
    display: flex;
    margin-top:10px;
}

.listCondView .row p{
    min-width:6em;
    font-weight:bold;
}

.listCondView .row div{
    flex-grow:1;
}

.listCondView .row div span{
    display:inline-block;
}


@media (max-width: 768px){
    .listCondView .h{
        flex-direction:column;
        align-items: normal;
    }

    .listCondView .h h3{
        margin-top:10px;
        order:2;
    }

    .listCondView .h .btnbox{
        margin-top:0;
        order:1;
    }

    .listCondView .btnbox input[type="submit"].backbtn {
        width:100%;
    }

    .listCondView .row{
        flex-wrap:wrap;
    }

    .listCondView .row div{
        padding-left:1em;
        width:100%;
    }

    table.tableList01.memberList thead{
        min-width:126px;
    }
}


/*.menuQuestionnaireUser{
    display:none;
}*/
/*
.menuQuestionnaireAdmin{
    display:none;
}*/


.btnbox.btnbox2{
    display: flex;
    justify-content: center;
    gap:2em 1em;
}
.btnbox.btnbox2 button {
    margin:0;
}
.btnbox.btnbox2 button span{
    display:block;
    font-size:smaller;
}

@media (max-width: 512px) {
    .btnbox{
        display:flex;
        flex-wrap:wrap;
        gap:2em 0 !important;
        justify-content: center;
    }
    .btnbox button{
        margin:0;
    }
}
