@charset "UTF-8";
/* CSS Document */


/*##########
トップコンテンツ
##########*/

/* 20230928お知らせ改修 */
.news_flex{
	display: flex;
	justify-content: space-between;
}

.news_flex .news_list{
	width: calc(100% - 280px);
}

.news_flex .other_news{
	width: 240px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
}

.news_flex .other_news h3{
	height: calc(50% - 20px);
}

.news_flex .other_news h3 a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

/*##########
メインメニュー
##########*/
#mainmenuwrap{
	position: sticky;
	top: 0;
	left: 0;
}

ol#mainmenu{
	width: 100%;
	max-width: 1480px;
	display: flex;
	justify-content: center;
	margin: auto;
}

ol#mainmenu li{
	list-style: none;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 120%;
}

ol#mainmenu li:before{
	content: "｜";
}

ol#mainmenu li:last-child:after{
	content: "｜";
}

ol#mainmenu li a{
	display: block;
	padding: 20px;
	color: #333;
	text-decoration: none;
}

/*##########
下層ページ
##########*/
#mainwrap{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	max-width: 1560px;
	margin: auto;
}

#mainwrap #main #detail a:empty{
	margin-top: -80px;
	padding-top: 80px;
	display: block;
}

/* 本文 */
#main{
	width: calc(100% - 420px);
}

/* サイドメニュー */
div#left-column{
	width: 300px;
	max-width: 1480px;
	background-color: rgba(255,255,255,0.80);
	backdrop-filter: blur(10px);
	border: 1px solid #FFF;
	box-shadow: 0 0 14px -6px rgba(0,0,0,0.1);
	padding: 40px 20px;
	border-radius: 4px;
	margin-left: 40px;
}

div#left-column h2{
	font-size: 140%;
	margin-bottom: 20px;
	text-align: center;
}

div#left-column .banner{
	display: flex;
	flex-wrap: wrap;
}

div#left-column .banner > *{
	margin: 10px;
}

/* カテゴリメニュー */
#categorymenu{
}

#categorymenu li{
	list-style: none;
	margin: 10px;
}

#categorymenu li a{
	display: flex;
	align-items: center;
	padding: 5px 15px;
	min-height: 2em;
	/*height: calc(100% - 20px);*/
	border: 1px solid #CCC;
	text-decoration: none;
	border-radius: 4px;
	color: #333;
	transition: 0.3s;
}

#categorymenu li a:hover,
#categorymenu li a:focus{
	background-color: #E6F4ED;
	border: 1px solid #6FC897;
}


/* サイドメニューお問い合わせ */
div#left-column .contact_box{
}

div#left-column .contact_box > ul li{
	list-style: none;
	margin: 10px;
}

div#left-column .contact_box > ul li a{
	display: flex;
	align-items: center;
	padding: 5px 15px;
	min-height: 2em;
	/*height: calc(100% - 20px);*/
	border: 1px solid #00357E;
	text-decoration: none;
	border-radius: 4px;
	color: #FFF;
	transition: 0.3s;
	background-color: #00357E;
}

div#left-column .contact_box > ul li a:hover,
div#left-column .contact_box > ul li a:focus{
	background-color: #FCF9F3;
	color: #222;
}

div#left-column .contact_box #snswrap ul{
	display: flex;
	justify-content: center;
}

div#left-column .contact_box #snswrap ul li{
	list-style: none;
	margin: 5px;
}



/* 大カテゴリページ専用 */
#cat_index #mainwrap{
	display: block;
}

#cat_index #mainwrap div#left-column{
	width: calc(100% - 82px);
	max-width: 1480px;
	margin: 60px auto 0;
	background-color: rgba(255,255,255,0.80);
	backdrop-filter: blur(10px);
	border: 1px solid #FFF;
	box-shadow: 0 0 14px -6px rgba(0,0,0,0.1);
	padding: 40px;
	border-radius: 4px;
}

#cat_index #mainwrap div#left-column h2{
	font-size: 140%;
	margin-bottom: 20px;
}

#cat_index #mainwrap div#left-column .banner{
	display: flex;
	flex-wrap: wrap;
}

#cat_index #mainwrap div#left-column .banner > *{
	margin: 10px;
}

#cat_index #mainwrap #categorymenu{
	display: flex;
	flex-wrap: wrap;
}

#cat_index #mainwrap #categorymenu li{
	list-style: none;
	margin: 10px;
	width: calc(100% / 4 - 20px);
}

#cat_index #mainwrap #categorymenu li a{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	min-height: 2em;
	/*height: calc(100% - 20px);*/
	border: 1px solid #CCC;
	text-decoration: none;
	border-radius: 4px;
	color: #333;
	transition: 0.3s;
}

#cat_index #mainwrap #categorymenu li a:hover,
#cat_index #mainwrap #categorymenu li a:focus{
	background-color: #E6F4ED;
	border: 1px solid #6FC897;
}

#cat_index #mainwrap div#left-column .contact_box > ul{
	display: flex;
	flex-wrap: wrap;
}

#cat_index #mainwrap div#left-column .contact_box > ul li{
	width: calc(100% / 3 - 20px);
}

#cat_index #mainwrap div#left-column .contact_box > ul li a{
	justify-content: center;
}

/*#################################################
独自サイト用
#################################################*/
#original #mainwrap{
	flex-wrap: wrap;
}

#original #mainwrap #top_image{
	text-align: center;
	width: 100%;
}

#original #mainwrap #main #content{
	background-color: #FFF;
	width: calc(100% - 40px);
	max-width: 1560px;
	margin: auto;
}

