
@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 100%
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 100%
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 100%
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}

.row {
    --bs-gutter-x: 0.5rem;
}

/*　--------------------------------------------　　*/

body {
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	margin-top: 10px;
	font-feature-settings: "palt";
    padding-top: 0px;
}


.navbar-toggler {
    border: 1px solid;
    padding: 0px 5px;
	margin: 3px 0px;
}

.navbar-toggler-icon {
    width: 1.2em;
    height: 1.5em;
}

figure {
    width: 155px;
    float: left;
    height: 220px;
    margin: 0px 5px;
}

figure a{
}

figure img{
    width: 100%;
    height: 150px;
    overflow: hidden;
}


/*---------------------*/
div#area_map{
	width: 100%;
    height: 68vh;
    box-sizing: border-box;
	margin-bottom: 0px;
}


/*---------------------*/
/* スライダー 2024.02.14 */
/*---------------------*/
.carousel {
    margin-top: 50px;
}

/*---------------------*/
/* 検索バー 2024.02.14 */
/*---------------------*/
#top2Ccontents {
    padding-top: 46px;
    margin-top: -41px;
    margin-bottom: 3px;
}

#top2Ccontents form{
    background-color: #222529;
    padding: 0px;
	border-radius: 5px;
    flex-direction: column;
}

#top2Ccontents input{
}

#top2Ccontents .forall{
    display: none;
}

#top2Ccontents .osusume{
    display: none;
}

#top2Ccontents .category{
    /*display: none;*/
}


#top2Ccontents .category_nav {
    /*display: none;*/
    background-color: #fff;
	clear: both;
    text-align: left;
    margin: 0px 5px 5px 5px;
    padding: 5px 10px 0px 10px;
}

#top2Ccontents .category_nav a{
    padding: 3px 15px;
    margin-bottom: 5px;
    margin-right: 5px;
}

#top2Ccontents .category_nav a:hover{
    background-color: #fff;
}



#top2left.personal{
    margin-top: 42px;
}




.photo-wrap{
}
.photo-wrap img{
    object-fit: cover;
	width: 100%;
    height: 216px;
}

.photo-wrap img:hover{
    box-shadow:0 2px 5px rgba(0, 0, 0, 0.3);
}



.photo-wrap a.caption{
    display: block;
    text-align: center;
    overflow: hidden;
    margin-bottom: 10px;
    padding: 0px 10px;
    font-size: medium;
}

/****** 検索バーのレイアウト ********/
#keyword_box {
	margin: 6px auto;
    position: relative;
    min-height: 72px;
}
#keyword_box .search_message {
    position: absolute;
    top: 40px;
    left: 0px;
    color: #fff;
    padding: 3px 8px 5px 6px;
}

#keyword_box .search_message_personal {
    position: absolute;
    top: 40px;
    left: 0px;
    color: #fff;
    background-color: #00B050;
    padding: 3px 8px 5px 8px;
}

@media screen and (max-width: 576px) {
	#keyword_box .search_message {
        margin-left: 6px;
	}
	#keyword_box .search_message_personal {
        margin-left: 10px;
	}
}





.footer_button {
    padding: 5px 0px;
    background-color: #0004;
}

.footer_button .btn{
    width: 100px;
    padding: 3px 0px;
    /*background-color: #000;*/
}

.footer_button .btn .bi{
    font-size: 20px;
}

.footer_button .jigyo_comment{
	position: absolute;
    right: 30px;
    background-color: #0003;
    padding: 5px 20px;
    color: #fff;
    bottom: 19px;
}

/*-----------------------------------------------------------------*/
@media screen and (min-width: 1200px) and (max-width: 1400px) {
	.photo-wrap img{
		width: 100%;
		height: 216px;
	}
	.footer_button .jigyo_comment{
    	display: none;
	}
}
@media screen and (min-width: 992px) and (max-width: 1200px) {
	.photo-wrap img{
		width: 100%;
		height: 216px;
	}
	.footer_button .jigyo_comment{
    	display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 992px) {
	.photo-wrap img{
		width: 100%;
		height: 192px;
	}
	.footer_button .jigyo_comment{
    	display: none;
	}
}
@media screen and (min-width: 576px) and (max-width: 768px) {
	.photo-wrap img{
		width: 100%;
		height: 192px;
	}
	.footer_button .jigyo_comment{
    	display: none;
	}
}
@media screen and (max-width: 576px) {
	.photo-wrap img{
		width: 100%;
		height: 128px;
	}
	body {
		padding-top: 1px;
	}
	.navbar-toggler {
	}
	.navbar-brand {
		width: 76%;
		font-size: medium;
	}
	.footer_button {
		display: flex;
		background-color: #000;
		padding: 0px;
	    border: 1px solid #000;
	}
	.footer_button .btn{
		padding: 1px 5px 0px 5px;
		width: -webkit-fill-available;
		margin: 0px 1px;
	    font-size: 14px;
	}
	.footer_button .btn .bi {
	    font-size: 16px;
	}

	#top2Ccontents {
		padding-top: 44px;
		margin-top: -41px;
	}

	.footer_button .jigyo_comment{
    	display: none;
	}
}

.accordion-item {
	border: none;
    background-color: #000;
}

.accordion-body {
    padding: 10px 10px 5px 10px ;
}
.accordion-body form{
    margin-bottom: 10px;
    width: 500px;
    float: right;
}
.accordion-item:last-of-type {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit;
}
@media screen and (max-width: 576px) {
	.accordion-body form{
		width: 100%;
		float: none;
	}
	.carousel {
		margin-top: 36px;
	}

	.input-group .btn {
		font-size: 0.8em;
	}
	#keyword_box {
		/*width: 94%;*/
		padding: 0px 10px;
	}	
	
}

#keyword_box .mb-3 {
    margin-bottom: 0px !important;
    width: auto;
    float: left;
    height: 34px;
}

.navbar {
    --bs-navbar-padding-y: 0.2rem;
}

.navbar-collapse {
    flex-grow: initial;
}

#keyword_box .form-control {
    padding: 0.25em 0.5em;
    width: 300px;
}

#keyword_box .input-group .btn {
    padding: 0.25em 1em;
}

#keyword_box .input-group .btn.bt_category {
}

#headermiddle_title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 5;
}




@media screen and (max-width: 576px) {
	#headermiddle_title img{
	    display: none;
	}

	#keyword_box .form-control {
		width: 1%;
	}

	#keyword_box .btn_category {
		align-items: flex-end;
		width: 100%;
		flex-direction: row-reverse;
	}

	#keyword_box .mb-3 {
		width: 100%;
	}
	
	#keyword_box .input-group .btn.bt_category {
        height: 33px;
        margin-top: 3px;
	}
}

/********  詳細ページ  ********/

#breadcrumb{
    margin-bottom: 10px;
    font-size: 14px;
    margin-top: 10px;
}

#pagemain{
    margin-top: 60px;
    margin-bottom: 100px;
}

#pagemain-left {
    display: block;
    border: 1px solid #858585;
    border-radius: 10px;
    background: #FFFFFF;
    padding: 0px 20px;
}



#pagemain-left h1 {
    font-size: 1.7em;
    padding: 15px 18px 10px 18px;
    border-bottom: 2px solid #16D1FF;
    text-align: center;
    font-size: 28px;
    text-align: center;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


section.img-large img {
    max-height: 650px;
}

.img-large img {
    max-width: 100%;
    padding: 10px 30px;
}

@media screen and (max-width: 576px) {
	.img-large img {
		padding: 10px 0px;
	}
}

div#pagemain .download_btn {
    padding: 0px;
    margin-top: 3px;
    margin-bottom: 8px;
	text-align: right;
}

div#pagemain .download_btn a {
    font-size: 12px;
    border: 1px solid #ccc;
    text-align: center;
    padding: 4px 12px 2px 12px;
    margin: 0px 6px 2px 0px;
    border-radius: 10px;
    list-style-type: none;
    color: #666;
    background-color: #FFFFCC;
}

div#pagemain p {
    clear: both;
    word-wrap: break-word;
}
.img-large p {
    padding: 8px;
}

.author {
    font-size: 14px;
    color: #666666;
    padding: 0px;
    margin: 0px;
    margin-right: 10px;
    text-align: right;
}

div#list {
    margin-top: 10px;
}

div#list table {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

div#list table tr {
    height: 20px;
}

div#list th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 6px 10px;
    width: 160px;
    background-color: #FFFFE7;
    font-weight: normal;
}

div#list td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 6px 10px;
	text-align: left;
}

div#list img.cc_licence {
    padding: 0px;
    width: 80px;
}

div#detail_tag_area {
    margin: 0px;
    padding: 0px 0px 0px 0px;
    clear: both;
}

div#detail_tag_area ul {
    margin: 0px;
    padding: 3px 0px 3px 0px;
}

div#detail_tag_area li {
    font-size: 16px;
    border: 1px solid #ccc;
    text-align: center;
    padding: 4px 7px 2px 7px;
    margin: 0px 6px 2px 0px;
    float: left;
    border-radius: 10px;
    list-style-type: none;
}

div#footer_menu {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

div#footer_menu a {
    font-size: 16px;
    border: 1px solid #45E5FF;
    text-align: center;
    padding: 4px 12px 2px 12px;
    margin: 0px 6px 2px 0px;
    border-radius: 10px;
    list-style-type: none;
    color: #FFFFFF;
    background-color: #45E5FF;
}

#pagemain-right {
	/*
    display: block;
    width: auto;
    float: none;
    margin: 0 8px;
    padding: 8px;
	*/
}

.linktop2 {
    text-align: right;
    margin: 0;
    padding: 0;
	display: none;
}

.linktop2 img {
    width: 60px;
}

.rightbox .title {
    margin-top: 10px;
}

.rightbox .text {
    padding: 8px 12px;
    font-size: 0.9em;
}

#map-canvas {
	/*width: 240px;*/
    height: 300px;
    margin-top: 20px;
    padding: 0px;
    margin: 0px;
    width: 100%;
}

.rightbox-list {
    background-color: #FFFFFF;
    padding: 0px;
    margin: 0px;
    max-height: 700px;
    overflow: auto;
}
.rightbox-list {
    margin: 0;
    padding: 0;
    border: 2px solid #16D1FF;
    border-radius: 10px;
    margin-left: 20px;
}

.rightbox-list .title {
    background: #E2F9FF;
    border-bottom: 2px solid #16D1FF;
    padding: 8px;
    text-align: center;
    font-weight: bold;
    margin: 0;
}

.rightbox-list .text {
    text-align: left;
}
div#kanri_menu {
    text-align: left;
    margin-top: 20px;
}

div#kanri_menu p {
    padding: 0px;
    margin: 0px;
    margin-bottom: 14px;
}

div#kanri_menu p a {
    font-size: 16px;
    border: 1px solid #ccc;
    text-align: center;
    padding: 4px 12px 2px 12px;
    margin: 0px 6px 2px 0px;
    border-radius: 10px;
    list-style-type: none;
    color: #666;
    background-color: #FFFFCC;
}

.rightbox .text ul li {
    font-size: 14px;
    border: 1px solid #ccc;
    text-align: center;
    padding: 4px 7px 2px 7px;
    margin: 2px 3px;
    float: left;
    border-radius: 10px;
    list-style-type: none;
    background-color: #FFFFFF;
}

.rightbox .text ul {
    max-height: 210px;
    overflow: auto;
    padding: 0px;
    margin: 0px;
    margin-bottom: 10px;
}

@media screen and (max-width: 576px) {
	#pagemain-left {
		border: none;
        padding: 0px;
	}
	#pagemain {
		margin-top: 40px;
	}
	#pagemain-right {
		display: none;
	}	
	
}




/*----------------------------------------------*/


div#cardlist{
	margin: 0px 0px 100px 0px;
	padding: 0px 0px 0px 0px;
	clear: both;
}

div#cardlist.search_top {
	margin: 35px 0px 100px 0px;
}


div#datelist{
	margin: 5px 0px 100px 0px;
	padding: 0px 0px 0px 0px;
	clear: both;
}

div#datelist table{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	background-color: #FFFFFF;
    margin-bottom: 0px;
}

div#datelist table.search_top{
	margin-top: 25px;
}

div#datelist table th{
	padding: 10px 6px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
    text-align: center;
    background-image: linear-gradient(#50b3eb, #2fa4e7 60%, #2c9ad9);
    color: #fff;
    font-weight: normal;
	vertical-align: middle;
}


div#datelist .table_head{
	padding-top: 92px;
    margin-top: -92px;
    z-index: 1000;
}


div#datelist table .id{
	width: 60px;
}
div#datelist table .no{
	width: 60px;
}
div#datelist table .photo{
	width: 160px;
}
div#datelist table .title{
	width: auto;
}
div#datelist table .cont{
	width: 450px;
}
div#datelist table .cont img{
	width: 100%;
}
div#datelist table .date{
	width: 100px;
}




div#datelist table td{
	padding: 5px 6px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}

div#datelist table td.no{
    text-align: center;
	font-size: 14px;
}
div#datelist table td.title{
    word-break: break-all;
}
div#datelist table td.cont{
    word-break: break-all;
}
div#datelist table td.date{
    text-align: center;
	font-size: 14px;
}
div#datelist table td.photo{
    text-align: center;
}

div#datelist table td a{
    display: block;
    width: 100%;
    height: 100%;
} 


@media screen and (max-width: 576px) {
	div#datelist table th{
		padding: 5px 5px;
	}
	div#datelist table .no {
		display: none;
	}	
	div#datelist table .date {
		display: none;
	}	
	div#datelist table .text {
		display: none;
	}	
	div#datelist table .cont {
		display: none;
	}
	div#datelist{
		margin: 0px 0px 60px 0px;
	}
	div#cardlist{
		margin: 0px 0px 60px 0px;
	}
	div#datelist .table_head {
		padding-top: 90px;
		margin-top: -90px;
	}
	div#datelist table .photo{
		width: 120px;
	}

}


@media screen and (max-width: 768px) {
	div#datelist table .photo{
		width: 120px;
	}
	div#datelist table .cont {
		width: 230px;
	}	
}

@media screen and (max-width: 1024px) {
	div#datelist table .photo{
		width: 120px;
	}
	div#datelist table .cont {
		width: 350px;
	}	
}

  /* タブのスタイル */
  .tab2 {
    display: none; /* 最初は非表示にする */
  }
  .tab-link1 {
    display: none; /* 最初は非表示にする */
  }


/*-------------------
　　カテゴリヘッダー
--------------------*/
#catheader {
	margin:0;
	padding:0;
    margin-top: 50px;
}
#catbox {
	display:block;
	width:100%;
	margin:0 auto;
	position:relative;
	padding:0;
	/*height:314px;*/
	background: #eeeddd;
}

#catbox h1 span {
	position:absolute;
	top:0;
	left:0;
	background:#000000;
	padding:8px 12px;
	color:#FFFFFF;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.linktop1 {
	position:absolute;
	bottom:0;
	right:10px;
}
.linktop1 img {
}


#catbox img.header_image {
	width:100%;
	height:314px;
	object-fit: cover; /* この一行を追加するだけ！ */
}

#catbox p{
	position: absolute;
	bottom: 0px;
	left: 0px;
	font-size: 12px;
	color: #000;
	margin: 0px;
	margin-left: 10px;
	padding: 3px 5px;
	margin-bottom: 3px;
	background-color: rgba(255,255,255,0.5);
}

#catbox h1 span {
	background-color: rgba(0,0,0,0.7);
}


.main_photo{
    text-align: center;
}


.main_photo p{
    text-align: left;
}

#catbox .cat_nondata_title {
	background: #222529de;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 2.5rem;
    padding: 3px 12px 3px 12px;
    color: #fff;
    display: inline;
    font-weight: bold;
}




@media screen and (max-width: 768px) {
	#catbox img.header_image {
		height: 200px;
	}
}

@media screen and (max-width: 1024px) {
	#catbox img.header_image {
		height:210px;
	}
}


/*案内ページ*/


#single_page {
	padding:10px;
}


#pagemain-left #single_page h2 {
	font-size:1.4em;
	padding:0px 18px;
	padding-left: 20px;
    text-align: center;
}

#pagemain-left #single_page h3 {
	font-size:1.2em;
	padding:0px 18px;
	padding-left: 20px;
}

#pagemain-left #single_page h4 {
	font-size:1.1em;
	padding:0px 18px;
	padding-left: 20px;
}

#pagemain-left #single_page h5 {
	font-size:1em;
	margin-top : 0px;
	padding:0px 18px;
	padding-left: 20px;
	font-weight: normal;
}

#pagemain-left #single_page p {
	font-size:1.0em;
	padding:0px 18px;
	padding-left: 35px;
	padding-right: 30px;
}

#pagemain-left #single_page p.ext {
	font-size:0.9em;
}

#pagemain-left #single_page ul{
	padding:0px;
	padding-left: 20px;
}
#pagemain-left #single_page li {
	font-size:1em;
	padding:0px 18px;
	list-style-type: none;
	text-indent: -1em;
	padding-left: 2em;
	padding-right: 30px;
	margin-bottom: 5px;
}

#pagemain-left #single_page table {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 0 auto;
	width : 90%;
}

#pagemain-left #single_page table tr{
}

#pagemain-left #single_page table td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width : 50%;
	padding : 5px 10px;
}



/****** 利用者申込フォームなど ********/
#pagemain div#entry_area {
}

#pagemain div#entry_area form{
}

#pagemain div#entry_area div.form_title {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 20px;
	
}

#pagemain div#entry_area h2{
	text-align: center;
	margin: 0px auto;
	display: inline;
	padding: 5px 40px;
	background-color: #666666;
	border: 1px solid #ccc;
	color: #FFFFFF;
	font-size: 16px;
}

#pagemain div#entry_area h3.err{
	display: inline;
	background-color: #ff0000;
	color: #FFFFFF;
	font-size: 14px;
	margin-left: 33px;
	margin-bottom: 5px;
	margin-top: 0px;
	font-weight: normal;
	padding: 2px 10px;
}

#pagemain div#entry_area h4{
}

#pagemain div#entry_area table{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#pagemain div#entry_area table th{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width: 30%;
	padding: 10px 20px;
	background-color: #EEE;
	color: #333333;
}

#pagemain div#entry_area table td{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width: 70%;
	padding: 10px 20px;
}

#pagemain div#entry_area table td p{
	color: #FF6600;
	margin: 0px;
	padding: 0px;
}

#pagemain div#entry_area table td p.err{
	background-color: #ff0000;
	color: #FFFFFF;
	font-size: 14px;
	padding: 0px 10px;
}


#pagemain div#entry_area input{
	font-size: 16px;
	padding: 5px 10px;
}

#pagemain div#entry_area div#submit_area {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}

#pagemain div#entry_area div#submit input{
	font-size: 14px;
	padding: 5px 30px;
	cursor: pointer;	
}


@media screen and (max-width: 576px) {
	#pagemain div#entry_area input {
		width: 100%;
	}
	#pagemain-left #single_page p {
		padding: 0px 0px;
	}
	#pagemain-left #single_page table {
		width: 100%;
	}
	#pagemain div#entry_area table th {
		padding: 0px 5px;
	}
	#pagemain div#entry_area table td {
		padding: 10px 10px;
	}
	#pagemain div#entry_area table td p {
		font-size: 14px;
	}
	#pagemain div#entry_area div#submit_area input {
		width: 40%;
	}
	#pagemain-left #single_page h5 {
		padding: 0px;
	}
	#pagemain-left #single_page ul {
		padding: 0px;
	}
	#pagemain-left #single_page li {
		padding: 0px 20px;
	}
}



/****** 管理画面周り ********/
#sub_page{
    border: 1px solid #ccc;
    padding: 20px 30px;
    border-radius: 10px;
    margin-top: 60px;
    margin-bottom: 80px;
	width: 800px;
}

hr {
    margin-bottom: 0px;
}

@media screen and (max-width: 576px) {
	#sub_page{
		border: none;
		padding: 20px 15px;
		margin-top: 30px;
		margin-bottom: 20px;
		width: 100%;
	}
}

.modal-process {
	margin-bottom: 15px;
    color: #53a3e9;
}

/****** ページネーション ********/
.pagination{
    margin-bottom: 8px;
    margin-top: 8px;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1001;
}

/****** ボタンカラー ********/
.btn-pink {
    background-image: linear-gradient(#d2508c, #cd3b7d 60%, #c9266e);
    color: #fff;
}

.btn-pink:hover {
    background-image: linear-gradient(#cd3a7d, #c9256e 60%, #c40e5f);
    color: #fff;
}


.separate{
    line-height: 2.3em;
    padding: 0px 4px;
    font-size: 16px;
}

.page-arrow {
    font-size: 20px;
    line-height: 1.35em;
    background-color: #edeff2;
    padding-top: 3px;
}

.page-item {
	min-width: 36px;
    text-align: center;
}

.page-link {
    padding-left: 5px;
    padding-right: 5px;
}
















