@charset 'utf-8';

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}

input,textarea, select {
	margin: 0;
	font-size: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

fieldset,img,iframe {
	border: 0;
}

address,caption,cite,code,dfn,em,th,var {
	font-style: normal;
	font-weight: normal;
}

ol,ul {
	list-style: none;
}

caption,th {
	text-align: left;
}

q:before,q:after {
	content: '';
}

abbr,acronym {
	border: 0;
}

img {
	vertical-align: bottom;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	overflow-y: auto;
}

body {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 12px;
	color: #000;
	position: relative;
}

a {
	padding-bottom: 1px;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

.top-0 {
	top: 0;
}

.modal {
	z-index: 10050;
}
.modal-backdrop {
	z-index: 10040;
}

#contents > section {
	/*margin-left: 200px;*/
	padding: 5px;
}
#contents.normal > section {
	padding: 40px;
}

#Header {
	top: 0;
	min-height: auto;
	z-index: 10010;
}

#Header h1, #Header h2 {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	padding: 10px 0;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

#Header h2 {
	font-size: 1.0em;
	border-bottom: solid 2px #666;
}

#Header img {
	width: 100%;
	margin: 1em 0;
}

#Logo {
	border-top: 1px solid #0088c8;
	border-bottom: 1px solid #0088c8;
}

#PageEditNavi {
	background-color: #fff;
	z-index: 1001;
	min-height: auto;
}

.layout-center {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.bg-pattern {
	background-color: #0088c8;
}

.bg-thead {
	background-color: #e6ebf0;
}

.border.border-primary {
	border-color: #0088c8 !important;
}

.btn-primary,
.btn-primary:hover {
	border-color: #0088c8;
	background-color: #0088c8;
}

.btn {
	transition: 0.2s;
}
.btn:hover {
	opacity: 0.5;
}

#Overlay {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255,255,255,0.5);
	z-index: 100000;
}

#Overlay .fa {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 300%;
	color: #0088c8;
}

#Toast {
	display: none;
	position: fixed;
	left: 50%;
	bottom: 30px;
	color: #fff;
	background-color: rgba(0,0,0,0.8);
	padding: 1em 2em;
	border-radius: 50rem;
	opacity: 0;
	transform: translateX(-50%);
	transition: 0.3s;
	z-index: 100000000000000;
}
#Toast.center {
	bottom: auto;
	top: 50%;
	transform: translate(-50%, -50%);
}
#Toast.show {
	display: block;
	opacity: 1;
}
#Toast.square {
	border-radius: 0.5rem;
	padding-left: 1em;
	padding-right: 1em;
}
#Toast.light {
	color: #000;
	background-color: rgba(255,255,255,0.95);
	border: thin solid rgba(0,0,0,0.8);
}

.tag-line {
	border-left: 5px solid #0088c8;
	border-bottom: 2px solid #0088c8;
	padding: 0.5rem 0 0.5rem 1rem;
}

.login-box {
	border-radius: 6px;
}

.login-btn .fa-sign-in {
	font-size: 1.2em;
	margin-right: 0.25em;
}

input[type='checkbox'], input[type='radio'] {
	vertical-align: middle;
}

.chk_box label {
	margin-bottom: 0;
}

.chk_box label + label {
	margin-left: 2em;
}

button {
	transition: 0.3s;
	outline: none !important;
}

.min-button {
	min-width: auto;
	padding: 2px 10px;
}
.tiny-button {
	min-width: 0;
	padding: 0.25rem;
	font-size: 0.8rem !important;
	line-height: 1.2;
}
.tiny-button.square-button {
	border-radius: 0;
}

.btn.rounded-circle {
	min-width: auto;
	width: 2rem;
	height: 2rem;
}

.menu-button {
	font-size: 1rem;
}

[type='file'] {
	display: none;
}

.img-box {
	width: 100%;
}

.img-box[data-ext] {
	position: relative;
}
.img-box[data-ext]::before {
	content: attr(data-ext);
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	background-color: black;
	font-weight: bold;
	padding: 0.25rem 0.5rem;
	z-index: 1;
}
.img-box[data-ext="PDF"]::before {
	background-color: crimson;
}
.img-box[data-ext="未保存"]::before {
	font-weight: normal;
	color: var(--bs-danger);
	background-color: var(--bs-light);
}

.img-box.draggable::after {
	content: "ここにドロップして\Aファイルをアップロード";
	white-space: pre;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background-color: rgba(19, 95, 139, 0.50);
	border: 2px solid rgba(19, 95, 139, 0.75);
	display: flex;
	justify-content: center;
	align-items: center;
}

.images img {
	margin-bottom: 10px !important;
	max-width: 100%;
	max-height: 150px;
	min-width: 1%;
}

.doc-thumb {
	font-size: 5rem !important;
	transform: rotate(-45deg);
}

#Header .header-menu {
	min-width: 55px;
	min-height: 55px;
	color: #fff;
	padding: 10px;
	width: 45px;
	height: 55px;
}

.cp-hamberger .dummy {
	display: inline-block;
	width: 32px;
	height: 32px;
}

#GNav {
	background-color: #000;
	position: fixed;
	top: 53px;
	right: -100%;
	z-index: 1001;
	text-align: center !important;
	font-size: 1.2rem;
}
#GNav  a {
	color: #fff;
	border-bottom: 1px solid #fff;
	padding: 0.5em 0;
}
#GNav a:hover {
	opacity: 0.5;
}
#GNav a:last-child {
	border-bottom: none;
}
#GNav > .separator {
	color: #fff;
}

.hide {
	display: none !important;
}

#SearchForm .modal-body > .row {
	margin-top: 0.5rem;
	margin-left: 0;
	margin-right: 0;
	align-items: stretch;
	border-bottom: 1px solid #ccc;
	padding-bottom: 0.5rem;
}
#SearchForm .modal-body > .row:last-child {
	border-bottom: none;
}

#SearchResult em {
	font-weight: bold;
	color: crimson;
}

.ctrl-box {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 0.3em 0;
}
.button-area,
.pager-area,
.legend-area {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin-right: 1em;
}
.legend-area {
	margin-left: 1em;
}

.pager-area .pager-ctrl {
	display: flex;
	margin-bottom: 0;
}

.pager-area .pager-ctrl > .pager {
	flex: 1 1 20%;
	font-size: 1.2rem;
	border: 1px solid #ccc;
	white-space: nowrap;
	margin: 0 0.25em;
	min-width: 3em;
	text-align: center;
	color: #106fb9;
	transition: 0.3s;
	cursor: pointer;
	height: 2.25rem;
	line-height: 2.5rem;
	text-decoration: none;
}

.pager-area .pager-ctrl > .pager:hover {
	text-decoration: none;
	color: #fff;
	background-color: #63B0E4;
}
.pager-area .pager-ctrl > .pager .pager {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
}
.pager-area .pager-ctrl > .pager .pager:hover {
	text-decoration: none;
}
.pager-area .pager-ctrl > .pager.disabled-pager {
	color: darkgray;
	padding: 0 5px;
	cursor: auto;
	height: 2.25rem;
	line-height: 2.5rem;
}
.pager-area .pager-ctrl > .pager.pager.disabled-pager:hover {
	background-color: transparent;
}


.order_area {
	text-align: right;
}

/*
table th,
table td {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
table .text-center {
	-webkit-justify-content: center;
	justify-content: center;
}
table .text-right {
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
*/

.input_table th {
	width: 15%;
	vertical-align: middle;
	font-weight: bold;
}
.input_table td {
	width: 35%;
	padding: 10px;
}

.list_table .text-primary:hover {
	cursor: pointer;
	opacity: 0.5;
}

.thumb {
	max-width: 150px;
}

.cap {
	display: inline-block;
	color: #292929;
	margin-right: 5px;
	vertical-align: middle;
}

.sub_cap {
	display: inline-block;
	color: #292929;
	margin-left: 5px;
	vertical-align: middle;
}

.row {
	align-items: center;
	vertical-align: middle;
}

.search-result-row > .col,
.search-result-row > [class*=col-] {
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}

.tbody .search-result-row > .col,
.tbody .search-result-row > [class*=col-] {
	padding-top: 1em;
	padding-bottom: 1em;
	word-break: break-all;
}
.search-result-header .grid-container-fluid.no-gutters > .col,
.search-result-header .grid-container-fluid.no-gutters > [class*=col-],
.tbody .grid-container-fluid.no-gutters > .col,
.tbody .grid-container-fluid.no-gutters > [class*=col-] {
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.search-result-header .grid-container-fluid.no-gutters > .col,
.search-result-header .grid-container-fluid.no-gutters > [class*=col-] {
	padding-top: 0;
	padding-bottom: 0;
}

.tbody .row + .row {
	border-top: 1px solid #aaa;
}

.chg {
	color: crimson;
}

.col-form-label.chg {
	background-color: pink;
	padding-left: calc(0.375rem + 1px);
	padding-right: calc(0.375rem + 1px);
}

.del,
.del .form-control,
.del .form-select {
	background-color: #ccc !important;
}

/* 入力項目 */
/*
input[type='text'], input[type='password'], input[type='date'], select, textarea {
	color: #333333;
	border: 1px solid #a0a0a0;
	outline: 0;
	background: #fff;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VlZWVlZSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
	background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f3f3f3), color-stop(100%, #ffffff));
	background: -moz-linear-gradient(top, #f3f3f3, #ffffff);
	background: -webkit-linear-gradient(top, #f3f3f3, #ffffff);
	background: linear-gradient(to bottom, #f3f3f3, #ffffff);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f3f3f3', endColorstr='#ffffff');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f3f3f3', endColorstr='#ffffff')";
	zoom: 1;
}
input:focus, select:focus, textarea:focus {
	border: 1px solid #f90;
}
input[type='radio'], input[type='checkbox'] {
	background: transparent;
	filter: none;
	margin: 6px 2px;
	border: 1px solid transparent;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 20px;
}
select::-ms-expand {
	display: none;
}
select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #333333;
}
*/

/*
.select-wrap {
	position: relative;
	display: inline-block;
}
.select-wrap::before {
	position: absolute;
	right: 7px;
	top: 0;
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	line-height: 2.5rem;
	z-index: 1;
	pointer-events: none;
}
*/

.input_error {
	-moz-box-shadow: 0px 0px 5px crimson;
	-webkit-box-shadow: 0px 0px 5px crimson;
	box-shadow: 0px 0px 5px crimson;
}

.select-wrap.readonly::before {
	content: none;
}
input[readonly], select[readonly], textarea[readonly] {
	border: 1px solid transparent !important;
	background-color: transparent !important;
	background: none !important;
/*	padding: 0 !important;*/
}

.form-check-input {
	font-size: 1rem;
}

.form-check-label {
	line-height: 1.65rem;
}

.checkbox-wrap.order [data-no] {
	position: relative;
	background-image: none;
}

.checkbox-wrap.order [data-no]::before {
	content: attr(data-no);
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	line-height: 1rem;
	transform: translate(-50%, -50%);
	text-align: center;
	color: white;
	font-weight: bold;
	font-size: 0.6rem;
}

#Contents {
	position: relative;
}

#Balloon {
	position: absolute;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	width: auto;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 12px;
	background: #fff;
	border: solid 2px #fcab1c;
	box-sizing: border-box;
	border-radius: 5px;
	z-index: 200000;
}

#Balloon:before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -15px;
	border: 10px solid transparent;
	border-top: 10px solid #fff;
	z-index: 2;
}

#Balloon:after {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
	margin-left: -17px;
	border: 12px solid transparent;
	border-top: 12px solid #fcab1c;
	z-index: 1;
}

#Balloon .counter {
	color: crimson;
	font-weight: bold;
}

.images.clickable {
	cursor: pointer;
	transition: 0.2s;
	position: relative;
}
.images.clickable:hover {
	opacity: 0.5;
}

.images .image-preview {
	position: absolute;
	top: 0.125rem;
	right: 0.125rem;
	font-size: 1.2rem;
	opacity: 0.3;
}

.img-fluid.cover {
	object-fit: cover;
}

.img-fluid.contain {
	object-fit: contain;
}


.delete_image {
	opacity: 0.2;
}

.img-box.waiting .images {
	position: relative;
}

.img-box.waiting::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(19, 95, 139, 0.50);
	z-index: 10001;
}

.img-box.waiting .images::before {
	content: '\f110';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 4rem;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10002;
	transform: translate(-50%, -50%);
	animation: spin 1.5s linear infinite;
}
@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.topics {
	max-height: 15rem;
}

.search-result-row.draft {
	position: relative;
}

.search-result-row.draft > [class^='col']:not(:last-child) {
	opacity: 0.3;
}
.search-result-row.draft > [class^='col']:first-child,
.search-result-row.draft > [class^='col']:last-child {
	opacity: 0.75;
}

.search-result-row.draft::before {
	content: "[仮登録中]";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: crimson;
	font-weight: bold;
	font-size: 1.2rem;
	background-color: rgba(255,255,255,0.8);
	letter-spacing: 1rem;
	z-index: 1;
}

.search-result-row [class*="btn-"] {
	font-size: 0.8rem;
}
.search-result-row [class*="btn-"].icon {
	position: relative;
}
.search-result-row [class*="btn-"]::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
}
.search-result-row [class*="btn-"].normal::before {
	margin-right: 0.5rem;
}
.search-result-row [class*="btn-"].icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.btn-edit,
.btn-edit:hover {
	color: #fff;
	background-color: var(--primary);
}
.btn-edit::before {
	content: "\f044";
}
.btn-edit.normal::after {
	content: "編集";
}

.btn-clone,
.btn-clone:hover {
	color: #fff;
	background-color: var(--info);
}
.btn-clone::before {
	content: "\f24d";
}
.btn-clone.normal::after {
	content: "複製";
}

.btn-preview,
.btn-preview:hover {
	color: #fff;
	background-color: var(--secondary);
}
.btn-preview::before {
	content: "\f06e";
}
.btn-preview.normal::after {
	content: "確認";
}

.btn-confirm,
.btn-confirm:hover {
	color: #fff;
	background-color: var(--primary);
}
.btn-confirm::before {
	content: "\f00c";
}
.btn-confirm.normal::after {
	content: "確認";
}

.btn-detail,
.btn-detail:hover {
	color: #fff;
	background-color: var(--info);
}
.btn-detail::before {
	content: "\f06e";
}
.btn-detail.normal::after {
	content: "詳細";
}

.btn-print,
.btn-print:hover {
	color: #fff;
	background-color: var(--primary);
}
.btn-print::before {
	content: "\f02f";
}
.btn-print.normal::after {
	content: "印刷";
}

.btn-color,
.btn-color:hover {
	background: linear-gradient(to bottom,#ffe5e5,#fff2e5,#ffffe5,#e5fff2,#e5ffff,#e5f2ff,#e5e5ff);
	border: thin solid #e5e5ff;
}

.btn:disabled {
	color: #fff;
	opacity: 0.3;
}

.col-1_5 {
	flex: 0 0 auto;
	width: 12.49999995%;
}

.col-2_5 {
	flex: 0 0 auto;
	width: 20%;
}

.line-clamp-1,
.line-clamp-2,
.line-clamp-3 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
}

.line-clamp-1 {
	-webkit-line-clamp: 1;
}
.line-clamp-2 {
	-webkit-line-clamp: 2;
}
.line-clamp-3 {
	-webkit-line-clamp: 3;
}

#floating {
	display: inline-block;
	position: sticky;
	left: auto;
	bottom: 0;
	left: 100vw;
	padding: 0.5rem 1rem;
	color: #fff;
	background-color: #000;
	text-align: right;
	border-radius: 100rem 0 0 100rem;
	line-height: 1;
}

@media (max-width: 768px) {
	table .under {
		border-bottom: solid 1.5px #666;
	}

	.ctrl-box,
	.ctrl-box .pagerList,
	.ctrl-box .order_list {
		font-size: 0.875em;
	}

	.ctrl-box .pager-area .pager-ctrl {
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		justify-content: center;
	}

	.ctrl-box .pager-area .pager-ctrl > .pager {
		font-size: 0.9rem;
	}
/*
	#SearchResult .search-result-row {
		flex-wrap: nowrap;
	}
*/
	#Contents .area .input-table {
		font-size: 0.8rem !important;
	}

	.input-table .row {
		border-bottom: none;
		padding-bottom: 0;
	}
}

@media (min-width: 576px) {
	.col-sm-1_5 {
		flex: 0 0 auto;
		width: 12.49999995%;
	}

	.col-sm-2_5 {
		flex: 0 0 auto;
		width: 20%;
	}
}

@media (min-width: 768px) {

	#GNav {
		background-color: transparent;
		position: static;
		margin: auto;
		text-align: right !important;
		font-size: 0.9rem;
	}
	#GNav a {
		border-bottom: none;
		padding: 0;
	}
	#GNav a:last-child {
		border-bottom: none;;
	}
	#GNav .nav-active {
		color: #df611c;
	}

	#GNav .sub-nav {
		display: none;
		position: absolute;
		left: 0;
		color: #fff;
		background-color: #000;
		width: auto;
		white-space: nowrap;
		text-align: left;
		padding-left: 1rem;
		padding-right: 1rem;
		border: 1px solid #fff;
		z-index: 1;
	}

	.pager_area .pager_ctrl > .pager {
		min-width: 3em;
	}

	table th,
	table td {
		display: table-cell;
		/*
		padding: 5px 10px;
		vertical-align: middle;
		border: solid 1px #999;
		*/
	}
	.min-button {
		min-width: 40px;
	}

	.search-result-header .grid-container-fluid.no-gutters > .col,
	.search-result-header .grid-container-fluid.no-gutters > [class*=col-] {
		padding-top: 0.25em;
		padding-bottom: 0.25em;
	}

	.col-md-1_5 {
		flex: 0 0 auto;
		width: 12.49999995%;
	}

	.col-md-2_5 {
		flex: 0 0 auto;
		width: 20%;
	}
}

@media (min-width: 992px) {
	.col-lg-1_5 {
		flex: 0 0 auto;
		width: 12.49999995%;
	}

	.col-lg-2_5 {
		flex: 0 0 auto;
		width: 20%;
	}
}

@media (min-width: 1200px) {
	.col-xl-1_5 {
		flex: 0 0 auto;
		width: 12.49999995%;
	}

	.col-xl-2_5 {
		flex: 0 0 auto;
		width: 20%;
	}
}
