
body {
    margin: 0;
    padding: 0;
    background: #fff;
}

table {
    background:#fff;
}

a {
    text-decoration:none;
    color:#000;
    cursor: pointer;
}

a:active {
    color: #000;
    text-decoration: underline;
}

.link-label{
    cursor: pointer;
}

#headers {
    position: fixed; /* ヘッダーを固定する */
    box-sizing: border-box;
    width:100%;
    height: 55px; /* ヘッダーの高さを指定する */
    left :0;
    background:#fff;
    z-index:90;
    padding:0;
    margin:0;
    border-bottom: 1px solid #ccc ;
}

#headers_menu {
    background:#EBEFF9;
    width:70px;
    height: 55px;
    padding:5px;
    float: left; 
}

#header_bar{
    position: fixed; /* ヘッダーを固定する */
    box-sizing: border-box;
    left :90px;
    width:100%;
    font-size:14px;
}

.navi-bar-left {
    float: left;
    width:150px;
    height: 55px; /* ヘッダーの高さを指定する */
    border-right: 1px solid #ccc ;
}


.navi-bar-center {
    float: left;
    margin-top:5px;
    margin-left:50px;
    width:300px;
}


.navi-circle {
    background-color:#EBEFF9;
    margin-top:0;
    margin-left: 5px;
    width: 45px;
    height: 45px;
    display: inline-block;
    text-align:center;
    border-radius: 50%;
    font-size:20px;
    padding:5px;
}
.navi-circle:hover {
    background-color:#b0c4de;
}

.logo-img {
    margin-top:8px;
    margin-left:15px;
    width:95px;
    float: left;
}


.navi-bar-right {
    margin-top:15px;
    width:calc( 100% - 100px ); 
    text-align:right; 
}



#menu {
    box-sizing: border-box;
    top:55px;
    height: 100%;
    position: fixed;
    overflow-y: auto;
    background: #EBEFF9;
    padding: 0 20px 0 20px;
    z-index:91;
}


#app {
    box-sizing: border-box;
    top:55px;
    width:100%;
    height: 100%;
    position: fixed;
    z-index:1;
    padding:20px;
    overflow: auto; 
    background: #F6F8FC;
}

footer{
    width:100%;
    background:#696969;
    color:#fff;
    text-align:right;
    position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
    z-index:99;
}


.fa-bars {
    padding-top:10px;
}

.menu-circle {
    background-color:#EBEFF9;
    margin-top:0;
    margin-left: 5px;
    width: 50px;
    height: 50px;
    display: inline-block;
    text-align:center;
    border-radius: 50%;
    font-size:20px;
    padding:5px;
}

.menu-circle:hover {
    background-color:#ccc;
}

.menulist{
    margin-top: 30px;
    margin-left: 12px;
    font-weight:bold;
    font-size:18px;
}
.menu-icons{
    margin-top:0;
    font-size:18px;
    width: 24px;
    float: left;
    text-align:center;

}

.menu-label{
    margin-top:20px;
    margin-left: 10px;
    font-size:14px;
    display:none;
}

.menu-items{
    border-radius: 100vh;
    width:90%; 
    background-color: #EBEFF9; 
    margin-top:10px;
    position: relative;
    cursor: pointer;
}
.menu-items:hover {
    background-color: #b0c4de; 
    color:#fff;
}
.menu-items:hover .menu-lavel{
    color:#fff;
}


.menu-items:active{
    background-color: #b0c4de; 
}

/* Loading Block */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #808080;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity:0.5;
}
.spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
  background-color: #fff;
  border-radius: 100%;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* Loading Animation */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(1.0);
    opacity: 0;
  }
}

/* Hide Loading Block */
.loaded {
  opacity: 0;
  visibility: hidden;
}




.hint-chip {
    position: relative;
}

.hint-chip::after {
    content: attr(data-tooltip);
    position: absolute;
    left:0;
    display: block;
    padding: 10px;
    background: #cddc39;
    color: #333;
    transition: all 0.3s ease 0s;
    opacity: 0;
    font-size: 0.6em;
}

.hint-chip:hover::after {
    top: 30px;
    opacity: 1;
    font-weight:bold;
}


.sticky-size{
    width:100%;
    height: calc(100vh/1.5);
}

.sticky-size-y{
    width:100%;
}

/*　スクロールバーの実装 */
.sticky {
    display: block;
    overflow-x: scroll;
    overflow-y: scroll;
    height: calc(100vh/1.5);
    border-collapse: collapse;
}

/*　スクロールバーの実装 */
.sticky-y {
    display: block;
    overflow-x: scroll;
    height: calc(100vh/1.5);
    border-collapse: collapse;
}
.sticky-y thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.sticky thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.table th {
	background-color:#CCC;
    font-size:12px;
}

.table td {
    font-size:12px;
}

.btn{
    font-size:12px;
}

.btn-sm{
    height:25px;
    padding:0 10px 0 10px;
    margin:0;
}

.select-form {
    font-size:12px;
}

.input-form {
    font-size:12px;
}

.caption-bar{
    font-size:14px;
    color:#ffffff;
}

.col-form-label{
    font-size:12px;
}
.card-header{
	background-color:#b0e0e6;
}

.card{
    font-size:12px;
}

.card-input{
    width:100%;
}

form {
    padding:0;
    margin:0;
}

.amdin{
    background-color:#1a2638;
    color:#fff;
}

.public{
    background-color:#1a3c6e;
    color:#fff;
}





/* ▼ 通常（PCサイズなど）では、開・閉で幅を切り替え */
.menu-closed {
    width: 70px;
    transition: width 0.3s;
}
.menu-open {
    width: 280px;
    transition: width 0.3s;
}

/* ▼ ラベルは .menu-closed の時に非表示にする (例) */
.menu-closed .menu-label {
    display: none;
}
.menu-open .menu-label {
    display: inline;
}



@media screen and (max-width: 700px) {
    /* 700px以下に適用されるCSS（タブレット用） */
    .card{
        width:100%;
    }
    .sticky-size{
        width:100%;
        height: calc(100vh/1);
    }

    /*　スクロールバーの実装 */
    .sticky {
        display: block;
        overflow-x: scroll;
        overflow-y: scroll;
        height: calc(100vh/1.5);
        border-collapse: collapse;
    }

    .sticky thead th {
        position: sticky;
        top: 0;
        z-index: 1;
    }
    #circle_reload{
        display: none;
    }
    
    #circle_new{
        display: none;
    }
    
    #circle_back{
        display: none;
    }
        
    .menu-closed {
        /* スマホのときは「閉」状態なら幅0にして隠してしまう例 */
        width: 0;
    }

    /* スマホ時はメニュー表示中は最前面に持ってきたいので position 修飾 */
    .menu-open {
        width: 70%;
        position: fixed;
        top: 0; left: 0;
        height: 100vh; /* 画面全体の高さ */
        overflow-y: auto;
    }

    #header_label_1{
        display: none;
    }
    #header_label_2{
        display: none;
    }

}

@keyframes sk-cubemove {
    25% { 
        transform: translateX(42px) rotate(-90deg) scale(0.5);
    } 50% { 
        transform: translateX(42px) translateY(42px) rotate(-179deg);
    } 50.1% { 
        transform: translateX(42px) translateY(42px) rotate(-180deg);
    } 75% { 
        transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    } 100% { 
        transform: rotate(-360deg);
    }
}




.loader {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    
    &__spinner {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 57px;
        height: 57px;
        transform: translate(-50%, -50%);
        
        &--cube1,
        &--cube2 {
            background-color: #ffffff;
            width: 15px;
            height: 15px;
            position: absolute;
            top: 0;
            left: 0;
            animation: sk-cubemove 2s infinite ease-in-out;
        }

        &--cube2 {
            animation-delay: -1s;
        }
    }
}


/* 日曜日：赤 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
    color: red;
}
 
/* 土曜日：青 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
    color: blue;
}

.flatpickr-current-month {
  display: flex;
  justify-content: center;
}

.cur-year {
  order : 1;
}

.cur-month:before  {
   content: '年　';
}

.cur-month {
  order: 2;
}

.flatpickr-current-month span.cur-month {
  font-weight : 300;
  padding-top : 4px;
}


