.header {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    position: fixed;
    height: 60px!important;
    /* overflow: hidden; */
    z-index: 0;
}

#sidebarMenu {
    height: 100%;
    position: fixed;
    left: 0;
    width: 250px;
    transform: translateX(-250px);
    transition: transform 250ms ease-in-out;
    background: #001829;
    z-index: 10;
}
.sidebarMenuInner{
    margin-top: 60px;
    padding:0;
}
.sidebarMenuInner li{
    list-style: none;
    color: #fff;
    font-weight: bold;
    padding: 20px;
    cursor: pointer;
}
.sidebarMenuInner li span{
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.50);
}
.sidebarMenuInner li a{
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
}

.sidebarMenuInner li a:hover {
    color: aqua;
}

input[type="checkbox"]:checked ~ #sidebarMenu {
    transform: translateX(0);
}

input[type=checkbox] {
    transition: all 0.3s;
    box-sizing: border-box;
    display: none;
}
.sidebarIconToggle {
    transition: all 0.3s;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    /* z-index: 99; */
    height: 100%;
    width: 100%;
    top: 22px;
    left: 15px;
    height: 22px;
    width: 22px;
}
.spinner {
    transition: all 0.3s;
    box-sizing: border-box;
    position: absolute;
    height: 3px;
    width: 100%;
    background-color: #001829;
}
.horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 3px;
}
.diagonal.part-1 {
    position: relative;
    transition: all 0.3s;
    box-sizing: border-box;
    float: left;
}
.diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 3px;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    opacity: 0;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(135deg);
    margin-top: 8px;
    background-color: #001829;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(-135deg);
    margin-top: -9px;
    background-color: #001829;
}

.header-contents {
    /* left: 0;
    transform: translateY(12px);
    transition: transform 250ms ease-in-out; */
    /* margin-left: 80px; */
    /*height: 80px;*/
    padding: 5px 26px;
}

.head-title {
    font-size: 16px;
    font-weight: bold;
    color: #6c757d;
    margin-left: 24px;
    line-height: 50px;
    padding-bottom: 1px;
}

.head-logo img {
    width: 70px;
    margin-top: -6px;
}
.head-logo:nth-of-type(2) img {
    margin-left:10px;
}

.header-contents-title {
    display: flex;
    align-items: center;
    padding: 10px 26px;
    /*height: 80px;*/
    /*flex-wrap: wrap;*/
}

.main-title {
    font-size: 24px;
    color: #FAEDB0;
    font-weight: bold;
    margin: 0;
}

.main-timezone {
    font-size: 12px;
    color: #FAEDB0;
    padding: 0 10px;
    margin: 0;
}

.control-label {
    /*text-align: right;*/
    margin-bottom: 0;
    padding-top: 7px;
}

.title-line {
    border-bottom: 2px solid lightgrey;
}

/* color */
.bg-corprate {
    background-color: #001829 !important;
}

.text-color-corprate {
    color: #001829 !important;
}

/*=================================================*/
/*custome.cssの変更*/
.col-md-6{
    float:none;
}
.nav-sm .main_container .top_nav,
.nav-md .main_container .top_nav,
.nav-sm .main_container .right_col,
.nav-md .main_container .right_col{
    transition: all 0.5s;
}

.left_col .nav_title{
    background-color:transparent;
}
.nav-md .left_col .navbar .nav_title {
    display: block;
    position:static;
    transition: all 0.6s;
    width: 80px;
}
.nav-md .left_col .navbar.nav_title a i {
    font-size: 27px;
    margin: 12px;
}

/* pagenation変更*/


.dataTables_paginate {
    float: right;
    text-align: right;
}

.pagination {
    display: flex;
    padding: 10px 0 0 0;
    list-style: none;
    border-radius: 0.25rem;
}

.dataTables_paginate a {
    padding: 6px 9px !important;
    background: transparent !important;
    border-color: gray !important;
    color: #6c757d;
}
.dataTables_paginate li.active {
    text-decoration: none;
    background: #6c757d;
    border-radius: 50%;
}
.dataTables_paginate li.active a {
    color: #fff;
}
.dataTables_paginate a:hover {
    text-decoration: none;
}

.page-item.active .page-link {
    z-index: 3;
    color: lightgray!important;
    background-color: #3490dc;
    border-color: #3490dc;
}

.export-btn {
    color: #007bff;
    margin-left: -40px;
    background-color: white;
}

.btn-frame {
    border: solid 1px #007bff;
    padding: 5px;
    margin-left: 3rem;
    align-items: center;
}

.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding: 0!important;
  /* padding-right: 15px;
  padding-left: 15px; */
  margin-right: auto;
  margin-left: auto;
}


.main-contents .icon a[onclick="history.back()"] i {
    font-size: 14px;
    color: lightgrey;
    border: lightgrey solid 2px;
    border-radius: 50%;
    padding: 5px;
    transition: .6s;
    vertical-align: -3px;
}

.main-contents .icon i:hover {
    color: gray;
    border: gray solid 2px;
}

/* ボタンサイズ共通 */

.w-80 {
    width: 80px;
}

.w-delete{
    width: 150px;
}

/*入力必須フォームに対する『*』*/
.form-group.required .control-label:after {
    content:"*";
    color:red;
}

/*リアルタイムバリデーション*/
.realtime-msg{
    color: red;
}



/*=================================================*/
/*固定列の右端のセルに罫線（ボックスシャドウ）*/
body.user table .fixed5:before,
body.site table .fixed3:before,
body.company table .fixed3:before{
    /*border-right: 1px solid #ccc;*/
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right: 1px solid #dee2e6;
}

/*チェックマーク中央揃え*/
.check{
    text-align: center;
}

/*表のborder等*/

.table tr td,
.table tr th{
    border-top:none;
    line-height: 170%;
    padding: 0.5rem 0.75rem;
}
/*_buttonc.scss上書き*/
tr td .btn{
    vertical-align: baseline!important;
}

.table tr{
    border: none;
}

.table tr:last-of-type{
    border-top:none;
}

.dataTables_scrollBody .table thead tr:first-of-type{
    border:none;
}
tr .d-block {
    display: table-cell!important;
}

/*fullcalender.print.css上書き*/
.dataTables_scrollBody th,.dataTables_scrollBody td,.dataTables_scrollBody thead,.dataTables_scrollBody tbody,.dataTables_scrollBody .fc-row {
    border:none;
    /*background: transparent !important;*/
}
/*青緑角丸ボタン*/
.type-of-admin{
    background-color: #25ddbc;
    color: #fff;
    padding:0px 9px;
    border-radius: 16px;
    font-size:80%;
    display: inline-block;
}
.type-of-system-admin{
    background-color: #0fab7f;
    color: #fff;
    padding:0px 9px;
    border-radius: 16px;
    font-size:80%;
    display: inline-block;
}
/*_tables.scssを上書き*/
body .table-striped tbody tr:nth-of-type(odd){
    background-color:rgba(0,0,0,0);
}
body .table-hover tbody tr:hover th,body .table-hover tbody tr:hover td{
    background-color: #ddd !important;
}

/*表をストライプに*/
.table tr:nth-of-type(2n) th,.table tr:nth-of-type(2n) td{
    background-color:#eee !important;
}
.table tr:nth-of-type(2n+1) th,.table tr:nth-of-type(2n+1) td{
    background-color:#fff !important;
}


/*ページネーション固定*/
.dataTables_wrapper{
    overflow-x: scroll;
}

.dataTables_wrapper .row:last-of-type{
    position: -webkit-sticky; /* Safari */
    position: sticky;
    width:100%;
    left: 0;
}

a.user-profile {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

a.user-profile::after{
    font-size: 24px;
    border-top: 0.3em solid #fff;
    margin-left: 15px;
}

a.user-profile:hover{
    text-decoration: none;
}

a.user-profile p {
    background-color: #FAEDB0;
    padding: 2px 25px;
    text-align: center;
    font-weight: 600;
    border-radius: 50px;
    color: #000;
    margin: 0;
    font-size:14px;
}

a.user-profile .system-selection-account {
    background-color: #001829;
    padding: 3px 40px;
    text-align: center;
    font-weight: 600;
    border-radius: 50px;
    color: white;
    margin: 0;
}

.navbar-nav .open .dropdown-menu {
    transform: translate3d(10px, 45px, 0px)!important;
    border-radius: 0;
    padding: 0;
    border: none;
    width: 300px;
}

.navbar-nav .open .dropdown-menu a{
    border: 1px solid #D9DEE4;
    padding: 10px 24px;
    display: flex;
    align-items: center;
}

.navbar-nav .open .dropdown-menu a:last-child{
    border-top: none;
}

.navbar-nav .open .dropdown-menu a:hover{
    box-sizing: border-box;
    border-left: 8px solid #20BAE4;
    color: #20BAE4;
}

.navbar-nav .open .dropdown-menu a i{
    margin-right: .8em;
}

.nav.side-menu li.current-page a, .nav.side-menu li.current-page i {
    color: #fff;
}

li.dropdown {
    list-style-type: none;
}

/* system selection */
.main-btn {
    padding: 3rem 0;
    text-align: center;
    border-radius: 25px;
    text-decoration: none;
}

.main-btn-title {
    color:  #FAEDB0;
    font-size: 40px;
    font-weight: bold;
    margin: 0;
}

.sub-btn {
    border: solid 1px #001829;
    border-radius: 25px;
}

.sub-btn:hover,.main-btn:hover{
    opacity: .5;
}

.sub-btn img{
    border-radius: 25px 25px 0 0;
}

.image-wrapper>div{
    border: 1px solid red;
    width: 300px;
}

li.sub-system {
    list-style-type: none;
}

li.sub-system a.dropdown-toggle::after{
    font-size: 24px;
    border-top: 0.3em solid #001829;
    margin-left: 15px;
}

/* === custom.css -> style.css === */

.nav-sm .main_container .top_nav {
    display: block;
    position: absolute;
    left: 70px; right: 0px;
    z-index: 9999;
}

.main_container .top_nav {
    display: block;
    position: absolute;
    left: 290px; right: 0px;
    z-index: 9999;
}

.top_nav .navbar-right {
    /* margin: 27px; */
    width: auto;
    /* float: right; */
    margin: 0;
    margin-left: auto;
    padding-right: 20px;
    margin-bottom: -3px;

}

.top_nav .navbar-right li {
    /* display: inline-block;
    float: right;
    position: static;  */
    margin: 0;
    margin-left: auto;
    padding: 0 10px;
}

/* === side bar === */
.nav_menu {
    float: left;
    background-color: white;
    border-bottom: 1px solid #D9DEE4;
    margin-bottom: 10px;
    width: 100%;
    position: relative;
}

.menu_section > ul {
    margin-top: 79px;
    display: block;
}

.nav-sm .nav.child_menu li.active,
.nav-sm .nav.side-menu li.active-sm {
  border-right: 5px solid #20BAE4;
}

.nav.side-menu > li > a:hover {
    /*color: #20BAE4 !important;*/
    border-right: 5px solid #20BAE4;
    background: rgba(255, 255, 255, 0.1);
}

.nav.side-menu > li.current-page > a:hover {
    /*color: #20BAE4 !important;*/
    border-right: none;
    background: rgba(255, 255, 255, 0.0);
}

.nav.side-menu > li.current-page, .nav.side-menu > li.active {
    border-right: 5px solid #20BAE4;
}

.left_col {
    background: #001829;
    transition: all 0.3s;
}

.nav-sm .container.body .col-md-3.left_col {
    min-height: 100%;
    width: 70px;
    padding: 0;
    z-index: 9999;
    position: fixed;
    left: 0px;
    transition: all 0.5s;
}
.nav-sm .container.body .right_col {
    display: block;
    margin: 0;
    position: absolute;
    left: 70px; right: 0px;
    padding: 102px 10px 0 10px;
}

.nav-sm .navbar.nav_title {
    width: 70px;
    padding:0.2rem 0.6em;
}

.nav-sm .navbar.nav_title a i {
    font-size: 27px;
    margin: 12px;
}

.nav-md .container.body .col-md-3.left_col {
    min-height: 100%;
    width: 290px;
    padding: 0;
    position: fixed;
    left: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: block;
    z-index: 1;
    transition: all 0.5s;
}

.nav-md .container.body .right_col {
    display: block;
    margin: 0;
    position: absolute;
    left: 290px; right: 0px;
    padding: 102px 10px 0 10px;
}
.nav li.current-page {
    background: rgba(255, 255, 255, 0.1);
}

.nav.side-menu > li > a {
    margin-bottom: 0px;
}






/* All page */
.x_content {
    position: relative;
    width: 100%;
    float: left;
    clear: both;
    margin-top: 1rem;
}

/* チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 50px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    content: '';
    display: block;
    height: calc(1.5em + .75rem + 2px);
    left: 0;
    margin-top: -8px;
    position: absolute;
    top: 22%;
    width: calc(1.5em + .75rem + 2px);
}
.checkbox01::after {
    border-right: 5px solid #001829;
    border-bottom: 5px solid #001829;
    content: '';
    display: block;
    height: 26px;
    left: 11px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 25%;
    transform: rotate(45deg);
    width: 15px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}

.project-scroll{
    height: 100%;
    max-height: 50vh;
    overflow-y: scroll;
}


/*検索機能*/
.search-form-wrapper{
    padding: 10px;
}
.search-form{
    padding: 10px;
    border-bottom:1px solid #ccc;
    display: none;
}
section#search-table-wrapper div.dataTables_wrapper .row:first-child {
    display: none;
}
.search-form-opener{
    position:relative;
}

/*検索ボタンサイズ変更*/
.search-form-opener i{
    font-size:14px;
    vertical-align: 2px;
}

.search-form-opener .search-open-button{
    width:1.75rem;
    height:1.75rem;
    background:#001829;
    border-color:#001829;
    position: absolute;
    top: 5px;
}
.search-form-opener .search-open-button:hover{
    background:#001829;
    border-color:#001829;
}
.search-form-opener-wrapper .search-form-opener {
    width: 100px;
}
.default-btn,.close-btn{
    display:block;
}
.search-open-button .clicked {
    display: none;
}
.filter_col p:first-of-type {
    margin-bottom:5px;
}
.filter_col input{
    border-radius :5px;
    border-width: 1px;
}
/*検索機能ここまで*/


/*レイアウト空間調整*/
div .main-contents{
    padding: 5px 1rem 1rem 1rem!important;
}
div .main-contents > div:nth-of-type(1){
    margin-bottom: 0.5rem!important;
    margin-top: 0.5rem !important;
}

.main-contents > h2:first-of-type{
    font-size: 1.75rem;
}

    /*ボタンサイズ変更*/
.btn_size{
    font-size: 14px!important;
    padding: 2px 5px!important;
    min-width:60px!important;
    width: auto!important;
}



.main-contents h2{
    font-weight: 700;
}

.main-contents h2 .title-label{
    /*background:#aaa;*/
    /*border-radius: 50%;*/
    /*padding:2px 5px;*/
    font-size: 26px;
    font-weight: 600!important;
    color: gray;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*＝＝＝＝＝＝＝アカウント操作＝＝＝＝＝＝＝＝＝*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*三角*/
p.account-operation-opener::after {
    margin-left: 15px;
    font-size: 24px;
    display: inline-block;
    content: "";
    border-top: 0.3em solid #fff;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}



/*開閉ボタン*/
div.account-operation-wrapper{
    position:relative;
    margin-left: auto;
    margin-bottom: -16px;
}
p.account-operation-opener {
    margin-left: auto;
    text-align: right;
    cursor: pointer;
}
span.clickable-text {
    background-color: #FAEDB0;
    padding: 4px 25px;
    text-align: center;
    font-weight: 600;
    border-radius: 50px;
    color: #000;
    margin: 0;
    font-size:14px;
}
div.account-operation-menu {
    width: 100%;
    display: none;
    position: absolute;
    right: 0;
    top:32px;
    z-index: -1;
    background:#eee;
    box-shadow: 0 1px 3px #999;
}

div.account-operation-menu p:hover {
    border-left: 8px solid #20BAE4;
    background: #fff;
    cursor: pointer
}
div.account-operation-menu p {
    border: 1px solid #ccc;
    margin: 0;
}
div.account-operation-menu p:last-of-type{
    border-top: none;
    margin: 0;
}
div.account-operation-menu p:hover a {
    /*color: #20BAE4;*/
    text-decoration: none;
}
div.account-operation-menu p a {
    padding: 15px 40px;
    display: block;
    color: #212529;
}
div.account-operation-menu p a i {
    float: none;
}

/*is-mandatory-item*/
span.is-mandatory-item{
    font-size: 14px;
    color: red;
}

/*password文字数制限に関するインフォメーション*/
.character-count-rules{
    color: red;
    font-size: 14px;
    margin-bottom:0;
}

/*copyright*/
.copyright-wrapper{
    padding-top:20px;
    display: block;
    width: 100%;
    clear: both;
}
.copyright{
    text-align: center;
    font-size: 14px;
    display: block;
    width: 100%;
    border-top :1px solid #ccc;
    padding-top: 10px;
}


/*UserRegistration　SystemAdminが１の時アスタリスクを付ける*/
.asterisk:after{
    content:"*";
    color:red;
    font-size:24px;
    padding-left: 5px;
}

/*UserRegistration　SystemAdminが１のユーザーに対するインフォメーション*/
.system-admin-info{
    color:red;
    font-size: 14px;
    margin:0;
    text-align: left;
}

/*Company サイトに対する権限を示す『yes』*/
.company .has-admin{
    border-radius: 12px;
    padding: 0 14px;
    background-color:#19bfa1;
    color: #fff;
    font-size:80%;
    display: inline-block;


}

.paginate-wrapper{
    position :sticky;
    left:0;
}

.flash_message{
    background: #d7ffd7;
    color :green;
    padding:5px;
    text-align :center;
    margin-top :15px;
}
.error-msg{
    margin-top: 15px;
}

.error-msg ul{
    margin-bottom: 0;
}

/*検索フォームセレクト*/
.filter_col select {
    border-radius: 5px;
    border-width: 1px;
    height: 28px;
}

/*リアルタイムバリデーション　エラーメッセージ*/
#form .inline{
    background:#fff;
    font-size:0.9rem;
    color:red;
}



/*カスタムチェックボックス02*/
.custom-checkbox02 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 0;
    position: relative;
    width: auto;
}

.custom-checkbox02::before {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    content: '';
    display: block;
    height: calc(1.5em + 0.75rem + 2px);
    left: 85px;
    margin-top: -8px;
    position: absolute;
    top: 22%;
    width: calc(1.5em + 0.75rem + 2px);
}

.custom-checkbox02::after {
    border-right: 5px solid #001829;
    border-bottom: 5px solid #001829;
    content: '';
    display: block;
    height: 26px;
    left: 95px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 25%;
    transform: rotate(45deg);
    width: 15px;
}

input[type=checkbox]:checked + .custom-checkbox02::after {
    opacity: 1;
}

.custom-flexitem {
    width :20% !important;
}

.site-registration .custom-flexitem {
    width :20% !important;
}

.site-registration .mode-wrap .custom-flexitem {
    width :50% !important;
}

.site-registration .all-mode.custom-flexitem {
    width :100% !important;
    border-bottom : #cfcfcf 1px solid;
}

.site-registration .custom-checkbox02::before {
    left: 65px;
}

.site-registration .mode-wrap .custom-checkbox02 {
    padding-left: 50px;
}

.site-registration .mode-wrap .custom-checkbox02::before {
    left: 0px;
}

.site-registration .custom-checkbox02::after {
    left: 76px;
}

.site-registration .mode-wrap .custom-checkbox02::after {
    left: 11px;
}
