@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;
	min-height: 100vh;
}

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);
}

#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;
}

.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;
}

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

#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;
}

#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;
}
.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;
}

.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;
	text-align: left !important;
}

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

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

#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;
}
.images.clickable:hover {
	opacity: 0.5;
}

.delete_image {
	opacity: 0.2;
}

.waiting {
	position: relative;
}
.waiting:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 10001;
}
.waiting:after {
	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;
}

.text-indent {
	padding-left: 1em;
	text-indent: -1em;
}

.more-small {
	font-size: 80%;
	display: inline-block;
}

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

@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;
	}

}