@charset "UTF-8";

	body{
		margin: 0;
		font-family		:'メイリオ', 'Hiragino Kaku Gothic Pro', sans-serif, FontAwesome;
		font-size		:16px;
		background-color	:#e2e2f1;
	}

/* ########### 全般 ########### */
	header{
		background-color	:#476a8d;
		color			:#ffffff;
		padding		:10px 0;
	}

	#header_title{
		padding		:5px;
		font-size		:20px;
	}

	footer{
		padding		:5px 0;
		background-color	:#dfdfdf;
		box-shadow		:0 0 0 3px #2b5555 inset;
		text-align		:center;
	}

	footer small{
		color			:#666666;
		/*font-size		:12px;*/
	}

	b{
		color: #0080ff;
	}


	dl,dt,dd {
		margin: 0;
		padding: 0;
	}
	dl {
		background-color: #333;
		border: 1px solid #999;
		border-top: none;
		max-width: 600px;
	}
	dt {
		color: #ccc;
		width: 7em;
		padding: 0.5em 0 0.5em 1em;
		border-top: 1px solid #999;
		float: left;
	}
	dd {
		background-color: #FFF;
		margin: 0 0 0 7em;
		padding: 0.5em 1em 0.5em 1em;
		border-top: 1px solid #999;
		border-left: 1px solid #999;
	}


	strong{
		color			:#ff0000;
	}

	input, textarea, select{
		font-size		:18px;
	}

	input:read-only{
		color			:#666666;
		background-color	:#dfdfdf;
	}

	a, a:visited{
		text-decoration	:none;
		color			:#0000ff;
	}

	a:hover{
		text-decoration	:underline;
		color			:#ff0000;
		position		:relative;
		top			:1px;
		left			:1px;
	}

	.mobile_only{
		display		:none;
	}

/* ボックス_全体 */
	#box-all{
		background-color	:#ffffff;
	}


/* ボックス_メイン */
	#box-main{
		display		:flex;
		flex-wrap		:wrap;
	}

/* メイン */
	main{
		order			:2;
		flex			:1;

		padding		:0 10px;
	}

	#login{
		background-color	:#dfdfdf;
	}

	#login ul{
		display		:flex;
		list-style		:none;
		margin			:5px;
		padding		:0;
		text-align		:center;
	}

	#login li	{
		margin			:5px 5px;
	}

	article > h1{
		margin			:5px 0;
		padding		:10px 5px;

		color			:#2b5555;
		font-size		:26px;
		background-color	:#f1f8f8;
		/*border-left		:15px solid #c7e2e2;*/		
	}

	article > section > h2{
		margin			:5px 0;
		padding		:5px 10px;

		color			:#2b5555;
		font-size		:20px;
		background-color	:#f1f8f8;
		border-left		:15px solid #c7e2e2;		
	}

	article > section > h3{
		margin			:5px 0;
		padding		:1px 10px;

		color			:#2b5555;
		font-size		:16px;

		border-top		:3px solid #c7e2e2;	
		border-bottom		:3px solid #c7e2e2;	
	}

/* rss表示 */
	#rss_digest{
		display		:flex;
		flex-direction	:row;
		padding		:5px;
	}

	#rss_news{
		order			:1;
		width			:47%;
		margin			:0 auto;
	}

	#rss_news ul{
		list-style		:none;
		margin			:0;
		padding		:0;
		border			:solid #5f5f5f 1px;
	}

	#rss_news li{
		padding		:5px;
		font-size		:14px;
	}
	#rss_news li:nth-child(2n-1){
		background-color	:#c9c9c9;
	}
	#rss_news li:nth-child(2n){
		background-color	:#ffffff;
	}

	#rss_tv{
		order			:2;
		width			:47%;
		margin			:0 auto;
	}

	#rss_tv ul{
		list-style		:none;
		margin			:0;
		padding		:0;
		border			:solid #5f5f5f 1px;
	}

	#rss_tv li{
		padding		:5px;
		font-size		:14px;
	}
	#rss_tv li:nth-child(2n-1){
		background-color	:#e9eddc;
	}
	#rss_tv li:nth-child(2n){
		background-color	:#ffffff;
	}
	#rss_weather{
		padding		:10px 0 0 0;
	}
	/* バリューコマース表示 */
	.vc img{
	max-width:150px;
	max-height:150px;
	}

	.update >time:before{
		content		:"\f017";
	}
	.update{
		color			:#666666;
		text-align		:right;
	}

	.up_down ul{
		display		:flex;
		justify-content	:center;
		margin			:0;
		padding		:0;
		list-style		:none;
	}

	.up_down li a{
		display		:block;
		margin			:0 10px;
		padding		:0;
		list-style		:none;
		color			:#666666;
		text-indent		:-14px;
		/*text-decoration	:none;*/
	}

	.up_down .up:before{
		content		:"\f01b";
		padding-right		:0px;
	}
	.up_down .top:before{
		content		:"\f0a8";
		padding-right		:0px;
	}
	.up_down .down:before{
		content		:"\f01a";
		padding-right		:0px;
	}


	.share{
		border-top		:1px solid #c7e2e2;
		border-bottom		:1px solid #c7e2e2;
	}

	.share ul{
		display		:flex;
		justify-content	:center;
		margin			:0;
		padding		:0;
		list-style		:none;
	}

	.share li a{
		display		:block;
		margin			:5px;
		padding		:5px 15px;
		list-style		:none;
		color			:#ffffff;
		border-radius		:5px;
		text-decoration	:none;
	}

	.share li a:hover{
		opacity		:0.8;
	}

	.share-tw:before{
		content		:"\f099";
		padding-right		:10px;
	}
	.share-tw{
		background-color:#55acee;
	}
	.share-fb:before{
		content		:"\f09a";
		padding-right		:10px;
	}
	.share-fb{
		background-color:#3b5998;
	}
	.share-gp:before{
		content		:"\f0d5";
		padding-right		:10px;
	}
	.share-gp{
		background-color:#dd4b39;
	}

/* CHIP */

	.chip ul{
		display		:flex;
		list-style		:none;
		padding		:0;
	}

	.chip li a{
		display		:block;
		padding		:10px;
		list-style		:none;
		text-decoration	:none;
	}

	.chip li a:before{
		content		:"\f138";
		margin-right		:3px;
	}
/* LINK */

	.link{
		display		:flex;
		flex-direction	:row;
		max-width		:800px;
	}

	.link .map{
		flex			:1;
   		height			:300px;
	}

	.link .qr{
		width			:200px;
		text-align		:center;
		margin			:auto;
	}

	.link_tag{
		font-size		:11px;
		color			:#FFFFFF;
		padding		:3px 10px;
		border-radius		:10px;
		background-color	:#8a8a8a;
	}

	.link_tag_hover{
		max-width		:600px;
		margin			:5px 0;
		padding		:5px;
	}

	.link_tag_hover:nth-child(odd){
		background-color	:#e2eaf1;
	}

	.link_tag_hover:nth-child(even){
		background-color	:#e2f1f1;
	}

	.link_tag_hover a:hover{
		text-decoration	:none;
	}

	.tag_remodal:hover{
		text-decoration	:none;
	}

	.tag_remodal{
		display		:inline-block;
		font-size		:12px;
		background-color	:#8daac7;
		margin			:5px 5px;
		padding		:5px 12px;
		border-radius		:5px;
	}


	.tag_button:hover{
		text-decoration	:none;
	}

	.tag_button{
		display		:inline-block;
		font-size		:10px;
		background-color	:#aaaaaa;
		margin			:3px 3px;
		padding		:5px 5px;
		border-radius		:10px;
	}
	.tag_button:before{
		content		:"\f057";
		margin-right		:3px;
	}

	.tag_clear:hover{
		text-decoration	:none;
	}


	.tag_clear{
		font-size		:12px;
		background-color	:#8d8dc7;
		margin			:3px 1px;
		padding		:5px 15px;
		border-radius		:10px;
	}
	.tag_clear:before{
		content		:"\f12d";
		margin-right		:3px;
	}

	.tag_search:hover{
		text-decoration	:none;
	}

	.tag_search{
		font-size		:12px;
		color			:#FFFFFF;
		background-color	:#8daac7;
		margin			:3px 1px;
		padding		:5px 15px;
		border-radius		:10px;
	}
	.tag_search:before{
		content		:"\f002";
		margin-right		:3px;
	}

/* 都道府県テーブル */
	.pref{
		border-collapse: collapse;
    		background-color: #f1f4f8;
	}
	.pref td, .pref th{
		border: 1px solid #8daac7;
	}

	.pref th{
    		background-color: #c7d5e2;
	}

/* カレンダーテーブル */
	table.cal_b{	
		border-collapse	: collapse;
		width			: 100%;
	}

	.cal_b th{
    		background-color	: #f9f9f9;
	}

	.cal_b th, .cal_b td{
		border			: 1px solid #CCCCCC;
		text-align		: center;
		padding		: 5px;
	}

	.cal_b .active{
		background-color: #ffd3a8;
	}

	table.cal_l{	
		border-collapse	: collapse;
		width			: 100%;
	}

	.cal_l_title th{
    		background-color	: #f9f9f9;
	}

	.cal_l th, .cal_l td{
		border			: 1px solid #CCCCCC;
		padding		: 5px;
	}

	.cal_l tr:nth-child(2n+1) {
		background		: #f8f8fc;
	}

	.cal_l tr:nth-child(2n+1).active{
		background-color	: #ffd3a8;
	}

	.cal_l .active{
		background-color	: #ffd3a8;
	}

/* 広告 */
	aside{
		order			:3;
		width			:150px;
		border-right		:3px solid  #2b5555;
		border-left		:1px dotted #2b5555;
		/*border		:3px solid lightskyblue;*/
	}

	aside .cm{
		padding		:0 10px;
		background-color	:#dcdcf8;
		margin			:15px 5px;
	}

	aside .img{
		text-align: center;
	}

	aside .text{
		margin-bottom		:20px;
	}

/* メニュー_ナビゲート */
	#menu_navi{
		background-color	:#f4f4f4;
	}

	#menu_navi ul{
		display		:flex;
		list-style		:none;
		margin			:0;
		padding		:0;
		text-align		:center;
	}

	#menu_navi li	{
		width			:150px;
		margin			:5px 5px 0;
	}

	#menu_navi li a{
		display		:block;
		border-top		:1px solid #5f5f5f;
		border-left		:1px solid #5f5f5f;
		border-right		:1px solid #5f5f5f;
		border-radius		:10px 10px 0 0;
		text-decoration	:none;
		padding		:5px 0;
		font-size		:14px;
		color			:#000000;
		background-color	:#e2f1f1;
		white-space		:nowrap;

		line-height : 1.4;
	}

	#menu_navi li a.active {
		color			:#ffffff;
		background-color	:#2b5555;
	}

	#menu_navi li a:hover{
		background-color	:#55aaaa;
	}

	#menu_navi li.mini{
		width			:80px;
	}

	#menu_navi li.mini a{
		background-color	:#d5eaff;
	}

	#menu_navi li.mini a.active {
		color			:#ffffff;
		background-color	:#004080;
	}

	#menu_navi li.mini a:hover{
		background-color	:#0080ff;
	}


/* メニュー_サイド */
	#menu_side{
		order			:1;
		width			:150px;
		border-right		:1px dotted #2b5555;
		border-left		:3px solid  #2b5555;
		/*display		: none;*/
	}

	#menu_side ul{
		margin			:0;
		padding		:0;
		list-style		:none;
	}

	#menu_side li{
		overflow		:hidden;
		white-space		:nowrap;
		text-overflow		:ellipsis;
	}

	#menu_side li a{
		display		:block;
		padding		:2px 0 2px 10px;
		color			:#000000;
		font-size		:14px;
		text-decoration	:none;

		overflow		:hidden;
		white-space		:nowrap;
		text-overflow		:ellipsis;
	}

	#menu_side li a:hover{
		background-color	:#eeeeee
	}

	#menu_side li a:before{
		content		:"\f0da";
		margin-right		:5px;
	}

	#menu_side li a.top:before{
		content		:"\f151";
		margin-right		:5px;
	}

	#menu_side li a.invisible:after{
		content		:"\f070";
		margin-left		:3px;
	}

	#menu_side li a.new:after{
		content		:"\f021";
		margin-left		:3px;
		color			:#ff8080;
	}

	#menu_side li a.active{
		font-weight		:bold;
		color			:#2b2bff;
	}

	#menu_side li .clone{
		color			:#555555;
	}

	#menu_side li .clone:before{
		content		:"\f24d";
		margin			:0 5px;
	}

	#menu_side li .square{
		color			:#555555;
	}

	#menu_side li .square:before{
		content		:"\f096";
		margin			:0 5px;
	}

	#menu_side li a.sub:before{
		content		:"\f101";
	}

/* メニュー_パンくず */
	#menu_breadcrumb ul{
		display		:flex;
		list-style		:none;
		margin			:0;
		padding		:5px 0;
		background-color	:#dfdfdf;
		box-shadow		:0 0 0 3px #2b5555 inset;
	}

	#menu_breadcrumb li:first-child{
		padding-left		:10px;
	}

	#menu_breadcrumb li:not(:last-child)::after{
		margin			:5px;
		content		:"\f101";
	}


/* メニュー_ナビゲート(jQuery) */

	#mobile-header{
		display: none;
	}


/* ########### 600px未満（スマホ用） ########### */
@media(max-width: 599px){

	#menu_breadcrumb ul{
		box-shadow		:none;
		font-size		:16px;
	}

/* ボックス_全体 */
	#box-all{
		display		:flex;
		flex-direction	:column;
	}

	header{
		order			:1;
	}

	main{
		flex:none;
	}


	.share li a{
		font-size		:12px;
		padding		:10px 10px;
	}

	.chip ul{
		flex-direction	:column;
	}

	#menu_breadcrumb{
		order			:2;
	}

	#box-main{
		order			:3;
	}

	#menu_navi{
		order			:4;
	}

	#menu_navi li a{
		border-top		:0;
		border-left		:0;
		border-right		:0;
	}
	

	footer{
		order			:5;
		font-size		:10px;
	}

	#mobile_mess:after{
		font-size		:12px;
		margin			:0 10px;
		content			:"\f062  サイドメニューが表示されます";
		color			:yellow;
	}

	.mobile_only{
		display		:block;
	}

	.mobile_only ul{
		display				:table;
		table-layout		:fixed;
		margin				:0;
		padding				:0;
		width				:100%;
	}

	.mobile_only li{
		display				:table-cell;
		text-align			:center;
	}

	.mobile_only li a{
		border				:1px #85b9e9 solid;
		padding				:5px;
		margin				:3px;
		display				:block;
	}


/* ボックス_メイン */
	#box-main{
		flex-direction:column;
	}

	main{
		order			:1;
	}

	aside{
		order			:2;
		width			:100%;
	}

	#menu_side{
		order			:3;
	}

	aside .img{
		text-align: center;
	}

/* メニュー_ナビゲート */

	#menu_navi{
		background-color	:initial;
	}

	#menu_navi ul{
		flex-wrap		:wrap;
	}

	#menu_navi li{
		width			:33.3333%;
		margin			:0;
	}

	#menu_navi li a{
		border-radius		:0;
		margin			:3px;
		padding		:15px 0;
		font-size		:10px;
		box-shadow		:0 0 0 3px #5f5f5f inset;
	}

	#menu_navi li a:after{
		content		:"\f054";
		margin-left		:5px;
	}

	#menu_navi li.mini{
		width			:33.3333%;
		margin			:0;
	}

/* 罫線対策 */
	footer{
		box-shadow		:none;
	}
	aside{
		border-right		:0;
		border-left		:0;
	}

/* rss表示 */
	#rss_digest{
		flex-direction	:column;
	}
	#rss_news{
		width			:100%;
	}
	#rss_tv{
		width			:100%;
		padding		:10px 0 0 0;
	}

/* LINK */

	.link{
		display		:flex;
		flex-direction	:column;
		width			:auto;
	}

	.link .map{
		flex			:none;
		width			:auto;
		max-width		:600px;
	}

	.link .qr{
		width			:auto;
		max-width		:600px;
	}

	.tag_button{
		display		:inline-block;
		margin			:3px 3px;
		padding		:5px;
	}
	.tag_clear{
		display		:block;
		margin			:10px 3px;
		padding		:10px;
	}
	.tag_search{
		display		:block;
		margin			:10px 3px;
		padding		:10px;
	}

/* メニュー_ナビゲート(jQuery)  */

	#mobile-header {
		display: inline-block;
	}

	#mobile-header a{
		display		:flex;
		flex-direction	:column;

		border-radius		:5px;
		padding		:0 5px;
		border			:1px solid #555555;
		background		:#bfbfbf;

		font-size		:20px;
		color			:#666666;
		text-decoration	:none;
		text-align		:center;
	}

	#mobile-header a:before{
		content		:"\f0c9";
	}

	#mobile-header .caption{
		font-size:12px;
	}

	#menu_side{
		display:none;
	}

}

/* ########### 600px以上（タブレット用） ########### */
@media(min-width: 600px) and (max-width: 767px){

	header{
		padding		:10px 0;
	}

	footer{
		/*background-color	:orange;*/
	}

	aside{
		width			:100%;
	}

	#menu_navi li	{
		width			:120px;
	}

	#menu_navi li a{
		font-size		:12px;
	}

	#menu_navi li.mini{
		width			:60px;
	}

	aside .text{
		text-align: center;
	}

	.chip ul{
		flex-direction	:column;
	}

/* 罫線対策 */
	main{
		border-right		:3px solid #2b5555;
	}
	aside{
		border-top		:1px dotted #2b5555;
		border-left		:3px solid  #2b5555;
	}

/* rss表示 */
	#rss_digest{
		flex-direction	:column;
	}
	#rss_news{
		width			:100%;
	}
	#rss_tv{
		width			:100%;
		padding		:10px 0 0 0;
	}
/* LINK */

	.link{
		display		:flex;
		flex-direction	:column;
		width			:auto;
	}

	.link .map{
		flex			:none;
		width			:auto;
		max-width		:600px;
	}

	.link .qr{
		width			:auto;
		max-width		:600px;
	}

}

/* ########### 768px以上（ＰＣ用） ########### */
@media(min-width: 768px){

	header{
		padding		:10px 0;
	}

	footer{
		/*background-color	:pink;*/
	}
}

/* ########### 1190px以上（ＰＣ用の上限値） ########### */
@media(min-width: 1190px){

	#box-all{
		width			:1140px;
		margin			:20px auto 30px auto;
		box-shadow: 10px 10px 10px rgba(0,0,0,0.4);

	}

	header{
		width			:1140px;
		margin			:0 auto;
		padding		:5px 0;
	}

	footer{
		width			:1140px;
		margin			:0 auto;
		/*background-color	:green;*/
	}

	#box-main{
		width			:1140px;
		margin			:0 auto;
	}

	#menu_navi ul{
		width			:1140px;
		margin			:0 auto;
	}

	#menu_breadcrumb ul{
		width			:1140px;
		margin			:0 auto;
	}

}

