@charset "utf-8";

/*
	Last Update:2010/06/15
	Auther: arahori
*/

/*===================================================================
	中央寄せ、段落
===================================================================*/
body  { text-align:center; }
.center { width:970px; margin:0 auto; text-align:left; }
.container { position:relative; text-align:left; }
.wrap { font-size:1.07em; }

@media (max-width: 969px) {

.container { width:100% !important;}
}

/*===================================================================
	#base
===================================================================*/
#base { }


/*===================================================================
	#head
===================================================================*/
#head { position:relative; z-index:100; box-shadow:0 1px 2px rgba(0,0,0,0.3);  }

/* .site_logo */
.site_logo { position:absolute; left:15px; top:17px; }
.site_logo a { display:block; width:252px; height:40px; background:url(../image/site_logo.png) no-repeat left center; background-size:252px 40px; text-indent:-9999px; }

.group_logo { position:absolute; right:15px; top:13px; }
.group_logo a { display:block; width:95px; height:47px; background:url(../image/head_mark.png) no-repeat left center; background-size:95px 47px; text-indent:-9999px; }

@media (max-width: 768px) {

.site_logo { width:180px; left:15px; top:12px; }
.site_logo a { width:180px; background-size:contain; }

.group_logo { position:absolute; right:75px; top:17px; }
.group_logo a { display:block; width:57px; height:29px; background:url(../image/head_mark.png) no-repeat left center; background-size:57px 29px; text-indent:-9999px; }
	
}

	/*-------------------------------------------------------------------
		#head_info
	-------------------------------------------------------------------*/
	#head_info { position:relative; z-index:100; height:75px; box-shadow:0 1px 2px rgba(0,0,0,0.3); 
	background-image:-moz-linear-gradient(8% 96% 90deg,rgba(0,0,0,0.05) 0%,rgba(255,255,255,0.05) 100%); 
	background-image:-webkit-gradient(linear,8% 96%,8% 47%,color-stop(0, rgba(0,0,0,0.05)),color-stop(1, rgba(255,255,255,0.05)));
	background-image:-webkit-linear-gradient(90deg,rgba(0,0,0,0.05) 0%,rgba(255,255,255,0.05) 100%);
	background-image:-o-linear-gradient(90deg,rgba(0,0,0,0.05) 0%,rgba(255,255,255,0.05) 100%);
	background-image:-ms-linear-gradient(90deg,rgba(0,0,0,0.05) 0%,rgba(255,255,255,0.05) 100%);
	background-image:linear-gradient(0deg,rgba(0,0,0,0.05) 0%,rgba(255,255,255,0.05) 100%);
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#dffffff,endColorstr=#d000000,GradientType=0)";
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#dffffff,endColorstr=#d000000,GradientType=0);	
	}

@media (max-width: 768px) {

	#head_info { height:65px; }
	
}
	
	/*-------------------------------------------------------------------
		#main_navi
	-------------------------------------------------------------------*/
	#main_navi { display:block ; height:inherit !important; background:#0054A7; }
	#main_navi ul {width:100%;text-align:center;display: table;justify-content:  space-around;}
	#main_navi ul li {display:table-cell;vertical-align:middle;border-right:1px solid #00468C;border-left:1px solid #1A65B0;border-collapse:inherit;position: relative;width: 16.6%;}
	#main_navi ul li a { display:block; padding:12px 20px; font-weight:bold; color:#FFF; text-shadow:1px 1px 2px rgba(0,0,0,0.5);;opacity: 1;transition: 0.5s;}
	#main_navi ul li a:hover {text-decoration:none;opacity: 0.5;transition: 0.5s;}
	#main_navi ul li a i { display:block; margin-bottom:7px; font-size:25px; }
	
	#main_navi ul li:first-child:before {content:"";position:  absolute;height:  100%;top: 0;background-color: #00468c;width: 1px;left:-2px;}
	#main_navi ul li:last-child:before {content:"";position:  absolute;height:  100%;top: 0;background-color: #1a65b0;width: 1px;right:  -2px;}
/* chil-nav */
#main_navi ul li ul.child-nav {display: none;padding-left: 0;width: 100%;}
#main_navi li:hover ul.child-nav {position:absolute;top: 100%;height: auto;background-color: rgb(54, 126, 197);display: flex;flex-wrap: wrap;width: 100%;
    -ms-flex-wrap:wrap;/*--- IE10用 ---*/
    -webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
}
#main_navi ul.child-nav li {float: left;width: 100%;height: 100%;text-align: left;padding-left: 20px;border: 0;border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
#main_navi ul.child-nav a {height: auto;padding: 10px 0;}
#main_navi .child-nav li:first-child:before {display: none;}
#main_navi .child-nav li:after {display: none;}

@media (max-width: 767px) {	

	#main_navi .container { padding:0; }
	#main_navi ul { display:block; font-size:0; text-align:left;}
	#main_navi ul li { display: inline-block; width:25%; text-align:center;}
	#main_navi ul li a { padding:13px 10px; font-size:9px; }
	#main_navi ul li a i { margin-bottom:5px; font-size:20px; }
  #main_navi.sp-none { display:none;}

}


	/*-------------------------------------------------------------------
		#pankuzu_navi
	-------------------------------------------------------------------*/
	#pankuzu_navi { padding:20px 0; text-align:left; }
	#pankuzu_navi ul { list-style:none; }
	#pankuzu_navi ul li { display:inline; }
	#pankuzu_navi ul li:first-child i { font-size:16px; color:#0054A7; }
	#pankuzu_navi ul li:after { content:"\f105"; margin-left:8px; color:#999;
	font: normal normal normal 16px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}
	#pankuzu_navi ul li:last-child:after { display:none; }
	
@media (max-width: 479px) {
	
	#pankuzu_navi { padding:0; }
	#pankuzu_navi ul { display:none; }
	
}


	/*-------------------------------------------------------------------
		ハンバーガー
	-------------------------------------------------------------------*/
@media (min-width: 768px) {

	.head_button { display:none; }
	
}

@media (max-width: 767px) {	

	.head_button { position:absolute; right:0; top:0; z-index:10000; }
	.head_button button { width:65px; height:65px; padding:0; background:none; color:#0054A7; text-align:center; border:none; }
	.head_button button span { display:block; font-size:11px; }
	.head_button button i { font-size:30px; }

	
		
}

/*===================================================================
	#main_visual
===================================================================*/
#main_visual { max-width:1440px; margin:0 auto; }


/*===================================================================
	#body
===================================================================*/

/* floatクリア */
#body{ zoom:1; /*for IE 5.5-7*/ }
#body:after{ content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden; }

/*===================================================================
	#foot
===================================================================*/
#foot { }

.copyright { }

	/*-------------------------------------------------------------------
		#foot_sitemap
	-------------------------------------------------------------------*/
  footer p.sitemap{display:none;}
	#foot_sitemap { padding:30px 0; border-top:1px solid #ccc;background-color:#0054a7; }
	#foot_sitemap .overflow { margin:0 -10px; }
	#foot_sitemap .unit { display:inline-block; width:20%; margin-right:-5px; vertical-align:top; }
	#foot_sitemap dl { padding:0 10px; }
	#foot_sitemap dl dt { margin-bottom:10px; padding:0 0 7px; border-bottom:1px solid #CED6DD; color:#0054A7; font-size:14px; }
	#foot_sitemap dl dd + dt { margin-top:20px; }
	#foot_sitemap dl dt a { color:#fff; }
	#foot_sitemap dl dd ul li { margin-bottom:5px; font-size:12px; }
  #foot_sitemap dl dt a:before {content: ">"; margin-right:10px;}
  #foot_sitemap dl dt.anc-link a:before {
    content: "・";
}

@media (max-width: 767px) {	

	#foot_sitemap { position:absolute; top:60px; display:none; width:100%; padding:0; background:#FFF; border:none; z-index:10000; }
	#foot_sitemap .overflow { margin:0px; }
	#foot_sitemap .unit { display:block; width:100%; margin-right:0; }
	#foot_sitemap dl { padding:0; }
	#foot_sitemap dl dt { margin-bottom:0px; padding:0; border-bottom:none; }
	#foot_sitemap dl dd + dt { margin-top:0px; }
	#foot_sitemap dl dd ul li { margin-bottom:0; font-size:13px; }
	
	#foot_sitemap .container { padding:0; }
	#foot_sitemap .container dt a { display:block; padding:10px 15px; background:#367fc7; color:#FFF; }
	#foot_sitemap .container dd a { display:block; padding:10px 15px; border-bottom:1px solid #CED6DD; }
#foot_sitemap dl dt:first-child a {background-color: #0054A7;font-size: 14px;}
#foot_sitemap .unit:last-child dl dt a {background-color: #0054A7;}
footer p.sitemap {
  display:block;
    background-color: #0054a7;
    color: #fff;
    padding:  10px 0;
}

footer p.sitemap a {
    color: #fff;
}
}

	/*-------------------------------------------------------------------
		#foot_group
	-------------------------------------------------------------------*/
	#foot_group { background:#E5EEF6; }
	#foot_group .hl { padding:7px; background:#0054A7; text-align:center; font-size:15px; font-weight:bold; color:#FFF;  }
	#foot_group .hl h3 { display:inline-block; font-weight:bold; }
	#foot_group .hl .container { text-align:center; }

	#foot_group .hl .menu-trigger { background:none; border:none; text-align:center; }
	#foot_group .hl .menu-trigger,
	#foot_group .hl .menu-trigger span { display: inline-block; transition: all .2s; box-sizing: border-box; }
	#foot_group .hl .menu-trigger {	position: relative; width: 30px; height: 20px; border:1px solid #80AAD3; border-radius:4px; margin-left:10px; color:#80AAD3; font-size:14px; }
	#foot_group .hl .menu-trigger.active.collapsed { background:#FFF; border:1px solid #FFF; color:#0054A7; }
	
	#foot_group dl { display:inline-block; width:20%; margin-right:-5px; margin-bottom:20px; padding-right:20px; vertical-align:top; font-size:12px; }
	#foot_group #foot_group_collapse { padding-top:15px; }
	#foot_group dl dt { margin-bottom:10px; padding:0 0 7px; border-bottom:1px solid #CED6DD; color:#0054A7; font-size:14px; }
	#foot_group dl dd { margin-bottom:5px; }
	
	#foot_group dl dt:before { margin-right:5px; color:#0054A7;
	font: normal normal normal 16px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}
	
	#foot_group dl:nth-child(2) dt:before {content:"\f207"; }
	#foot_group dl:nth-child(3) dt:before {content:"\f0f5"; }
	#foot_group dl:nth-child(4) dt:nth-child(1):before {content:"\f26c"; }
	#foot_group dl:nth-child(4) dt:before {content:"\f279"; }
	
	
	#foot_group dl:nth-child(2) { width:40%; }
	#foot_group dl:nth-child(2) dd { display:inline-block; width:50%; margin-right:-5px; padding-right:15px; vertical-align:top; }
	#foot_group dl dd + dt { margin-top:20px; }

@media (max-width: 767px) {	

	#foot_group .container { padding-right:0; }
	#foot_group dl:nth-child(2) dd { width:100% !important; padding-right:0px; }
	#foot_group dl { width:50% !important; padding-right:15px; }
	
}
	
@media (max-width: 479px) {	
	
	#foot_group dl { width:100% !important; padding-right:0px; }
	#foot_group .hl .menu-trigger { position:relative; }
	#foot_group .hl .menu-trigger i:before { position:absolute; top:2px; bottom:0; left:0; right:0; }

}
	
	/*-------------------------------------------------------------------
		#foot_info
	-------------------------------------------------------------------*/
	#foot_info { padding:20px 0 20px; background:#4F5359; color:#FFF; text-align:center; clear:both; }
	#foot_info .container { text-align:right !important; }
	
	#foot_info h3,
	#foot_info p { display:inline-block; margin-right:20px; vertical-align:top; line-height:1.5; text-align:left !important; }
	#foot_info h3 a { font-size:15px; font-weight:bold; color:#FFF; }
	
	#foot_info .pagetop { position:absolute; top:-7px; right:15px; width:58px; height:58px; line-height:50px; background:#0054A7; border-radius:58px; color:#FFF; font-size:50px; text-align:center; box-shadow:1px 1px 2px rgba(0,0,0,0.2); }
	#foot_info .pagetop i { color:#FFF; text-shadow:1px 1px 2px rgba(0,0,0,0.2); }

	#page_top .pagetop { 
    position: fixed;
    width: 58px;
    height: 58px;
    line-height: 50px;
    background: #2f79c2;
    border-radius: 58px;
    color: #FFF;
    font-size: 50px;
    text-align: center;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
    bottom: 20px;
    right: 20px;}
	#page_top .pagetop i { color:#fff; text-shadow:1px 1px 2px rgba(0,0,0,0.2); }
	
@media (min-width: 1200px) {
	
	#foot_info .container { text-align:left !important; }
	
}
	
@media (max-width: 767px) {	

	#foot_info .container { text-align:left !important; }

}
	
@media (min-width: 480px) {
	#foot_info .container { text-align:center; display: flex; justify-content: center;align-items: center;}
  #foot_info h3 .group { position:absolute; right:0; top:5px; display:block; content:""; width:120px; height:50px; background:url(../image/foot_mark.png) no-repeat right center; text-indent:-9999px; }
	#foot_info h3 { padding-right:15px; background:none;max-width: 200px;}
}	
@media (max-width: 479px) {	
	#foot_info h3,
	#foot_info p { display:block; margin-right:0; margin-bottom:10px; }
	#foot_info h3 { padding-left:0; padding-top:0px; text-align:left; max-width: 220px;}
	#foot_info h3 .group { display:block; content:""; width:95px; height:47px; margin:0 auto 15px; background:url(../image/foot_mark.png) no-repeat right center; text-indent:-9999px; }
	#foot_info .pagetop { display:none; }

}
	
	/*-------------------------------------------------------------------
		#copyright
	-------------------------------------------------------------------*/
	#copyright { padding:10px; text-align:center; }
	
	
/* index */	
.news-contents {
    max-height: 215px;
    overflow: auto;
}
.news-area hr {border-top: 1px dotted #ccc;display: block;padding: 0;margin: 10px 0;clear: both;}
#top .news-area .day {font-weight: bold;margin-right:20px;}
#top .news-contents .flex.start {margin-bottom: 0;}

.twitter-area {
    display:  flex;
    flex-wrap:  wrap;
    justify-content:  space-between;
}

.twitter-area h3 {
    width:  100%;
}

.twitter-contents {
    width:  48%;
}
@media (max-width: 640px) {	
.twitter-contents {
    width:  100%;
}
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block; }
.sp { display: none; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none; }
.sp { display: block; }
}