@charset "utf-8";
/* ===============================================
# header
=============================================== */
#header{
  width:100%;
  min-width:1000px;
  overflow:hidden;
}
#header .header01{
  position:relative;
  background-color:#ffffff;
}
#header .header01:after{
}
#header .hd_inner{
  width:1000px;
  height:80px;
  margin:auto;
  background-color:#ffffff;
}
#header .hd_inner:after{
  content:"";
  display:block;
  clear:both;
}
#header h1{
  float:left;
  width:237px;
  margin-top:40px;
}
@media screen and (max-width : 768px){
	#header{
		min-width:100%;
	}
	#header h1{
	  float:left;
	  width:40%;
	  margin:5% 0 1% 5%;
	}
	
	#header .hd_inner{
	  width:100%;
	  height:auto;
	  margin:0;
	  background-color:#ffffff;
	}
}

/*グローバルナビ（PC用）*/
.gnav{
	color:#113f8d;
	float:right;
	background:url(../img/bg_gnav_line.png) no-repeat right center;
	font-size:107.14%;	 
}
.gnav li{
	float:left;
	background:url(../img/bg_gnav_line.png) no-repeat left center;
}

.gnav li a{
	text-decoration:none;
	display:block;
	height:100%;
	padding:55px 0;
	margin-left:1px;
}

.gnav li a span{
	height:43px;
	line-height:43px;
	/*border-left:solid #d1d1d1 1px;*/
	padding: 0 40px;
	display:block;
}

.gnav li a:hover,.gnav li.active a{
	background-color:#113f8d;		
	color:#fff;
}

#spmenu,#gnav_sp{
	display:none;
}
@media screen and (max-width : 768px){
	
/* グローバルナビ(スマホ用) */	
	#spmenu{
		position:absolute;
		top:5%;
		right:4.5%;		
		width:9.5%;
		text-indent:-9999px;
		background-image:url("../img/btn_menu_sp.png");
		background-position:right top;
		background-repeat:no-repeat;
		background-size:contain;
		display:block;
	}
	#spmenu:hover{
	   cursor:pointer;
	}

  #gnav_sp{
    position:absolute;
	top:10%;
	right:0;		
    display:none;
    width:100%;
    z-index:999;	
	background-color:#ffffff;
	border-bottom:1px solid #bfbfbf;
  }  
  #gnav_sp li{
    border-top:1px solid #bfbfbf;
  }
  #gnav_sp li.toggle:hover{
    cursor:pointer;
  }
  #gnav_sp li span,
  #gnav_sp li a{
    display:block;
    width:100%;
    padding:0.8em 2em 0.8em 1.2em;
    background-image:url("../img/ico_spmenu_arrow.png");
    background-position:95% center;
    background-size:14px 14px;
    background-repeat:no-repeat;
    font-size:100%;
    color:#000000;
	text-decoration:none;
  }
  #gnav_sp li.toggle span{
    background-image:url("../img/ico_spmenu_plus.png");
  }
  #gnav_sp li.toggle.on span{
    background-image:url("../img/ico_spmenu_minus.png");
  }
  #gnav_sp .gnav_sub{
    display:none;
  }
  #gnav_sp .gnav_sub>li a{
    padding-left:2.4em;
  }
  
  #gnav_sp li.active{
	background-color:#eff4fc;
	color:#113f8d;
  }
}

/* ===============================================
# footer
=============================================== */
footer{
  min-width:1000px;
  position:relative;
  background-color:#ffffff;
  border-top:solid 1px #bfbfbf;
  color:#454545;
  font-size:86%;
  overflow:hidden;
}
footer .inner{
  position:relative;
  margin:44px auto 0 auto;  
  width:1000px;
  text-align:center;
}
footer .logo{
	float:left;
	width:212px;
	height:66px;
}
footer .adr{
	float:left;
	margin:0 0 40px 46px;
	text-align:left;	
}
@media screen and (max-width : 768px){
	footer{
	  font-size:71.43%;
	  min-width:100%;
	}
	footer .inner{
	  margin:5% 3%;  
	  width:96%;
	  text-align:left;
	}
	footer .logo{
		float:none;
		width:40%;
		height:auto;
	}
	footer .adr{
		float:none;
		margin:3% 0;
		text-align:left;	
	}	
}
/* ===============================================
# container
=============================================== */
#container{
	width:100%;
	min-width:1000px;
	border-top:none;
	padding-top:4px;
	border-top:solid 1px #113f8d;
}

#container .inner{
	width:970px;
	margin:0 auto;
	overflow: hidden;
}

#container .inner.nottab{
	margin-top:60px;
}

@media screen and (max-width : 768px){
	#container{
		width:100%;
		min-width:100%;
		border-top:none;
		padding-top:4px;
		margin-top:5%;
		font-size:85.71%;
	}

	#container .inner{
		width:100%;
		padding:0 2% 0 2%;
	}
	
	#container .inner.nottab{
		margin-top:30px;
	}	
}

/* ===============================================
# タブメニュー
=============================================== */
.page_tab{
	background:url(../img/bg_page_tab.png.png) repeat-x bottom left;
	overflow: hidden;
	padding:25px 0 0 0;	
	margin-bottom:72px;
	text-align:center;
}

.page_tab ul{
	display:inline-block;
	vertical-align: bottom;
	margin-bottom:4px;
}

.page_tab li{
	float:left;
}

.page_tab li span{
	height:47px;
	line-height:47px;
	border-left:dotted #d1d1d1 1px;
	display: block;
	padding:0 35px;
} 

.page_tab li:last-child span{
	border-right:dotted #d1d1d1 1px;
}

.page_tab li a{
	text-decoration:none;
	display:block;
	padding-bottom:17px;
	color:#000;
	border-bottom:7px #fff solid;
}

.page_tab li a:hover,.page_tab li.active a{
	border-bottom:7px #113f8d solid;
	color:#000;
}

.page_tab ul.col6 li span{
	padding:0 10px;
}



@media screen and (max-width : 768px){
	.page_tab{
		background:url(../img/bg_page_tab_sp.png) repeat-x bottom left;
		padding:0 0 2px 0;	
		margin-bottom:5%;
		font-size:87%;
	}
	
	.page_tab ul{
		width:100%;
		border-top:solid #cccccc 1px;
		margin:2px auto 0 auto;
	}
	
	.page_tab li{
		width:50%;
		border-bottom:solid #cccccc 1px;
	}
	
	.page_tab li span{
		height:auto;
		line-height:0;
		border-left:none;
		display: block;
		padding:2em 1% 2em 5%;
	} 
	
	.page_tab li:nth-child(even){
		border-left:solid #cccccc 1px;
	}
	.page_tab li:last-child span{
		border-right:none;
	}
	
	.page_tab li a{
		text-decoration:none;
		display:block;
		padding-bottom:0;
		color:#000;
		border-bottom:none;
	}
	
	.page_tab li a:hover,.page_tab li.active a{
		border-bottom:none;
		background-color:#eff4fc;
		color:#113f8d;
	}
	
	.page_tab ul.col3 li{
		width:100%;
	}
	
	.page_tab ul.col4{
		width:100%;
	}
	
	.page_tab ul.col6{
		width:100%;
	}

	.page_tab ul.col6 li span{
		padding:2em 1% 2em 5%;
	}
}

/* ===============================================
# mainVisual
=============================================== */
#mainVisual {
    position: relative;
	width:100%;
	height:0;
	padding-top:12.41%;
	min-width:1000px;
    overflow: hidden;
}

#mainVisual > h2{
	width:100%;
	height:100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width : 768px){
	#mainVisual {
		min-width:100%;
		padding-top:33.65%;
	}
}

/* ===============================================
# 前の画面に戻る、ページトップボタン
=============================================== */
#bottombtn{
	height: 51px;
	width:970px;
	margin:0 auto;
	text-align: center;
	position: relative;
	z-index: 90;
    margin-top:60px;	
}

#bottombtn .back{
	font-size:85.71%;
	width:133px;
	height: 51px;
	line-height:51px;
	position:absolute;
	right:53px;
	bottom:0;
}

#bottombtn .back a:link{
	color:#fff;
	text-decoration:none;
	display:block;	
	height:100%;
	background-color:#113f8d;
}

#bottombtn .back a span::before{
	content:'<';
	display:inline-block;
	margin-right:1em;
}

#bottombtn .top{
	width:51px;
	height:51px;
	position:absolute;
	right:0px;
	bottom:0;
	overflow: hidden;
  	text-indent: 100%;
  	white-space: nowrap;	
}

#bottombtn .top a{
	display:block;	
	height:100%;
	background:#8b8b8b url(../img/icon_trigone_top.png) no-repeat center center;	
	background-size:11px 6px;	
}

#bottombtn a:hover{
	opacity: 0.6;
}

@media screen and (max-width : 768px){
	#bottombtn{
		height: auto;
		width:96%;
		margin:20px auto;
		text-align: center;
		position: relative;
		font-size:83%;
	}
	
	#bottombtn .back{
		width:100%;
		height: auto;
		line-height:3em;
		position:relative;
		right:0;
		bottom:0;
	}
	
	#bottombtn .back a:link{
		background-color:#eaeef5;		
		padding-left:0;
		color:#113f8d;
		text-decoration:none;
		display:block;	
		height:100%;
	}
	
	#pagetop {
		position: fixed;
		z-index:999;
		bottom: 15px;
		right:10px;
	}
}


/* error
----------------------------------------------------------- */
.error{
  padding:2em 0 5em;
  text-align:center;
}


