/* CSS Document */
/* layout */

/*=================================
	Initialization of style
===================================*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Fjalla+One|Open+Sans);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

body {
	margin: 0;
	padding: 0;
	color: #323232;
	/*font-family:  'Noto Sans Japanese', "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  sans-serif;*/
	font-family:  'Noto Sans Japanese',"Yu Gothic", YuGothic,"メイリオ", Meiryo, sans-serif;
	font-size: 14px;
	line-height: 150%;
	text-align: center;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 100%;
	background:#fff;
	font-weight:400;
	position: relative;
}

a:link,
a:visited {
	text-decoration: none;
	color: #004484;
}
a:hover,
a:active {
	text-decoration: none;
	color: #004484;
}

div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,li,form,figure,article,section,header,footer {
	margin: 0;
	padding: 0;
	font-size:14px;
	font-weight: normal;
	line-height:140%;
}
img, a img {
	border:none;
	vertical-align: bottom;
}
h1,h2,h3,h4{
	font-size:1em;
}
a img {
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
	     -o-transition: 0.3s ease-in-out;
	        transition: 0.3s ease-in-out;
}
a:hover,
a:hover img {
	opacity: 0.9;
	filter: alpha(opacity=90);
}


/* blockgroup */


/* List_group */
ul,ol,li { list-style: none;}

/* inline-style */

address {
	font-style: normal;
	font-size: 11px;
}
	address a,
	address a:link,
	address a:visited {
		text-decoration: underline;
		color: #333;
	}
	address a:hover,
	address a:active {
		text-decoration: none;
		color: #333;
	}

/* table */
table { width:100%;}
tr,th,td {}


/* loader */
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: -1;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  text-align: center;
  color: #fff;
  z-index: 0;
}




/*=============================
	Layout-Base
===============================*/


/* header
-------------------------*/
header {
	background: rgba(255,255,255,0.8);
	width: 100%;
	margin:0 auto;
	z-index:100;
	position: absolute;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
header article{
	text-align:left;
	padding:20px 0px 20px 0px;
	max-width: 1200px;
	position: relative;
	margin:auto;
}
header .logo{
	float: left;
}
header .logo span{
	margin-left:15px;
}
header .logo span:last-child{
	color:#004094;
	font-weight: 500;
}

/* gnav -------------------------*/

.gnav {
	float: right;
	margin-top:10px;
	padding-right:20%;
}
.gnav > ul{
	display:-webkit-box;
	display: -moz-flex;
	display:-ms-flexbox;
	display: -webkit-flex; 
	display: flex;
	-moz-flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.gnav > ul > li{
	position: relative;
}
.gnav > ul > li:last-child{
	display: none;
}
.gnav > ul > li > a{
	display:block;
	width:112px;
	text-align:center;
	font-weight:bold;
	font-size: 15px;
	white-space: nowrap;
	color:#333;
	background-position: center 90%;
	padding:10px 0px 10px 0px;
}
.gnav > ul > li > a:hover{

}
.gnav > ul > li > a::after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0%;
	font-weight:500;
	margin-left:0px;
	width: 100%;
	height: 2px;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #004094;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.gnav > ul > li > a.active::after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transition: all .1s ease;
	transition: all .1s ease;
}
.gnav > ul > li > a:hover::after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

.gnav.fixed{
	box-shadow: 0px 1px 2px 2px rgba(0,0,0,0.05);
	position: fixed;
	opacity:1;
	top:0;
	left:0;
	background-color:rgba(255,255,255,0.9);
	width: 100%;
	z-index: 200;
    float: none;
    margin-top: 0px;
    padding-left: 0;
}
.gnav.fixed > ul{
	max-width:1200px;
	box-sizing: border-box;
	padding:0px 20px;
	margin: auto;
	-moz-justify-content: flex-start;
	-webkit-justify-content:flex-start;
	justify-content: flex-start;
}
.gnav.fixed > ul > li{
	padding:0px 40px 0px 40px;
}
.gnav.fixed li .child {
    
   }

.gnav.fixed a{
	display: block;
	font-size:13px;
}
.gnav.fixed li:last-child{
	display: block;
}
.gnav.fixed > ul > li > a{
	width: auto;
}

.gnav .glogo{
	display: none;
}
.gnav .glogo img{
	margin-right:10px;
	vertical-align: bottom;
}
.gnav.fixed .glogo{
	display: block;
}

/* サブメニュー */
.gnav li .child{
	display:none;
	background-color: rgba(255,255,255,0.9);
	list-style: none;
	position: absolute;
	width: 200%;
	z-index:100 !important;
	top: 100%;
	left: -50%;
	margin: 0;
}
.gnav li ul li{
	font-size:14px;
	text-align:center;
	width: 100%;
	border-bottom:1px solid rgba(0,0,0,0.05)
}
.gnav li ul li a{
	color:#333;
	padding:12px 0px;
	display: block;

}
.contactbtn{
	position: absolute;
	top:0;
	right:0;
}
.contactbtn a{
	font-family: Fjalla One;
	font-size: 26px !important;
	font-weight: normal;
	background: #004094;
	padding-top:20px;
	padding-bottom:20px;
	font-size:16px;
	font-weight:bold;
	width: 142px;
	display: block;
	color:#fff;
	text-align: center;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.contactbtn a span{
	font-size:12px;
	opacity: 0.7;
	display: block;
	margin-top:10px;
	text-align: center;
}

.contactbtn a:hover{
	background: #001f78;
	font-size: 28px !important;
}
/* テキスト */


/* main-contents
-------------------------*/
#content-top {
	/* overflow:hidden; */
}
#content-sub {
	/* overflow:hidden; */
	width:100%;
	text-align:left;
}
.mm-menu.mm-offcanvas{
	z-index: 1 !important;
}

/* footer
-------------------------*/
footer {
	width:100%;
	text-align: left;
	color:#fff;
	position: relative;
	z-index: 0;
}
#footer{
	background-color: #333;
	padding:10px 0px;
	text-align: center;
}
#footer nav ul{
	display: inline-block;
	width: 500px;
	margin: auto;
	overflow: hidden;
	display: -moz-flex; 
	display: -webkit-flex; 
	display: flex;
	-moz-flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#footer nav a{
	font-size:13px;
	color:#fff !important;
}

#footer-btm{
	position: relative;
	max-width: 1200px;
	overflow: hidden;
	margin: 20px auto 10px auto;
}
#footer-btm figure{
	float: left;
	margin-bottom:20px;
	margin-right:20px;
}
#footer-btm p{
	color: #333;
	float: left;
}
#footer-btm nav{
	clear: both;
}
#footer-btm nav li{
	display:inline-block;
	font-size: 12px;
}
#footer-btm nav li:after{
	content:" | ";
	color: #888;
	margin:0px 4px;
	display:inline-block;
}

.mark{
	position: absolute;
	right: 0;
	top:10px;
}
.mark li{
	display: inline-block;
}
#copyright{
	float: left;
}

#copyright address{
	padding:35px 0px 10px 0px;
	text-align: left;
	color: #333;
}

/*=============================
	Common-class
===============================*/
/* float */
.fLeft { float: left;}
.fRight { float: right;}

/* float-clear */
.clear { clear:both;}

/* image-layout */
.imgleft { float:left;margin-right:20px;}
	.imgleft img {
		display:block;
	}
.imgright { float:right;}
	.imgright img {
		display:block;
	}
	
	.center{
		text-align:center;
	}
	
.pagetop{
	margin-top:20px;
	text-align:right;
}	
.pagetop a:before {
	content : '>';
	padding-left:10px;
}


/* bread_crumb
-------------------------*/
.bread_crumb_list {
	width: 100%;
	left:0;
	text-align: center;
	position: absolute;
	top:85px;
}
.bread_crumb {
	padding:10px;
	text-align:left;
	margin:0 auto;
	max-width:1200px;
	box-sizing: border-box;
}
.bread_crumb li {
	display:inline;
	color:#333;
	font-size:0.8em;
	font-weight:400;
}

.bread_crumb li:after {
    content : '>';
    padding-left:10px;
    margin-right:10px;
}
.bread_crumb li:last-child:after {
    content : '';
}
.bread_crumb li a {
	color:#333;
	text-decoration:underline;
}
.bread_crumb li a:hover{
	text-decoration:none;
}
.bread_crumb li.current {
}

/*.bcinterview {
	position: absolute;
	top:85px;
}
.bcinterview .bread_crumb{
	max-width:1200px;
}
*/




/* table
-------------------------*/
/* table */

/* defTable */
.defTable01{ width:100%; border-collapse:collapse;}
	.defTable01 th,
	.defTable01 td{
		border:1px solid #ddd;
		padding:15px 10px 12px 20px;
		text-align:left;
	}
	.defTable01 th{
		background:#eee;
		color:#333;
		width:23%;
	}
	.defTable01 td{ background:#fff;}
		.defTable01 td dl{ overflow:hidden; margin-top:0px;}
			.defTable01 td dl:first-child{ margin-top:0;}
			.defTable01 td dl dt{
				font-weight:bold;
				margin-bottom:10px;
				margin-top:10px;
			}
			.defTable01 td dl dt a{
				display:inline-block;
			}
			.defTable01 td figure a{
				font-size:11px;
			}
			.defTable01 td dl dd{
				border-left:1px solid #d8d8d8;
				padding:1% 2%;
				margin-bottom:20px;

				overflow:hidden;
			}


		.defTable01 td ul li{
			position: relative;
			padding: 0 0 0 16px;
			color: #000;
			vertical-align: middle;
			text-decoration: none;
			margin-top:5px;
		}
			.defTable01 td ul li:first-child{ margin-top:0;}
			.defTable01 td ul li::before{
				position: absolute;
				top:9px;
				left: 0;
				margin:auto;
				content: "";
				vertical-align: middle;
				width:8px;
				height:2px;
				background:#ccc;
			}

.shops .cap{
	float: right;
	width: 280px;
	margin-top:0px;
}
.defTable01 .shops{
	margin-bottom:30px;
}

	.tbl-guide.defTable01{
		border-top:1px solid #ddd;
	}
	.tbl-guide.defTable01 th,
	.tbl-guide.defTable01 td{
		border:none;
		border-bottom:1px solid #ddd;
	}
	.tbl-guide.defTable01 th{
		background:#fff;
	}

.clearfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

/*=============================
	Common setting
===============================*/
.container{
	position:relative;
	overflow:hidden;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	width: 100%;
}
.container > article{
	max-width: 1200px;
	margin: auto;
}
.container article p{
	line-height:160%;
}
.container a p,
.container a dt,
.container a dd,
.container a li{
	color: #333;
}


/*=============================
	TopPage setting
===============================*/

#content-top article img{
	width:100%;
	height:auto;
}

/* mainimg */


.mainimg .flexmain{

}

.mainimg li:nth-child(odd) .catch,.mainimg li:nth-child(2) .catch{
	position: absolute;
	bottom:30%;
	left:0%;
	box-sizing: border-box;
	padding:0px;
}
.mainimg li:nth-child(4) .catch{
	position: absolute;
	bottom:30%;
	right:0%;
	box-sizing: border-box;
	padding:0px;
}

.catch {
	overflow:hidden;
	background:transparent;
    height: 140px;
    position: relative;
}
.catch:before {
	content:"";
	display:block;
    width: 660px;
	height:140px;
	background:rgb(0,64,148);
	-moz-transform-origin:0 0;
	-webkit-transform-origin:0 0;
	transform-origin:0 0%;

}

.mainimg li:nth-child(4) .catch:before{
	-moz-transform:skewX(35deg);
	-webkit-transform:skewX(35deg);
	transform:skewX(35deg);
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-name: slidecontainer;
}
.mainimg li:nth-child(odd) .catch:before,.mainimg li:nth-child(2) .catch:before{
	-moz-transform:skewX(-35deg);
	-webkit-transform:skewX(-35deg);
	transform:skewX(-35deg);
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-name: slidecontainer;
}
.catch div {
	position: absolute;
	top:20px;
	left: 40px;
}
.mainimg li:nth-child(4) .catch div {
	left: 0px;
	right: 40px;
}
.mainimg h2{
	font-size:46px;
	white-space: nowrap;
	color: #fff;
	font-weight: bold;
	margin-bottom:0px;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-name: slidecatch;
}
.mainimg .catch p{
	font-size:18px;
	color:#fff;
	text-align: left;
	display: block;
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-name: slidecatch2;
}
.mainimg li:nth-child(4) h2{
	text-align: right;
}
.mainimg li:nth-child(4) .catch p{
	text-align: right;
}

@keyframes slidecatch {
    0% {opacity: 0;margin-left:-150px;}
    100% {opacity: 1;margin-left: 0%;}
}
@keyframes slidecatch2 {
    0% {opacity: 0;margin-left:-100px;}
    100% {opacity: 1;margin-left: 0%;}
}
@keyframes slidecontainer {
    0% {opacity: 0;width:0px;}
    100% {opacity: 1;width: 660px;}
}

.flexslider .slides > li { 
  background-position: center;
  width: 100%;
  height:100%;
  display: none; 
  -webkit-backface-visibility: hidden;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}


.mainimg figure img{
	width: 100%;
}
.mainimg .flex-control-nav {
	width: 100%;
	position: absolute;
	z-index: 10;
	bottom: 20px;
	box-shadow: border-box;
	text-align: right;
}
.mainimg .flex-control-paging li a{
	text-indent: -9999px !important;
	background: #ccc;
	text-align: left;
	box-shadow:none;
	display: block;
	font-size: 1px;
}

.flex-control-paging li a.flex-active{
	background: #df001f !important;
}



.flex{
	display:-webkit-box;
	display: -moz-flex;
	display:-ms-flexbox;
	display: -webkit-flex; 
	display: flex;
	-moz-flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
/*	align-items:center;
	-webkit-align-items:center;
	-moz-align-items:center;*/
}

.flexno{
	display:-webkit-box;
	display: -moz-flex;
	display:-ms-flexbox;
	display: -webkit-flex; 
	display: flex;
	-moz-flex-flow: row nowrap;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
/*	align-items:center;
	-webkit-align-items:center;
	-moz-align-items:center;*/
}


#content-top h2{
	font-size:28px;
	font-weight: 500;
	padding-top:70px;
	padding-bottom:70px;
}

/* topAboutus */

/*#topAboutus .flex li{
	width: 33.33%;
	position: relative;
	min-height: 467px;
}
#topAboutus .flex li:first-child{
	width: 100%;
	background: url(../images/top/img_top_message.jpg) center center no-repeat #c9ccc7;

	min-height: 295px;
}
#topAboutus .flex li:first-child span{*/
	/*color: #333;*/
/*}
#topAboutus .flex li:nth-child(2){
	background: url(../images/top/img_top_company.jpg) center center no-repeat;
	background-size:cover;
}
#topAboutus .flex li:nth-child(3){
	background: url(../images/top/img_top_business.jpg) center center no-repeat;
	background-size:cover;
}
#topAboutus .flex li:nth-child(4){
	background: url(../images/top/img_top_number.jpg) center center no-repeat;
	background-size:cover;
}
#topAboutus .flex li a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	overflow: hidden;
}
#topAboutus .flex li a span{
  margin: 0px;
  padding: 0px;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 26px;
  z-index: 20;
  font-size: 24px;
  text-shadow: 2px 2px 3px rgba(0,0,0,0.1);
  color: #fff;
}

#topAboutus li a:before {
	content:" ";
	position: absolute;
	left: 0;
	bottom: 50%;
	width: 100%;
	height: 100%;
	display: block;
	box-sizing: border-box;
	padding:20px;
	color: #fff;
	background: rgba(0,64,148,0.8);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
	z-index: 10;
	font-size: 24px;
}
#topAboutus li:hover a:before{
	bottom: 0%;
	opacity: 1;
}
#topAboutus li:hover span{
	color: #fff !important;
}*/


#topStaff ul{
	margin-bottom: 40px;
}

#topStaff ul li{
	width: 253px;
	margin: 0px 0;
	text-align: left;
	opacity:0;
}

#topStaff .btn a{
	width: 30%;
	padding: 25px 40px;
	display: block;
	font-weight: 500;
	font-size: 18px;
	color: #333;
	margin: auto;
}
#topStaff figure + p{
	position: relative;
	z-index: 10;
	margin-top: -10px;
}
#topStaff p{
	margin-left: 15px;
}
#topStaff p span{
	background:#333;
	font-size:12px;
	padding: 1px 5px;
	margin-bottom:10px;
	color: #fff;
	display: inline-block;
}
#topStaff p.name{
	font-size: 18px;
	font-weight: bold;
}
#topStaff figure {
	position: relative;
	cursor: pointer;
	overflow: hidden;
}
#topStaff figcaption {
	position: absolute;
	bottom: -20%;
	left: 0;
	z-index: 2;
	width: 100%;
	box-sizing: border-box;
	padding:20px;
	height: 50%;
	color: #fff;
	font-size:20px;
	font-weight: 500;
	line-height: 150%;
	background: rgba(0,0,0,.7);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
}
#topStaff figure:hover figcaption {
	bottom: 0;
		opacity: 1;
}
#topRecruitment li,
#topAboutus li{
	width: 33.333333333%;
	overflow: hidden;
}
#topRecruitment li img,
#topAboutus li img{
	width: 100%;
	height: auto;
}
#topRecruitment figure,
#topAboutus figure{
	position: relative;
}
#topRecruitment figure figcaption,
#topAboutus figure figcaption {
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding:20px;
	color: #fff;
	background: rgba(0,64,148,0.8);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
	z-index: 1;
	font-size: 24px;
	color: #fff;
}
#topRecruitment li:hover figure figcaption,
#topAboutus li:hover figure figcaption{
	bottom: 0;
	opacity: 1;
	z-index: 0;
}
#topRecruitment li,
#topAboutus li{
	position: relative;
}
#topRecruitment li p ,
#topAboutus li p {
	position: absolute;
	font-size: 24px;
	color: #fff;
	z-index: 200;
  text-align: center;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
  height: 26px;
  z-index: 20;
}

#topAboutus .flex li:first-child{
	width: 100%;
	background: #c9ccc7;
}
#topAboutus .flex li:first-child img{
	max-width: 1400px;
}






aside{
	width: 100%;
	padding:60px 0px;
	background-color: #f5f5f5;
}
.aside-wrap{
	max-width: 1130px;
	margin: auto;
}
.aside-wrap li{
	max-width:550px;
	height: auto;
	margin-bottom:20px;
}
.aside-wrap img{
	width: 100%;
}






.btn{
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.btn a{
	background:url(../images/common/arw.png)  20px center no-repeat #fff;
	background-size: 12px 12px;
	display: block;
	border:2px solid #004194;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
}

.btn a:hover{
	background:url(../images/common/arw_white.png) 25px center no-repeat #004194;
	background-size: 12px 12px;
	opacity: 1 !important;
	color: #fff !important;
}

#content-sub > .btn a{
	width: 300px;
	text-align: center;
	font-size: 16px;
	margin:20px auto 50px;
	padding:15px 0px;
}



/* pagetop
-------------------------*/
#totop a{
	clear:both;
	width: 45px;
	height: 45px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index:100;
	display: block;
	text-align: center;
}

#totop a img{
	padding-top:5px;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
}
#totop a:hover img{
	padding-top:0px;
	opacity: 1 !important;
}



/*=============================
	Sub(Lower)Page setting
===============================*/

#content-sub #topAboutus .flex li:first-child{
	min-height:auto;
}
#content-sub #topAboutus .flex li {
	min-height:320px;
}

#content-sub #topStaff ul li{
	width: 23%;
	margin: 0px 0 25px 0px;
	text-align: left;
	opacity:0;
}
#content-sub #topStaff ul li img{
	width: 100%;
}
#content-sub #topStaff ul li a{
	text-decoration: none !important;
}
/* サブページのメイン */

.submainimg li{
	height: 460px;
	background-size:cover;
	background-position: center top;
	background-repeat:no-repeat;
	position: relative;
}
.submainimg li .subcatch{
	position: absolute;
	top:50%;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	max-width: 400px;
	height:40px;
}
.submainimg li .subcatch h2{
	font-size:34px;
	color: #fff;
	font-weight: bold;
	letter-spacing:2px;
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:1px solid rgba(255,255,255,0.4);
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-name: subcatch;
}
.submainimg li .subcatch p{
	font-size:15px;
	color: #fff;
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-name: subcatch2;
}
@keyframes subcatch {
    0% {opacity: 0;margin-top:40px;}
    100% {opacity: 1;margin-top: 0px;}
}
@keyframes subcatch2 {
    0% {opacity: 0;margin-top:20px;}
    20% {opacity: 0;margin-top:20px;}
    100% {opacity: 1;margin-top: 0px;}
}

/* インタビューのメイン */

.interviewimg li{
	height: 720px;
	background-size:auto auto;
	background-position: center top;
	background-repeat:no-repeat;
	position: relative;
}


.profile p span{
	color: #004094;
	font-weight: 600;
	display: inline-block;
	margin-bottom:10px;
}









#content-sub .container h2{

}
#content-sub .container h3{
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	padding-top:70px;
	margin-bottom:40px;
}
#content-sub .container > article {
    max-width: 1000px;
    padding-bottom:60px;
    margin: auto;
}
#content-sub .container .inner{
	max-width: 1000px;
	margin: auto;
	padding-bottom:70px;
}

#sidemenu{
	position: relative;
	max-width: 1200px;
	margin: auto;
	text-align: left;
}
#sidemenu dt{
	cursor:pointer;
	background:url(../images/common/menu.png) 20px center no-repeat ;
	background-size: 32px 32px;
	padding: 15px 40px 15px 70px;
	font-size:16px;
	display: inline-block;
	position: absolute;
	right: 0;
	top:60px;
	border: 1px solid #d8d8d8;
	font-weight:bold;
	color: #333;
	z-index: 10;
	margin: 0px 0px 0px 0px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#sidemenu dt:hover{
	background:url(../images/common/menu.png) 20px center no-repeat #df001f;
	background-size: 32px 32px;
	color: #fff;
	border: 1px solid #df001f;
}
#sidemenu dt.active{
	background:url(../images/common/menu_close.png) 20px center no-repeat #df001f;
	background-size: 32px 32px;
	color: #fff;
	border: 1px solid #df001f;
}

#sidemenu dd{
	display: none;
	padding:30px;
	z-index: 10;
	background:rgba(235,235,235,0.95);
	width: 40%;
	box-sizing: border-box;
	text-align:left;
	height:auto;
	top:120px;
	right: 0px;
	position: absolute;
}
#sidemenu dd li{
	font-weight: bold;
	border-bottom:1px solid #ddd;
}
#sidemenu dd li a{
	background: url(../images/common/arw_red.png) 96% center no-repeat;
	background-size: 14px 14px;
	color: #333;
	padding:10px;
	display: block;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#sidemenu dd li a:hover{
	background: url(../images/common/arw_red.png) 97% center no-repeat;
	background-size: 14px 14px;
	color: #df001f;
}

.listmenu li{
	width: 49%;
	box-sizing: border-box;
	margin-bottom:12px;
	background:#f2f2f2;
	padding:20px;
}
.listmenu li h4{
	font-weight: bold;
	color: #df001f;
	font-size:18px;
}


#content-sub .container a{
	color:#009391;
	text-decoration: underline;
}
#content-sub .container a:hover{
	text-decoration: none;
}

/* Aboutus
-------------------------*/

.palla {
	width:100%;
	height:550px;
	background-size:cover;
	position:relative;
	margin-top:40px;
}

.container#company01 .palla {
	background:url(../images/aboutus/bg_company.jpg) fixed 50% no-repeat;
	background-size:cover;
}

.bg {
	width:100%;
	height:600px;
	background-size:cover;
	position:relative;
	margin-top:40px;
	margin: 40px auto 0;
}

/*
.container#message03 .bg {
	background:url(../images/recruitment/bg_message.jpg) center center no-repeat;
	background-size:1200px auto;
	margin-bottom:60px;
}
.container#message03 h3 {
	color:#333;
	font-weight: bold;
	max-width: 1000px;
	margin:  auto ;
	padding-top:240px !important;
	text-align: right;
}
*/

.container#company01 p,
.container#company02 p,
.container#business01 p,
.container#business03 p,
.container#message01 p,
.container#message02 p,
.container#message03 p{
	font-size:16px;
	text-align: center;
	line-height: 200%;
	margin-bottom:30px;
}
#content-sub .container .ex{
	color: #004094;
	font-size:24px;
}

.anchor{
	width: 100%;
	overflow: hidden;
	text-align: center;
	padding:20px 0;
}

.anchor ul{
	display: inline-block;
	overflow: hidden;
	margin: auto;
}

.anchor li{
	float: left;
	display: inline-block;
	margin:0px 10px;
	border-bottom:1px solid #004094;
}
.anchor li a{
	display: block;
	font-size: 18px;
	padding:10px 15px;
	color: #333;
}

.container#business02 figure{
	float: right;
	margin-left:20px;
	width: 62%;
	margin-top:50px;
}
.container#business02 figure img{
	width: 100%;
}
.container#business02 h4{
	float: left;
}
.container#business02 p{

	float: left;
	max-width: 36%;
	text-align: left;
	display: inline-block;
}
.container#business02 h3{
}
#business02 .inner{
	padding-bottom:40px;
}

#business02 .inner{
	overflow: hidden;
}

#business02 ul{
/*	max-width: 1400px;*/
	overflow: hidden;
	margin: auto;
}
#business02 ul li{
	width: 50%;
	float: left;
}
#business02 ul li img{
	width: 100%;
}
#business02 p{
	line-height: 160%;
	margin:15px 0;
	font-size:15px;
}
#business02 h4{
	margin-top:60px;
}
.feature{
	padding-top:50px;
}
.feature dl{
	width: 32.5%;
	padding:20px;
	box-sizing: border-box;
	border: 1px solid #dfdfdf;
}
.feature dl dt{
	color: #004094;
	font-size:18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.feature dl dd{
	background:url(../images/common/maru.png) left 10px no-repeat;
	background-size: 3px 3px;
	margin-bottom:5px;
	padding-left:8px;
	line-height: 160%;
	font-size: 13px;
}
#business02 .btn{
	margin-top:15px;
}

#business02 .btn a {
    width: 250px;
    padding: 8px 8px;
    display: block;
    font-weight: 500;
    font-size: 15px;
    color: #333;
    text-align: center;
    text-decoration: none;
}
.masonry{
	width:100%;
	overflow: hidden;
  position: relative;
}

/*.masonry li{
	width: 320px;
	height: 320px;
	position: absolute;
	box-sizing: border-box;
	border: 4px solid #004094;
	padding:0 1%;
}
.masonry li img{
	width: 100%;
}
.masonry li:first-child{top:0;left:0;}
.masonry li:nth-child(2){top:0;left:340px;}
.masonry li:nth-child(3){top:340px;left:0%;}
.masonry li:nth-child(4){top:680px;left:0%;}
.masonry li:nth-child(5){top:340px;left:340px;}
.masonry li:nth-child(6){top:0%;right:0%;}
.masonry li:nth-child(7){top:680px;right:0%;}

.masonry li.grid2{
	height: 660px;
}*/

.masonry li{
	width: 32%;
	position: absolute;
	box-sizing: border-box;
	border: 4px solid #004094;
	padding:0 1%;
}
.masonry li img{
	width: 100%;
}
.masonry li:first-child{top:0;left:0;}
.masonry li:nth-child(2){top:0;left:34%;}
.masonry li:nth-child(3){top:0%;right:0%;}
.masonry li:nth-child(4){top:34%;right:0%;}
.masonry li:nth-child(5){top:34%;left:34%;}
.masonry li:nth-child(6){top:34%;left:0%;}
/*.masonry li:nth-child(7){top:68%;right:0%;}*/

.masonry li.grid{
	height: 32%;
}
.masonry li.grid2{
	height: 66%;
}

#number02 .numberinner{
	width: 50%;
	float: left;
}
#number02 .numberinner:nth-child(2){
	width: 50%;
	float: right;
}
#number02 .numberinner li{
	text-align: center;
	width: 320px;
	box-sizing: border-box;
	border: 4px solid #004094;
	padding:0 1% 2% 1%;
	margin: auto;
	margin-bottom:20px;
}
#number02 li img{
	width: 100%;
}
/* interview
-------------------------*/


.interview{
	background-position: center top;
	background-repeat: no-repeat;
}

#content-sub .interview h3{
	font-size:20px;
	font-weight: 500;
	color: #004094;
	text-align: left;
	margin:0 0 20px 0;
	padding:0;
}
#content-sub .interview p{
	font-size:14px;
	line-height:180%;
	margin-bottom:10px;
}
.interview.interviewC{
	margin-top:60px;
}

.interview.interviewR,.interview.interviewL{
	background-position: center top;
	background-repeat: no-repeat;
	min-height: 450px;
}
.interview.interviewR .inner .box{
	float: left;
	width:530px;
	padding:50px;
	box-sizing: border-box;
	background:#fff;
	border:1px solid #eee;
	margin-top:120px;
	margin-bottom:60px;
}
.interview.interviewL .inner .box{
	float: right;
	width:530px;
	padding:50px;
box-sizing: border-box;
	background:#fff;
	border:1px solid #eee;
	margin-top:120px;
	margin-bottom:60px;
}

.profile{
	box-sizing: border-box;
	background:#fff;
	line-height: 160%;
	border:1px solid #eee;
	padding:25px 30px 25px;
	box-sizing: border-box;
}
.profile dt{
	margin-bottom:5px;
}
.profile dt span{
    background: #333;
    font-size: 12px;
    padding: 1px 5px;
    margin-bottom: 5px;
    color: #fff;
    display: inline-block;
}
.profile dl{
	margin-bottom:20px;
}
.profile table{
	margin-top:15px;
}
.profile table th{
	vertical-align: top;
	font-weight: normal;
}
.profile p{
	line-height: 180%;
	margin-bottom:10px;
}
.profile .mb0{
	margin-bottom:0px;
}

.profile + .profile{
	margin-top:10px;
}

.profile dd span{
	font-size: 20px;
	margin-right:15px;
	font-weight: 500;
}
.interviewimg .subcatch{
	max-width: 1000px;
	margin: auto;
	text-align: left;
}

.interviewimg .inner{
	padding-top:15%;
	float: right;
	width: 530px;
}

.interviewimg .inner h2{
	font-size:28px;
	margin-bottom:40px;
	color: #333;
}
.interviewimg .inner h2 span{
	font-size:14px;
	padding:0px 20px;
	color: #fff;
	background-color: #004094;
	display: inline-block;
	margin-bottom:10px;
}

#content-sub .interview.interviewL + .interviewC{
	margin-top:0px !important;
}
#content-sub .interview.interviewR + .interviewC{
	margin-top:0px !important;
}

.topic{
	background:#666;
	padding:0 10px;
	color: #fff;
	display: inline-block;
	font-size: 16px !important;
}

/* faq
-------------------------*/

.faq dl{
	padding: 15px;
	border-bottom: 1px solid #d8d8d8;
}
.faq dl dt span{
	display: block;
	float: left;
	background-color: #333;
	color: #fff;
	font-family: Fjalla One;
	padding: 2px 5px;
	margin-right:10px;
}
.faq dl dt{
	width: 100%;
	overflow: hidden;
	font-size: 16px;
	font-weight: bold;
	padding:10px 0;
}
.faq dl dd{
	margin-left:35px;
	line-height: 150%;
	margin-bottom:15px;
}

/* message
-------------------------*/

.list {
	width: 80%;
	text-align: center;
	margin: 30px auto;
	padding:5%;
	border: 1px solid #dfdfdf;
}
.list li{
	font-size:16px;
	line-height: 160%;
	margin-bottom:15px;
}


/* sitemap_list
-------------------------*/

#sitemap{
	padding-bottom:60px;
}

#sitemap_list{
	border:1px solid #ddd;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
}

#sitemap_list >li {
	font-size:14px;
	font-weight:500;
	background:#fff;
	border-bottom:1px solid #ddd;
}
#sitemap_list >li:last-child{
	border-bottom:none;
}
#sitemap_list >li > a{
	background:url(../images/common/arw_right01.png) 98% center no-repeat;
	background-size: 10px ;
	-webkit-background-size: 10px ;
	-moz-background-size: 10px ;
	padding:15px 10px;
	display:block;
}
#sitemap_list > li > a:hover {
	background:url(../images/common/arw_right02.png) 98% center no-repeat #009391;
	background-size: 10px ;
	-webkit-background-size: 10px ;
	-moz-background-size: 10px ;
	text-decoration:none;
	color:#fff;
}


#sitemap_list ul{
	padding-bottom:20px;
}
#sitemap_list ul li{
	border:none;
	font-size:14px;
	font-weight:normal;
	padding:3px 0px 3px 50px;
	margin:0px;
}




.button {
  border: 1px solid #eee;
  padding: 10px 40px;
  position: relative;
}

.buttonList {
	max-width: 1130px;
	margin: 0 auto;
	padding: 150px 20px 250px;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}

.buttonList li {
	width: calc((100% - 27px) / 2);
}

.buttonList .btn a {
    padding: 31px 30px 33px;
    display: block;
    font-weight: 500;
    font-size: 25px;
	background-position: 35px 50%;
    color: #333 !important;
    text-align: center;
    text-decoration: none !important;
}

.buttonList .btn a:hover {
	background-position: 40px 50%;
	color: #FFF !important;
}

@media screen and (max-width: 768px) {
	.buttonList {
		padding: 70px 15px 120px;
	}

	.buttonList li {
		width: 100%;
		margin-bottom: 15px;
	}

	.buttonList li:last-child {
		margin-bottom: 0;
	}

	.buttonList .btn a {
		padding: 15px;
		font-size: 15px;
		background-position: 20px 50%;
	}

	.buttonList .btn a:hover {
		background-position: 25px 50%;
	}	
}


/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}


