@charset "UTF-8";
body {
	display: flex;
  flex-direction: column;
	min-height: 100vh;

	padding-top: 56px;

	background-color: #fcfcfc;
	font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , YuGo , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , YuGothic , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif !important;
	font-feature-settings: "palt";
}

h1{
	font-size: 1.8rem;
}
h2{
	font-size: 1.5rem;
}
h3{
	font-size: 1.3rem;
}
/*
 * datagridステータス別背景
 *
 */

 .bg-10{
	background-color: rgba(255,102,102,.1) !important;
}
.bg-20{
	background-color: rgba(255,102,102,.2) !important;
}
.bg-30{
	background-color: rgba(255,102,102,.3) !important;
}
.bg-40{
	background-color: rgba(255,102,102,.4) !important;
}
.bg-50{
	background-color: rgba(255,102,102,.5) !important;
}
.deleted-line{
	background-color: rgba(111,102,102,.3) !important;
	color:rgba(102,102,102,.4) !important;
}

.table-striped tr:nth-child(odd).bg-10{
	background-color: rgba(222,77,77,.1) !important;
}
.table-striped tr:nth-child(odd).bg-20{
	background-color: rgba(222,77,77,.2) !important;
}
.table-striped tr:nth-child(odd).bg-30{
	background-color: rgba(222,77,77,.3) !important;
}
.table-striped tr:nth-child(odd).bg-40{
	background-color: rgba(222,77,77,.4) !important;
}
.table-striped tr:nth-child(odd).bg-50{
	background-color: rgba(222,77,77,.5) !important;
}

.bg-10:hover,.bg-20:hover,.bg-30:hover,.bg-40:hover,.bg-50:hover{
	opacity: .70;
}
/* 固定フッタスタイル
-------------------------------------------------- */

footer {
	margin-top: auto;
  /* ここでフッタの固定高さを設定 */
  height: 32px;
  line-height: 32px; /* ここでテキストを垂直に中央に配置 */
	font-size: 12px;
	text-align: right;
	color:#ddd;
	background-color: #252830;
	z-index: 200;
}
.with-errors{
	color:red;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}
/*
 * サイドバー
 */

 .sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* ナビゲーションバーの背面 */
  padding: 0; /* ナビゲーションバーの高さ */
	box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar-sticky {
  position: relative;
  top: 0;
  height: calc(100vh - 56px);
  overflow-x: hidden;
  overflow-y: auto; /* ビューポートがコンテンツより短い場合、スクロール可能なコンテンツ */
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
  }
}

.sidebar .nav-link {
  font-weight: 500;
	color: #FFF;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #007bff;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
	color: inherit;
}

.sidebar-heading {
	color:#2598c4;
  font-size: .9rem;
	text-transform: uppercase;
	padding-bottom: 10px;
	border-bottom: rgba(203,203,203,.2) 1px solid;
}

/*
 * Off Canvas
 * --------------------------------------------------
 */
@media screen and (min-width: 5000px) {
	.js-offcanvas {
  border-top-color: #ccc;
	background-color:rgba(238, 238, 238,.6);
	color:#117FE3;
	margin-top:56px;
	}

	.sidebar .nav-link {
		color: #333;
	}

	.bs-docs-section {
		margin-top: 8em;
	}
	.bs-component {
		position: relative;
	}
	.bs-component .modal {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		bottom: auto;
		z-index: 1;
		display: block;
	}
	.bs-component .modal-dialog {
		width: 90%;
	}
	.bs-component .popover {
		position: relative;
		display: inline-block;
		width: 220px;
		margin: 20px;
	}
}

@media screen and (max-width: 4999px) {
	.js-offcanvas {
		margin-top:56px;
		margin-bottom: 0;
		background-color: #252830 !important;
		color:#fff !important;
		box-shadow: 2px 0 1px 2px rgba(0,0,0,.3);
	}
}

.js-offcanvas a:hover{
	background-color: #2598c4;
	color:#FFF;
	}


/*
.js-hiraku-offcanvas-body-right .js-hiraku-header-fixed {
	margin-left: -70%;
}
.js-hiraku-offcanvas-body-left .js-hiraku-header-fixed {
	margin-left: 70%;
}
*/
.js-hiraku-offcanvas-body-right {
	left: 0;
}
.js-hiraku-offcanvas-body-left {
	left: 0;
}
.js-hiraku-offcanvas-active .js-hiraku-offcanvas-sidebar{
	width:auto;
}

.custom-file-input:lang(ja) ~ .custom-file-label::after {
  content: "参照";
}
.custom-file {
  overflow: hidden;
}
.custom-file-label {
  white-space: nowrap;
}

.off {
	display: none;
}

.navbar-expand-xl .navbar-toggler{
	display:block;
}