@charset "utf-8";

/* ===================================================
base.css for all pages, all browser
 01.BASE
 02.DESIGN STRUCTURE
 03.DOCUMENT STRUCTURE
 04.NAVIGATION
 05.LINKTEXT DECOTAIOTN
 06.EACH
 07.FORM MODULES  
 08.responsive 
==================================================== */

/* 01 BASE
----------------------------------- */

* { margin: 0; padding: 0; }
/*¥*/ a { overflow:hidden; }/**/

html {
  font-size: 62.5%; /* sets the base font to 10px for easier math */
}

body {
	font-size: 14px;
	font-size: 1.4rem;
	/* sets the default sizing to make sure nothing is actually 10px */
	line-height: 2.4rem;
	font-family:"Lucida Grande","Hiragino Kaku Gothic Pro","Meiryo", sans-serif;
	color:#333;
	text-align:center;
	width:100%;
	min-width:960px;
}

h1,h2,h3,h4,h5,h6,p,ul,ol,dl,table,pre { margin-top: 0; }

table { font-size:inherit; font-size: 14px; font-size: 1.4rem; }

hr { display:none; }

ul,ol { list-style-type: none; }

img { border:0; margin:0; padding:0; vertical-align:bottom; }

section { overflow:hidden; }

.clear { clear:both; }



/* 02 DESIGN STRUCTURE
----------------------------------- */

/* header ----- */
header {
    width: 100%;
	background-color:#142f74;
	overflow:hidden;
}

header .logo {
	text-align:center;
	padding-bottom:5px;
}

header h1 {
	font-size: 14px;
	font-size:1.4rem;
	color:#de1616; 
	padding:10px 0;
}


header nav{
	clear:both;
    overflow: hidden;
    display: inline-block;
    z-index: 0;
	text-align:center;
}


header nav ul {
    list-style: none;
	width:816px;
	height:45px;
	margin:auto;
}

header nav ul li {
    float: left;
}

header nav ul li a { display:block; }
header nav ul li a span { display:none; }

header nav ul li.navi01 a { width:146px; height:45px; background:url(../images/common/navi01_n.jpg) no-repeat left top; }
header nav ul li.navi02 a { width:131px; height:45px; background:url(../images/common/navi02_n.jpg) no-repeat left top; }
header nav ul li.navi03 a { width:131px; height:45px; background:url(../images/common/navi03_n.jpg) no-repeat left top; }
header nav ul li.navi04 a { width:131px; height:45px; background:url(../images/common/navi04_n.jpg) no-repeat left top; }
header nav ul li.navi05 a { width:131px; height:45px; background:url(../images/common/navi05_n.jpg) no-repeat left top; }
header nav ul li.navi06 a { width:146px; height:45px; background:url(../images/common/navi06_n.jpg) no-repeat left top; }

header nav ul li a:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}


/*  gnavi Section  */

.gnavi{
    width: 100%;
    /*height: 900px;*/
    position: relative;
}


/*  footer  */

footer{
	background-color:#142f74;
}
.footer{
	color:#fff;
	width:960px;
	margin:auto;
	text-align:left;
	padding:30px 0;
}
.footer a{
	color:#fff;
}
.footer a:hover{
	color:#768bc3;
}

.footLeft{
	width:300px;
	float:left;
}
.footLeft .btn a{
	padding:0;
	width:300px;
	height:60px;
	line-height:60px;
	background-color:#de1616;
	text-align:center;
	margin-top:20px;
	font-size:120%;
}
.footLeft .btn a:hover{
	background-color:#a21d32;
	color:#fff;
}

.footRight{
	width:630px;
	float:right;
	border-left:solid 1px #fff;
}

.footLinks{
	overflow:hidden;
	margin:0 0 20px 30px;
	font-size:13px;
	font-size:1.3rem;
}
.links{
	width:150px;
	float:left;
}
.links li{
	background:url(../images/common/arrow_maru.gif) no-repeat left 8px;
	padding:0 0 0 15px;
}

.footAdd{
	border-top:solid 1px #fff;
	padding:20px 0 0 30px;
}
.footAdd .logo{
	width:220px;
	float:left;
	padding-top:5px;
}
.footAdd .logo img{
	width:180px;
}

.copyrights{
	clear:both;
	background-color:#142f74;
	color:#fff;
	padding:30px 0 15px 0;
}


/*  contents Section  */

.contents{
	width:960px;
	margin:auto;
	text-align:left;
}

.contentsBox {
	width:700px;
	float:left;
	padding:40px 0;
}

.subNaviBox{
	width:220px;
	float:right;
	/*margin-bottom:20px;*/
}



/* 03 DOCUMENT STRUCTURE
----------------------------------- */

h2{
	font-size:180%;
	margin-bottom:40px;
	color:#142f74;
	letter-spacing:3px;
}

.index h2{
	border:none;
	padding:0;
	margin:0;
	font-size:130%;
	border-left:solid 4px #de1616;
	padding-left:15px;
	margin-bottom:20px;
	text-align:left;
	letter-spacing:3px;
	color:#333;
}
.index h2 span{
	color:#de1616;
	font-size:75%;
	font-weight:normal;
	padding-left:15px;
	letter-spacing:0;
}

h3{
	font-size:140%;
	line-height:140%;
	border-bottom:solid 4px #dadada;
	padding-bottom:10px;
	margin:45px 0 30px 0;
	position: relative;
}
h3::after {
    background-color: #de1616;
    bottom: -4px;
    content: "";
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    width: 30%;
}

h3 i.fa{
	font-size:130%;
	width:35px;
	vertical-align:top;
	color:#de1616;
}


h3 span a{
	margin-left:20px;
	font-size:70%;
	line-height:1em;
	color:#fff;
	font-weight:normal;
	background-color:#0685c6;
	padding:5px 10px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	position: relative;
	behavior: url(css/PIE.htc);
}

h3 span a:hover{
	background-color:#4e84d0;
	color:#fff;
	text-decoration:none;
}



h4{
	font-size:115%;
	border-left:solid 4px #de1616;
	padding-left:15px;
	margin:30px 0 15px 0;
}

h3.top , h4.top {
	margin-top:0;
}


h5{
	font-size:110%;
	font-weight:bold;
	margin:20px 0 10px 2px;
}
h5:before {
    content: "\f111\00a0\00a0";
    color:#de1616;
    font-family: FontAwesome;
}

h6 {
    font-size: 100%;
    font-weight: bold;
	border-left:solid 4px #ccc;
	padding-left:15px;
	margin:30px 0 20px 0;
}

.contentsBox p ,
.contents.recTop p {
	margin-bottom:20px;
}


/* テキスト揃え */
.textRight{
	display:block;
	text-align:right;
}
.textCenter{
	display:block;
	text-align:center;
}



/* リード文 */
.lead{
	font-size:120%;
	font-weight:bold;
	color:#0178f2;
}


/* テキスト色 */
.red{ color:#FF0000;}
.blue{ color:#003399;}
.green{ color:#49b909;}
.yellow{ color:#fdd000;}


/* イメージ配置 */
.imgRight img{
	float:right;
	margin-left:20px;
}
.imgLeft img{
	float:left;
	margin-right:20px;
}

.floatR{
	float:right;
	padding:0 0 5px 20px;
}
.floatL{
	float:left;
	padding:0 20px 5px 0;
}
#main p.floatR , #main p.floatL{
	margin-bottom:10px;
	padding-top:5px;
}


/* 基本テーブル */
table.common{
	border-collapse:collapse;
	width:100%;
	margin-bottom:20px;
	border-top:solid 1px #dadada;
}
table.common th , table.common td{
	padding:15px 10px;
	text-align:left;
	font-weight:normal;
	border-bottom:solid 1px #dadada;
	vertical-align:top;
}
table.common th{
	width:120px;
	background-color:#f1f1f1;
}
table.common.thL th{
	width:150px;
}

table.common table{
	border-collapse:collapse;
	width:100%;
}
table.common table th{
	background:none;
	width:120px;
}
table.common table th , table.common table td{
	padding:15px 0;
}
table.common table .end th , table.common table .end td{
	border-bottom:0;
}


table.common.type2{
	border-top:none;
}
table.common.type2 th , table.common.type2 td{
	border:solid 1px #dadada;
}
table.common.type2 th{
	width:auto;
	text-align:center;
}

table.common.type2 th.wS{ width:30px; }
table.common.type2 th.wS2{ width:45px; }
table.common.type2 th.wS3{ width:60px; }
table.common.type2 th.wM{ width:85px; }
table.common.type2 th.wL{ width:185px; }


/* テーブル　右寄せ・センター */
table.common .right{ text-align:right;}
table.common .center{ text-align:center;}


/* 基本リスト */
ul.common{
	margin:0 0 0 50px;
	list-style-type:disc;
	margin-bottom:15px;
}
ul.common li{ margin-bottom:5px; }

ol.common{
	margin:0 0 0 35px;
	list-style-type:decimal;
	margin-bottom:15px;
}	
ol.common li{ margin-bottom:5px; }


/* 基本dl */
dl.common dt {
	font-weight:bold;
	font-size:100%;
	border-bottom:solid 1px #dadada;
	border-left:solid 3px #005cb0;
	padding:0 0 3px 13px;
	margin-top:15px;
}
dl.common dd {
	padding-top:8px;
	padding-left:40px;
	margin-bottom:15px;
}


/* 囲み */
.box {
	background-color:#fff7e0;
	padding:20px 20px 1px 20px;
	margin:30px 0 20px 0;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	position: relative;
	behavior: url(css/PIE.htc);
}


/* 画像並び */
.img2col{
	overflow:hidden;
	margin-bottom:20px;
}
.img2col li {
	width:300px;
	float:left;
	margin:0 25px 20px 25px;
	text-align:center;
}
.img2col li img {
	width:100%;
	margin-bottom:8px;
}
.img2col li a:hover{
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

.img3col{
	overflow:hidden;
	margin:0 -10px 20px -10px;
}
.img3col li {
	width:220px;
	float:left;
	margin:0 10px;
	text-align:center;
}
.img3col li img {
	width:100%;
	margin-bottom:8px;
}
.img3col li a:hover{
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}



/* 04 NAVIGATION
----------------------------------- */	

.breadcrumb{
	text-align:center;
	padding:5px 0;
	background-color:#e9f5fd; 
}
.breadcrumbBox {
	width:960px;
	margin:auto;
	text-align:left;
}

.breadcrumb li{
	display: inline;
}
.breadcrumb li a {
	padding-right: 25px;
	background: url(../images/common/icon_breadcrumb.png) no-repeat right;
}


.pagetop{
	background-color:#e9f5fd;
	clear:both;
}
.pagetop a{
	display:block;
	width:100%;
	padding:10px 0;
}


/* subNavi */
.subNaviBox ul {
	margin-bottom: 20px;
}
.subNaviBox li{
	border:solid 1px #dadada;
	border-top:none;
}
.subNaviBox li a{
	display:block;
	padding:15px 10px 15px 35px;
	background:url(../images/common/icon_subnavi.png) no-repeat 10px 50%;
	color:#333;
}
.subNaviBox li a:hover{
	background:url(../images/common/icon_subnavi.png) no-repeat 10px 50% #f1f1f1;
	color:#de1616;
}

.subNaviBox li.title{
	background-color:#142f74;
}
.subNaviBox li.title a{
	display:block;
	padding:40px 0;
	background:none;
	font-size:130%;
	font-weight:bold;
	color:#fff;
	text-align:center;
}
.subNaviBox li.title a:hover{
	color:#de1616;
}

.subNaviBox li ul{
	margin:0 0 10px 0;
}
.subNaviBox li li{
	border:none;
	font-size:90%;
}
.subNaviBox li li a{
	display:block;
	padding:3px 5px 3px 60px;
	background:url(../images/common/icon_subnavi.png) no-repeat 35px 50%;
	color:#333;
}
.subNaviBox li li a:hover{
	background:url(../images/common/icon_subnavi.png) no-repeat 35px 50% #f1f1f1;
}

.subNaviBox li li.title2{
	background-color:#dadada;
	padding:5px 0 5px 35px;
}


/* conNavi */
.conNavi{
	overflow:hidden;
}
.conNavi li{
	width:33.3%;
	float:left;
	margin:0 0 10px 0;
	text-align:center;
}
.conNavi li.end{
	margin:0 0 10px 0;
}
.conNavi li a{
	display:block;
	padding:10px 0 17px 0;
	border:solid 1px #dadada;
	border-right:none;
	background:url(../images/common/icon_conNavi.png) no-repeat center 44px;
}
.conNavi li:last-child a{
	border-right:solid 1px #dadada;
}
.conNavi li a:hover{
	border:solid 1px #de1616;
}


/* catNavi */

.catNavi{
	overflow:hidden;
	margin:0 -2% 20px -2%;
}
.catNavi li {
	width:46%;
	float:left;
	margin:0 2% 10px 2%;
}
.catNavi li a {
	display:block;
	padding:15px 0 15px 15px;
	border:solid 4px #e5e5e5;
	color:#333;
	font-size:110%;
}

.catNavi li a:hover {
	background-color:#f1f1f1;
}

.catNavi i.fa{
	font-size:160%;
	width:40px;
	vertical-align:top;
	color:#142f74;
}

.catNavi.solu .icon01 a{ background:url(../images/top/icon_01.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }
.catNavi.solu .icon02 a{ background:url(../images/top/icon_02.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }
.catNavi.solu .icon03 a{ background:url(../images/top/icon_03.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }
.catNavi.solu .icon04 a{ background:url(../images/top/icon_04.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }
.catNavi.solu .icon05 a{ background:url(../images/top/icon_05.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }
.catNavi.solu .icon06 a{ background:url(../images/top/icon_06.png) no-repeat 15px 50%; background-size:auto 30px; padding:17px 0 17px 65px; }


.catNaviRec {
	overflow: hidden;
}
.catNaviRec li {
	width: 20%;
	float: left;
}
.catNaviRec li a {
	display: block;
	background: -moz-linear-gradient(65deg, #142f74, #2ba5fb);
	background: -webkit-linear-gradient(65deg, #142f74, #2ba5fb);
	background: linear-gradient(25deg, #142f74, #2ba5fb);
	color: #fff;
	font-size:110%;
	text-align: center;
	padding: 35px 0;
}
.catNaviRec li a:hover {
	background: -moz-linear-gradient(top, #2ba5fb, #2ba5fb);
	background: -webkit-linear-gradient(top, #2ba5fb, #2ba5fb);
	background: linear-gradient(to bottom, #2ba5fb, #2ba5fb);
}
.catNaviRec li:last-child a { border: 0; }
.catNaviRec li a i.fa {
	display: block;
	margin-bottom: 15px;
	font-size:200%;
}


/*
.catNavi li.recruit2 a{ background:url(../images/recruit/icon_recruit2.png) no-repeat 15px 50%; padding:17px 0 17px 70px; }
.catNavi li.recruit3 a{ background:url(../images/recruit/icon_recruit3.png) no-repeat 15px 50%; padding:17px 0 17px 70px; }
.catNavi li.recruit4 a{ background:url(../images/recruit/icon_recruit4.png) no-repeat 15px 50%; padding:17px 0 17px 70px; }
.catNavi li.recruit5 a{ background:url(../images/recruit/icon_recruit5.png) no-repeat 15px 50%; padding:17px 0 17px 70px; }
*/


/* 05 LINKTEXT DECOTAIOTN
----------------------------------- */

a{ color:#0685c6; text-decoration:none; }
a:hover{ color:#015784; }

.contentsBox a:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;                           /* ie */
}


/* 矢印付きリンク　右寄せ */
.link{
	display:block;
	text-align:right;
	margin-top:5px;
}
.link a{
	background:url(../images/common/arrow_base.gif) no-repeat left 3px;
	padding-left:13px;
}


/* リンクリスト */
.linkList li a{
	display:block;
	background:url(../images/common/arrow.gif) no-repeat left 50%;
	padding-left:13px;
	margin-bottom:5px;
}
.linkList li a:hover{
	background-color:#ffe932;
	text-decoration:none;
}



/* PDFアイコン */
.pdf{
	background:url(../images/common/icon_pdf.gif) no-repeat 0 0;
	padding:0 0 0 18px;
}
/* 外部リンクアイコン */
.external{
	background:url(../images/common/icon_external.gif) no-repeat 3px 2px;
	padding:0 0 0 18px;
}
/* メールアイコン */
.mail{
	background:url(../images/common/icon_mail.gif) no-repeat 0 2px;
	padding-left:17px;
}


.btn a{
	display:block;
	width:500px;
	margin:auto;
	font-size:120%;
	text-align:center;
	padding:15px 0;
	background-color:#0685c6;
	color:#fff;
	border:0;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	position: relative;
	behavior: url(css/PIE.htc);
}
.btn a:hover{ background-color:#015784; text-decoration:none;}

.btn .fa{
	font-size:120%;
	margin-left:10px;
}

.btn.pdfBtn a{
    background-color: #fff;
    border: solid 3px #dadada;
    color: #333;
}
.btn.pdfBtn a:hover{
    background-color: #f1f1f1;
}
.btn.pdfBtn .fa{
    color: #FF0000;
}



/* 06.EACH
----------------------------------- */

.imgTitle img{ width:100%; }

/* index ----- */

.topImg{
    width: 100%;
    text-align: center;
    z-index: 10;
	text-align:center;
	background-color:#e9f5fd;
}

.topImgPrint{
	display:none;
}


/* topMenu */
.topMenu {
	text-align:center;
	padding:30px 0; 
}
.topMenuBox {
	width:960px;
	margin:auto;
	background-color:#142f74;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	overflow:hidden;
	padding:12px 0 15px 0;
}
.topMenuBox ul {
	width:944px;
	margin:auto;
}
.topMenuBox ul li {
	width:466px;
	float:left;
	margin:0 3px;
}
.topMenuBox ul li span {
	display:block;
	padding-bottom:8px;
	font-size:130%;
	font-weight:bold;
	color:#fff;
}
.topMenuBox ul li ul li {
	width:145px;
	float:left;
	margin:0 5px;
}
.topMenuBox ul li ul li img {
	margin-bottom:5px;
}
.topMenuBox ul li ul li a {
	display:block;
	width:145px;
	text-align:center;
	color:#142f74;
	font-size:16px;
	font-size:1.6rem;
	background-color:#fff;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	padding:15px 0;
	background: -moz-linear-gradient(top, #fff, #e5f1ff);/* FF3.6+ */
	background: -webkit-linear-gradient(top, #fff, #e5f1ff);/* Chrome10+, Safari5.1+ */
	background: linear-gradient(to bottom, #fff, #e5f1ff);/* IE10+, W3C */
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNWYxZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);/* IE9 SVG */
}
.topMenuBox ul li ul li a:hover{
	background:none;
	background-color:#d1e6fe;
}



/* topSolution */
.topSolution{
	background-color:#e9f5fd;
	padding:30px 0 10px 0;
}
.topSolutionArea {
	width:960px;
	margin:auto;
}

.topSolution ul {
	margin-left:-30px;
}
.topSolution ul li {
	width:300px;
	float:left;
	margin-left:30px;
	margin-bottom:15px;
}
.topSolution ul li img {
	margin-bottom:8px;
}
.topSolution ul li a:hover{
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}


.topBox{
	width:960px;
	margin:auto;
	padding:30px 0 0 0;
}

.info{
	width:300px;
	float:left;
	text-align:left;
}

.info dl{
	height:440px;
	overflow:auto;
	margin-bottom:20px;
}
.info dd{
	border-bottom:dotted 1px #999;
	padding-bottom:10px;
	margin-bottom:10px;
}


.about{
	width:630px;
	float:right;
}

.bnEntry {
    margin-top: 20px;
}


.group {
	text-align:center;
	padding:30px 0; 
}
.groupArea {
	width:960px;
	margin:auto;
}

.group ul {
	margin-left:-30px;
}
.group ul li {
	width:300px;
	float:left;
	margin-left:30px;
	font-size:115%;
}
.group ul li a:hover{
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}


/* corporate ----- */

.btnMap a{
	display:block;
	width:230px;
	height:35px;
	margin:10px auto;
	line-height:35px;
	text-align:center;
	background-color:#1659b8;
	color:#fff;
	border:0;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	position: relative;
	behavior: url(css/PIE.htc);
}
.btnMap a:hover{
	background-color:#4e84d0;
	color:#fff;
	text-decoration:none;
}



/* recruit ----- */
.recTopMain h2 {
	padding-top: 40px;
	margin-bottom: 30px;
	font-size: 220%;
}
.recTopMain h2 span {
	display: block;
	color: #de1616;
	font-size: 50%;
	font-weight: normal;
	margin-top: 10px;
}

.videoArea {
	background-color: #333;
	padding: 20px;
	margin: 40px 0;
}
.videoArea video {
	width: 100%;
	height: auto;
}


p.imgRecruit{ background:url(../images/recruit/img_recruit02.jpg) no-repeat right top;}

p.recMes img{
	float:right;
	margin:0 0 15px 15px;
}
p.recMes span{
	display:inline-block;
	width:130px;
	text-align:center;
	font-size:90%;
	color:#fff;
	background-color:#142f74;
	margin-right:10px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius:3px;
	position: relative;
	behavior: url(css/PIE.htc);
}


.galleryArea{
	margin:0 auto 30px auto;
	width:700px;
}

.galleryArea li{
	display:inline;
	width:230px;
	height:230px;
 }

.galleryArea li img{
	padding-bottom:5px;
}


.bnEntryRecruit {
    margin-top: 20px;
}



/* project ----- */
.boxHot {
	border:solid 3px #de1616;
	padding:20px 25px 5px 25px;
	margin:20px 0;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius:6px;
	position: relative;
	behavior: url(css/PIE.htc);
	overflow:hidden;
}
.boxHot img { width:100%; }

.hotImg{
	width:300px;
	float:right;
}
.hotTxt{
	width:310px;
	float:left;
}


/* sitemap ----- */
.sitemapList ul{
	padding-bottom:20px;
}
.sitemapList ul li{
	width:100%;
}
.sitemapList ul li a{
	display:block;
	padding:15px 10px 15px 35px;
	background:url(../images/common/icon_subnavi.png) no-repeat 10px 50%;
	color:#333;
	border:solid 1px #dadada;
	border-top:none;
}
.sitemapList ul li a:hover{
	background:url(../images/common/icon_subnavi.png) no-repeat 10px 50% #f1f1f1;
	color:#de1616;
}

.sitemapList ul li.title{
	background-color:#142f74;
}
.sitemapList ul li.title a{
	display:block;
	padding:15px 0;
	background:none;
	font-size:130%;
	font-weight:bold;
	color:#fff;
	text-align:center;
	border:none;
}
.sitemapList ul li.title a:hover{
	color:#de1616;
}

.sitemapList ul li ul{
	padding-bottom:0;
}
.sitemapList ul li ul li{
	border:none;
	font-size:90%;
	width:100%;
	float:none;
}
.sitemapList ul li ul li a{
	display:block;
	padding:3px 5px 3px 50px;
	background:url(../images/common/icon_subnavi.png) no-repeat 30px 50%;
	color:#333;
}
.sitemapList ul li ul li a:hover{
	background:url(../images/common/icon_subnavi.png) no-repeat 30px 50% #f1f1f1;
}



/* 07.FORM MODULES
----------------------------------- */

.formButton{ text-align:center;}
.formButton input{
	width:130px;
	margin:0 10px;
	text-align:center;
	background-color:#1659b8;
	padding:10px 0;
	font-size:110%;
	color:#fff;
	border:0;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	position: relative;
	behavior: url(css/PIE.htc);
}
.formButton input:hover{
	background-color:#4e84d0;
	color:#fff;
	text-decoration:none;
}


.formS, .formM, .formL { font-size:95%; padding:3px; }
.formS { width:200px; }
.formM { width:300px; }
.formL { width:100%; }


textarea{
	font-family:"Lucida Grande","Hiragino Kaku Gothic Pro","Meiryo", sans-serif;
}

input[type=radio] {
    margin-right: 5px;
}

.s30L {
    margin-left: 30px;
}

.pcNone {
    display: none;
}
.spNone {
    display: block;
}


/* 08. responsive
----------------------------------- */

@media only screen and (max-width:768px){
html{
	font-size:75%;
}
body{
	max-width:768px;
	min-width:320px;
}


header .logo {
	text-align:center;
	padding-bottom:10px;
	width:226px;
	float:left;
}
header .logo img{
	margin-left:10px;
	width:100%;
}

header h1 {
	font-size:60%;
	font-weight:normal;
	line-height:140%;
	color:#fff; 
	padding:10px 0;
}


header .menu_icon{
    display: block;
    width: 45px;
    height: 35px;
    background: url('../images/common/menu_icon.png') no-repeat left top;
    float: right;
    margin-top: 0;
    display: none;
}

header nav ul {
    list-style: none;
	width:auto;
	height:auto;
	margin:auto;
}

header nav ul li {
    float: left;
}


header nav ul li a { display:block; }
header nav ul li a span { display:block; }

header nav ul li.navi01 a { width:auto; height:auto; background:none; }
header nav ul li.navi02 a { width:auto; height:auto; background:none; }
header nav ul li.navi03 a { width:auto; height:auto; background:none; }
header nav ul li.navi04 a { width:auto; height:auto; background:none; }
header nav ul li.navi05 a { width:auto; height:auto; background:none; }
header nav ul li.navi06 a { width:auto; height:auto; background:none; }
	

    header .menu_icon{
        display: block;
    }

    ul.social{
        display: none;
    }

    header nav{
        display: block;
        background: #333;
        margin: 21px 0 0 0;
        padding: 0;
        border-left: 0;
        border-top: 1px #dadada solid;
        overflow: hidden;
        text-align: center;
        position: relative;
        z-index: 9999;
        display: none;
    }
    header nav{
        border-bottom-left-radius: 2px; 
        -webkit-border-bottom-left-radius: 2px; 
        -moz-border-bottom-left-radius: 2px; 
        -o-border-bottom-left-radius: 2px; 
        border-bottom-right-radius: 2px; 
        -webkit-border-bottom-right-radius: 2px; 
        -moz-border-bottom-right-radius: 2px; 
        -o-border-bottom-right-radius: 2px; 
    }
    header nav.show_menu{
        display: block;
    }
    header nav ul li{
        margin: 0;
        width: 100%;
        border-bottom: 1px #2c2c2c solid;
    }
    header nav ul li:last-child{
        border-bottom: 0;
    }
    header nav ul li a{
        display: block;
        width: 100%;
        padding: 20px 0;
		color:#fff;
    }
    header nav ul li a:hover{
        display: block;
        width: 100%;
        padding: 20px 0;
		color:#fff;
        background: #de1616;
    }


/*  contents Section  */

.contents{
	width:90%;
	margin:auto;
	text-align:left;
}

.contentsBox {
	width:100%;
	float:none;
	padding:30px 0;
}

.subNaviBox{
	width:100%;
	float:none;
}


/* conNavi */
.conNavi li{
	width:100%;
	float:none;
	margin:0;
}
.conNavi li.end{
	margin:0 0 10px 0;
}
.conNavi li a{
	border:solid 1px #dadada;
	border-bottom:none;
}
.conNavi li:last-child a{
	border-bottom:solid 1px #dadada;
}



/* topMenu */

.topMenu {
	padding:0 0 30px 0; 
}

.topMenuBox {
	width:100%;
	margin:auto;
	border-radius:0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	overflow:hidden;
	padding:0 0 15px 0;
}
.topMenuBox ul {
	width:auto;
	margin:auto;
}
.topMenuBox ul li {
	width:auto;
	float:none;
	margin:0;
	overflow:hidden;
}
.topMenuBox ul li span {
    padding:15px 0 8px 0;
}
.topMenuBox ul li ul li {
	width:29.3%;
	float:left;
	margin:0 2%;
}
.topMenuBox ul li ul li a {
	display:block;
	width:100%;
	font-size:80%;
	padding: 15px 0 10px 0;
}






/* topSolution ----- */
.topSolution {
    padding: 30px 0 10px 0;
}
.topSolutionArea {
	width:100%;
	margin:auto;
}

.topSolution ul {
	margin-left:0;
}
.topSolution ul li {
	width:100%;
	float:none;
	margin-left:0;
}
.topSolution ul li img {
	width:90%;
	margin-bottom:3px;
}



.topBox{
	width:100%;
	margin:auto;
}

.info{
	width:100%;
	float:none;
	text-align:center;
	padding-bottom:30px;
}

.info dl{
	height:auto;
	overflow:auto;
	width:90%;
	margin:auto;
	text-align:left;
}
.info dd{
	border-bottom:dotted 1px #999;
	padding-bottom:10px;
	margin-bottom:10px;
}
.info img{
	width:100%;
}



.about{
	width:100%;
	float:none;
}
.about img{
	width:100%;
}


.groupArea {
	width:100%;
	margin:auto;
}
.group ul {
	margin-left:0;
}
.group ul li {
	width:100%;
	float:none;
	margin-left:0;
	margin-bottom:10px;
}
.group ul li img{
	width:90%;
}



.footer{
	width:100%;
	margin:auto;
	padding:30px 0 0 0;
}

.footLeft{
	width:100%;
	float:none;
	text-align:center;
	padding-bottom:30px;
	border-bottom:solid 1px #fff;
}
.footLeft .txt{
	width:90%;
	margin:auto;
	text-align:left;
}
.footLeft .btn a{
	width:90%;
}


.footRight{
	width:100%;
	float:none;
	border-left:0;
	text-align:center;
}

.footLinks{
	overflow:hidden;
	width:90%;
	margin:auto;
	margin-top:20px;
	margin-bottom:20px;
	text-align:left;
}
.links{
	width:50%;
	float:left;
}
.links li{
	background:url(../images/common/arrow_maru.gif) no-repeat left 10px;
	padding:0 0 0 15px;
}

.footAdd{
	border-top:solid 1px #fff;
	padding:20px 0;
}
.footAdd .logo{
	width:100%;
	float:none;
	padding-top:0;
	padding-bottom: 10px;
}


.copyrights{
	clear:both;
	background-color:#333;
	color:#fff;
	padding:15px 0 15px 0;
	font-size:90%;
}


/* 03 DOCUMENT STRUCTURE
----------------------------------- */

h2{
	font-size:150%;
	margin-bottom:30px;
	text-align:center;
}


h3{
	font-size:130%;
	line-height:130%;
	margin:30px 0;
	padding-bottom:6px;
}

h4{
	font-size:110%;
}



/* 基本テーブル */
table.common th , table.common td{
	width:auto;
	display:block;
	padding:15px 10px;
	border:solid 1px #dadada;
	border-top:none;
}
table.common th{
	width:auto;
}
table.common.thL th{
	width:auto;
}

table.common table{
	width:100%;
}
table.common table th{
	width:auto;
	border:0;
	border-bottom:solid 1px #dadada;
}
table.common table td{
	border:none;
}
table.common table .end th{
	border-bottom:solid 1px #dadada;
}


/* 基本テーブル type2 */
table.common.type2 {
	display:block;
}
table.common.type2 thead {
	display: block; 
    float: left;
    overflow-x:scroll;
}
table.common.type2 tbody{ 
    display: block; 
    width: auto; 
    overflow-x: auto; 
    white-space: nowrap;
}
table.common.type2 th , table.common.type2 td{ 
	display:table-cell;
}
/*
table.common.type2 th{ 
	display: block;
	width:auto;
}
table.common.type2 tbody tr{ 
	display: inline-block; 
	margin: 0 -3px;
}
table.common.type2 td{ 
	display: block;
	text-align:center;
}
*/

table.common.type2 th.wS{ width:auto;}
table.common.type2 th.wS2{ width:auto;}
table.common.type2 th.wM{ width:auto;}
table.common.type2 th.wL{ width:auto;}


/* 基本リスト */
ul.common{
	margin:0 0 0 25px;
}


/* イメージ配置 */
.imgRight img , .imgLeft img{
	float:none;
	margin:0 0 20px 0;
	width: 100%;
	height: auto;
}


/* 画像並び */
.img2col{
	overflow:hidden;
	margin-bottom:0;
}
.img2col li {
	width:100%;
	float:none;
	margin:0 0 20px 0;
}


.img3col{
	overflow:hidden;
	margin:0;
}
.img3col li {
	width:100%;
	float:none;
	margin:0 0 20px 0;
}


.spImg img{
	width:100%;
}


.btn a{
    box-sizing: border-box;
    font-size: 100%;
	width:100%;
}

.btn.pdfBtn a{
    width:100%;
}



/* 04 NAVIGATION
----------------------------------- */	

.breadcrumb{
	text-align:center;
	padding:5px 0;
	background-color:#e9f5fd; 
}
.breadcrumbBox {
	width:90%;
	font-size:90%;
}

.breadcrumb li{
	display: inline;
}
.breadcrumb li a {
	padding-right: 25px;
	background: url(../images/common/icon_breadcrumb.png) no-repeat right;
}


/* subNavi */
.subNaviBox li.title a{
	padding:20px 0;
}



/* catNavi */
.catNavi{
	margin:0;
}
.catNavi li {
	width:100%;
	float:none;
	margin:0 0 10px 0;
}


/* project ----- */

.hotImg{
	width:auto;
	float:none;
}
.hotTxt{
	width:auto;
	float:none;
}


/*
.js-masonry .item{
	width:100%;
	border:none;
}
*/



p.recMes img{
	float:none;
	margin:0 0 20px 0;
	width:100%;
}


.galleryArea{
	width:100%;
}

.galleryArea li{
	display:inline;
	width:auto;
	height:auto;
 }

.galleryArea li img{
	padding-bottom:5px;
	width:32%;
}


.bnEntryRecruit {
    text-align: center;
}


.sitemapList ul {
    overflow: hidden;
    padding-bottom: 0;
}
.sitemapList li{
	width:100%;
	float:left;
}
.sitemapList li ul {
    margin: 0;
}



.formButton input{
	width:40%;
	margin:0 3%;
	text-align:center;
	background-color:#1659b8;
	padding:10px 0;
	font-size:110%;
	color:#fff;
	border:0;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	position: relative;
	behavior: url(css/PIE.htc);
}
.formButton input:hover{
	background-color:#4e84d0;
	color:#fff;
	text-decoration:none;
}


.formS { width:60%; padding:5px 0; }
.formM, .formL { width:98%; padding:5px 0; }


.pcNone {
    display: block;
}
.spNone {
    display: none;
}
.s30L {
    margin-left: 0;
}
  
  
/* recruit ----- */  
.catNaviRec li {
	width: 50%;
	float: left;
}
.catNaviRec li:last-child {
  width: 100%;
}
.catNaviRec li a {
	padding: 30px 0;
}
.catNaviRec li a i.fa {
  margin-bottom: 10px;
	font-size: 180%;
}



}



/* 印刷用
----------------------------------- */

@media print {
  body {
    -webkit-print-color-adjust: exact;
  }
  
.topImg{
	display:none;
}
.topImgPrint{
	display:block;
}

}

