@charset "utf-8";
/* --------------------------
     全端末共通のCSS
-------------------------- */
/* --------------------------
    body
-------------------------- */
body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
    font-size: 14px;
    width: 100%;
    background-size:100% auto;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-webkit-print-color-adjust: exact;/*印刷対応*/
	color:#121212;
}
/*IE対策*/
/*body{
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif\9;
	}*/

/*選択色*/
::selection {background: #d9e4f4;}
::-moz-selection {background: #d9e4f4;}

p,dt,dd{
	line-height: 1.8;
	font-weight:normal;
}

img { 
	-ms-interpolation-mode: bicubic;
	max-width: 100%;
    height: auto;
	display:block;
	}

a:link { color: #121212; }
a:visited { color: #121212; }
a:hover { color: #121212; }
a:active { color: #121212; }

h1{
	float:left;
	}
h2{
	margin:0 auto;
	text-align:center;
	margin-bottom: 50px;
	font-size: 1.6rem;
}
h2 img{
	display:inline-block;
	width: 100%;
}

h2 span{
	color:#074293;
	display:block;
	font-family:'Lato';
	letter-spacing: 2px;
    font-size: 0.8rem;
    font-weight: bold;
    margin-top: 8px;
}
h3{
	text-align:center;
	font-size:1.3rem;
	font-weight: normal;
    letter-spacing: 1px;
	margin-bottom:30px;
	color:#074293;
}
h4{
	font-size:1rem;
	text-align:center;
	margin-bottom: 30px;
    letter-spacing: 1px;
    font-weight: normal;
	line-height: 1.7;
}

.ttl{
	text-align:center;
	width:200px;
	background:#FFF;
	margin:auto;
	position:absolute;
	top:-0.5rem;
	left:0;
	right:0;
	color:#074293;
}

.ttl img{
	display:inline-block;
}

#header{
	position:fixed;
	padding-top:24px;
	z-index:99999;
	border-bottom: 1px solid #e1e1e1;
}

.detailBlock {
    /*margin-top: 60px;*/
    padding-top: 60px;
    border-top: 1px solid #e0e0e0;
    position: relative;
	padding-bottom: 50px;
}

.detailBlockIn{
	width:960px;
	margin:0 auto;
}


/* --------------------------
TOPへもどるボタン
-------------------------- */
#topbutton {
    position: fixed; 
    bottom: 80px;
    right: 20px;
    display: none;
   }
   
a:hover #topbutton {   
	opacity: 0.5;
	cursor:pointer;
   }
   
/* --------------------------
    コンテンツ
-------------------------- */
.contents{
	width:1200px;
    margin:0 auto;
	margin-bottom: 60px;
}

#header{
	width:100%;
	background:#fff;
}

/* --------------------------
    navi
-------------------------- */
/*hoverアクション*/
#naviWrap ul#navi li a.active::after {
	position: absolute;
    bottom: 0em;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background-color: #074293;
    opacity: 1;
    transition: none;
}

#naviWrap ul#navi li a {
	position: relative;
	display: inline-block;
	transition: .3s;
}
#naviWrap ul#navi li a::after {
	position: absolute;
	bottom: .3em;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #074293;
	opacity: 0;
	transition: .3s;
}
#naviWrap ul#navi li a:hover::after {
	bottom: 0;
	opacity: 1;
}

#naviWrap{
	width: 1200px;
	margin: 0 auto;
	position:relative;
	overflow:hidden;
}

#naviWrap ul#navi {
	text-align: right;
}

#naviWrap ul#navi li {
	display: inline-block;
	margin-right:40px;
	vertical-align: bottom;
	line-height: 0;
}

#naviWrap ul#navi li:last-child {
	margin-right:0;
}

#naviWrap ul#navi li img{
	margin-bottom:2px;
}

/*サブナビゲーション二階層以降*/
#subNaviWrap{
border-top: 3px solid #e83416;
border-bottom:1px solid #f5f5f5;
background-color:rgba(255,255,255,0.5);
height:48px;
}

#subNaviWrap ul.subNavi {
 text-align: center;
}

#subNaviWrap ul.subNavi a{
color:#626262;
}

#subNaviWrap ul.subNavi li {
display: inline-block;
margin-right:34px;
padding:16px 0;
}

#subNaviWrap ul.subNavi li:last-child{
	margin-right:0;
}

#header ul.subNavi{
	text-align:center;
}

/*スクロールで固定*/
/*#header.scroll{
position: fixed;
top:0;
left: 0; 
z-index:999;
border-bottom:none;
height:auto;
border-bottom: 1px solid #e1e1e1;
}*/

#detail{
	width:100%;
	z-index:0;
}

/*スマホ用ナビを消す*/
#navi_sp, #toggle{
	display:none;
}

/* --------------------------
    pankuzu
-------------------------- */
.pankuzu{
	overflow:hidden;
	/*border-top:1px solid #e2e2e2;*/
	width: 100%;
}
.pankuzu ul{
	padding: 10px 0 20px 10px;
	width:1200px;
	margin:0 auto;
}

.pankuzu ul li{
	float:left;
	margin-right:15px;
	font-size: 0.7rem;
	letter-spacing:1px;
}
.pankuzu ul li i{
	margin-left:15px;
}

 @media print, screen and (max-width: 1200px) { 
.pankuzu{
	width:100%;
}
.pankuzu ul{
	width:95%;
}
 }

/* --------------------------
    footer
-------------------------- */
#footer{
	width:100%;
	border-top:1px solid #dbdbdb
}

#footer .footerContents{
	width:1200px;
	margin:0 auto;
	padding:30px 0;
	overflow:hidden;
}

#footer a:link { color: #000; }
#footer a:visited { color: #000; }
#footer a:hover { color: #000; text-decoration:underline; }
#footer a:active { color: #000; }
#footer .footerContents{
	text-align:center;
}

#footer .footerContents ul a{
	float:none;
	margin-bottom:15px;
	display:block;
	text-align:left;
}

#footer ul.footerList{
	float:left;
	width: 15%;
    margin-left: 5%;
}

#footer ul#first{
	margin-left: 16%;
}

#footer ul.footerList li a:link{
	color:#074293;
	font-weight:bold;
}

#footer ul.footerList li a:visited{color:#074293;}
#footer ul.footerList li a:hover{color:#074293;}
#footer ul.footerList li a:active{color:#074293;}

#footer ul.footerList li ul li a:link{
	color:#121212;
	font-weight:normal;
}
#footer ul.footerList li ul li a:visited{color:#121212;}
#footer ul.footerList li ul li a:hover{color:#121212;}
#footer ul.footerList li ul li a:active{color:#121212;}

#footer i{
	display:none;
}

div.footerCopy{
	font-family:'Lato';
	width:100%;
	color:#074294;
	padding:13px 0;
	text-align:center;
	font-size: 11px;
    border-top: 2px solid #074294;
    letter-spacing: 1px;
}

#footer .footerCopy ul{
	margin:0 auto;
	text-align:center;
	margin-bottom:15px;
	
}

#footer .footerCopy ul li{
	margin-right:3%;
	display: inline-block;
	text-align:center;
}
#footer .footerCopy ul li:last-child{
	margin-right:0;
}

#footer .footerCopy ul li i{
	float:none;
	padding-right: 0px;
	display:inline-block;
}

.pc{
	display:block;
}

.sp{
	display:none;
}

	
/* --------------------------
    タブレット
-------------------------- */

 @media print, screen and (max-width: 1200px) { 

#naviWrap{
width: 95%;
margin: 0 auto;
position:relative;
overflow:hidden;

}

.mainV{
	width:100%;
}

#footer .footerContents{
	width:100%;
}
 
 #toggle{ 
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 26;
	height: 26;
}
}
@media screen and (max-width: 960px) {
.detailBlockIn{
	width:90%;
	margin:0 auto;
}
}
@media screen and (max-width: 708px) {
.pc{
	display:none;
}
.sp{
	display:block;
}

#header {
    padding-top: 0px;
}
#subNaviWrap{
	width:100%;
	font-size: 90%;
	height:auto;
}
#subNaviWrap ul.subNavi a{
	width:49.9%;
	margin: 0px;
	text-align:left;
	border-bottom:1px solid #ccc;
	margin-bottom: 0px;
	box-sizing: border-box;
	float:left;
	display:block;
}

#subNaviWrap ul.subNavi a:nth-child(odd) {
	border-right:1px solid #ccc;
}

#subNaviWrap ul.subNavi li i{
	padding: 0 5px 0 10px;
}

#header ul.subNavi{
	margin:0;	
}

 #subNaviWrap{
	 padding-top:56px;
	 }
.sp ul.subNavi li {
	float:left;
	display:block;
}	 
}

/* --------------------------
    スマホ
-------------------------- */
@media screen and (max-width: 750px) {
h3{
	font-size:1.1rem;
}
#footer a:hover{
	text-decoration: none;
}
#footer ul#first {
    margin-left: 0;
}
#footer ul#last {
	margin-bottom:0;
	padding-bottom:0;
}
#footer .footerContents {
	padding: 0;
    width: 	100%; 
}
#footer .footerContents ul {
	float:none;
	width:100%;
}
#footer .footerContents ul li ul{
	display:none;
}
#footer .footerContents ul a {
    width: 100%;
	margin-bottom: 0px;
}

#footer ul.footerList {
	margin-left:0;
}

#footer ul.footerList li{
	border-bottom: 1px solid #e1e1e1;
    padding-left: 3%;
    padding-right: 3%;
	overflow:hidden;
}

#footer i{
	display:block;
	display:inline;
	padding-right:10px;
	float: right;
}
#footer ul.footerList li a:link {
	padding: 5% 0;
}
#footer .footerContents ul > a{
	width:89%;	
}
#footer .footerContents ul > a{
	text-align:left;
	display:block;
	float:none;
	background:#FFF;
	color:#000;
	font-size:100%;
	border-bottom:1px solid #DEDFDF;
	padding: 0px 0 16px 20px;
}
}
 @media screen and (max-width: 714px) {
body {
	font-size:13px;
}
h2{
font-size: 25px;
}

#header h1,#header.scroll h1{
	margin:0;
	float:left;
	text-align: left;
	width:45%;
	padding-left:3%;
	margin-bottom:15px;
	margin-top:10px;
}

#header i{
	float:left;
}
#header div.subNaviWrap,#navi{
	display:none;
}

#naviWrap {
	width: 100%;
	font-size:100%;
	vertical-align:bottom;
}
  
 #navi_sp{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  z-index:999999;
  
}
#navi_sp li{
  display: block;
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  }
#navi_sp li a{
  display: block;
  padding: 18px 18px 15px;
  background: #fff;
  color: #074293;
  font-weight:bold;
  text-align: left;
  text-decoration: none;
  border-top:1px solid #e1e1e1;
}
#navi_sp li a:hover{
  background: #f5f5f5;
}

#toggle i{
	  font-size:200%;
  }
#toggle{
	display: block;
    position: relative;
    width: 100%;
	right:-43%;
	margin: 10px 0 10px 0;
  }
#toggle a{
  display: block;
  position: relative;
  padding: 0 0 0 10px;
  color: #0e4797;
  text-align: center;
  text-decoration: none;
  z-index:999;
}
 }

 @media screen and (max-width: 414px) {
.ttl,h3 {
	font-weight:bold;
}

.ttl {
	width:150px;
}
 }
 
@media print{
  /*印刷対応*/
.table td,
.table th,
.table tr,
dd,
dt,
dl {
    background-color: transparent !important;
}
#header,
#topbutton {
    display: none;
}
}

/* --------------------------
    プライバシーポリシー
-------------------------- */
#privacy .ttl{
    width: 300px;
}
#privacy .pankuzu{
	border-bottom:1px solid #e2e2e2;
	margin-bottom:30px;
}

#privacy .detailBlock ul{
	margin-top:5%;
}

#privacy .detailBlock ul li{
	line-height:1.8;
	margin-bottom: 1%;
}
#privacy .detailBlock ul li{
	text-indent:-1.5rem;
	padding-left:1.5rem;
	font-weight:normal;
}

#privacy .detailBlock ul li span{
	font-weight:bold;
	font-size:1rem;
}

#privacy .detailBlock ul li ul{
	margin-left:1rem;
	margin-top:0;
}

#privacy .detailBlock ul li ul li{
	text-indent:-1rem;
	padding-left:1rem;
}

#privacy .detailBlock a:link{
	border-bottom:1px solid #074293;
}

/* --------------------------
    サイトポリシー
-------------------------- */
#sitepolicy .pankuzu{
	border-bottom:1px solid #e2e2e2;
	margin-bottom:30px;
}
#sitepolicy h2 {
	margin-bottom:30px;
}

#sitepolicy .detailBlock ul{
	margin-top:5%;
}

#sitepolicy .detailBlock ul li{
	line-height:1.8;
	margin-bottom: 2%;
	font-weight:normal;
}

#sitepolicy .detailBlock ul li span{
	font-weight:bold;
	font-size:1rem;
}

#sitepolicy .detailBlock ul li ul{
	margin-top:0;
	margin-left:1rem;
}

/* --------------------------
    サイトマップ
-------------------------- */
#sitemap .pankuzu{
	border-bottom:1px solid #e2e2e2;
	margin-bottom:30px;
}
#sitemap h2 {
	margin-bottom:30px;
}

#sitemap .detailBlock ul li{
	line-height:1.8;
}

#sitemap .detailBlock ul li span{
	font-weight:bold;
	font-size:1rem;
}

#sitemap .detailBlock ul li ul{
	margin-top:0;
}

#sitemap .detailBlock ul li ul a:hover{
	border-bottom:1px solid #121212;
}

#sitemap .detailBlock ul li a:hover{
	border-bottom:1px solid #121212;
}

#sitemap .detailBlock ul li {
	overflow:hidden;
	margin-bottom:30px;
	padding-bottom:30px;
	font-weight:normal;
}

#sitemap .detailBlock ul li:last-child{
	border-bottom:0;
	margin-bottom:0;
	padding-bottom:0;
}
.mapList{
	margin-left:1rem;
}
.mapList li{
	float:left;
	margin-right:4%;
}
#sitemap .detailBlock ul li ul.mapList li{
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
	
}

/* --------------------------
    ボタン
-------------------------- */
a:link button{
	color:#074293;
	border: 1px solid #074293;
}

a:visited button {
    color: #074293;
    border: 1px solid #074293;
}

a:hover button{
	color:#FFF;
}

button{
  background:#FFF;
  border:none;
  position:relative;
  height:46px;
  font-size:1em;
  padding:0 2em;
  cursor:pointer;
  transition:800ms ease all;
  outline:none;
}
button:hover{
  background:#043c79;
}
button:before,button:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:2px;
  width:0;
  background: #043c79;
  transition:400ms ease all;
}
button:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
button:hover:before,button:hover:after{
  width:100%;
  transition:800ms ease all;
}