@charset "utf-8";
/*************************************************
 「舟形町公式」style.css
**************************************************/

/* 基本スタイル */
*,
*::before,
*::after { box-sizing: border-box;}

body { position:relative; margin: 0; background: #ffffff; color: #333333; font-size: 100%; line-height: 1.6; font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif; -webkit-text-size-adjust:100%;}
header,article,footer,section,h1,h2,h3,hr { clear: both;} /*-clear-*/
article ,section ,nav ,dl,ul,div { padding: 0 0 5px; overflow: visible;} /*-hasLayout-*/
input [type="text"],
input [type="button"],
input [type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0;}
input [type="button"],
input [type="submit"] { cursor: pointer;} /*-formAppearanceClear-*/

h1,h2,h3,h4,h5,p,dl,ul,ol { margin-top: 0;}
ul { list-style: none;}
ul,ol { padding-left: 0px;} /* 30px */
textarea { max-width: 95%;}
fieldset { margin: 0 0 1em; padding: 0 0 5px; border: none;}
a { color: #0044cc; text-decoration: underline;}
a:visited { color: #13416f;}
a:hover { color: #14205F;}
a:active { color: #5D0000;}
a:hover img{opacity: 0.8;}
img { border: none; vertical-align: middle;}

#Map,#Map *,#jump { padding: 0; overflow: visible;}
#jump a { position: absolute; width: 0; height: 0; overflow: auto; text-indent: -1000em;}
#jump a:focus { width: 12em; height: 1.5em; text-indent: 0; background: #FFFFFF; text-align: center;}


/* コンテンツの幅 */
body { min-width: 320px;}
#TOP { min-width: 1024px; padding-bottom: 0;}

header .wrap,
header nav ul,
.contents .wrap,
footer .wrap,
footer .nav ul { width: 1024px; margin: 0 auto;}

.contents_wrap {}
.contents_wrap:after { display: block; content: ""; clear: both;}
.contents .contents_inner { float: left; width: 700px; margin-right: 24px; padding: 0;}
.contents nav { float: left; width: 300px;}

.no_nav .contents .contents_inner,
.no_nav .contents nav { float: none; width: 100%; margin-left: auto; margin-right: auto;}

/* タイトル */
header h1 { font-size: 1em;}
header h1,
header .title { width: 300px; margin: 0; padding: 0; float: left; border: none;}
header h1 a,
header .title a { display: block; height: 100%;}
header h1 img,
header .title img { max-width: 100%; height: auto;}


/* ページコントロール - 切り替えボタン */
.conf,
.UD{float:left;margin:0;padding:0;}
.page_control{ float:right; margin: 0; padding:0;}
.page_control dl,
.page_control dl dt,
.page_control dl dd { min-height:34px; margin:0; padding:0;font-size: 0.95em;}
.page_control dl{ float:left; display: flex; height:34px ; margin:0 0.5em 0 0; padding:0; overflow: hidden;}
.page_control dl dt{ width:34px;}
.page_control dl.color_change dt,
.page_control dl.textsize_change dt { display: flex; justify-content: center; align-items: center;}
.page_control dl.color_change dt { width: 60px;}
.page_control dl.textsize_change dt { width: 90px;}
.page_control dl dd a { display: block; width:30px; height:30px; margin: 2px; border: 2px solid #F0EFEE; border-radius: 50%;}
.page_control dl.color_change dd a { background-color: #fff;}
.page_control dl.color_change dd.high a { background-color: #000;}
.page_control dl.color_change dd.low a { background-color: #ccc;}
/**/
.page_control dl dd a { background-color: #cccccc;} /* ボタン色 */
.page_control dl dd a:hover,
.page_control dl dd a:focus { border-color: #C00000;} /* ホバー色 */


/* ページコントロール - 翻訳ボタン */
.page_control .voice { float: left; display: block; height: 34px; margin:0 0.5em 0 0; padding: 0; text-align: center;}
.page_control .voice a { display: flex; justify-content: center; align-items: center; height: 100%; padding: 0 1em; font-size: 0.8em; text-decoration: none;}
/**/
.page_control .voice a { color: #fff; background-color: #333333;} /* ボタン色 */
.page_control .voice a:hover,
.page_control .voice a:focus { background-color: #C00000;} /* ホバー色 */


/* ページコントロール - 検索 */
.page_control .search { width:180px; margin: 0; padding: 0; float: right; text-align: center;}
.page_control .search div { margin:0; padding:0;}
.page_control .search label.search_txt{ float:left; display:flex; align-items: center; justify-content: center; height: 34px; width: 0px; font-size: 0.9em; overflow: hidden;}
.page_control .search .search_inner { width: calc(100% - 0px); border: 2px solid #333;}
.page_control .search input#search_txt {display: block; height: 30px; width:calc(100% - 4em); margin: 0%; padding: 0px 0.5em; line-height: 36px; background-color: #fff; border:none;float:left;}
.page_control .search input#search_txt:focus {background-color:#FFFFFF;outline:1px solid #CCC;}
.page_control .search input.search_bt { display: block; width: 4em; height:30px; ;margin: 0; padding:0px 0; font-weight:bold;border:none;float:left;}
/**/
.page_control .search .search_inner { border-color: #333; background-color: #FFF;} /* 検索枠色 */
.page_control .search input.search_bt { color:#FFF; background-color: #333;} /* 検索ボタン色 */
.page_control .search input.search_bt:hover,
.page_control .search input.search_bt:focus { background-color: #C00000;} /* 検索ボタン ホバー色 */


/* ハンバーガーメニュー・コンフィグメニュー */
.mb_global_menu { display: none; position: fixed; top: 0%; left: 0%; right: 0%; height: 52px; padding: 0; background-color: rgba(0,0,0,0.6); z-index: 110; }
.mb_global_menu ul { display: flex; justify-content: center; align-items: stretch; height: 100%; margin: 0; padding: 0;}
.mb_global_menu li { width: 33.3333333%; border-left: 1px solid rgba(255,255,255,0.6);}
.mb_global_menu li.mb_menu01 { border: none;}
.mb_global_menu a { position: relative; display: block; height: 100%; width: 100%; color: #fff!important; text-decoration: none;}
.mb_global_menu .mb_item { position: absolute;}
.mb_global_menu .mb_item.icon { width: 26px; height: 26px; top: 4px; left: 50%; margin-left: -13px; background: center center no-repeat transparent; background-size: contain; transition-duration: 0.2s;}
.mb_global_menu .mb_item.text { display: flex; justify-content: center; align-items: center; top: 30px; bottom: 0px; left: 0px; right: 0px; font-size: 0.65em; text-shadow: 0 0 6px #000, 0 0 3px #000;}

.mb_global_menu li.mb_menu01 .mb_item.icon { background-image: url("../img/mbmenu_icon01.png");}
.mb_global_menu li.mb_menu02 .mb_item.icon { background-image: url("../img/mbmenu_icon02.png");}
.mb_global_menu li.mb_menu03 .mb_item.icon { background-image: url("../img/mbmenu_icon03.png");}
.mb_global_menu li.mb_menu01.active .mb_item.icon,
.mb_global_menu li.mb_menu02.active .mb_item.icon,
.mb_global_menu li.mb_menu03.active .mb_item.icon { background-image: url("../img/mbmenu_icon00.png"); transform: rotate(360deg);}

.menu_bg,
.conf_bg,
.search_bg { display: none; position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; background-color: rgba(64,64,64,0.85); z-index: 100;} /* スマートフォン時の背景 */

/* グローバルメニュー - 下階層 */
#menu li dt a { position: relative; display: flex; align-content: center; justify-content: center; height: 100%; transition-duration: 0.15s; flex-wrap: wrap;}
#menu ul.sub_category { background: yellow;} /* サブカテゴリ　背景色 */

header nav,
#menu { overflow: visible;}
#menu dl { position: relative; height: 100%; margin: 0px; padding: 0px; box-sizing: border-box; overflow: visible;}
#menu dl dt { height: 100%;} 
header nav ul li a,
#menu dl dt a { transition-duration: 0.2s;}
#menu dl dd { position: absolute; top: 100%; width: 1024px; padding: 0px; margin: 0px; max-height: 0px; transition-duration: 0.4s; overflow: hidden; z-index: 1000;} /* サブカテゴリ */
header nav.active #menu dl dd { top: 100%;}
#menu li.menu02 dl dd { left: -100%;}
#menu li.menu03 dl dd { left: -200%;}
#menu li.menu04 dl dd { left: -300%;}
#menu li.menu05 dl dd { left: -400%;}
#menu li.menu06 dl dd { left: -500%;}

#menu dl:hover dd,
#menu dl.focus dd{ height: auto; max-height: 600px; margin: 0px;}
#menu ul.sub_category { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; height: auto; width: auto; margin: 0px;}
#menu ul.sub_category li { flex-basis: 25%;}
#menu ul.sub_category li a { display: flex; height: calc(100% - 10px); margin: 5px; padding: 1em;	text-decoration: none; background: #fff; transition-duration: 0.15s; box-sizing: border-box;} /* サブカテゴリ項目 */

#menu ul.sub_category li a { position: relative;}
#menu ul.sub_category li a:hover,
#menu ul.sub_category li a:focus { background-color: rgba(0,255,255,1);} /* サブカテゴリ項目　ホバー色 */
#menu ul.sub_category li a:hover:before,
#menu ul.sub_category li a:focus:before { left: 1.3em;}



/* フッター */
footer dl{ float: left; margin:1em 0 0 0;padding:0 0 1em 0;}
footer dt{margin:0;padding:0; font-size: 1.3em; margin-bottom: 0.5em;}
footer dd{margin:0;padding:0;}

footer .copyright { clear: both;}
footer .copyright span {}
footer .reread_link{ width:110px; height: 110px; position:fixed; bottom: 10px; right:0; padding: 0; z-index: 100;}
footer .reread_link a { display:block; height:100%; width: 100%; overflow:hidden; text-indent:-1000em; background:url(../img/reread_link.png) rgba(176,214,99,0.8); border-radius: 50%; background-size: contain;}
footer .reread_link a img { max-width: 100%; height: auto;}
footer .reread_link a:hover{opacity:0.8;}

footer .nav { padding: 2.4em 1em 0em;}
footer .nav ul { display: flex; justify-content: center; align-items: stretch; margin-bottom: 0;}
footer .nav li { padding: 0.3em 2em; border-left: 1px dotted #000;}  
footer .nav li:first-child { border: none;}
footer .nav a { display: block; height: 100%; text-shadow: 2px 2px 4px #fff, 2px -2px 4px #fff, -2px -2px 4px #fff, -2px 2px 4px #fff}
footer .nav a:hover,
footer .nav a:focus { text-decoration: underline;}

footer .wrap { text-align: center; padding-bottom: 0;}

footer .wrap { text-align: center; padding-bottom: 0;}
footer .wrap dl { display: inline-block; text-align: center; margin: 0 0.5em 0.5em; padding: 0;}
footer .wrap dt { width: 100%; margin: 0;padding: 0; font-size: 1.3em; margin-bottom: 0.5em;}
footer .wrap dd { margin: 0; padding: 0;}
footer .wrap dd p:last-of-type { margin-bottom: 0;}

/* お問い合わせ */
footer .inquiry { display: flex; justify-content: center; margin: 0;}
footer .inquiry li { margin: 0.5em 10px;}
footer .inquiry a { display: block; padding: 0.5em 3em 0.5em 1em; font-size: 0.85em; background: url("../img/arrow_right_white.png") right 0.5em center no-repeat #EDEEF1; transition: background-position 0.15s; margin: 2px;}
footer .inquiry a:hover,
footer .inquiry a:focus { background-position: right 0.2em center; background-color: #E2E2E2; border: 2px #90391b solid; margin: 0;}
footer .inquiry .color1 a {
	background-color: #b57a23;
}
footer .inquiry .color2 a {
	background-color: #db7552;
}
footer .inquiry .color3 a {
	background-color: #da980f;
}



/* コンテンツ */
.contents h1 {}
.contents nav { overflow: visible;}
.contents nav ul,
.contents nav dl { padding:0;list-style:none;}





/* サブトップ */
.subtop .list { display: flex; flex-wrap: wrap;}
.subtop .category  { width: 48%;}
.subtop .category.left { margin-right: 2%;}
.subtop .category.right { margin-left: 2%;}
.subtop .section { margin-bottom: 1em; background-color: #eee;}
.subtop .section ul { display: none;}
.subtop .section li.more { margin-top: 1em;}

.subtop .listopen.active .text_open,
.subtop .listopen .text_close { display: none;}
.subtop .listopen .text_open,
.subtop .listopen.active .text_close { display: block;}


/* 施設マップ */
.contents .article .map_section .left_menu_list{width:34%;margin:0 1% 0 0;padding:0;float:left;}
.contents .article .map_section .left_menu_list h2{font-size:1.3em;background:initial;border:none;border-bottom:3px solid #002251;}
.contents .article .map_section .mapobject_list{width:auto; margin:0px;overflow:auto;padding:.4em;max-height:20em;}
.contents .article .map_section .mapobject_list small{overflow:visible;}
.contents .article .map_section .mapobject_kind{height:250px;width:auto;max-height: 20em;margin: 0px; overflow:auto;padding:.2em .4em;line-height:1.8em;}
.contents .article .map_section .right_contents{width:64%;margin:2.1em 0 0 1%;padding:0;float:right;}
.contents .article .map_section .right_contents *{overflow:visible;padding:0;}
.contents .article .map_section .mapobject_map{width:auto;height:600px;border:1px solid #ddd;}
.contents .article .map_section .mapobject_map .gm-style,
.contents .article .map_section .mapobject_map .gm-style div{font-size:1em!important;font-weight:normal!important;line-height:1.3;}
.contents .article .map_section .mapobject_map .gm-style .gm-style-cc span,
.contents .article .map_section .mapobject_map .gm-style .gm-style-cc a,
.contents .article .map_section .mapobject_map .gm-style .gm-style-mtc div,
.contents .article .map_section .mapobject_map .gm-style .gm-style-iw{font-size:0.8em!important;font-weight:normal!important;line-height:1.3;}

/*************************************************
 CMS用テンプレート  .txtbox内部
**************************************************/
/* 見出し */
.txtbox { word-break: break-word;}

.txtbox h2 {
	position: relative;
	padding: 15px 10px 11px 26px;
	background: #e3c98c;
	font-weight: normal;
}
	.txtbox h2::before {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 1px;
		width: 8px;
		height: calc(100% - 18px);
		margin: auto;
		background: #d57b53;
	}
.txtbox h3,
.file_section h2,
.link_section h2,
.map_section h2 {
	position: relative;
	margin: 0 0 20px;
	padding: 17px 10px 16px 23px;
	border-bottom: 5px #e3c98c solid;
	font-weight: normal;
	font-size: 140%;
}
	.txtbox h3::before,
	.file_section h2::before,
	.link_section h2::before,
	.map_section h2::before {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 0px;
		width: 7px;
		height: calc(100% - 14px);
		margin: auto;
		background: rgb(219,155,23);
		background: linear-gradient(180deg, rgba(225,188,106,1) 50%, rgba(213,123,83,1) 50%);
	}
* + .file_section h2,
* + .link_section h2,
* + .map_section h2 {
	margin-top: 24px;
}
	.file_section h2::before,
	.link_section h2::before,
	.map_section h2::before {
		height: calc(100% - 17px);
	}
.txtbox h4 {
	position: relative;
	padding: 7px 10px 10px 28px;
	font-weight: normal;
	font-size: 130%;
}
	.txtbox h4::before {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 0px;
		width: 21px;
		height: 21px;
		margin: 10px auto;
		border-radius: 50%;
		background: #d57b53;
	}
	.txtbox h4 .inner {
		display: block;
	}
		.txtbox h4 .inner::after {
			content: "";
			display: block;
			position: absolute;
			left: 0;
			bottom: 0px;
			width: 100%;
			height: 1px;
			background: url("../img/line_dott_2.gif") left top repeat-x;
		}
	.txtbox h4::after {
		content: "";
		display: block;
		position: absolute;
		top: 6px; bottom: 0;
		left: 6px;
		width: 9px;
		height: 9px;
		margin: 10px auto;
		border-radius: 50%;
		background: #faf5f1;
	}
.txtbox h5 {
	position: relative;
	padding: 4px 10px 4px 26px;
	font-weight: normal;
	font-size: 110%;
}
	.txtbox h5::before {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 3px;
		width: 8px;
		height: 100%;
		margin: auto;
		background: #e1bc6a;
	}
.txtbox h6 {
	position: relative;
	padding: 4px 10px 4px 27px;
	font-weight: normal;
	font-size: 110%;
}
	.txtbox h6::before {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 3px;
		width: 14px;
		height: 14px;
		margin: auto;
		background: #e3c98c;
	}

.txtbox ul > li::before,
ul.link_list li::before {
	width: .8em;
	height: .8em;
	background: #db9b17;
}


/* table */
.txtbox table {
	margin: 20px 0;
}
.txtbox table caption,
.txtbox table th {
	font-weight: bold;
}
.txtbox table th,
.txtbox table td { border: 2px solid #c0a362;} /* テーブル線の色 */
.txtbox table th { background: #e1bc6a;} /* THの色 */

.txtbox .box-image.triple {
	display: flex;
	width: 100%;
	justify-content: center;
}
.txtbox .box-image.triple li {
	float: none;
	max-width: 350px;
	margin: 0 1.5% 1%;
}

ul.file_list li {
	margin-bottom: .5em;
	padding-left: 2.5em;
}
	ul.file_list li::before {
		width: 22px;
		height: 22px;
	}
ul.link_list li {
	margin-bottom: .5em;
}
.acrobat {
	margin-top: 2.5em;
	margin-bottom: 17px;
	padding: 15px 25px;
	background: #e9e2c5;
}
	.acrobat_wrap {
		padding: 0;
	}
	.acrobat_comment {
		width: calc(100% - 13em);
		margin-left: 0;
	}
	.acrobat .file_link_icon {
		float: right;
		width: 11.3em;
		padding: 0;
	}
		.acrobat .file_link_icon a {
			display: block;
			padding: 5px;
			color: #000;
			text-decoration: none;
			text-align: center;
			background: #dfdddd;
		}
			.acrobat .file_link_icon .acrobat_wrap {
				display: block;
				padding: 13px 0 8px;
				border: 2px #FFF solid;
				background: rgb(255,255,255);
				background: linear-gradient(117deg, rgba(255,255,255,1) 70%, rgba(243,243,243,1) 70%);
			}
				.acrobat .file_link_icon .acrobat_wrap .str {
					display: block;
					font-size: 90%;
				}
		.acrobat .file_link_icon a:hover {
			background: #db9b17;
		}
			.acrobat .file_link_icon a:hover img {
				opacity: 1;
			}
.info_section {
	margin: 30px 0 0;
	padding: 16px 16px;
	background: #e3c98c;
}
	.info_section h2 {
		padding: 6px 8px 14px;
		font-weight: normal;
		font-size: 140%;
		border-bottom: 2px #737979 dotted;
	}
	.info_section .info_wrap {
		overflow: hidden;
		padding: 0;
	}
		.info_section .info_comment {
			float: left;
			width: calc(100% - 18.5em);
			padding: 0 10px;
		}
		.mail_link {
			float: right;
			width: 18em;
			overflow: hidden;
		}
			.mail_link a {
				display: block;
				position: relative;
				margin: 8px;
				padding: 28px 2.5em 28px 1em;
				border-radius: 4px;
				background: #FFF;
				color: inherit;
				font-weight: bold;
				text-decoration: none;
				box-shadow: 0 0 8px #cbab62;
			}
				.mail_link a img {
					margin-right: 16px;
				}
				.mail_link a::after {
					content: "";
					display: block;
					position: absolute;
					top: 0; bottom: 0;
					right: 13px;
					width: 11px;
					height: 16px;
					margin: auto;
					background: url("../img/arrow_right_orande-red2.png") left top no-repeat;
					background-size: 100% 100%;
					transition: all .2s;
				}
			.mail_link a:hover {
				margin: 5px;
				border: 3px #d57b53 solid;
				background: #fff6db;
			}
				.mail_link a:hover img {
					opacity: 1;
				}
				.mail_link a:hover::after {
					right: 8px;
				}

.form_section {
	margin: 30px 0 0;
}
	.form_section  .section_wrap {
		overflow: hidden;
		padding: 0 1em;
		border: 4px solid #df8668;
	}
		.contents .form_section h2 {
			margin: 0 -1em 1em;
			padding: 0.3em;
			font-size: 1.2em;
			font-weight: normal;
			text-align: center;
			border: none;
			background-color: #df8668;
		}

html {
	background-color: #F1EBCE;
}

body {
	z-index: 1;
	background: #faf5f1 url("../img/bg_body.png") repeat;
	background-color: #F1EBCE!important;
	color: #000;
	-webkit-print-color-adjust: exact;
}

.word_wrap {
	display: inline-block;
}

header .wrap, header nav ul, .contents .wrap, footer .wrap, footer .nav ul, .wrapper {
	box-sizing: border-box;
	width: 100%;
	max-width: 1190px;
	margin: 0 auto;
}

img {
	max-width: 100%; height: auto;
}

.al_center {
	text-align: center;
}

a.btn_link {
	display: inline-block;
	position: relative;
	padding: .7em 80px .7em 1em;
	border: 1px #FFF solid;
	background: #e9e1d1;
	color: #000!important;
	text-decoration: none;
}
	a.btn_link::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 1.2em;
		right: 16px;
		width: 41px;
		height: 8px;
		background: url("../img/arrow_right_brown_2.png.png") left top no-repeat;
	}
a.btn_link:hover {
	background: #d4cab7;
}

.panel {
	display: block;
	position: relative;
	/* padding: 20px 10px 20px 31px; */
	background: #e1bc6a;
	font-size: 140%;
}
	.panel::after {
		content: "";
		display: block;
		position: absolute;
		top: 0; bottom: 0;
		left: 12px;
		width: 5px;
		height: calc(100% - 24px);
		margin: auto;
		background: #FFF;
	}

.panel a {
	display: block;
	padding: 20px 10px 20px 31px;
	text-decoration: none;
	color: #000;
}
.panel a:hover
{
	background-color: rgba(209,86,44,0.6);
}


a.panel:hover {
	background: #c4a256;
}

header .inner {
	padding: 10px 0;
	max-height: 50px;
}
header .wrap {
	width: 100%;
	max-width: 1009px;
	overflow: visible;
}
	.page_control {
		display: flex;
		float: none;
		justify-content: center;
		padding: 0;
		overflow: visible;
	}
		.page_control .conf {
			float: none;
			width: calc(100% - 220px);
			overflow: visible;
		}
			.page_control .reading_out {
				float: left;
				height: 30px;
				margin-right: 1%;/*5%;*/
				margin-bottom: 8px;
				padding: 0;
			}
				.page_control .reading_out button {
					display: block;
					box-sizing: border-box;
					width: 73px;/*133px;*/
					height: 100%;
					/*padding: 2px 14px;*/
					padding: 2px 6px;
					border: none;
					border-radius: 2px;
					background: #FFF;
					font: inherit;
					line-height: 1.3;
					font-size: 85%;
					color: #444;
					cursor: pointer;
				}
					.page_control .reading_out button img {
						vertical-align: top;
						margin: .1em 8px 0 0;
					}
				.page_control .reading_out button:hover {
					/*padding: 0px 12px;*/
					border: 2px #da704c solid;
				}
/* ページコントロール - るびボタン */
.page_control .ruby{float: left;height: 30px;margin-right: 1%;margin-bottom: 8px;padding: 0;background: #fff;}
.page_control .ruby a{display: block;box-sizing: border-box;height: 100%;padding: 0 8px;border: none;border-radius: 2px;background: #FFF;font: inherit;font-size: inherit;line-height: inherit;line-height: 30px;font-size: 85%;color: #444;}
.page_control .ruby a:hover { box-shadow: inset 0 0 0 2px #da704c;}
			.page_control .voice {
				position: relative;
				height: 30px;
				margin: 0 3% 8px 0;
				overflow: visible;
			}
				.page_control .voice a {
					width: 148px;
					padding: 0 0em;
					background: #000;
					color: #FFF!important;
				}
					.page_control .voice a img {
						margin-left: .8em;
						transition: all 0.4s;
					}
					.page_control .voice a.show img {
						transform:  scale(1, -1);
					}
				.page_control .voice .show_hide {
					display: none;
					position: absolute;
					top: 100%;
					left: 0;
					z-index: 10000;
					width: 100%;
					padding: 0;
					background: rgba(0, 0, 0, 0.6);
				}
					.page_control .voice .show_hide a {
						display: block;
						padding: .5em;
						background: none;
					}
					.page_control .voice .show_hide a:hover {
						background: rgba(0, 0, 0, 0.6);
					}
			.page_control dl dt {
				font-size: 80%;
			}
			.page_control dl dd a {
				box-sizing: border-box;
				width: 30px;
				height: 30px;
				margin: 0;
				margin: 2px;
				border-radius: 2px;
				border: none;
			}
				.page_control dl dd a img {
					transform: translate(2px, 2px);
				}
			.page_control dl dd a:hover,
			.page_control dl dd a:focus {
				margin: 0px;
				box-sizing: initial;
				border: 2px #da704c solid;
			}
				.page_control dl dd a:hover img {
					opacity: 1;
				}
			.page_control dl dd + dd {
				margin-left: 5px;
			}
			.page_control dl.textsize_change {
				margin-left: 17px;
			}
				.page_control dl.textsize_change dd a {
					line-height: 30px;
					background: #e9c36f;
					color: #000!important;
					text-decoration: none;
				}
					.page_control dl.textsize_change dd a span {
						display: inline-block;
						line-height: 28px;
						padding: 0 .5em;
					}
				.page_control dl.textsize_change dd a:focus {
					background-color: #000;
					color: #FFF!important;
				}
			.page_control .search {
				width: 244px;
			}
				.page_control .search .search_inner {
					display: flex;
					overflow: hidden;
					border: none;
					background: none;
				}
					.page_control .search .search_inner .search_icon {
						float: left;
						margin-top: 8px;
						margin-right: 5px;
						margin-bottom: 6px;
					}
					.page_control .search .search_txt_wrap {
						display: block;
						position: relative;
						float: left;
						width: calc(100% - 4em - 15px);
						height: 34px;
						overflow: hidden;
						background: #FFF;
					}
						.page_control .search .search_txt_wrap::before {
							content: "";
							display: inline-block;
							position: absolute;
							left: 4px;
							top: 10px;
							width: 31px;
							height: 54px;
							background: url("../img/chara.png") left top no-repeat;
							background-size: 100% auto;
							transition: all 0.15s;
						}
						.page_control .search .search_txt_wrap:hover::before {
							top: 2px;
						}
						.page_control .search input#search_txt {
							width: 100%;
							height: 100%;
							overflow: hidden;
							padding: 0px 0.5em 0px 41px;
						}
						.page_control .search input#search_txt:focus {
							outline: none;
						}
					.page_control .search input.search_bt {
						float: right;
						height: 34px;
						border: 3px #FFF solid;
					}
body:not(.top) header {
	background: url("../img/sub_header_bg.png") left top no-repeat;
	background-size: 100% auto;
}
body:not(.top) header .wrap {
	max-width: 1160px;
}
	body:not(.top) header .site_name {
		float: left;
		margin-right: 2%;
		padding: 0 0 16px 10px;
	}
	body:not(.top) .page_control {
		padding-top: 5px;
	}
		body:not(.top) .page_control .reading_out {
			margin-right: 1%;/*3%;*/
		}
		body:not(.top) .page_control .ruby {
			margin-right: 1%;/*3%;*/
		}
		body:not(.top) .page_control .voice {
			margin-right: 1%;/*2%;*/
		}
		body:not(.top) .page_control .page_control dl {
			margin: 0;
		}
			body:not(.top) .page_control .page_control dl dt {
				font-size: 80%;
			}
			body:not(.top) .page_control dl.color_change dt {
				width: 40px;
			}
		body:not(.top) .page_control dl.textsize_change {
			margin: 0px;
		}
			body:not(.top) .page_control dl.textsize_change dt {
				width: 70px;
			}

.scroll_menu {
	position: relative;
	z-index: 1000;
	padding: 0;
}
body.scroll .scroll_menu {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	transition: opacity .4s;
}
.site_name_wrap {
	display: flex;
	justify-content: space-between;
	padding: 0;
	overflow: hidden;
}
	.site_name {
		width: auto;
		height: auto;
		margin: 0;
		padding: 0px;
		text-align: center;
	}
	.global.wrap {
		position: relative;
		max-width: 1200px;
		min-height: 94px;
		padding: 20px 20px 0;
		background: url("../img/g_nav_bg.png") center top no-repeat;
		background-size: 100% auto;
	}
		#menu {
			display: flex;
			padding: 0;
		}
			#menu > li {
				margin: 0;
				padding: 5px 0 0;
			}
				#menu > li dl {
					position: static;
					padding: 0;
				}
					#menu > li dl dt a,
					#menu > li > a {
						display: block;
						position: relative;
						padding: 0 20px 20px;
						text-decoration: none;
						text-align: center;
					}
						#menu > li dl dt a::after,
						#menu > li > a::after {
							content: "";
							position: absolute;
							bottom: 0px;
							left: 2px;
							width: 0;
							height: 7px;
							background: #d69b20;
							transition: all 0.4s;
						}
						#menu > li dl dt a:hover::after,
						#menu > li > a:hover::after {
							width: calc(100% - 4px);
						}
						#menu > li.menu01 img {
							max-width: 153.65px;
						}
						#menu > li.menu02 img {
							max-width: 136.4px;
						}
						#menu > li.menu03 img {
							max-width: 180.483px;
						}
						#menu > li.menu04 img {
							max-width: 132.567px;
						}
						#menu > li.menu05 img {
							max-width: 184.333px;
						}
						#menu > li.menu06 img {
							max-width: 132.567px;
						}
						#menu > li img {
							width: 100%; height: auto;
						}
				.global #menu > li dl dd {
					top: calc(100% - 3px);
					left: 14px;
					width: calc(100% - 20px);
				}
					#menu ul.sub_category {
						padding: 19px 15px 1px;
						background: #db7b59;
					}
						#menu ul.sub_category li {
							flex-basis: calc(25% - 22px);
							line-height: 1.3;
							margin: 0 11px 18px;
						}
							#menu ul.sub_category li a {
								display: block;
								position: relative;
								height: auto;
								margin: 0;
								padding: 1.2em 40px 1.2em .5em;
								background: rgb(255,255,255);
								background: linear-gradient(135deg, rgba(255,255,255,1) 70%, rgba(241,234,197,1) 70%);
								color: #000!important;
								font-size: 110%;
								transition: all 0.4s;
							}
								#menu ul.sub_category li a::after {
									content: "";
									display: block;
									position: absolute;
									right: 13px;
									top: 0; bottom: 0;
									width: 12px;
									height: 18px;
									margin: auto;
									background: url("../img/arrow_right_orange.png");
									transition: all 0.2s;
								}
							#menu ul.sub_category li a:hover {
								opacity: 0.8;
							}
								#menu ul.sub_category li a:hover::after {
									right: 8px;
								}
			#menu > li + li dl dt a::before,
			#menu > li + li > a::before {
				content: "";
				display: block;
				position: absolute;
				top: -5px;
				left: -2.5px;
				width: 5px;
				height: 100%;
				background: url("../img/g_nav_line.png") left center no-repeat;
			}
#menu {
	z-index: 105;
}
.pickup_menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	width: 100%;
	padding: 0;
}
	#pickup_menu {
		display: inline-block;
		position: absolute;
		top: 20px;
		right: 0;
		padding: 0;
		border: none;
		background: none;
		font: inherit;
		cursor: pointer;
		transition: all .4s;
	}
	#pickup_menu:hover {
		opacity: 0.8;
	}
	.pickup_menu_wrap {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-height: none;
		padding: 0 0 46px;
		background: #f1ebce;
	}
		#pickup_menu_ttl {
			margin: 0;
			padding: 2% calc(3% + 68px);
			text-align: center;
			font-weight: normal;
			font-size: 180%;
			letter-spacing: .15em;
		}
			#pickup_menu_ttl small {
				display: block;
				color: #88381C;
				font-size: 50%;
			}
		.pickup_menu_wrap ul {
			display: flex;
			flex-wrap: wrap;
			max-width: 1060px;
			padding: 0;
		}
			.pickup_menu_wrap ul li {
				width: 162px;
				margin: 0 2% 44px;
				background: #FFF;
				box-shadow: 4px 4px 0px #cac5ad;
			}
				.pickup_menu_wrap ul a {
					display: block;
					position: relative;
					overflow: hidden;
					line-height: 1.4;
					padding: 123px 8px 28px;
					color: #000!important;
					font-size: 105%;
					text-decoration: none;
					text-align: center;
				}
					.pickup_menu_wrap ul a img {
						position: absolute;
						top: 11%;
						left: 0; right: 0;
						margin: auto;
					}
		.pickup_close {
			display: block;
			position: absolute;
			top: 8%;
			right: 3%;
			border: none;
			background: none;
			font: inherit;
			cursor: pointer;
			transition: all .2s;
			opacity: 0;
		}
		.on .pickup_close {
			opacity: 1;
		}
		.on .pickup_close:hover {
			opacity: 0.8;
		}

div.locus {
	margin: 0;
	padding: .6em 16px;
	background: #f1ebce;
}
	p.locus {
		display: block;
		width: 100%;
		max-width: 1080px;
		margin: 0 auto;
	}

.page_ttl_wrap {
	position: relative;
	overflow: hidden;
	padding: 50px 8px;
	background: #e3c98c url("../img/page_title_bg.png") center center no-repeat;
}
	.page_ttl {
		position: relative;
		max-width: 1130px;
		margin: 0 auto;
		padding: 26px 8px 26px 38px;
		font-weight: normal;
		font-size: 190%;
	}
		.page_ttl::before {
			content: "";
			position: absolute;
			left: 0;
			top: 0;
			width: 7px;
			height: 100%;
			background: rgb(210,118,72);
			background: linear-gradient(0deg, rgba(210,118,72,1) 50%, rgba(219,155,23,1) 50%);
		}
		.page_ttl .inner {
			display: block;
			max-width: 840px;
		}

.contents_wrap.wrap {
	overflow: hidden;
	max-width: 1160px;
	margin: 38px auto 0;
}
	.contents_wrap .contents_inner {
		width: 780px;
	}
		.bg {
			padding: 18px 21px;
			background: #f8f5e6;
		}
		.news_sec {
			position: relative;
			max-width: 1020px;
			margin: 0 auto;
		}
			.news_sec .ttl {
				position: relative;
				padding: 0px 2px 0px 14px;
				font-size: 100%;
			}
				.news_sec .ttl img {
					margin-right: 8px;
				}
				.news_sec .ttl::after {
					content: "";
					display: block;
					position: absolute;
					bottom: 0; left: 0;
					width: 100%;
					height: 5px;
					background: rgb(209,86,44);
					background: linear-gradient(90deg, rgba(209,86,44,1) 34%, rgba(225,195,125,1) 34%);
				}
			.news_sec .list_link {
				position: absolute;
				right: 21px;
				top: 18px;
			}
				.news_sec .list_link .btn_link {
					padding: .5em 39px .5em .5em;
					background: #e1bc6a;
				}
					.news_sec .list_link .btn_link::after {
						top: .9em;
						right: 10px;
						width: 9px;
						height: 14px;
						background: url("../img/arrow_right_brown_2.png") left top no-repeat;
						transition: all .2s;
					}
				.news_sec .list_link .btn_link:hover {
					background: #e08365;
				}
					.news_sec .list_link .btn_link:hover::after {
						right: 6px;
					}
			/*.nodata {
				display: none;
			}*/
			.news_sec .news dt {
				display: inline-block;
				width: 7em;
				padding: 20px 1.5em 19px 10px;
			}
			.news_sec .news dd {
				position: relative;
				padding: 20px 0 19px 7em;
				border-bottom: 2px dotted #b3b1a6;
			}
				.news_sec .link_text:hover {
					text-decoration: underline;
				}

			.menu_list {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				align-items: flex-start;
				margin: 27px auto 0;
				padding: 0;
			}
				.menu_list li {
					width: calc(50% - 20px);
					margin: 0px 0px 33px;
				}
					.menu_list li .panel {
						display: block;
						line-height: 1.3;
					}
					.menu_list.single li a {
						padding: 20px 10px 20px 31px;
						border-bottom: 3px #ac9157 solid;
					}
				.menu_list.definition li {
					background: #f8f5e6;
				}
					.menu_list.definition li dl {
						margin: 0;
						padding: 0;
					}
						.menu_list.definition li .term {
							margin: 0;
							background: url("../img/menu_list_ttl_bg_body.png") left top repeat;
						}
							.menu_list.definition li .term .panel {
								background: url("../img/menu_list_ttl_bg_head.png") left top no-repeat;
							}
						.menu_list.definition li .discription {
							margin: 0;
							padding: 0;
						}
							.contents nav .definition dd a,
							.menu_list.definition li .discription a {
								display: block;
								padding: 8px 16px 0;
							}
								.contents nav .definition dd a .inner,
								.menu_list.definition li .discription a .inner {
									display: block;
									position: relative;
									padding: 20px 24px 20px 8px;
									border-bottom: 2px #9f9d94 dotted;
								}
									.contents nav .definition dd a .inner::after,
									.menu_list.definition li .discription a .inner::after {
										content: "";
										position: absolute;
										top: 0; bottom: 0;
										right: 4px;
										width: 12px;
										height: 18px;
										margin: auto;
										background: url("../img/arrow_right_orande-red2.png") left top no-repeat;
										transition: all .2s;
									}
									.contents nav .definition dd a:hover .inner::after,
									.menu_list.definition li .discription a:hover .inner::after {
										right: 0px;
									}
							.contents nav .definition dd a:hover,
							.menu_list.definition li .discription a:hover {
								background: #efe7c7;
							}
							.menu_list.definition li .discription + .discription a {
								padding-top: 0;
							}
					.menu_list.definition li .list_link {
						margin: 0;
						padding: 0;
					}
						.menu_list.definition li .list_link a {
							display: block;
							padding: 18px 10px 18px 25px;
						}
						.menu_list.definition li .list_link a:hover {
							background: #efe7c7;
						}
			.menu_list + .menu_list {
				margin-top: 0;
			}

	body.menu .wrap.contents_wrap {
		display: flex;
	}
		body.menu .contents_wrap .contents_inner {
			margin-bottom: 31px;
			padding: 15px 35px 15px 25px;
		}
			.menu_list_line {
				margin: 0;
				padding: 0;
				font-size: 1.1em;
			}
				.menu_list_line li {
					padding: 0 0 0.5em;
					border-bottom: 5px solid #e8dfbb;
				}
					.menu_list_line li a {
						position: relative;
						display: block;
						padding: 1.5em 0.5em 0.8em 3.5em;
					}
					.menu_list_line li a:before {
						position: absolute;
						display: block;
						content: "";
						top: 1.45em;
						left: 0.9em;
						height: 1.7em;
						width: 1.4em;
						background: url("../img/ico_file.png") center center no-repeat;
						background-size: contain;
					}
					.menu_list_line li a[href$="index.html"]:before {
						background-image: url("../img/ico_folder.png");
					}
					.menu_list_line li .menu_text {
						display: block;
						padding: 0 1em 0.5em 3em;
					}
	.contents nav {
		float: right;
		width: 320px;
		padding-bottom: 0;
	}
		.contents nav .definition {
			margin-bottom: 31px;
		}
			.contents nav .definition dt {
				background: url("../img/menu_list_ttl_bg_body.png") left top repeat;
			}
				.contents nav .definition .panel {
					padding: 24px 10px 24px 31px;
					background: url("../img/menu_list_ttl_bg_head.png") left top no-repeat;
					font-size: 130%;
				}
					.contents nav .definition .panel::after {
						background: rgb(233,226,197);
						background: linear-gradient(0deg, rgba(233,226,197,1) 50%, rgba(225,188,107,1) 50%);
					}
			.contents nav .definition dd {
				margin: 0;
				padding: 0;
			}
				.contents nav .definition dd a {
					background: #f8f5e6;
				}
				.contents nav .definition dd:last-child a .inner {
					border-bottom: none;
				}
		.contents nav .banner_text {
			margin: 0;
			padding: 0;
		}
			.contents nav .banner_text li {
				margin-bottom: 29px;
			}
				.contents nav .banner_text .panel {
					padding: 7px;
					background: #f8f5e6;
					font-size: 120%;
				}
					.contents nav .banner_text .panel .inner {
						display: block;
						position: relative;
						padding: 21px 83px 21px 27px;
						background: rgb(248,245,230);
						background: linear-gradient(131deg, rgba(248,245,230,1) 79%, rgba(241,234,197,1) 79%);
					}
						.contents nav .banner_text .panel .inner::after {
							content: "";
							display: block;
							position: absolute;
							top: 0; bottom: 0;
							right: 14px;
							width: 12px;
							height: 18px;
							margin: auto;
							background: url("../img/arrow_right_orange.png") left top no-repeat;
							transition: all .2s;
						}
					.contents nav .banner_text .panel::after {
						height: calc(100% - 36px);
						background: rgb(213,123,83);
						background: linear-gradient(0deg, rgba(213,123,83,1) 50%, rgba(225,188,106,1) 50%);
					}
				.contents nav .banner_text .panel:hover {
					background: #e4c88d;
				}
					.contents nav .banner_text .panel:hover .inner::after {
						right: 8px;
					}
		.contents nav .image_banner{
			display: flex;
			justify-content: flex-start;
			flex-wrap: wrap;
		}
			.contents nav .image_banner li{
				  margin-bottom: 10px;
			}
			.contents nav .image_banner li img{
				  width: 100%;
			}

		.contents nav .sec_life_event {
			padding: 24px 18px 1px;
			background: url("../img/life_event_menu_bg_mq.png") center top repeat-y;
		}
			.contents nav .sec_life_event .btn_link_wrap {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}
				.contents nav .sec_life_event .btn_link_wrap li {
					width: calc(50% - 7px);
					margin-bottom: 11px;
				}
					.contents nav .sec_life_event .btn_link_wrap li a {
						display: block;
						margin: 4px;
						padding: 24px 0 12px;
						background: rgba(255, 255, 255, 0.8);
						color: #000;
						text-align: center;
						text-decoration: none;
					}
						.contents nav .sec_life_event .btn_link_wrap li a img {
							height: 53px;
						}
						.contents nav .sec_life_event .btn_link_wrap li a .str {
							display: block;
							margin: 10px 0 0
						}
					.contents nav .sec_life_event .btn_link_wrap li a:hover {
						margin: 0;
						border: 4px #9b7202 solid;
					}
						.contents nav .sec_life_event .btn_link_wrap li a:hover img {
							opacity: 1;
						}
		.contents nav .recommend {
			margin-bottom: 31px;
			border: 11px #e3c98c solid;
			background: #FFF;
		}
			.contents nav .recommend dt {
				padding: 15px 21px;
			}
				.contents nav .recommend dt img {
					margin-right: 11px;
					vertical-align: bottom;
				}
			.contents nav .recommend dd {
				margin: 15px 15px 0;
				padding-bottom: 11px;
				border-bottom: 1px #000 dotted;
			}
				.contents nav .recommend dd a {
					display: block;
					position: relative;
					padding: 0 10px 0 20px;
					text-decoration: none;
				}
					.contents nav .recommend dd a::before {
						content: "";
						position: absolute;
						top: .3em;
						left: 2px;
						width: 10px;
						height: 14px;
						background: url("../img/arrow_right_orange.png") left top no-repeat;
						background-size: 100% auto;
						transition: all .2s;
					}
				.contents nav .recommend dd a:hover {
					text-decoration: underline;
				}
					.contents nav .recommend dd a:hover::before {
						left: 7px;
					}
			.contents nav .recommend dd:last-child {
				border: none;
			}


		.tab_show_hide .show_hide dl {
			margin: 0;
			padding: 0;
		}
			.tab_show_hide .show_hide dl dt,
			.news_section .news dt {
				float: left;
				width: calc(12em + 26px);
				padding: .6em;
			}
				.tab_show_hide .show_hide dl dt .cate,
				.news_section .news dt .cate {
					display: inline-block;
					width: 6em;
					margin-left: 26px;
					color: #000;
					text-align: center;
				}
				.tab_show_hide .show_hide dl dt .cate.menu1,
				.news_section .news dt .cate.menu1 {
					background: #8bcde2;
				}
				.tab_show_hide .show_hide dl dt .cate.menu2,
				.news_section .news dt .cate.menu2 {
					background: #dcd884;
				}
				.tab_show_hide .show_hide dl dt .cate.menu3,
				.news_section .news dt .cate.menu3 {
					background: #e6a88b;
				}
				.tab_show_hide .show_hide dl dt .cate.menu4,
				.news_section .news dt .cate.menu4 {
					background: #a48dbe;
				}
			.tab_show_hide .show_hide dl dd {
				margin: 0;
				padding: .6em .5em .6em calc(13em + 26px);
				border-bottom: 2px dotted #c8c5b9;
			}
				.tab_show_hide .show_hide dl dd a {
					color: #000!important;
					text-decoration: none;
				}
				.tab_show_hide .show_hide dl dd a:hover {
					opacity: 0.8;
				}
		.tab_show_hide .show_hide ol {
			margin: 0em 1em 0 0em;
			padding-left: 0em;
			font-size: 1.1em;
			list-style-position: inside;
		}
			.tab_show_hide .show_hide ol li {
				padding: .6em;
				border-bottom: 2px dotted #c8c5b9;
			}



.page_section.inner_wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 38px 20px 45px;
}

.news_section.inner_wrap {
	width: 100%;
	padding: 28px 21px;
}
	.news_section .news {
		max-width: 998px;
		margin-right: auto;
		margin-left: auto;
	}
		.news_section .news dt,
		.news_section .news dd {
			padding: 1.1em 0 1em ;
		}
		.news_section .news dt {
			width: calc(13em + 26px);
			padding-left: 1.5em;
		}
		.news_section .news dd {
			padding-left: calc(13em + 26px);
			border-bottom: 1px #000 dashed;
		}
		/*12月1日追記　重要なお知らせ一覧用*/
		.news_section .news li{
			padding: 1.1em 0 1em 1.5em;
			border-bottom: 1px #000 dashed;
		}
		/*12月1日追記　アイコン表示ありの新着情報一覧用*/
		.news_section .news.icon dt {
			position:relative;
		}
		.news_section .news.icon .cate {
			position:absolute;
			left:5em;
		}
	.news_section .pager {
		overflow: hidden;
	}

body:not(.top) footer {
	margin-top: 60px;
}
body:not(.top).menu footer {
	margin-top: 29px;
}

/*イベントページ用*/
.event_section .event{margin:.8em;padding:1.7em 1.2em 0.7em 1.2em;border:3px solid #c6c6c6;}
.event_section .event dt{width:11em;margin:0 0 .7em 0;padding: .3em 0;color:#333333;font-weight:bold;background:#e3c98c;text-align: center;float:left;clear:both;}
.event_section .event dd{margin:0 0 1em;padding: .3em 0 .8em 12em;border-bottom:1px dotted #666666;}
.event_section .event dd:last-of-type{border-bottom:none; margin-bottom: 0;}
.event_section .event dt.sp_none{}
.event_section .event dd.sp_none{min-height:2.7em;}



/* ----
カレンダー 追記
---- */
.pager { margin-bottom: 1em;}
.pager:after { display: block; content:""; clear: both;}
.pager ul { margin: 0 auto 1em;}
.pager ul li:before { display: none;}
table.calendar { width: 100%; margin: 0 auto 1em;}

/* 共通 */
.evet_wrap { display: flex; align-items: center; flex-wrap: wrap; width: 100%; padding: 0.3em;}
.evet_wrap.focus { background-color: #EDEDBA;}
/*
table.calendar .evet_wrap { max-width: 165px;}
*/
table.calendar.list .evet_wrap { max-width: inherit;}
table.calendar td dl dd a,
table.calendar.list td dl dd a { margin: 2px 0.5em 2px 0; padding: 0.25em 0.5em 0.25em 0em; text-decoration: none;}
table.calendar td dl dt { color: #333333;}
table.calendar td dl dd a:hover,
table.calendar td dl dd a:focus { background-color: transparent;}


/* 本日の・もうすぐ締切 */
.txtbox .event_calendar_wrap ul > li:before { top: 0.7em;}
.event_calendar_wrap { margin-bottom: 2em; background-color: #E8E8E8;}
.event_calendar_wrap h2,
.event_calendar_wrap h2:first-child { margin-bottom: 0.3em; padding-left: 60px; background: transparent left 8px center no-repeat;}
.event_calendar_wrap ul a { margin-right: 0.75em;}
.todays_event_wrap h2,
.todays_event_wrap h2:first-child { background-image: url("../img/ico_cal_today.png");}
.deadline_event_wrap h2,
.deadline_event_wrap h2:first-child { background-image: url("../img/ico_cal_deadline.png");}


/* イベント検索 */
.event_search_wrap { padding-bottom: 0; background-color: #e3c98c; margin-bottom: 2em;}
.event_search_wrap h2,
.event_search_wrap h2:first-child { margin-bottom: 0.3em; padding-left: 60px; background: url("../img/top_search_ico@2x.png")transparent left 20px center no-repeat; background-size: 1.2em 1.2em;}

.event_search { padding: 0 2em 2em 2em; overflow:auto; }

.search_words { float: left; width: 25em; margin-right: 2em;}
.search_words_label { display: block; padding: 0.5em 0.5em 0.5em 0; font-size: 1.1em;}
form input[type="text"].event_search_txt { width: 100%; height: 3em; padding: 0.5em; font-size: 1.2em;}

.search_category {}
.search_category legend { float: left; margin-right: 0.5em; padding: 0.5em 0; font-size: 1.1em;}
.category_chk { padding-top: 0.25em;}
.category_chk label,
.category_chk input { cursor: pointer;}
.category_chk label { margin-left: 0.3em;}
.search_category span { display: inline-block; margin: 0 0.5em 1em; padding: 0.5em 1em 0.5em 0.5em;}


.event_search_form { margin: 0; padding: 0;}
.event_search_bt_wrap { padding: 1.5em;}
form input[type="button"].event_search_bt { display: block; width: 8em; margin: 0 auto; padding: 0.5em 2em 0.4em; color: #fff; font-size: 1.3em; text-align: center; border: 3px solid #333; background-color: #333; cursor: pointer;}
form input[type="button"].event_search_bt:hover,
form input[type="button"].event_search_bt:focus { border-color: #333; box-shadow: inset 0 0 0 3px #FC9A9F;}

form input[type="submit"].event_search_bt { display: block; width: 8em; margin: 0 auto; padding: 0.5em 2em 0.4em; color: #fff; font-size: 1.3em; text-align: center; border: 3px solid #333; background-color: #333; cursor: pointer;}
form input[type="submit"].event_search_bt:hover,
form input[type="submit"].event_search_bt:focus { border-color: #333; box-shadow: inset 0 0 0 3px #FC9A9F;}


/* テーブル表示 */
table.calendar .cal_ico { width: 32px; height: auto; margin: 1px 1px 1px 0; vertical-align: middle;}
.cal_tag { display: none; margin: 2px 0.25em; padding: 0.25em 0.5em; background-color: #ddd;}

table.calendar:not(.list) .evet_wrap { padding: 0; border-bottom: 2px solid #d5d5d5;}
table.calendar:not(.list) .evet_wrap a { display: block; width: 100%; margin-right: 0; padding: 0.3em;}
table.calendar:not(.list) td:last-of-type .evet_wrap { border-bottom: none;}



/* リスト表示 */
table.calendar.list .cal_ico { display: none;}

table.calendar.list .cal_tag { display: block;}
.cal_tag01 { background-color: #E962A3;} /* タグ01 イベント・祭り */
.cal_tag02 { background-color: #499EC5;} /* タグ02 講座・教室 */

.cal_tag03 { background-color: #64C6C9;} /* タグ03 */
.cal_tag04 { background-color: #FF9F7F;} /* タグ04 */
.cal_tag05 { background-color: #F79BB4;} /* タグ05 */
.cal_tag06 { background-color: #B9AD93;} /* タグ06 */
.cal_tag07 { background-color: #99A5CB;} /* タグ07 */
.cal_tag99 { padding-left: 2em; background: url("../img/calendar_event_ico99.png") left 0.2em center no-repeat #fff; background-size: 1.6em auto; box-shadow: inset 0 0 0 2px #D5D5D5;} /* 事前申込必要 */
.cal_tag100 { background-color: #D2D1B3;} /* 締切日 */
.cal_deadline { background-color: transparent;} /* 締切日時 */


table.calendar.list {}
table.calendar.list td { margin: 0;}
table.calendar.list td dl { display: flex; align-items: stretch; font-size: 2.5em;}
table.calendar.list td dl dt,
table.calendar.list td dl dd { display: flex; align-items: center; margin: 4px; background-color: #E8E8E8;}
table.calendar.list td dl dt { position: relative; justify-content: flex-end; width: 6em; padding: 0.3em 4em 0.2em 0.5em; text-align: right;}
table.calendar.list td dl dd { flex-wrap: wrap; width: calc(100% - 6em);}
table.calendar.list td dl dt:after { display: flex; justify-content: center; align-items: center; position: absolute; top: 0%; bottom: 0%; right: 0%; width: 8em; background: linear-gradient( 90deg, transparent, transparent 2.25em, #D4D4D4 2.25em, #D4D4D4 );}

table.calendar.list td.sat dl dt,
table.calendar.list td.sat dl dd { background-color: #C4EBF2;}
table.calendar.list td.sat dl dt:after { background: linear-gradient( 90deg, transparent, transparent 2.25em, #7ED1E3 2.25em, #7ED1E3 );}
table.calendar.list td.sun dl dt,
table.calendar.list td.sun dl dd { background-color: #FED2D1;}
table.calendar.list td.sun dl dt:after { background: linear-gradient( 90deg, transparent, transparent 2.25em, #FEAEAD 2.25em, #FEAEAD );}

table.calendar.list td dl dt:after,
table.calendar.list td dl dd a { font-size: 0.5em;}
table.calendar.list td dl dd .cal_tag { font-size: 0.45em;}

/*手続きナビ用　21/11/10追記　*/
.txtbox #result{
  margin-top: 20px;
}
.menu .txtbox #button{
  padding: 6px 24px;
  font-size: 1em;
}

/*フッター*/
footer {
	z-index: 0;
	overflow: hidden;
	padding: 0;
	background: url("../img/bg_footer.png") center bottom no-repeat;
	background-size: 100% auto;
}
a.link_text { text-decoration: none; color: #000;} /* 汎用リンク罫線消し、色指定 */
a:visited.link_text { color: #000;}

footer .sitemap { display: flex; justify-content: center; flex-wrap: wrap; padding: 1.6em; background-color: #e4cb91;}
footer .sitemap a.sitemapopen { display: flex; justify-content: center; padding: 0.75em 5em; background: #fff; border-radius: 0.3em; transition-duration: 0.15s;}
footer .sitemap a.sitemapopen span { position: relative; margin-left: 8px;}
footer .sitemap a.sitemapopen span:before { position: absolute; display: block; content: ""; top: 50%; bottom: 0px; left: -26px; width: 16px; height: 16px; margin-top: -8px; background: url("../img/arrow_right_brown_2.png") center center no-repeat; transform: rotate(90deg); transition-duration: 0.15s;}

/**/
footer .sitemap .sitemap_close { display: none;}
footer .sitemap .sitemap_close:before { transform: rotate(90deg);}
footer .sitemap a.sitemapopen.active .sitemap_open { display: none;}
footer .sitemap a.sitemapopen.active .sitemap_close { display: block;}
footer .sitemap .sitemap_wrap { display: none; width: 100%; margin: 1em 0 2em;}
footer .sitemap .sitemap_frame { display: flex; justify-content: space-around;}
footer .sitemap .sitemap_frame > ul,
footer .sitemap dl { text-align: left; overflow: hidden; margin: 0 0.5em 0.5em;}
footer .sitemap .sitemap_frame > ul li,
footer .sitemap dt {
	margin-bottom: .5em;
}
footer .sitemap .sitemap_frame > ul li {
	margin-bottom: 1em;
	font-size: 1.3em;
}
footer .sitemap dd {
	padding-left: 5px;
}
footer .sitemap .sitemap_frame > ul li a,
footer .sitemap dt a { display: block; padding: 0 0 0 1em;  background: url("../img/common_arrow.png") left top 0.25em no-repeat; transition-duration: 0.15s;}
footer .sitemap dd a { display: block; float: left; clear: both; padding: 0.2em 0 0.2em 1.5em; background: url("../img/arrow_right_brown_2.png") left 0.2em top 0.55em no-repeat; background-size: 9px 13px; transition-duration: 0.15s; font-size: 90%;}
footer .sitemap .sitemap_frame > ul li a:hover,
footer .sitemap .sitemap_frame > ul li a:focus,
footer .sitemap dt a:hover,
footer .sitemap dt a:focus { background-position: left 0.3em top 0.25em; text-decoration: underline;}
footer .sitemap dd a:hover,
footer .sitemap dd a:focus { background-position: left 0.45em top 0.55em; text-decoration: underline;}

footer .sitemap a.sitemapopen .sitemap_close:before { transform: rotate(-90deg);}

footer {
	position: relative;
	z-index: 0;
}
	footer .wrap {
		position: relative;
		padding: 0 16px 70px;
		text-align: center;
	}
		footer dl {
			float: none;
		}
		.copyright {
			text-align: center;
			margin: 5px 0 0;
		}
		footer .wrap::before,
		footer .wrap::after {
			content: "";
			display: block;
			position: absolute;
			top: -40px;
			left: -140px;
			width: 100%;
			max-width: 377px;
			height: 324px;
			background: url("../img/bg_footer_left.png") left top no-repeat;
			background-size: 100% auto;
		}
		footer .wrap::after {
			top: 20px;
			right: -120px;
			left: auto;
			max-width: 408px;
			height: 290px;
			background-image: url("../img/bg_footer_right.png");
		}
	footer .reread_link {
		right: 60px;
		width: 150px;
		bottom: 20px;
		height: 265px;
		bottom: calc(2em + 80px);
	}
		footer .reread_link a {
			border-radius: 0;
			background-color: transparent;
		}
	.mq_show {
		display: none;
	}

@media screen and (max-width:1180px) {
	.news_section.inner_wrap {
		width: calc(100% - 32px);
		margin: 0 16px;
	}
	footer {
		background: none;
	}
		footer .reread_link {
			right: 0;
			bottom: 10px;
			width: 80px;
			height: 179px;
		}
			footer .reread_link a {
				background-size: 99px;
				background-repeat: no-repeat;
			}
		footer .wrap {
			padding-bottom: 167px;
		}
			footer .wrap::before {
				top: auto; bottom: 30px;
				left: 0; right: 0;
				height: 0;
				z-index: 0;
				max-width: 331px;
				height: 136px;
				margin: auto;
				background-image: url("../img/bg_footer_left_mq.png");
				background-size: inherit;
			}
			footer .wrap::after {
				width: 100%;
				height: 97px;
				right: auto;
				left: 0;
				top: auto;
				bottom: 10px;
				z-index: -1;
				max-width: none;
				background: url("../img/bg_footer_right_mq.png") left top repeat-x;
			}
}

/*************************************************
 レスポンシブ　1140 + 20 
**************************************************/
@media screen and (max-width:1160px) {
	body:not(.top) header .site_name {
		width: 16%;
		max-width: 199px;
		margin-right: 0;
	}
	body:not(.top) .page_control .reading_out {
		margin-right: 1%;
	}
	body:not(.top) .page_control .voice {
		margin-right: 1%;
	}
	body:not(.top) .page_control dl {
		margin-right: 2px;
	}
	body:not(.top) .page_control dl dd + dd {
		margin-left: 2px;
	}

	.global {
		padding: 2.5% 0 0;
	}
		#menu li {
			margin: 0 8px;
		}

	body.menu .wrap.contents_wrap {
		display: block;
	}

	.contents .contents_inner,
	.contents nav {
		float: none;
		width: auto;
		max-width: 100%;
	}

	.contents .contents_inner,
	.contents nav {
		margin: 0 16px;
	}
		.news_sec {
			max-width: none;
			margin: 0;
		}
	.contents nav {
		margin-top: 31px;
	}
		.contents nav .sec_life_event {
			padding: 24px 9px 1px;
			background: url("../img/life_event_menu_bg.png") center left no-repeat;
			background-size: cover;
		}
			.contents nav .sec_life_event .btn_link_wrap {
				flex-wrap: wrap;
				justify-content: flex-start
			}
				.contents nav .sec_life_event .btn_link_wrap li {
					width: 130px;
					margin: 0 9px 9px;
				}


	footer .sitemap .sitemap_frame { flex-wrap: wrap; justify-content: flex-start;}
}


/*************************************************
 レスポンシブ　1024 + 20 
**************************************************/
@media screen and (max-width:1044px) {
	#TOP,
	header .wrap,
	header nav ul,
	.contents .wrap,
	footer .wrap,
	footer .nav ul { position: static; width: auto; min-width: 0; max-width: 100%; float: none;}
	.contents_wrap { display: block;}

	header .wrap,
	footer .wrap { margin-left: 2.5%; margin-right: 2.5%;}
	
/* グローバルメニュー */
	header { position: relative;}
	header nav { position: fixed;/* display: flex; align-items: flex-end; justify-content: center; bottom: 0px; */top:0px; left:0px; right:0px; max-height:100%; padding:0; background-color: transparent; overflow:visible; z-index: 110;}
	#menu { display: none; position: fixed; left: 0px; right: 0px; bottom: 110px; height: auto; width: auto; overflow:visible ;}
	#menu li { width: auto;}
	#menu li a { color: #fff;}
	
/* グローバルメニュー　サブカテゴリ */
	#menu dl dd { display: none!important;} /* サブカテゴリ非表示 */
	
	
/* ハンバーガーメニュー */
  .menu_button,
  .mb_global_menu { display:block; transition-duration: 0.3s;}
	
	
/* コンフィグメニュー*/
  .conf_button { display:block; padding-bottom: 0; transition-duration: 0.3s;}
  .conf_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
	
	
/* ホームメニュー*/
  .home_button { display:block; padding-bottom: 0; transition-duration: 0.3s;}
  .home_button.active { box-shadow: 0px 0px 0px 2px rgba(255,255,255,0.9);}
	
	
	body:not(.top) header .inner {
		max-height: none;
	}
/* タイトル */
	body:not(.top) header .site_name {
		float: none;
		width: 100%;
		max-width: none;
		padding: 8px 0 0;
		text-align: center;
	}
	

/* イベント検索 */
body.event .contents_wrap .contents_inner { padding-left: 2.5%; padding-right: 2.5%;}
.search_words { float: none; width: 100%; margin-right: 0; margin-botto,: 1em;}



	
/* ページコントロール */
  .conf,
  .page_control .search { display: none;}
  .page_control { color: #fff; padding: 0; background-color: rgba(0,0,0,0);}
  
  .page_control .search,
  .UD {margin-left:2%;margin-right:2%;}
  .page_control dl.textsize_change,
  .page_control dl.color_change { width: 100%; margin: 1em auto!important;}
  .page_control .voice { width: 100%; margin-left: auto; margin-right: auto;}
  .page_control .voice a { width: auto; border: 2px solid #fff;}
  
  .page_control .ruby { width: 100%; margin-left: auto; margin-right: auto;text-align:center;margin-top:1em;}

  .conf { position: fixed; top: 50%; left: 2.5%; right: 2.5%; min-height: 150px; margin-top: -75px; padding-top: 25px; z-index: 105;}
  .UD { float: none;}
  .page_control dl { justify-content: center;}
  .page_control dl dd { margin-left: 10px; margin-right: 10px;}
  .page_control dl.textsize_change dt,
  .page_control dl.color_change dt { width: 7em!important; text-shadow: 0 0 2px #000, 0 0 4px #000, 0 0 4px #000; font-size: 1.2em; background-color: rgba(0,0,0,0.1); color: #fff;}

  .page_control .search { position: fixed; top: 50%; left: 2.5%; right: 2.5%; min-height: 150px; width: auto; margin-top: -75px; padding-top: 25px; z-index: 105; background-color: rgba(0,0,0,0);}
  .page_control .search label.search_txt{ height: auto; width: 100%; padding: 0.5em; font-size: 1.2em; overflow: auto; text-shadow: 0 0 2px #000, 0 0 4px #000, 0 0 4px #000; background-color: rgba(0,0,0,0.1); color: #fff;}
  .page_control .search .search_inner { width: 100%;}
  .page_control .search input#search_txt { height: 44px; width:calc(100% - 4.5em); line-height: 44px; font-size: 1.2em;}
  .page_control .search input.search_bt { width: 4.5em; height: 44px; font-size: 1.2em;}

  .page_control dl.textsize_change dd {
	color: #000;
  }

  .page_control .search .search_inner {
	  display: flex;
	  background: none;
  }
	  .page_control .search .search_inner .search_icon {
		  margin-top: 13px;
		  margin-bottom: 11px;
	  }
	.page_control .search .search_txt_wrap {
		width: calc(100% - 6em - 23px);
		height: 44px;
		margin-left: 30px;
	}
		.page_control .search input#search_txt {
			width: 100%;
		}

	
	body { padding-top: 52px!important;} /* ハンバーガー分の余白 */

	.scroll_menu {
		opacity: 1!important;
		position: static!important;
	}
	body.scroll .scroll_menu {
		box-shadow: none;
	}
		.pickup_menu {
			position: fixed;
			top: 51px;
		}
			#pickup_menu {
				width: 27.5%;
				max-width: 221px;
			}
			#pickup_menu_ttl {
				padding: 20px 0;
				font-size: 140%;
			}
		.pickup_menu_wrap ul li {
			width: calc(50% - 20px);
			margin: 0 10px 20px;
		}
			.pickup_menu_wrap ul li a {
				min-height: 60px;
				padding: 18px 10px 10px 80px;
				text-align: left;
			}
				.pickup_menu_wrap ul a img {
					position: absolute;
					left: 10px;
					top: 5px;
					right: auto;
					height: 50px;
					width: auto;
				}
		.pickup_close {
			top: 10px;
			right: 10px;
		}

	.global.wrap {
		min-height: 0;
		padding: 0;
		background: none;
	}
		#menu > li dl dt a,
		#menu > li > a {
			padding-bottom: 10px;
		}

	header .inner,
	header .wrap {
		padding: 0;
	}

	.site_name_wrap {
		display: block;
		background: #e9e1d1;
		text-align: center;
	}
		.site_name {
			float: none;
			width: auto;
			padding: 0 10px;
		}

	header nav.global {
		display: block;
		position: static;
		padding: 0;
	}
	header nav.global #menu {
		top: 52px;
		bottom: 0px;
		width: auto;
		overflow: auto;
		padding: 0 5px;
		margin: 0 5px;
		padding: 0 5px;
		margin: 0 5px;
		border-radius: 8px;
		background: transparent;
	}
		#menu li + li {
			border-top: 1px #FFF dotted;
		}
			#menu > li + li dl dt a::before, #menu > li + li > a::before {
				display: none;
			}
			#menu li a {
				display: block;
				position: relative;
				padding: .8em 0;
				background-color: transparent;
				color: #000;
				font-size: 112.5%;
				text-align: center;
				text-decoration: none;
			}
				#menu > li img {
					width: auto;
					max-width: none!important;
				}
			#menu li a:hover::before {
				display: none;
			}
	.page_control .conf {
		width: 90%;
		top: auto;
		bottom: 20px;
		margin: 0 auto;
	}
		.page_control .reading_out {
			display: table-header-group;
			width: 100%;
			float: none;
			margin: 0 0 24px;
		}
			.page_control .reading_out button {
				width: 100%;
				padding: .5em;
			}
			.page_control .reading_out button:hover {
				padding: calc(.5em - 2px);
			}

		.page_control .voice {
			display: table-footer-group;
			float: none;
			width: 100%;
		}
			.page_control .voice a {
				padding: .5em;
			}
			.page_control .voice .show_hide {
				top: auto;
				bottom: 100%;
				margin: 0;
			}
				.page_control .voice .show_hide a {
					border: none;
				}
		.UD {
			display: table-header-group;
			width: 100%;
		}


		footer .copyright {
			margin-top: 16px;
			text-align: center;
		}
		footer .reread_link {
			bottom: 60px;
		}

  footer .nav { padding-left: 2%; padding-right: 2%;}
  footer .nav ul { flex-wrap: wrap;}
  footer .nav li { width: 100%; padding: 0; text-align: center; border-left: none; line-height: 2em;}
  footer .nav a { display: inline-block; width: 17em; border-bottom: 1px dotted #000;}
  footer .wrap {
	  font-size: 85%;
  }
	  footer .wrap br.mq_show {
		  display: inline;
	  }
	footer .inquiry {
		flex-wrap: wrap;
	}
		footer .inquiry li {
			margin: 0.1em 2px;
		}
			footer .inquiry a {
				font-size: 1em;
			}
	.contents nav .image_banner li{
		width: 46%;
		margin_left: 10px;
	}
}

/*************************************************
 レスポンシブ　890 + 20 
**************************************************/
@media screen and (max-width:910px) {
}

/*************************************************
 レスポンシブ　780 + 20 
**************************************************/
@media screen and (max-width:800px) {

	.pickup_menu_wrap ul li {
		width: calc(100% - 20px);
		margin-bottom: 4px;
	}
		.menu_list {
			display: block;
		}
			.menu_list li {
				width: 100%;
				margin: 30px 0px;
			}
	.acrobat_comment,
	.info_section .info_comment {
		float: none;
		width: 100%;
	}
	.acrobat .file_link_icon,
	.mail_link {
		float: none;
		margin: 20px auto 0;
	}
	.info_section {
		padding: 8px;
	}
		.mail_link {
			width: 100%;
			max-width: 300px;
		}
		.mail_link a {
			margin: 8px;
			padding: 28px 25px 28px 10px;
		}
			.mail_link a img {
				margin-right: 8px;
			}
			.mail_link a::after {
				right: 8px;
			}
		.mail_link a:hover {
			margin: 5px 5px;
		}

	footer .sitemap {
		padding: 13px 0 15px;
	}
		footer .sitemap a.sitemapopen {
			padding: 0.5em 1.8em;
			font-size: 90%;
		}
	footer .sitemap .sitemap_frame > ul,
	footer .sitemap .sitemap_frame dl { width: calc(33.33333333% - 1em);}
}

/*************************************************
 レスポンシブ　760 + 20 
**************************************************/
@media screen and (max-width:780px) {
	.contents nav .sec_life_event .btn_link_wrap li {
		width: calc(25% - 18px);
	}
}


/*************************************************
 レスポンシブ　560 + 20 
**************************************************/
@media screen and (max-width:580px) {

	.page_ttl_wrap {
		padding: 20px 8px;
	}
		.page_ttl {
			padding: 10px 8px 10px 20px;
			font-size: 150%;
		}
	
/* サブトップ */
	.subtop .list {}
	.subtop .category  { width: 100%;}
	.subtop .category.left { margin-right: 0;}
	.subtop .category.right { margin-left: 0;}
	.subtop .section { margin-bottom: 1em; background-color: #eee;}
	.subtop .section ul { display: none;}


	.contents .contents_inner, .contents nav {
		margin: 0 8px;
	}
	.page_section.inner_wrap {
		padding: 38px 8px 45px;
	}
	.news_sec {
		padding-bottom: 2.8em;
	}
	.news_sec .news dt {
		padding: 10px 0 0;
	}
	.news_sec .news dd {
		padding-top: 10px;
		padding: 10px 0 19px;
	}
	.news_sec .list_link {
		top: auto;
		bottom: 10px;
		left: 0; right: 0;
		margin: auto;
		text-align: center;
	}

	.contents nav .sec_life_event .btn_link_wrap li {
		width: calc(50% - 18px);
	}

	.news_section.inner_wrap {
		width: auto;
		margin: 0 8px;
		padding: 10px;
	}
		.news_section .news dt {
			float: none;
			width: auto;
			padding-bottom: 0;
			padding-left: .5em;
		}
		.news_section .news dd {
			padding-top: 0;
			padding: .2em .5em 1em;
		}

	footer .sitemap .sitemap_frame > ul {
		width: calc(100% - 1em);
	}
	footer .sitemap .sitemap_frame dl { width: calc(50% - 1em);}
	
	.event_section .event dt{float:none;}
    .event_section .event dd{padding: .3em 0 .8em .3em;}
    
    
    

/* イベント検索 */
  .search_category legend { float: none;}
  
  
/* ----
カレンダー 追記
---- */
  table.calendar.list td dl { display: block;}
/*
  table.calendar:not(.list) th,
  table.calendar:not(.list) td { min-width: 10em; }
*/
  table.calendar td { width: auto;}

  table.calendar.list td dl dt { justify-content: flex-start; width: calc(100% - 8px); padding-top: 0.2em; padding-bottom: 0.2em; font-size: 0.85em;}
  table.calendar.list td dl dt:after { right: inherit; position: static; padding-top: 0.4em; padding-bottom: 0.4em; font-size:0.6em;}
  table.calendar.list td dl dd,
  table.calendar.list td.sat dl dd,
  table.calendar.list td.sun dl dd { width: calc(100% - 8px); background-color: transparent;}
  table.calendar.list .evet_wrap { border-top: 2px dotted #aaa;}
  table.calendar.list td dl dd .evet_wrap:first-child { border: none;}
   
    
}

/*************************************************
 レスポンシブ　440 + 20 
**************************************************/
@media screen and (max-width:460px) {
	#pickup_menu_ttl {
		padding: 10px 0;
		font-size: 100%;
	}
	.pickup_menu_wrap ul li a {
		min-height: 40px;
		padding: 10px 10px 10px 50px;
		font-size: 90%;
	}
		.pickup_menu_wrap ul a img {
			top: 5px;
			height: 30px;
		}
	.pickup_close {
		width: 40px;
	}

	footer .nav {
		padding-top: .5em;
	}
	footer .nav a {
		width: 14em;
		font-size: 80%;
	}
		footer .nav .mq_hide {
			display: none;
		}
	footer .wrap dt {
		max-width: 194px;
		margin: 0 auto;
	}
	footer dd .address {
		display: block;
		margin: 0;
	}
	.contents nav .image_banner li{
		width: 100%;
		margin_left: 0;
	}
}

@media screen and (min-width:1045px) {
	.conf,
	.UD,
	.page_control .search { display:block!important;}
	.menu_bg,
	.conf_bg ,
	.search_bg{display: none!important;}
	.body_header #menu {
		display: block !important;
	}
	#menu {
		display: flex !important;
	}
}


@media screen and (-ms-high-contrast:active) {
* {text-indent:0em !important;}
}

/*20230707*/
.UD{
	color: #000!important;
	background-color: rgba(250,250,250,0.1);
}
