@charset "UTF-8";
/* CSS Document */

#header {
	background-image:url(../images/header_img.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-color:#000;
	width:100%;
	height:auto;/*737*/
	position:relative;
	padding-bottom: 0;
}
#header .title {
	display:block;
	width:90%;
	height: auto;
	margin:150px 5%;/*高さ調整*/
	background:none;
	text-indent:0;
	text-align:center;
	overflow: hidden;
	position: static;
}
#header .title h1 {
	display:block;
	line-height:1;
	background:none;
	transition-duration:1s;
}
#header .title h1 img {
	max-width:100%;
	height:auto;
}
#header .title a {
	display:block;
	margin-top:60px;
}
#header .info_box {
	position: static;
	display:block;
	width:100%;
	height:auto;
	background-color:rgba( 0, 0, 0, 0.5 );
	margin: 0;
	padding: 5px 0;
}
#header .info_box ul li a *,
#header .info_box ul li a:link {
	color:#FFF;
	text-decoration:none;
}
/**/
#contents {
	padding-bottom:0;
	width:100%;
	padding-left:0;
	padding-right:0;
}


@media screen and (min-width: 481px) {

#header .info_box ul {
	color:#FFF;
	margin:20px 80px 0;
}
#header .info_box ul li {
	margin-bottom:15px;
	line-height:1.4em;
}
#header .info_box ul li .cat {
	display:inline-block;
	margin-right:1em;
	margin-top:-0.2em;
	width:70px;
	height:16px;
	background-color:#be0000;
	font-size:10px;
	text-align:center;
	line-height:16px;
	vertical-align:middle;
	/*角丸*/
	border-radius: 3px;        /* CSS3草案 */
    -webkit-border-radius: 3px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;   /* Firefox用 */
}
#header .info_box ul li .date {
	display:inline-block;
	padding-right:1.5em;
}
/*--*/
#contents .rinen {
	text-align:center;
}
#contents .rinen .title {
	margin-bottom:27px;
}
#contents .rinen .catch {
	font-weight:bold;
	font-size:1.4em;
	line-height: 1.4em;
	margin-bottom:50px;
	color:#000;
}
#contents .rinen p {
	margin-bottom:50px;
}
#contents .rinen h2 {
	font-size:1.4em;
	line-height:1.2em;
	margin-bottom:24px;
	color:#be0000;
	text-align: center;
	border: none;
	padding: 0;
	border: none;
}
/*--*/
#contents .solutions {
	display:block;
	background-color:#ededed;
	text-align:center;
	overflow:hidden;
}
#contents .solutions h2 {
	display:block;
	margin:60px auto 40px;
}
#contents .solutions h2+p {
	margin-bottom:40px;
}
#contents .solutions .wrap {
	display:block;
	overflow:hidden;
	background-color:#000;
	position:relative;
	margin:0;
	padding:0;
}
#contents .solutions .wrap a.col {
	float:left;
	width:33.33%;
	height:275px;
	position:relative;
	margin:0;
	padding:0;
	overflow:hidden;
	transition-duration:1s;
	background-size:cover;
}
#contents .solutions .wrap a.col.solution01 {
	background-image:url(../images/solution_1bg.jpg);
}
#contents .solutions .wrap a.col.solution02 {
	background-image:url(../images/solution_2bg.jpg);
}
#contents .solutions .wrap a.col.solution03 {
	background-image:url(../images/solution_4bg.jpg);
}
#contents .solutions .wrap a.col.solution04 {
	background-image:url(../images/solution_3bg.jpg);
}
#contents .solutions .wrap .col .tag {
	position:absolute;
	top:40px;left:0;right:0;
	margin:auto;
}
#contents .solutions .wrap .col h3 {
	display: block;
	font-size:1.4em;
	position:absolute;
	top:100px;left:0;right:0;
	padding: 0;
	margin:auto;
	color:#FFF;
	font-weight: bold;
	text-decoration:none;
	border: none;
}
#contents .solutions .wrap .col p {
	position:absolute;
	top:140px;left:0;right:0;
	margin:auto;
	color:#FFF;
	text-decoration:none;
	font-size:90%;
}
#contents .solutions .contact_us {
	display:block;
	width:100%;
	height:auto;
	text-align:center;
	background-color:#000;
	color:#FFF;
	overflow:hidden;
	border-top:solid #666 1px;
	padding:0;
}
#contents .solutions .contact_us img {
	vertical-align:middle;
	padding:25px 15px;
}
/**/
#contents .recruit {
	display:block;
	background-image:url(../images/recruit_bg.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	width:100%;
	height:630px;
	overflow:hidden;
	position:relative;
}
#contents .recruit h2 {
	display:block;
	text-align:center;
	margin:70px auto;
	padding: 0;
	border: none;
}
#contents .recruit .col {
	display:block;
	position:absolute;
	top:184px;left:50%;
	width:45%;
	transition-duration:1s;
}
#contents .recruit .col h3 {
	font-weight:bold;
	font-size:150%;
	line-height:1.5em;
	margin-bottom:0;
	padding: 0;
	border: none;
}
#contents .recruit .col p {
	font-size:110%;
	line-height:2em;
	margin-bottom:2.5em;
}
#contents .recruit .col strong {
	font-weight:bold;
	font-size:100%;
}
/**/
#contents .access {
	display:block;
	background-color:#ededed;
	overflow:hidden;
	margin:0 auto;
	padding-bottom:95px;
}
#contents .access h2 {
	display:block;
	text-align:center;
	margin:70px auto;
}
#contents .access .left {
	width:50%;
	padding-right:5%;
	text-align:right;
}
#contents .access iframe {
	display:block;
	width:95%;
	max-width:550px;
	height:305px;
	float:right;
}
#contents .access #map {
	display:block;
	width:95%;
	max-width:550px;
	height:305px;
	float:right;
}
#contents .access .right {
	float:right;
	width:40%;
	line-height: 1.5em;
	margin-right:5%;
	padding-top:30px;
}
#contents .access .right strong {
	display: block;
	font-weight:bold;
	font-size:1.2em;
}

}



@media screen and (min-width: 481px) and (max-width: 1520px) {

#header {
}
#header .title {
	display:block;
	transition-duration:1s;
	margin:150px 5%;/*高さ調整*/

}
#header .title a {
	margin-top:30px;
	transition-duration:1s;
}
#header .info_box ul {
	margin:22px 5% 0;
}
/*--*/
#contents .rinen {
	width:90%;
	margin:auto;
}
#contents .rinen .title {
	text-align: center;
}
#contents .rinen .title img {
	max-width:100%;
	height:auto;
}
/*--*/
#contents .solutions h2+p {
	width:90%;
	margin:0 auto 40px;
}
#contents .solutions .wrap a.col {
	float:left;
	width:33.33%;
	height:275px;
	position:relative;
	margin:0;
	padding:0;
	overflow:hidden;
}
#contents .solutions .wrap a.col img.bg {
	width:100%;
	height:auto;
}
#contents .solutions .wrap .col p {
	position:absolute;
	top:140px;left:0;right:0;
	margin:auto 15px;
	color:#FFF;
	text-decoration:none;
	font-size:90%;
}

}
/*==ブラウザ幅が大きい場合*/
@media screen and (min-width: 1521px) {
	#header .title {
		margin:150px 5%;/*高さ調整*/
	}
}

/*==中間サイズ調整*/
@media screen and (min-width: 481px) and (max-width: 1280px){

}
@media screen and (min-width: 481px) and (max-width: 835px){
	#header .title {
			margin:50px 5%;/*高さ調整*/
	}
	#contents .solutions .wrap a.col {
		float:none;
		display:block;
		width:100%;
		height:250px;
		position:relative;
		margin:0;
		padding:0;
		overflow:hidden;
	}
}

@media screen and (min-width: 481px) and (max-width: 750px){
	#header .title a {
		margin-top:30px;
	}
	#contents .recruit .col {
		display:block;
		position:absolute;
		top:184px;left:10%;
		margin:0;
		width:80%;
	}
}
/*== */



@media screen and (max-width: 480px) {
/* スマホ */
#header {
	display: block;
	background-image:url(../images/header_img.jpg);
	height:auto;
	background-size:100%;
	background-position:center 70px;
	/*overflow: hidden;メニューが隠れるので廃止*/
}
#header .title {
	display:block;
	width:90%;
	height: auto;
	margin:60px 5%;/*高さ調整*/
	background:none;
	text-indent:0;
	text-align:center;
	overflow: hidden;
	position: static;
}
#header .title a {
	display:none;
}
/**/
#header .info_box {
	display:block;
	width:100%;
	height:auto;
	overflow: hidden;
	background-color:rgba( 0, 0, 0, 1 );
}
#header .info_box ul {
	color:#FFF;
	margin:8px 15px 0;
	overflow: hidden;
}
#header .info_box ul li {
	margin-bottom:8px;
	line-height:1.4em;
}
#header .info_box ul li .cat {
	display:inline-block;
	margin-right:1em;
	margin-top:-0.2em;
	width:70px;
	height:16px;
	background-color:#be0000;
	font-size:10px;
	text-align:center;
	line-height:16px;
	vertical-align:middle;
	/*角丸*/
	border-radius: 3px;        /* CSS3草案 */
    -webkit-border-radius: 3px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;   /* Firefox用 */
}
#header .info_box ul li .date {
	display:inline-block;
	padding-right:1.5em;
}
/*--*/
#contents .rinen {
	display:block;
	width:90%;
	margin:auto;
	text-align:center;
}
#contents .rinen .title {
	margin-bottom:10px;
	padding: 0;
	text-align: center;
	border: none;
}#contents .rinen .title img {
	max-width:100%;
	padding: 0;
	height:auto;
}
#contents .rinen .catch {
	font-weight:bold;
	font-size:1.4em;
	color:#000;
	line-height: 1.4em;
	margin-top: 30px;
	margin-bottom:30px;
	text-align:justify;
	text-justify:auto;
	padding: 0;
}
#contents .rinen p {
	margin-bottom:50px;
	text-align:left;
}
#contents .rinen h2 {
	font-size:1.4em;
	line-height:1.2em;
	margin-bottom:24px;
	color:#be0000;
	padding: 0;
	border: none;
}
#contents .rinen p.center {
	text-align: center;
}
/*--*/
#contents .solutions {
	display:block;
	background-color:#ededed;
	text-align:center;
	overflow:hidden;
}
#contents .solutions h2 {
	display:block;
	margin:30px auto 20px;
}#contents .solutions h2 img {
	/*max-width:90%;*/
	max-height: 30px;
	width: auto;
}
#contents .solutions h2+p {
	margin-bottom:40px;
	width:90%;
	margin:0 auto 20px;
	text-align:left;
}
#contents .solutions .wrap {
	display:block;
	overflow:hidden;
}
#contents .solutions .wrap a.col {
	float:none;
	display:block;
	width:100%;
	height:auto;
	position:static;
	margin:0;
	padding:0;
	overflow:hidden;
	background-size:cover;
	text-decoration:none;
}
#contents .solutions .wrap a:hover h3,
#contents .solutions .wrap a:hover p
{
	text-decoration:none;
}
#contents .solutions .wrap a.col.solution01 {
	background-image:url(../images/solution_1bg.jpg);
}
#contents .solutions .wrap a.col.solution02 {
	background-image:url(../images/solution_2bg.jpg);
}
#contents .solutions .wrap a.col.solution03 {
	background-image:url(../images/solution_3bg.jpg);
}
#contents .solutions .wrap a.col.solution04 {
	background-image:url(../images/solution_4bg.jpg);
}
#contents .solutions .wrap .col .tag {
	position:static;
	margin:20px auto;
}
#contents .solutions .wrap .col h3 {
	font-size:1.4em;
	position:static;
	margin:0 auto 15px;
	color:#FFF;
	padding: 0;
	border: none;
}
#contents .solutions .wrap .col p {
	position:static;
	margin:0 auto 15px;
	color:#FFF;
	font-size:90%;
}
#contents .solutions .contact_us {
	display:block;
	width:100%;
	height:auto;
	text-align:center;
	background-color:#000;
	color:#FFF;
	overflow:hidden;
	border-top:solid #666 1px;
	padding:15px 0 0 0;
}
#contents .solutions .contact_us img {
	vertical-align:middle;
	padding:25px 15px;
}
/**/
#contents .recruit {
	display:block;
	background-image:url(../images/recruit_bg.jpg);
	background-repeat:no-repeat;
	background-position:left top;
	background-size:auto 100%;
	width:100%;
	height:auto;
	overflow:hidden;
	position:relative;
	padding-bottom:25px;
}
#contents .recruit h2 {
	display:block;
	text-align:center;
	margin:40px auto 1em;
	opacity:1;
}
#contents .recruit h2 img {
	max-height: 30px;
	width: auto;
}
#contents .recruit .col {
	display:block;
	width:90%;
	margin:0 auto;
}
#contents .recruit .col h3 {
	font-weight:bold;
	font-size:140%;
	line-height:1.4em;
	margin-bottom:25px;
	padding: 0;
	border: none;
}
#contents .recruit .col p {
	font-size:110%;
	line-height:1.8em;
	margin-bottom:1em;
	padding:5px;
	background-color:rgba(255,255,255,0.7);
}
#contents .recruit .col .button {
	display:block;
	width:100%;
	text-align:center;
}
/**/
#contents .access {
	display:block;
	background-color:#ededed;
	overflow:hidden;
	margin:10px auto 10px;
	padding-bottom:15px;
}
#contents .access h2 {
	display:block;
	text-align:center;
	margin:30px auto 25px;
}
#contents .access h2 img {
	max-height: 30px;
	width: auto;
}
#contents .access .left {
	float:none;
	display:block;
	width:100%;
	margin-bottom:10px;
}
#contents .access iframe {
	display:block;
	width:90%;
	margin:auto;
	height:305px;
}
#contents .access #map {
	display:block;
	width:90%;
	margin:auto;
	height:305px;
}
#contents .access .right {
	float:none;
	display:block;
	width:90%;
	margin:15px 5%;
}
#contents .access .right strong {
	display: block;
	font-weight:bold;
	font-size:1.2em;
}

}
