
/* CSS上書き */
:root {
	/* font-size: 14px; */
	--tblr-font-sans-serif: -apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,"Inter",Roboto,Helvetica Neue,sans-serif;
}

html {
	/* font-size: 13px; */
}

body {
	/* background-color: #e9e3e3; */
}

.navbar {
	/* z-index: 1030; */
	min-height: auto;
}

.navbar .navbar-nav {
	min-height: auto;
}

.page-wrapper .page-header {
	margin: 0;
}

.page-wrapper .page-body {
	margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.page-title {
	font-weight: bold;
}

.modal-content {
	background-color: transparent;
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
}


.hr-text {
	font-size: .775rem;
}


.invalid-feedback {
	background: rgba(214,57,57,0.1);
	padding: 0.4rem 0.6rem;
	border-radius: 4px;
}


.error_text {
    margin-top: .25rem;
    font-size: 85.71428571%;
    color: #d63939;
	background: rgba(214,57,57,0.1);
	padding: 0.4rem 0.6rem;
	border-radius: 4px;
}
.error_text:empty {
	display: none;
}


.form-label {
	margin-bottom: .05rem;
	color: #495057;
	font-weight: 600;
}

.form-control {
	/* padding: .2575rem .75rem; */
}

.form-select {
	padding: .2575rem 2.25rem .2575rem .75rem;
}

.btn {
	padding: .3575rem 1rem;
}
.btn-group-sm>.btn, .btn-sm {
	padding: .125rem .5rem;
}
.btn-group-lg>.btn,.btn-lg {
    padding: .5rem 1.5rem;
}

/* 入力（数値）無効スタイル上書き */
input[type="number"].form-control.is-invalid, .was-validated input[type="number"].form-control:invalid {
	padding-right: .75rem;
	background-image: none;
}

/* チェックボックス */
	.form-check {
		padding-left: 1.2rem;
	}
	.form-check .form-check-input {
		margin-left: -1.2rem;
	}


/* >> 透過 */
	.opacity-0 {opacity: 1;}
	.opacity-1 {opacity: .9;}
	.opacity-2 {opacity: .8;}
	.opacity-3 {opacity: .7;}
	.opacity-4 {opacity: .6;}
	.opacity-5 {opacity: .5;}
	.opacity-6 {opacity: .4;}
	.opacity-7 {opacity: .3;}
	.opacity-8 {opacity: .2;}
	.opacity-9 {opacity: .1;}
/* << 透過 */

/* >> ポップオーバー */
.popover {
	border-width: 2px;
	max-width: 400px;
}
.popover.bs-popover-start>.popover-arrow:after {
	left: -2px;
}
.popover.bs-popover-end>.popover-arrow:after {
	left: 2px;
}
.popover.bs-popover-top>.popover-arrow:after {
	top: -2px;
}
.popover.bs-popover-bottom>.popover-arrow:after {
	top: 2px;
}
/* << ポップオーバー */

/* >> Loading */
.loading {
	backdrop-filter: blur(4px);
	background-color: rgba(255, 255, 255, 0.6);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
}
.loading > .loading_spinner {
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	border: 2px solid #555;
	border-right-color: transparent;
	border-radius: 50%;
	-webkit-animation: .75s linear infinite spinner-border;
	animation: .75s linear infinite spinner-border;

	position: sticky;
	top: 45vh;
	bottom: 45vh;
	margin: 5rem;
	padding: 0.7rem;
}
.loading.loading_fullscreen {
	z-index: 10000;
	position: fixed;
}
.loading.loading_page {
	z-index: 9999;
	position: fixed;
}
.loading.loading_fullscreen > .loading_spinner,
.loading.loading_page > .loading_spinner {
	width: 3rem;
	height: 3rem;
}
@media (min-width: 992px) {
	.loading.loading_page {
		margin-left: 15rem;
	}
}
/* << Loading */


/* >> スクロールトップボタン */
.scroll_top_btn {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	opacity: 0.3;
	border-radius: 50%;
	height: 4rem;
	width: 4rem;
	color: #FFF;
	background-color: #232e3c;
	z-index: 999;
}
/* << スクロールトップボタン */


/* >> カード */
	.card-title {
		/* font-weight: bold; */
	}
	.card-body {
		/* background-color: #f8f9fa; */
		background-color: #eff1f5;
	}
/* << カード */


/* >> バッジ */
	.badge {
		font-weight: 500;
		font-size: .75rem;
	}
/* << バッジ */


/* >> モーダルサイズ変更アニメーション */
	.modal-dialog {
		transition-property: width, height, max-width, max-height;
		transition-duration: .2s;
	}
/* << モーダル幅のアニメーション */


/* >> modal_loader */
	.modal_loader {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		background: white;
		z-index: 1;
	}
/* >> modal_loader */


/* >> datetimepicker */
	.datepicker-days th.dow:first-child,
	.datepicker-days td:first-child {
		color: #f00;
	}

	.datepicker-days th.dow:last-child,
	.datepicker-days td:last-child {
		color: #00f;
	}

	/* today */
	.bootstrap-datetimepicker-widget a[data-action="today"] {
		display: inline-block;
		border: solid 1px #CCC;
		padding: 2px 10px;
		border-radius: 4px;
		margin-top: 4px;
	}
	.bootstrap-datetimepicker-widget a[data-action="today"] > span {
		line-height: 1;
		height: auto;
		font-weight: normal;
		color: #333;
	}
	.bootstrap-datetimepicker-widget a[data-action="today"] > span:hover {
		background: none;
	}
	.bootstrap-datetimepicker-widget a[data-action="today"] > span:after {
		content: ' 現在を選択';
	}
/* << datetimepicker */


/* >> 絞り込み領域 */
	/* .filter_area {
		padding: 1rem;
		background-color: #f8f9fa;
		border-bottom: 1px solid #dee2e6;
	}
	.filter_area .filter_title {
		font-size: 1rem;
		color: #495057;
	}
	.filter_area .table-form > tbody > tr {
		border-bottom: 1px dotted rgba(0, 40, 100, 0.2);
	}
	.filter_area .table-form > tbody > tr > th {
		background-color: inherit;
	}
	@media (min-width: 576px) {
		.filter_area {
			padding: 1rem;
		}
	} */
/* << 絞り込み領域 */



/* >> 削除バッジ */
	.delete_badge {
		border-radius: 50%;
		font-size: 1rem;
		width: 1.5rem;
		height: 1.5rem;
		color: #999;
		border: 2px solid #999;
		background-color: #EEE;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
	}
	.delete_badge:after {
		content: "×";
	}
/* << 削除バッジ */



/* >> TableForm */
/*
	.table-form {
		width: 100%;
	}
	.table-form > tbody > tr {
		border-bottom: 1px dotted rgba(0, 40, 100, 0.12);
	}
	.table-form > tbody > tr > th {
		font-weight: normal;
		white-space: nowrap;
		padding: 1px .4rem 1px .4rem;
		text-align: right;
		background-color: #f5f7fb;
	}
	.table-form > tbody > tr > td {
		width: 100%;
		height: 46px;
		padding: 5px 5px;
	}
	.table-form > tbody > tr > td label {
		margin-bottom: 0px !important;
	}

	@media (min-width: 576px) {
		.table-form > tbody > tr > th {
			padding: 1px 1rem 1px 1.5rem;
		}
		.table-form > tbody > tr > td {
			padding: 5px 20px 5px 5px;
		}
	}

	.table-form.table-form-sm > tbody > tr > th {
		padding: 1px 5px;
		min-width: auto;
	}
	.table-form.table-form-sm > tbody > tr > td {
		height: 38px;
		padding: 5px;
	}

	.table-hover tbody tr:hover {
		/* background-color: #DEF !important; */
	}
*/
/* << TableForm */


/* >> モーダル */
	@media (min-width: 576px) {
		.modal-xl {
			max-width: 1200px;
			width: 95%;
		}
	}
	@media (min-width: 992px) {
		.modal-xl {
			max-width: 1200px;
			width: 95%;
		}
	}
	.modal-max {
		max-width: 96%;
		width: 96%;
	}
/* << モーダル */


/* >> フルスクリーンモーダル */
	.modal.fullscreen > .modal-dialog {
		max-width: 100vw;
		min-width: 100vw;
		width: 100vw;
		max-height: 100vh;
		min-height: 100vh;
		height: 100vh;
		margin: 0;
	}
	.modal.fullscreen > .modal-dialog > .modal-content {
		width: 100%;
		height: 100%;
	}
	.modal.fullscreen > .modal-dialog > .modal-content > .modal-body {
		width: 100%;
		height: 100%;
	}
/* << フルスクリーンモーダル */


/* >> テーブル */
	table.table th {
		font-size: inherit;
		color: #495057;
		text-transform: none;
	}

	/* テーブルの上下の線を非表示　*/
	.table_b_0 > * > tr:first-child {
		border-top: none;
	}
	.table_b_0 > tbody > tr:last-child {
		border-bottom: none;
	}

	/* テーブルのサイドの線を非表示　*/
	.table_b_0 > * > tr > *:first-child,
	.table_bx_0 > * > tr > *:first-child {
		border-left: none;
	}
	.table_b_0 > * > tr > *:last-child,
	.table_bx_0 > * > tr > *:last-child {
		border-right: none;
	}

	table.table.table-bordered.table-sm > * > tr > * {
		padding: .25rem .5rem;
	}

	table .table-sticky-x {
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		background-color: #f4f6fa;
		opacity: 0.95;
		z-index: 2;
	}

	table .table-sticky-y {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		background-color: #f4f6fa;
		opacity: 0.95;
		z-index: 1;
	}

	/* tfoot（thead からコピーしたもの） */
	.markdown>table tfoot th, .table tfoot th {
		color: #626976;
		background: var(--tblr-border-color-light);
		font-size: .625rem;
		font-weight: 600;
		/* text-transform: uppercase; */
		letter-spacing: .04em;
		line-height: 1.6;
		color: #626976;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.table-orange{
		--tblr-table-bg:#FFDEA5;
		--tblr-table-striped-bg:#FFDEA5;
		--tblr-table-striped-color:#1e293b;
		--tblr-table-active-bg:#FFDEA5;
		--tblr-table-active-color:#1e293b;
		--tblr-table-hover-bg:#FFDEA5;
		--tblr-table-hover-color:#1e293b;
		color:#1e293b;
		border-color:#FFDEA5
	}

	.table-yellow{
		--tblr-table-bg:#FDFF90;
		--tblr-table-striped-bg:#FDFF90;
		--tblr-table-striped-color:#1e293b;
		--tblr-table-active-bg:#FDFF90;
		--tblr-table-active-color:#1e293b;
		--tblr-table-hover-bg:#FDFF90;
		--tblr-table-hover-color:#1e293b;
		color:#1e293b;
		border-color:#FDFF90;
	}

/* << テーブル */



/* >> テーブル詳細行背景色 */
	.bgc_completed {
		background-color: #EFF8E6;
	}
	.bgc_invalid {
		color: #B4B4B4;
	}
	.bgc_blinking {
		animation: blinking_row2 0.4s infinite alternate;
		font-weight:bold;
		font-size:98%;
	}
	@keyframes blinking_row2{
		from{
			/*opacity: 1;*/
			background-color:#ffffff;
		}
		to{
			/*opacity:0;*/
			background-color:#e8ffe8;
		}
	}
/* << テーブル詳細行背景色 */


/* >> 並び替え */
	.ui-sortable .sort_item {
		background-color: #F5F8FF;
	}
	.ui-sortable .sort_item.active {
		background-color: #D5D8DF;
	}
	.ui-sortable .sort_invalid {
		background-color: #F6F6F7;
		color: #C0C5C9;
	}
	.ui-sortable:not(.ui-sortable-disabled) .sort_item {
		animation: sort .4s linear infinite alternate;
	}
	@keyframes sort {
		0% { transform: translate(1px, 0px) rotate(0deg); }
		10% { transform: translate(-0px, -1px) rotate(-0.1deg); }
		20% { transform: translate(-1px, 0px) rotate(0.1deg); }
		30% { transform: translate(0px, 1px) rotate(0deg); }
		40% { transform: translate(0px, 0px) rotate(0.1deg); }
		50% { transform: translate(0px, 1px) rotate(-0.1deg); }
		60% { transform: translate(-1px, 0px) rotate(0deg); }
		70% { transform: translate(1px, 0px) rotate(-0.1deg); }
		80% { transform: translate(0px, 0px) rotate(0.1deg); }
		90% { transform: translate(0px, 1px) rotate(0deg); }
		100% { transform: translate(0px, -1px) rotate(-0.1deg); }
	}
/* << 並び替え */




/* >> 横スクロールバー */
	.x-scroll {
		display: flex;
		position: relative;
	}

	.x-scroll > .x-scroll-content {
		overflow-x: scroll;
		width: 100%;
	}

	.x-scroll > .x-scroll-leftbar {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 1.2rem;
		background: linear-gradient(to left, transparent, 20%, gray);
		/* background: gray; */
		opacity: 0.3;
		z-index: 3;
		/* margin-left: -1rem; */
		/* border-radius: 4px 0px 0px 4px; */
	}

	.x-scroll > .x-scroll-rightbar {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 1.2rem;
		background: linear-gradient(to right, transparent, 20%, gray);
		/* background: gray; */
		opacity: 0.3;
		z-index: 3;
		/* margin-right: -1rem; */
		/* border-radius: 0px 4px 4px 0px; */
	}

	/* スクロールバーの太さ */
	/* .overflow-x-scroll::-webkit-scrollbar {
		height: 1rem;
	} */
/* << 横スクロールバー */



/* >> Google Map プレビュー */
/* Google Mapを囲う要素 */
.google_map_preview {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;  /* 比率を4:3に固定 */
}

/* Google Mapのiframe */
.google_map_preview iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* << Google Map プレビュー */


/* お問い合わせチェックボタン */
.contact_checked {
	color: orange;
}
/* << お問い合わせチェックボタン */


/* 横スクロールバー（大） */
.horizontal_scrollber_lg::-webkit-scrollbar {
	height: 1rem;
}
