body {
	position: relative;
}

*, ::after, ::before {
	box-sizing: border-box !important;
}

.center {
	text-align: center;
}

.center-middle {
	text-align: center;
	vertical-align: middle;
}

.reset-wh {
	/*width: initial !important;*/
	/*height: initial !important;*/
	min-width: initial !important;
	max-width: initial !important;
	min-height: initial !important;
	max-height: initial !important;
}

div.separate {
	margin: 20px 0;
	border: 1px dashed #888;
}


/* HTMLエディタ内で編集の表示 */
.ql-container {
	font-size: 1rem !important;
}
div.html-area {
	border: initial;
}
div.html-area p {
	margin: initial;
}
div.html-area,
div.rz-html-editor {
	h1 {
		font-size: 2em;
	}
}
div.html-area,
div.rz-html-editor {
	h2 {
		font-size: 1.5em;
	}
}
div.html-area,
div.rz-html-editor {
	h3 {
		font-size: 1.17em;
	}
}
div.html-area,
div.rz-html-editor {
	h4 {
		font-size: 1em;
	}
}
div.html-area,
div.rz-html-editor {
	h5 {
		font-size: 0.83em;
	}
}
div.html-area,
div.rz-html-editor {
	h6 {
		font-size: 0.67em;
	}
}
div.html-area,
div.ql-container,
div.rz-html-editor {
	h1, h2, h3, h4, h5, h6 {
		padding: 0;
		margin: 0 0 .5rem 0;
		border-style: initial;
	}
}



div.layout-information > p {
	margin: 0;
	padding: 0;
}

div.alert ul.item-list {
	margin-bottom: 0rem;
	padding-left: 1rem;
}

/* ヘッダ */
.header {
	z-index: 500;
}

/* フッタ */
.footer {
	z-index: 500;
	position: fixed;
	bottom: 0;
}

.title {
	font-weight: bold;
}

.link {
	color: var(--link);
}
.link:hover {
	cursor: pointer;
	font-weight: bold !important;
}
.cell:hover {
	cursor: pointer;
	color: var(--bs-btn-hover-color);
	background-color: var(--bs-btn-hover-bg);
	font-weight: bold !important;
}
.hover-zoom:hover {
	transform: scale(1.1,1.1);
}


.calender-font {
	font-family: "NotoSans,NotoSansCJKjp,YakuHanJP,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,Arial,sans-serif;
}


.justify-width {
	width: auto;
	min-width: min-content;
	max-width: max-content;
}

/* テーブルの最初のカラムの位置を固定する */
table.table-column-lock th:first-child {
	left: 0;
	position: sticky;
}
table.table-column-lock td:first-child {
	left: 0;
	position: sticky;
	background-color: var(--table-background);
}

table.plain {
	color: #000 !important;
	background: #fff;
	border: 1px solid #000;
	margin: 0 0 1rem;
}
table.plain:last-child {
	margin: 0;
}
table.plain thead tr th,
table.plain thead tr td,
table.plain tbody tr th,
table.plain tbody tr td {
	color: #000 !important;
	border: 1px solid #000;
	padding: 0.5rem;
}


/* 詳細テーブル */
table.detail,
table.detail-th,
table.detail-td {
	--table-th-width: 200px;
	--table-td-width: 400px;
}
table.detail > tbody > tr > th {
	width: var(--table-th-width) !important;
	min-height: 200px;
	max-height: auto;
	height: none;
	color: var(--font);
}
table.detail-th > tbody > tr > th {
	width: var(--table-th-width) !important;
	min-height: 200px;
	max-height: auto;
	height: none;
	color: var(--font);
}
table.detail-th-sm > tbody > tr > th {
	min-width: 100px !important;
	min-height: 200px;
	max-height: auto;
	height: none;
	color: var(--font);
}
table.detail-th-lg > tbody > tr > th {
	width: 300px !important;
	min-height: 200px;
	max-height: auto;
	height: none;
	color: var(--font);
}
table.detail-th-xl > tbody > tr > th {
	width: 400px !important;
	min-height: 200px;
	max-height: auto;
	height: none;
	color: var(--font);
}

table.detail > tbody > tr > td {
	min-width: var(--table-td-width);
	max-width: 800px;
	color: var(--font);
}
table.detail-td > tbody > tr > td {
	min-width: var(--table-td-width);
	color: var(--font);
}
table.detail-td-xs > tbody > tr > td {
	min-width: 100px;
	color: var(--font);
}
table.detail-td-sm > tbody > tr > td {
	min-width: 200px;
	color: var(--font);
}
table.detail-td-xs > tbody > tr > td {
	min-width: 100px;
	color: var(--font);
}
table.detail-td-lg > tbody > tr > td {
	min-width: 600px;
	color: var(--font);
}
table.detail-td-text-center > tbody > tr > td {
	text-align: center;
}
table.detail-td-text-end > tbody > tr > td {
	text-align: right;
}
.table-scroll-bar-normal::-webkit-scrollbar {
	height: initial !important;
	width: initial !important;
}
.table-container {
	display: flex;
}


@keyframes blinkSelectTrAnime {
	0% {
		background-color: var(--bs-table-hover-bg);
		color: var(--bs-table-hover-color);
	}

	100% {
		/*box-shadow: 0px 0px 0px 0px var(--bs-table-bg), 0px 0px 0px 5px #65f05f;*/
		/*background-color: #65f05f;*/
	}
}
.table-hover tbody tr:hover {
	/*animation: blinkSelectTrAnime 1s alternate infinite;*/
	background-color: var(--bs-table-hover-bg);
	color: var(--bs-table-hover-color);
}



/*
table.detail > tbody > tr > th > span,
table.detail > tbody > tr > td > span {
	color: #00c020;
	font-size: 12px;
	margin-left: 8px;
}
*/
/* テーブル内ラベル * /
table.detail > tbody > tr > td,
table.detail > tbody > tr > td > div > div > label {
	font-size: small;
	font-weight: bold;
	font-style: italic;
	color: #00f;
}
*/

/* 詳細テーブル */
table.detail-sm > tbody > tr > th {
	min-width: 120px;
}
table.detail-sm > tbody > tr > td {
	min-width: 200px;
}

/* 詳細テーブル */
table.detail-lg > tbody > tr > th {
	min-width: 300px;
}
table.detail-lg > tbody > tr > td {
	min-width: 512px;
}

/* テーブル内アイコン */
.fs-s td > i.bi,
.fs-s th > i.bi {
	font-size: 20px;
}



.detail-area {
	padding: 0 0 1rem;
}

.code {
	color: #00c020;
}


/* 社員フォーム */
table.employee-form > tbody > tr > th {
	min-width: 200px;
	white-space: nowrap;
}
table.employee-form > tbody > tr > td {
	/*min-width: 512px;*/
}
table.employee-form > tbody > tr > th > span {
	font-size: 12px;
}
table.employee-form > tbody > tr > td > label,
table.employee-form > tbody > tr > td > div > div > label {
	font-size: 14px;
	font-style: italic;
	color: #00f;
}
.employee-form-area {
	padding: 0 0 20px;
}
.employee-form-content {
	padding: 0 0 0 10px;
}
.employee-form-content2 {
	margin: 10px;
}
.employee-form-content > label {
	font-weight: bold;
	font-style: italic;
	color: #00f;
}



/* スケジュール／フォーム */
table.schedule-form {
	min-width: 800px;
}
table.schedule-form > tbody > tr > th {
	width: 200px;
}
table.holiday-list > tbody > tr > th {
	min-width: 150px;
}
table.holiday-list > tbody > tr > td {
	min-width: 200px;
}



/* 掲示板／フォーム */
table.business-contact-form > tbody > tr > th {
	width: 200px;
}
table.business-contact-form > tbody > tr > td {
	min-width: 500px;
}



/* 省スペースなテーブル */
table.table-compact > thead > tr > th {
	padding: 0.1rem 0.5rem;
}
table.table-compact > tbody > tr > th {
	font-size: 10px !important;
	margin: 2px !important;
	padding: 0.1rem 0.5rem !important;
	min-width: 128px;
	max-width: 160px;
}
table.table-compact > tbody > tr > td {
	font-size: 10px !important;
	margin: 2px !important;
	padding: 0.1rem 0.5rem !important;
	min-width: 250px;
}



/* ワークフロー */
table.workflow {
	max-width: 1800px;
}
table.workflow > tbody > tr > th {
	min-width: 250px;
	/*height: 52px;*/
}
table.workflow > tbody > tr > td {
	min-width: 640px;
}
ul.workflow {
	padding: 0px 10px 0px;
}
ul.workflow-sub {
	margin: 0;
	padding: 0px 1rem 0px;
}
ul.workflow > li {
	list-style: none;
	margin: 0;
	padding: 0px 0px 20px;
}
ul.workflow-sub > li {
	list-style: disc;
	margin: 0;
	padding: 0px 0px 20px;
}
ul.workflow-sub > li:last-child {
	padding: 0;
}
.workflow-label {
	background-color: #c0c0c0 !important;
}
.workflow-comment {
	color: #df26df;
	font-weight: bold;
}
.workflow-space-sub {
	margin: 0 0 1.0em 0.5em;
}



/* 計算式 */
.expression {
	color: #0c0;
	font-weight: bold;
}
.expression > span {
	color: #df26df;
	font-size: x-small;
	margin-left: 0.3rem;
}



/* 社員選択モーダル */
select.select-employee > option {
	vertical-align: middle;
	background-size: auto 32px;
	background-repeat: no-repeat;
	padding-left: 30px;
	height: 32px;
	margin: 2px 0px;
}

/* 選択（丸で囲む） */
.select-circle {
	border-radius: 50%;
	border: solid 3px #00c020;
	text-align: center;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	display: inline-block;
	margin: 0;
	padding: 0;
}

/* 国と地域の選択 */
select.select-country {
}
option.select-country-item {
	vertical-align: middle;
	background-size: auto 24px;
	background-repeat: no-repeat;
	height: 24px;
	margin: 4px 0px;
}
option.select-country-image {
	padding: 2px 0px 2px 44px;
}


@media (min-width: 576px) {
	.gap-list > button {
		margin-bottom: 0.5rem;
	}
}
.gap-list > button:last-child {
	margin-bottom: 0.5rem;
}


/* Bootstrap Form */
.form-control-plaintext {
	color: var(--font);
}


/* Bootstrap Button */
.btn-xs, .btn-group-xs > .btn {
	padding: 0.25rem 0.3rem;
	font-size: 0.7rem;
	border-radius: 0.2rem;
}
.btn-circle {
	display: block;
	width: 20px; /*幅*/
	height: 20px; /*高さ*/
	background: #03a9f4; /*背景色*/
	text-align: center; /*中央寄せ*/
	text-decoration: none;
	border-radius: 50%; /*角丸く*/
	transition: .3s; /*滑らかな動きに*/
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.12), 0 2px 2px 0 rgba(0,0,0,.24); /*影*/
}
.btn-circle:hover {
	cursor: pointer;
	box-shadow: 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12), 0 2px 4px -1px rgba(0,0,0,.2);
}
.btn-circle > p {
	color: #ffffff;
	line-height: 20px; /*幅と高さ*/
	vertical-align: middle;
	font-size: 10px; /*サイズ*/
	font-weight: bold;
}
.btn-inline {
	width: max-content;
}
.btn-select {
	text-align: left;
	white-space: nowrap;
}
.btn-select-code {
	margin-left: 10px;
	font-size: small;
	color: #00c000;
	/*float: right;*/
}
/* アンカーボタン */
a.btn {
	color: var(--bs-btn-color) !important;
	text-decoration: none !important;
}
a.btn:hover {
	color: var(--bs-btn-color) !important;
}
@media (min-width: 769px) {
	.btn-responsive {
		padding: 4px 9px;
		font-size: 90%;
		line-height: 1.2;
	}
}
.btn-accordion {
	position: relative;
	display: flex;
	align-items: center;
}
[aria-expanded="false"] .accordion-arrow {
	-webkit-transform: rotateZ(0deg);
	-ms-transform: rotateZ(0deg);
	transform: rotateZ(0deg);
	transition: ease 0.2s;
}
[aria-expanded="true"] .accordion-arrow {
	-webkit-transform: rotateZ(-180deg);
	-ms-transform: rotateZ(-180deg);
	transform: rotateZ(-180deg);
	transition: ease 0.2s;
}



/* Bootstrap Check */
.form-check-emphasis .form-check-input:not(:checked) {
	background-color: #ffffe0;
}




/* Bootstrap Navbar */
.navbar-nav-scroll {
	flex-wrap: nowrap;
}
@media (min-width: 992px) {
	.navbar-nav-scroll {
		flex-wrap: wrap;
	}
}
nav.header-navbar a {
	color: var(--bs-navbar-active-color) !important;
}
.dropdown-menu {
	max-height: 512px;
	overflow-x: hidden;
	overflow-y: auto;
}
.dropdown-menu > li > .dropdown-item {
	color:var(--bs-navbar-active-color) !important
}



/* Bootstrap ListGroup */
.list-group-item:hover {
	color: #000;
	background-color: #b6ff00;
	font-weight: bold;
	cursor: pointer;
	/*animation: blink-select 1.0s ease-in-out infinite alternate;*/
}
/*
@keyframes blink-select {
	0% {
		background-color: #b6ff00;
	}

	100% {
		background-color: #b6ff00;
	}
}
*/
.list-group-item-select {
	color: #000;
	background-color: lemonchiffon;
	font-weight: bold;
}



/* Bootstrap Switch */
.form-switch.form-switch-md {
	margin-bottom: 1rem;
}
.form-switch.form-switch-md .form-check-input {
	height: 1.5rem;
	width: calc(2rem + 0.75rem);
	border-radius: 3rem;
}
.form-switch.form-switch-lg {
	margin-bottom: 1.5rem;
}
.form-switch.form-switch-lg .form-check-input {
	height: 2rem;
	width: calc(3rem + 0.75rem);
	border-radius: 4rem;
}


/* Bootstrap Spinner */
.spinner-border-lg {
	--bs-spinner-width: 4rem;
	--bs-spinner-height: 4rem;
	--bs-spinner-border-width: 0.4em;
}



.comment-space {
	color: #000000;
	background-color: #ffffe0;
	border-color: #c0c0c0;
	max-width: 720px;
	white-space: normal;
}

.comment-space2 {
	color: #000000;
	background-color: #e0e0e0;
	border-color: #c0c0c0;
	max-width: 720px;
	font-size: small;
	padding: 0.5rem 0.5rem;
	white-space: normal;
}




/* 編集不可 */
select[readonly],
input[type="radio"][readonly],
input[type="checkbox"][readonly],
[readonly] + label {
	pointer-events: none;
}
[readonly] {
	opacity: 0.6;
}
.form-control[readonly] {
	opacity: 1;
	cursor: default;
}







/* ドロップ領域 */
.drag-drop-zone {
	border: 3px dashed #e68710;
	padding: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #eee;
	box-shadow: inset 0 0 8px rgba(0,0,0,0.2);
	color: #aeaeae;
	font-size: 1.5rem;
	cursor: pointer;
	margin: 1.5rem 0 2rem 0;
	position: relative;
}
.drag-drop-zone:hover {
	background-color: #f5f5f5;
}
.drag-drop-zone input[type=file] {
	position: fixed;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}


/* ドロップ領域 */
.drop-item {
	cursor: move;
}
.drop-item.active {
	background-color: hotpink !important;
}


/* ファイルを開くボタン */
.input-file {
	position: fixed;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}


/* 選択肢グループ */
optgroup {
	color: #f00;
}
optgroup > option {
	color: initial;
}



/* プレビュー */
.preview-image {
	padding: 0;
	margin: 0;
	width: 100%;
}
.preview-embed,
.preview-iframe {
	padding: 0;
	margin: 0;
	width: 100%;
	height: 80vh;
}



/* イメージ */
img[data-src] {
	opacity: 0;
}
img.lazyloaded {
	-webkit-transition: opacity .5s linear 0.2s;
	-moz-transition: opacity .5s linear 0.2s;
	transition: opacity .5s linear 0.2s;
	opacity: 1;
}
img.icon,
img.photo {
	max-width: initial;
}
.figure-img {
	margin: 0;
	padding: 0;
}




.flex-column {
	min-width: 160px;
}


.menu-item:hover {
	background-color: #b6ff00 !important;
	cursor: pointer;
}



.select-button:hover {
	cursor: pointer;
	color: #F00;
}

.icon-button:hover {
	cursor: pointer;
}




/* 縦書き */
.tategaki {
	text-orientation: upright;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}




/* カラー */
[data-bs-theme=light] {
	--color-success: #00c020;
	--color-warning: #e68710;
	--color-error: #f00000;
}
[data-bs-theme=dark],
[data-bs-theme=red],
[data-bs-theme=green],
[data-bs-theme=blue] {
	--color-success: #00c020;
	--color-warning: #e68710;
	--color-error: #ff0000;
}
.color-success {
	color: var(--color-success) !important;
}
.color-warning {
	color: var(--color-warning) !important;
}
.color-error, .error {
	color: var(--color-error) !important;
}
.color-annotation {
	color: var(--color-error) !important;
}
.color-text {
	color: var(--font) !important;
}
.color-text-sub {
	color: var(--sub-font) !important;
}
.text-red {
	color: #f00;
}
.bg-color-red {
	background-color: #f00 !important;
}



/* 性別なし */
.gender-none {
	color: var(--font);
}
/* 男性 */
.gender-male {
	color: #00f;
}
/* 女性 */
.gender-female {
	color: #f00;
}

[data-bs-theme=dark] {
	/* 性別なし */
	.gender-none {
		color: var(--font);
	}
	/* 男性 */
	.gender-male {
		color: #4a90e2;
	}
	/* 女性 */
	.gender-female {
		color: #ff80ab;
	}
}

/* 年月選択 */
.month-picker {
	width: 300px;
	position: absolute;
	z-index: 900;
}
.month-picker-content {
	font-weight: bold;
	text-align: right;
}
.month-picker-content table,
.month-picker-content tr,
.month-picker-content th,
.month-picker-content td {
	border: none !important;
}
.month-picker-content td span {
	padding:0.4rem;
}
.month-picker-content td span:hover {
	color: #000;
	background-color: #b6ff00 !important;
	border-radius: var(--bs-border-radius);
}






/* 設備利用ラベル */
.facility-use-label {
	/*font-size: 0.5em;*/
	font-weight: 400;
	margin-right: 0.5em
}






/* スケジュール */
table.schedule-task {
	font-size: small;
}
table.schedule-task > thead > tr > th {
	text-align: left;
	/*width:200px;*/
}
table.schedule-task > tbody > tr > th {
	text-align: center;
}
table.schedule-task th {
	border-left: none !important;
	border-right: 1px solid var(--border-light);
}
table.schedule-task td {
	border-top: none !important;
	border-left: none !important;
	border-right: 1px solid var(--border-light) !important;
}
table.schedule-task th:first-child {
	position: sticky;
	left: 0;
	border-right: 1px solid var(--border-light);
}
.schedule-free-range {
	background-color: rgba(0, 200, 40, 0.2);
	border: 3px solid rgba(0, 200, 40, 0.5);
	border-radius: 5px;
	cursor: pointer;
}
.schedule-reserve-range {
	background-color: transparent;
	border: 3px solid rgba(255, 0, 0, 0.5);
	border-radius: 5px;
}
.schedule-any {
	background-color: #e0f0d1 !important;
	color: #2869ab !important;
	font-weight: bold !important;
	height: auto !important;
	padding: 0.1rem 0.5rem !important;
}
.schedule-any-blank {
	height: auto !important;
}
@media (min-width: 769px) {
	table.schedule-task {
		font-size: inherit;
	}

	/*table.schedule-task > thead > tr > th {
		width:280px;
	}*/
}



/* テキスト入力フォーカス時の色 * /
input[type="text"]:focus,
textarea:focus {
	background-color: #caffb2;
}
*/

/* 無効時のボタンの色 * /
button.btn:disabled {
	color: var(--font) !important;
	border-color: var(--border) !important;
	background-color: var(--sub-font) !important;
	background-image: none;
}
*/


/* 組織図 */
.organization .organization-employee a .employee-info .organization-job {
	color: #008c10;
	font-size: 10px;
}



/* HTMLエディタのメニュー背景色 */
.ql-toolbar {
	background-color: #fff;
}




/* メニュー */
.menu-window {
	color: var(--font) !important;
	background-color: #fff;
	border: 1px solid #000;
	border-width: 1px;
	border-top-left-radius: .25rem;
	border-top-right-radius: .25rem;
	min-width: var(--bs-dropdown-min-width);
}




/* ドラック＆ドロップ */
.drop-zone {
	border: dashed 3px #444;
	background-color: #888;
	cursor: copy;
}
.drop-zone.hover {
	border: dashed 3px #f00;
}
.drop-file-button.hover {
	border: dashed 3px #f00;
	cursor: copy;
}






/* アコーディオン用ボタン */
.btn-collapse {
	position: relative;
	display: flex;
	align-items: center;
	text-align: left;
	transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
	.btn-collapse {
		transition: none;
	}
}
.btn-collapse:not(.collapsed) {
	box-shadow: inset 0 calc(-1 * var(--bs-border-width)) 0 var(--bs-btn-focus-shadow-rgb);
}
.btn-collapse:not(.collapsed)::after {
	transform: var(--bs-accordion-btn-icon-transform);
	font-weight: 900;
	font-family: "bootstrap-icons";
}
.btn-collapse::after {
	transition: var(--bs-accordion-btn-icon-transition);
	font-weight: 900;
	font-family: "bootstrap-icons";
	content: "\f282"; /* bi-chevron-down */
	margin-left: auto;
}
@media (prefers-reduced-motion: reduce) {
	.btn-collapse::after {
		transition: none;
	}
}
.btn-collapse:hover {
	z-index: 2;
}
.btn-collapse:focus {
	z-index: 3;
	border-color: var(--bs-btn-focus-shadow-rgb);
	outline: 0;
	box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}







/* プレースホルダー
::placeholder {
	color: palevioletred;
	font-size: small;
}
*/


/* 箇条書きリスト */
ul.list {
	margin: 0;
}
ul.list > li {
	list-style: disc !important;
	padding: 0;
	margin: 0;
}
ul.list > li:last-child {
	margin-bottom: 0;
}
ul.style-none {
	margin: 0;
	padding: 0;
}
ul.style-none > li {
	list-style: none !important;
}




/* 点滅 */
.blinking {
	-webkit-animation: blink 1.0s ease-in-out infinite alternate;
	-moz-animation: blink 1.0s ease-in-out infinite alternate;
	animation: blink 1.0s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@-moz-keyframes blink {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes blink {
	0% { opacity: 0; }
	100% { opacity: 1; }
}




/* アプリのアップデート */
.app-update-information {
	display: flex;
	align-items: center;
	min-height: 56px;
	animation: animeSlider 1s ease-out;
}

@keyframes animeSlider {
	from {
		height: 0px;
	}

	to {
		height: 56px;
	}
}










div.compact {
	margin: 0 0 0.5rem 0;
}
div.compact .card-header {
	padding: 0.2rem 0.4rem !important;
}
div.compact .card-body {
	padding: 0.5rem !important;
}
div.compact .card-body .basic-table th,
div.compact .card-body .basic-table td {
	padding: 0.25rem !important;
}
.disp-responsive-compact div.compact:last-child {
	margin-bottom: 0rem;
}





.inline-container {
	display: flex;
	flex-wrap: wrap; /* 要素が表示範囲を超えた場合に改行する */
	gap: 1rem; /* 要素間の間隔を設定 */
	align-items: center;
}


.inline-area {
	display: inline-flex !important;
	align-items: center;
}
.inline-area > div,
.inline-area > span,
.inline-area > input,
.inline-area > select,
.inline-area > button {
	white-space: nowrap !important;
}
.inline-area > div:not(:first-child),
.inline-area > span:not(:first-child),
.inline-area > input:not(:first-child),
.inline-area > select:not(:first-child),
.inline-area > button:not(:first-child) {
	margin-left: 0.4rem !important;
}
.inline-area-sm .form-control,
.inline-area-sm .input-group-text {
	font-size: 0.875rem;
	border-radius: var(--bs-border-radius-sm);
}
.inline-area-sm .input-group-text,
.inline-area-sm .btn {
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
	border-radius: var(--bs-border-radius-sm);
}




div.nowrap-area > div,
div.nowrap-area > span,
div.nowrap-area > button {
	margin: 0;
	white-space: nowrap !important;
}



div.main-inner {
	padding: 0.4rem !important;
}
div.contents-inline {
	display: flex;
	align-items: center;
}
div.contents-inline > div {
	margin-right: 0.5rem;
}
div.contents-area {
	padding: 0.4rem !important;
}
div.contents-area .row-cols-auto {
	margin-right: 0;
}

div.contents-space {
	padding: 0 0.2rem;
}

div.content-detail {
	margin: 0 0 0 0.5rem;
}

.disp-responsive-table {
	display: none !important;
}

.disp-responsive {
	display: none !important;
}

.disp-responsive-initial {
	display: none !important;
}

.disp-responsive-table {
	display: none !important;
}

.disp-responsive-compact {
	display: block !important;
}

.disp-responsive-small {
	font-size: small;
}

.area-responsive-inline {
	display: block;
}

.inline-grid {
	display: initial !important;
}

@media (min-width: 769px) {
	div.main-inner {
		padding: 1.0rem !important;
	}

	div.contents-area {
		padding: 1.0rem !important;
	}

	div.contents-space {
		padding: 0 0.5rem;
	}

	div.content-detail {
		margin: 0 0 0 1rem;
	}

	.disp-responsive {
		display: block !important;
	}

	.disp-responsive-initial {
		display: initial !important;
	}

	.disp-responsive-table {
		display: block !important;
	}

	.disp-responsive-compact {
		display: none !important;
	}

	.disp-responsive-small {
		font-size: inherit;
	}

	.area-responsive-inline {
		display: flex !important;
	}

	.inline-grid {
		display: inline-grid !important;
	}
}




/* ヘッダアイコン */
.header-icon {
	display: flex;
	_white-space: nowrap;
	font-size: 8px;
	margin: 0.4rem 0.4rem 0 0.4rem;
}
.header-icon-area {
	display: flex;
	flex-wrap: nowrap;
	text-align: center;
	background-color: var(--sub-bg);
	overflow: auto;
}


/* 縦並び */
.list-vertical > *:not(:last-child) {
	margin-bottom: 0.5em !important;
}
.list-vertical-sm > *:not(:last-child) {
	margin-bottom: 0.25em !important;
}
.vertical-list > *:last-child {
	margin-bottom: 0rem !important;
}


/* 横並び */
.list-horizontal > *:not(:last-child) {
	vertical-align: top;
	margin-right: 1rem !important;
	margin-bottom: 1rem !important;
}
.list-horizontal-sm > *:not(:last-child) {
	vertical-align: top;
	margin-bottom: 0.5rem !important;
	margin-right: 0.5rem !important;
}


/* 横並び＆縦並び */
.list-auto > *:not(:last-child) {
	margin-bottom: 0.5em !important;
	display: block !important;
}
.list-auto-sm > *:not(:last-child) {
	margin-bottom: 0.25em !important;
	display: block !important;
}
@media (min-width: 576px) {
	.list-auto > *:not(:last-child) {
		margin-right: 1rem !important;
		margin-bottom: 1rem !important;
		display: inline-block !important;
	}

	.list-auto-sm > *:not(:last-child) {
		margin-right: 0.5rem !important;
		margin-bottom: 0.5rem !important;
		display: inline-block !important;
	}
}


.input-group-area * {
	--bs-border-color: #808080;
	--bs-btn-border-color: #808080;
}
.input-group-bar {
	width: max-content;
	/*margin: 0 0.5rem 0.5rem 0;*/
	--bs-border-color: #808080;
}
.input-group-bar .btn {
	border-color: var(--bs-border-color);
	/*background-color: var(--bs-btn-disabled-bg);*/
	/*border-color: var(--bs-btn-disabled-border-color);*/
}
.input-group-bar .form-control {
	border-color: var(--bs-border-color);
	border-radius: initial;
	flex: initial;
}
.input-group-bar input.form-control,
.input-group-bar select.form-control {
	z-index: 1;
}
.input-group-bar div.text-space {
	border: 1px solid var(--bs-border-color);
}
.btn-group > .form-control:not(:first-child) {
	border-left-width: 0;
}
.btn-group-adjust-border > .btn:not(:first-child) {
	border-width: 1px;
	border-left-width: 0;
}
.input-group-search input,
.input-group-search button {
	--bs-border-color: #808080;
	border: 1px solid var(--bs-border-color) !important;
}


.outline-danger {
	color: var(--color-danger) !important;
	border: 1px solid var(--color-danger) !important;
}

.tooltip {
	--bs-tooltip-zindex: 180; /*1080*/
}

.popover {
	--bs-popover-zindex: 170; /*1070;*/
}




.help-description {
	ul, ol {
		margin-bottom: 0.25rem;
	}

	ul.detail {
		padding-top: 1.5rem;
	}
	ul.detail > li:not(:last-child) {
		padding-bottom: 1.5rem;
	}

	ol > li:not(:last-child) {
		padding-bottom: 1.5rem;
	}

	ul.inline-list > li {
		align-items: center;
		margin-bottom: 0.25rem;
	}

	/* リンクのあるアンカー */
	a[href]{
		font-weight:bold;
		color:#f00;
	}
}

.separate-side {
	width: 100%;
}
.separate-contents {
	width: 100%;
}
.separate-treeview {
	height: 20vh;
	/*border: 1px #444 solid;*/
}
.separate-breadcrumb {
	padding-top: 1.5rem;
	/*border: 1px #f00 solid;*/
}
.help-contents {
	height: calc(100vh - var(--area-contents-pos-y) - 140px);
}
@media (min-width: 768px) {
	.separate-side {
		width: initial;
	}
	.separate-contents {
		width: 400px;
	}
	.separate-treeview {
		//height: calc(100vh - 2rem - 120px);
		height: calc(100vh - 1rem - var(--area-pos-y) - 80px);
	}
	.separate-breadcrumb {
		border: none;
	}
	.help-contents {
		/*height: initial;*/
	}
}


main {
	div.title2 {
		font-size: 21px;
		border-color: var(--font);
		border-style: solid;
		border-width: 0 0 0 0.25rem;
		font-weight: normal;
		line-height: 1;
		margin: 0 0 0.5rem;
		padding: 0 .4rem;
	}
}


.staff-wrap {
	.carousel {
		button.carousel-control-prev:hover,
		button.carousel-control-next:hover {
			background: #404040;
			opacity: 0.1;
			transition: .5s;
		}
	}
}




.list-group {
	background-color: var(--bs-secondary-bg);
	border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
	border-radius: var(--bs-list-group-border-radius);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}








.table-sticky-thead {
	border-collapse: separate; /* 境界線が正しく表示されるように設定 */
	border-spacing: 0; /* 境界線の間隔をゼロに設定 */

	/*border-bottom: 2px solid #f00;*/

	table {
		border: 1px solid var(--border) !important;
	}

	th, td {
		border-width: 1px;
		border: 1px solid var(--border) !important;
	}

	thead {
		--border-light: #666;
		position: sticky;
		top: 0;
		z-index: 2;

		tr {
			/*borber: 1px solid var(--border-light) !important;*/

			th {
				border: 1px solid var(--border);
				/*background-color: red;*/
			}
		}

		tr:last-child {
			th{
				border-bottom: 2px solid var(--theme-color) !important;
			}
		}

		tr:first-child {
			th:first-child {
				/*background-color: darkorange;*/
				position: sticky;
				left: 0;
				z-index: 1;
			}

			th:not([colspan]) {
				border-bottom: 2px solid var(--theme-color) !important;
			}
		}
	}

	td.select-cells {
		background: var(--today-bg);
	}
	.select-cells {
		border-left: 2px solid var(--active-border) !important;
		border-right: 2px solid var(--active-border) !important;
	}
	.select-cells:th:first-child {
		border-top: 2px solid var(--active-border) !important;
		border-left: 2px solid var(--active-border) !important;
		border-right: 2px solid var(--active-border) !important;
	}
	.select-cells:last-child {
		border-bottom: 2px solid var(--active-border) !important;
		border-left: 2px solid var(--active-border) !important;
		border-right: 2px solid var(--active-border) !important;
	}

	tbody:hover tr th,
	tbody:hover tr td {
		-webkit-box-shadow: var(--table-hover) 0 0 0 9999px inset !important;
		box-shadow: var(--table-hover) 0 0 0 9999px inset !important
	}
}

.table-sticky-tbody {
	border-collapse: separate; /* 境界線が正しく表示されるように設定 */
	border-spacing: 0; /* 境界線の間隔をゼロに設定 */

	tbody {
		tr {
			th:first-child,
			td:first-child {
				position: sticky;
				left: 0;
			}
		}
	}
}
