
.pagination {
	margin:0px 0px 0px 0px;
	border-radius:5px;
	padding:3px 0px 3px 0px;
	text-align:center;
	margin:auto;
}
.pagination a {
	text-decoration:none;
	color:#FF0000;
}
.pagination a:hover {
	text-decoration:none;
}
.pagination .links {
	padding: 0px;
	text-decoration:none;
}
.pagination .selected {
	color:#FFFFFF;
	font-size:20px;
	font-weight:bold;
	margin:0px 3px 0px 3px;
	border:1px solid #BDBDBD;
	background:#0431B4;
	padding:2px 8px 2px 8px;
}
.pagination .normal {
	color:#888888;
	font-size:20px;
	font-weight:normal;
	margin:0px 3px 0px 3px;
	border:1px solid #BDBDBD;
	background:#F2F2F2;
	padding:2px 8px 2px 8px;
}
.pagination .prevnext {
	color:#888888;
	font-size:20px;
	font-weight:normal;
	margin:0px 6px 0px 6px;
	border:1px solid #BDBDBD;
	background:#F2F2F2;
	padding:2px 8px 2px 8px;
}


ul.error {
	margin:0px;
	padding-left:10px;
}
ul.error li {
	color:#FF0000;
	font-size:14px;
	list-style: none;
}
.err {
	margin-right:4px;
	font-size:12px;
}

div.screen_msg {
	padding:0px 2px 4px 10px;
	color:#0000AA;
}


.del_not_selected {
	background: rgb(125,126,125); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(125,126,125,1) 0%, rgba(14,14,14,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(125,126,125,1)), color-stop(100%,rgba(14,14,14,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(125,126,125,1) 0%,rgba(14,14,14,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); /* IE6-9 */
	color:#AAAAAA;
	text-shadow:0px 0px 0px rgba(0, 0, 0, 0.6);
	border-radius:0px;
}
	.del_not_selected:hover {
		background: rgb(69,72,77); /* Old browsers */
		/* IE9 SVG, needs conditional override of 'filter' to 'none' */
		background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzQ1NDg0ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
		background: -moz-linear-gradient(top,  rgba(69,72,77,1) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(69,72,77,1)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
		background: -webkit-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
		background: -ms-linear-gradient(top,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
		background: linear-gradient(to bottom,  rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); /* W3C */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); /* IE6-8 */
		color:#FFFFFF;
		text-shadow:0px 0px 0px rgba(0, 0, 0, 0.6);
	}

.del_selected {
	background: rgb(255,48,25); /* Old browsers */
	/* IE9 SVG, needs conditional override of 'filter' to 'none' */
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmMzAxOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjZjA0MDQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  rgba(255,48,25,1) 0%, rgba(207,4,4,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,48,25,1)), color-stop(100%,rgba(207,4,4,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  rgba(255,48,25,1) 0%,rgba(207,4,4,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  rgba(255,48,25,1) 0%,rgba(207,4,4,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  rgba(255,48,25,1) 0%,rgba(207,4,4,1) 100%); /* IE10+ */
	background: linear-gradient(to bottom,  rgba(255,48,25,1) 0%,rgba(207,4,4,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff3019', endColorstr='#cf0404',GradientType=0 ); /* IE6-8 */
	color:#FFFFFF;
	text-shadow:0px 0px 0px rgba(0, 0, 0, 0.6);
	border-radius:0px;
}
	.del_selected:hover {
		background: rgb(204,0,0); /* Old browsers */
		/* IE9 SVG, needs conditional override of 'filter' to 'none' */
		background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NjMDAwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjYzAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
		background: -moz-linear-gradient(top,  rgba(204,0,0,1) 0%, rgba(204,0,0,1) 100%); /* FF3.6+ */
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(204,0,0,1)), color-stop(100%,rgba(204,0,0,1))); /* Chrome,Safari4+ */
		background: -webkit-linear-gradient(top,  rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
		background: -o-linear-gradient(top,  rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* Opera 11.10+ */
		background: -ms-linear-gradient(top,  rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* IE10+ */
		background: linear-gradient(to bottom,  rgba(204,0,0,1) 0%,rgba(204,0,0,1) 100%); /* W3C */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc0000', endColorstr='#cc0000',GradientType=0 ); /* IE6-8 */
		color:#FFFFFF;
		text-shadow:0px 0px 0px rgba(0, 0, 0, 0.6);
	}


/*@ datepickerカレンダー */
input.datepicker + img {
  margin-left: 10px; /* 好みで調整 */
  vertical-align: middle; /* アイコン位置の調整（任意） */
}

.ui-datepicker select.ui-datepicker-year {
	height: 30px;
	line-height: 30px;
	padding: 2px 5px;
	font-size: 20px;
	width:80px;
	margin-right:3px;
	box-sizing: border-box;
}
.ui-datepicker select.ui-datepicker-month {
	height: 30px;
	line-height: 30px;
	padding: 2px 5px;
	font-size: 20px;
	width:70px;
	margin-left:10px;
	box-sizing: border-box;
}

.ui-datepicker {
	font-size: 24px;
	width: auto !important;
}
.ui-datepicker .ui-datepicker-title {
	font-size: 18px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px; /* selectの間に余白 */
}
.ui-datepicker td a {
	padding: 6px 20px 6px 20px;/* 日付セルのサイズを大きく */
	font-size:30px;
	text-align:center;
}
.ui-datepicker .ui-datepicker-title select {
	font-size: 16px;
	height: 36px;
}

.ui-datepicker th {
	padding: 0.5em;
}
.ui-datepicker td.sunday a {
	background-color: #ffdddd !important;
	color: red;
}

/* 土曜：背景青 */
.ui-datepicker td.saturday a {
	background-color: #ddeeff !important;
	color: blue;
}

.body_box {
	font-size:16px;
}

.btn_pc {
	display: block;
}
.btn_mb {
	display: none;
}

.css_checkboxes {
	margin-top:8px;
}

/*@ 画像 */

.photo-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}

.photo-box {
	width: calc(50% - 10px);
	text-align: center;
	display: inline-block;
	margin-bottom: 20px;
}
.photo-item {
	width: 100%;/*100%*/
	height: 300px;
	object-fit: cover;
	margin: 5px;
	border-radius: 6px;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
.slide-caption {
	margin-top: 2px;
	font-size:18px;
}
.swiper-pagination {
	position: relative !important;
	margin-top: 8px;
}

.image-popup-overlay {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0; left: 0;
	width: 100vw; height: 100vh;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 9999;
}

.image-popup-overlay img.popup-image {
	max-width: 90%;
	max-height: 90%;
	border-radius: 8px;
	box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}
.popup-image-wrapper {
	position: relative;
	display: inline-block;
}
.popup-image {
	max-width: 90vw;
	max-height: 90vh;
	border-radius: 8px;
	box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}
.popup-close {
	position: absolute;
	top: -12px;
	right: -12px;
	background: #fff;
	color: #333;
	font-size: 20px;
	width: 28px;
	height: 28px;
	line-height: 26px;
	text-align: center;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.short_div {
	padding:3px 2px 3px 2px;
	margin-right:3px;
	border:1px solid #DDDDDD;
	border-radius:2px;
	background:#CEFAFE;
	font-size:12px;
}
.short_icon {
	padding:3px 2px 3px 2px;
	margin-right:3px;
	border:1px solid #DDDDDD;
	border-radius:2px;
	background:#DDD;
	font-size:12px;
}

@media (max-width: 768px) {
	.body_box {
		font-size:20px;
	}
	
	.content-header {
		background:#008BBB;
		color:#FFFFFF;
		margin-bottom:10px;
	}
	
	.sidebar-h {
		height:500px;
	}
	.main-footer {
		display: none;
	}
	.table th {
	  padding: 1rem;
		vertical-align:middle;
	}
	.table td {
	  padding: 10px;
		vertical-align:middle;
	}
	
	.btn_pc {
		display: none;
	}
	.btn_mb {
		display: block;
	}
	
	.btn_box_mb {
		text-align:center;
		padding:2px 4px 2px 4px;
	}
	
	.ui-datepicker {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		z-index: 9999 !important;
		box-shadow: 0 0 10px rgba(0,0,0,0.3);
		background: white;
		border-radius: 10px;
		padding: 10px;
	}
	
	/* 背景の暗いオーバーレイ（任意） */
	#datepicker-overlay {
		display: none;
		position: absolute !important;
		top: 0; left: 0;
		width: 100%; height: 100%;
		background-color: rgba(0, 0, 0, 0.4);
		z-index: 9998 !important;
	}
	.ui-datepicker td a {
		padding: 6px 10px 6px 10px;/* 日付セルのサイズを大きく */
		font-size:30px;
		text-align:center;
	}
	
	.css_checkboxes {
		margin-top:0px;
	}
}

/*@ calendarカレンダー */
.calendar_ym {
	font-weight:bold;
	font-size:20px;
	margin-top:4px;
}
.calendar_btn {
	padding:6px 20px 6px 20px;
	margin:0px 10px 0px 10px;
}

.fc-event-title,
.fc-event-title-container,
.fc-event {
	white-space: normal !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.fc-event {
	text-align:center;
	font-size:16px;
	font-weight:normal;
	margin:1px;
	padding:2px 0px 2px 0px;
	line-height:120%;
	background:#FF00FF;
	border:0px;
}
.fc-daygrid-day-top {
	padding: 0px !important;
}
.fc-daygrid-day-frame {
	height: 10px !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 10px !important;
}

.fc-daygrid-day-events {
	height: 10px !important;
	line-height: 10px !important;
}

.fc-col-header-cell {
  border: 1px solid #DFDFDF !important;
}
.fc-daygrid-day {
	height: 10px !important;
	line-height: 10px !important;
  background-color: #FFFFFF;
	padding: 0 !important;
	border: 1px solid #A9A9A9 !important;
}
.fc-day-sat {
	background-color: #e6f0ff;
}
.fc-day-sun {
	background-color: #ffe6e6;
}
.fc-day-today {
	background-color: #fff3cd !important;
}
.fc-col-header {
  border: 1px solid #A9A9A9 !important;
}
.fc-daygrid-body table {
  border: 1px solid #A9A9A9 !important;
}

.fc-daygrid-more-link {
	display: block;
	text-align:center;
	margin: 2px 2px 2px 0px;
	background-color: #d9edf7;
	color: #31708f;
	text-decoration: none;
	width:100%;
	cursor: pointer;
	border: 1px solid #bce8f1;
}
/* ホバー時の効果 */
.fc-daygrid-more-link:hover {
	background: #00FF00;
	border:1px solid #DDDDDD;
	color: #FF0000;
}

.fc-more-custom {
	color: #0c5460;
	padding: 4px 0px 4px 0px;
	border-radius: 4px;
	font-size: 18px;
	width:100%;
}

.event_title {
	font-weight:bold;
	font-size:14px;
	padding:0px;
	margin:0px;
}
.event_time {
	font-weight:normal;
	font-size:14px;
	padding:0px;
	margin:0px;
}


/*@ */
.noresult {
	text-align:center;
	font-size:18px;
}

.screen_info {
	font-size:18px;
	vertical-align: middle;
	margin-bottom:8px;
	margin-left:8px;
}

/* エラーメッセージ */
.invalid-feedback {
	margin-top: -12px !important;
	margin-bottom:10px;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	width: 100%;
}

/* エラーメッセージのリストの余白を詰める */
.invalid-feedback ul {
	margin-bottom: 0;
	padding-left: 2px;
	list-style: none;
}

.invalid-feedback li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
  line-height: 1.4;
  word-wrap: break-word;
  word-break: break-word;
}

.invalid-feedback li::before {
  content: "\f06a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #dc3545; /* 赤 */
  margin-right: 0px;
  min-width: 18px;
}

.error-box {
	padding:12px 10px 0px 10px;
}
.icon-list {
	list-style-type: none;
	padding-left: 0; /* 左の余白を削除 */
}

.icon-list li {
	display: flex;
	align-items: center; /* アイコンとテキストを縦方向で中央揃え */
	margin-bottom: 10px; /* 各アイテムの間隔 */
}

.icon-list i {
	font-size: 18px; /* アイコンのサイズ */
	color: #FFF; /* アイコンの色 */
	margin-right: 0px; /* アイコンとテキストの間隔 */
}

.err_item ul {
	padding-left:2px;
	list-style: none;
	font-size:14px;
}

/* Modal */
.modal_form {
	font-size:16px;
	padding:10px 0px 10px 0px;
}

.modal_ul_err {
	padding:0px 0px 0px 16px;
	margin:0px;
	max-height:340px;
	overflow-y:auto;
}
.modal_ul_err li {
	color:#EE0000;
	font-size:18px;
	margin:0px 0px 10px 0px;
	padding:0px;
}



/* @media */
@media (max-width: 768px) {
	.float-left{
		margin-left: 0 !important;
		padding:10px 10px 10px 0px;
		margin-bottom:10px;
		font-size:24px;
	}
	.float-right{
		margin-right: 0 !important;
		padding:10px 10px 10px 0px;
		margin-bottom:10px;
		font-size:24px;
	}
	.float-center{
		margin-left: 0 !important;
		padding:10px 10px 10px 0px;
		margin-bottom:10px;
		font-size:24px;
	}
	
	.card_30 , .card_40 , .card_50 , .card_60 , .card_70 , .card_80 {
		width: 100%;      /* スマホは全幅 */
	}
	
	.card-footer {
		display: flex;
		flex-direction: column-reverse; /* ← ポイント：保存→戻るの順に並べる */
		align-items: stretch;
	}
	
	.card-footer .btn {
		width: 100%;
		margin: 4px 0;
	}
	
	.card-footer .float-center,
	.card-footer .float-left,
	.card-footer .float-right {
		margin-left: 0 !important;
		float: none !important;  /* floatを無効化 */
	}
	
	.tb-list {
		padding:0px 0px 10px 0px;
	}
}

@media (min-width: 768px) {
	.card_30 {
		width: 30%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.card_40 {
		width: 40%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.card_50 {
		width: 50%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.card_60 {
		width: 60%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.card_70 {
		width: 70%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.card_80 {
		width: 80%;
		margin-left: 0;   /* 左寄せ */
		margin-right: 0;
	}
	.tb-list {
		padding:0px 0px 0px 0px;
	}
}
