body {
	padding-top: 80px;
	padding-bottom: 30px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h1 {
	/*font-size:30px;*/
	font-size:1.9rem;
}
h2 {
	font-size:1.4rem;
}

.footer{
  height: 50px;
  line-height: 50px;
}

.form-control::placeholder{
  color:#ced4da
}

/*** カスタムファイル選択 ***/
/*
.custom-file-input:lang(ja) ~ .custom-file-label::after {
  content: "参照";
}
.custom-file {
  overflow: hidden;
}
.custom-file-label {
  white-space: nowrap;
}
*/

/*** bootstrap-timepicker入力欄幅 ***/
/*
.bootstrap-timepicker-hour {
	min-width:40px;
}
.bootstrap-timepicker-minute {
	min-width:40px;
}
.bootstrap-timepicker-second {
	min-width:40px;
}
.bootstrap-timepicker-meridian {
	min-width:40px;
}
*/

/*** placeholderフォーカス時の消去 ***/
input:focus::-webkit-input-placeholder{color:transparent}
input:focus::-moz-placeholder{color: transparent;opacity:1}
input:focus:-moz-placeholder{color:transparent}
input:focus:-ms-input-placeholder{color:transparent}

.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle{
	color:#fff;
	background-color:#007bff;
	border-color:#007bff
}

/*** ロードspinner ***/
#overlay{
    position: fixed;
    top: 0;
    z-index: 99999;
    width: 100%;
    height:100%;
    display: none;
    background: rgba(0,0,0,0.6);
}
.cv-spinner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;  
}
.spinner {
    width: 40px;
    height: 40px;
    border: 4px #ddd solid;
    border-top: 4px #2e93e6 solid;
    border-radius: 50%;
    animation: sp-anime 0.8s infinite linear;
}
@keyframes sp-anime {
    100% { 
        transform: rotate(360deg); 
    }
}
.is-hide{
    display:none;
}

/*** テーブル列グレー背景色 ***/
.table>tbody>tr.inactive:nth-child(odd)>td
/*,.table>tbody>tr.inactive:nth-child(odd)>th*/
,.table>tbody>tr.inactive:nth-child(even)>td
/*,.table>tbody>tr.inactive:nth-child(even)>th*/
{
	background-color: rgba(0,0,0,.05);
}

/*テーブルセルグレー背景色*/
/*
.table tbody td.inactive{
	background-color: rgba(0,0,0,.05);
}
*/

/*** テーブルのヘッダー行・列を固定 ***/
.sticky_table thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  border: none;
}
/* 共通で1列目固定 */
/*
.sticky_table th:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
	background-color: #e9ecef;
}
.sticky_table thead th:first-child {
  z-index: 2;
}
*/
/* 編集画面は2列目固定 */
/*
.sticky_table th.myfix {
  position: -webkit-sticky;
  position: sticky;
	background-color: #e9ecef;
}
.sticky_table thead th:myfix {
z-index: 3;
}*/
.sticky_table_wrapper {
  overflow: scroll;
  /* heightはjsで設定, widthは設定なし
  width: calc(100vw - 1rem);
  height: 75vh;
  */
  resize: vertical;
}

/*** SCROOL PAGE TOP ***/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #aeafb1;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 9999;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f106";
  font-size: 22px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -32px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: "PAGE\ATOP";
  white-space: pre;
  line-height: 1.2;
  font-size: 10px;
  color: #fff;
  position: absolute;
  top: 21px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
