@charset "utf-8";
/* CSS Document */
/*margin
----------------------------------------*/

/*top*/
.mt0{ margin-top: 0px !important; }
.mt05{ margin-top: 5px !important; }
.mt10{ margin-top: 10px !important; }
.mt15{ margin-top: 15px !important; }
.mt20{ margin-top: 20px !important; }
.mt25{ margin-top: 25px !important; }
.mt30{ margin-top: 30px !important; }
.mt40{ margin-top: 40px !important; }
.mt50{ margin-top: 50px !important; }

/*bottom*/
.mb0 { margin-bottom: 0px !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.pb20 { padding-bottom:20px !important;}

/*right*/
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }

/*left*/
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }

.align_l { text-align: left !important; }
.align_c { text-align: center !important; }
.align_r { text-align: right !important; }
.valign_m { vertical-align: middle !important; }

* {
    margin: 0;
    padding: 0;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead {
    background: transparent none repeat scroll 0 0;
    border: 0 none;
    font-size: 100%;
    outline: 0 none;
    vertical-align: baseline;
}

.sp {
display:none; /*非表示*/
}
@media screen and (max-width: 736px) { /*ウィンドウ幅が最大479pxの場合に適用*/
.pc {
display:none; /*非表示*/
}
.sp{
	display:block;
}
}
/* フロート回り込み解除
----------------------------------------------- */
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
}
.clearfix {
    display: block; /* for IE8 */
}
.clear {
    clear: both;
}
a:link{
	text-decoration:none;
}
a:hover{
	opacity:0.8;
}
body{
	font-family: 'Noto Sans Japanese',   sans-serif;
	/*font-family:"Noto Sans Japanese",sans-serif"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	color:#333;}
#wrapper{
	width:100%;
	background:#fff;
}
header{
	margin:0 auto;
	width:920px;
}
.contents{
	margin:0 auto;
	width: 830px;
}
.contents p,
.contents ol,
.contents ul{
	margin: 0 10px;
}
header h1{
    float: left;
    width: 29%;
    padding-top: 10px;
    text-align:center;
}
header .tel{
	float:left;
	width: 45%;
	text-align: right;
	padding-top:22px;
}

header .mailbtn{
	float:right;
	width: 23%;
	text-align: right;
	padding-top:15px;
}
header .mailbtn a{
    text-align: center;
    margin: 14px 0;
    padding: 7px 0px 7px 15px;
    background: url(../img/icon_mail.png) left no-repeat #fda100;
    background-position: 10% 50%;
    display: block;
    background-size: 21px;
    width: 154px;
	font-weight: 500;
font-size: 16px;
}

header .mailbtn a:link,
header .mailbtn a:visited{
	color:#fff;
}
/*nav*/

.menu {
position: relative;
width: 870px;
height: 47px;
margin: 0 auto;
}

.menu > li {
float: left;
width: 25%;
height: 47px;
line-height: 47px;
text-align: center;
font-size: 110%;
font-weight: 500;
}

.menu > li a {
	display: block;
	color: #fff;
}


.menu__single:hover {
  background: #11488b;
  -webkit-transition: .2s ease;
  transition: .2s ease;
}

.menu__second-level li {
  border-top: 1px solid #fff;
  font-weight: 400;
}

nav{
	background:#04336c;
}
nav ul li:hover,
btn:hover{
	background: #144d93;
}
nav ul li.first a{
	padding-left:5px;
	background-image:url(../img/nav_icon.png);
	background-position: 30% 50%;
	background-repeat:no-repeat;
	background-size: 20px 17px;
}
nav ul li.first{
	background: #144d93;
}
nav ul li{
	font-size:100%;
}
.menu__second-level{
	font-size:90%;
}
/*
nav a:link{
	color:#fff;
}
nav ul{
	width:900px;
	margin:0 auto;
}
nav ul li a{
	float: left;
width: 20%;
display: block;
padding: 10px 20px;
text-align: center;
font-size: 14px;
}

nav ul li a:hover{
	opacity:0.8;
}*/

@media screen and (max-width: 736px) { /*ウィンドウ幅が最大479pxの場合に適用*/

.logo img{
	width:45% !important;
}
.main p img{
	width:90%;
}
.blueB{
	border-bottom: 1px solid #2b2d7a;
}

header h1{
    width: 100% !important;
    margin-top: 3px !important;
    padding-top: 0 !important;
    background: #fff;
	text-align:center;border-bottom: 1px solid #04336c; 
	}
.tel02{
	width:33%;
	float:right;
}
header  a:link{
	color:#fff;
}
header  a:visited{
	color:#fff;
}
header .tel02 a{
    text-align: center;
    padding:2% 0px;
    display: block;
    width: 100%;
}

header .tel02 a img{
	width:11%;
	 	margin-top: 5px; 
}
header .mailbtn02 a{
    text-align: center;
    padding: 0% 0px;
    display: block;
    width: 100%;
   padding: 8% 0px;
}
header .mailbtn02{
    width: 33%;
    float: right;
	border-right: 1px solid #04336c;
    border-left: 1px solid #04336c;
}
nav{ 	float: left;
	  padding-left: 12%;
	padding-top: 10px; 
	width:20%;
}
header .mailbtn02 a img{
	    width: 23% !important;
}
body{
	max-width: 100%;
}
body img{
	width:100%;
}
.contents{
	    margin:30px 3% 50px 3%;
		width:94%;
}

header{
	width:100% !important;
	box-sizing: border-box;
}
address{
	width: 88%;
	font-size:78%;
	padding:3% 6% !important;
}
.map img{
	width:100%;
}
nav {
  background:#fff;
}

#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 50px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
.menu{
	width:100%;
	margin:0 !important;
}
.menu > li{
	float:auto !important;
	width:100% !important;
	background:#144d93;
	border-bottom: 1px solid #fff;
}
.menu li.second{
    float: auto !important;
    width: 100% !important;
    background: #518ed9;
    border-bottom: 1px solid #fff;
    text-align: center;
    font-size: 110%;
    font-weight: 500;
}


#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 30px;/*長さ*/
  border-radius: 3px;
  background: #04336c;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}


/*閉じる用の薄黒カバー*/
#nav-close {
    position: fixed;
    z-index: 10003;
    top: 0px;
    left: 0px;
    width: 35px;
    height: 35px;
    font-size: 20px;
    text-align: center;
    line-height: 2;
    color: #fff;
    font-weight: bold;
}
/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background:#fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

li.menu__single ul.menu__second-level{
	position:inherit;
}
table.companytable td{
	width:auto;
}
.main{
	    height: 200px !important;
}
.contents ul li{
	float:none !important;
	width:100% !important;
	margin-bottom:25px;
}
.contents h2{
	    font-size: 120%;
}
/*footer*/
footer{
}
footer .bnr{
	margin:0 !important;
	width:auto !important;
	 padding: 4% !important;
}
footer .bnr img{
	width:100%;
}
footer .bnr li{
	margin-right: -2%;
}
footer .footer_nav{
	margin-bottom:10px;
}
footer .bnr li a{
	width:47% !important;
}
.index .contents ul li{ 
margin-bottom:35px;
}
.index .contents ul{ 
margin-top:0px !important; 
}


}

.menu__second-level li a:hover {
	opacity:0.8;
  z-index:3;
}


.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 47px;
    width: 100%;
    background: #518ed9;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	  z-index:3;
}

li.menu__single:hover ul.menu__second-level {
    top: 47px;
    visibility: visible;
    opacity: 1;
}

.menu__second-level{
	display:none;
}
.menu__single:hover .menu__second-level{
	display:block;
}
/*nav end*/


.main{
	width:100%;
	background-image:url(../img/main.png);
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	background-position:center;
	height: 428px;
}

.main p{
	position:absolute;
	top:30%;
	text-align:center; 
	width: 100%;
}
.contents{
	margin-top:30px;
	margin-bottom:150px;
}
.contents h2{
	    font-size: 135%;
    border-bottom: 2px solid #04336c;
    color: #04336c;
    margin-bottom: 20px;
    padding-bottom: 10px;
	font-weight:600;
}
.contents h3{
	font-size:115%;
	font-weight:500;
	color:#333;
}
.contents ul{
	margin:0 20px;
}
.contents ul li{
float: left;
width: 32%;
margin-right: 15px;
}
.contents ul li img{
	width:100%;
}
.contents ul li h3{
	font-weight:700;
	text-align:center;
}
.contents ul li .btn a{
	text-align: center;
	margin: 15px 20px;
	padding: 5px 20px 5px 0;
	background: url(../img/icon_arrow.png) right no-repeat #04336c;
	background-position: 86% 50%;
	display: block;
	background-size: 8%;
	line-height: 1.6;
}
.contents ul li .btn a:link{
	color:#fff;
}
.contents ul li .btn a:visited{
	color:#fff;
}
.contents ul li:nth-child(3){
	margin-right:0;
}
footer{
	margin:0 auto;
}
.map{
	font-size:0;
	margin-top: 20px;
}
.map img{
	width:100%;
}
.gray{
	background: #d7dbe5;
}
footer .footer_nav{
    width: 900px;
    margin: 0 auto;
}
footer .footer_nav li a{
	background: url(../img/icon_arrow02.png) right no-repeat;
color: #04336c;
font-size: 90%;
background-size: 13px;
line-height: 1.;
padding: 5px 19px 5px 0;
}

footer .footer_nav li a{
	float:left;
	margin-right:20px;
	display:block;
}
footer .bnr {
width: 1000px;
margin: 0 auto;
padding: 1% 0% 2% 10%;
}
footer .bnr li a{
float: left;
width: 17%;
margin-right: 10px;
display: block;
}
footer .bnr li a img{
	width:100%;
}
footer .bnr li.last a{
	margin-left: 3%;
	margin-right: 0 !important;
	width: 9%;
}
footer .bnr li.last a img{
width: 63%;
padding: 0px 7px;
}
address{
	background:#04336c;
	text-align:center;
	color:#fff;
	font-size:80%;
	padding: 10px;
}

/*TOPへ戻る*/
#pageTop {

  position: fixed;
bottom: 36px;
right: 50px;
}

 

#pageTop a {
  display: block;
  z-index: 999;
  text-align: center;
}
#pageTop a img{
	width:80%;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}


@media screen and (max-width: 736px) { /*ウィンドウ幅が最大479pxの場合に適用*/
#pageTop {
    position: fixed;
    bottom: 55px;
    right: 0px;
}
#pageTop a img{
	width:50%;
}
footer .footer_nav{
	padding-left:20px;
	width:auto !important;
}
footer .bnr li.last a{
	    margin-left: 0 !important; 
}
footer .bnr li.last a img{
	width:35% !important;
}