@charset "UTF-8";
/* CSS Document */

/*============
トップイメージ
============*/

#topimage {
	background-repeat:no-repeat;
	background-position:center;
	background-color:#FFF;
	width:100%;
	height: auto;
	position:relative;
	overflow: hidden;
	margin-bottom: 0;
	margin-top: 114px;
}
@media screen and (max-width: 480px) {
	#topimage {
		margin-top: 90px;
	}
}
#topimage ul {
	display: block;
	width: 100%;
	height: auto;
	max-height:805px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
#topimage ul li .img {
	display: block;
	width: 100%;
	height: auto;
	text-align: center;
	overflow: hidden;
	
}
#topimage > div div.dot {
	display: block;
	position: absolute;
	width:100%;
	height:100%;
	max-height:805px;
	background-image: url("../../common/images/topimage_dot.png");
	background-repeat: repeat;
	overflow: hidden;
	z-index: 10;
}
/*============*/


/*============
contents
============*/
.contents_box {
	padding-bottom:0;
	width:100%;
	padding-left:0;
	padding-right:0;
}
section .title {
	display: block;
	text-align: center;
	border: none;
	padding: 0;
	margin-top: 94px;
	margin-bottom:0;
	margin-left: 5%;
	margin-right: 5%;
	padding-bottom: 0;
	/*webフォント*/
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 2.25em;
	letter-spacing: 0.05em;
	color:#000;
}
section .catch {
	font-weight:bold;
	font-size:1.3em;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	margin-top:0.8em;
	margin-bottom:2em;
	margin-left: 5%;
	margin-right: 5%;
	color:#000;
}
@media screen and (max-width: 480px) {
	.contents_box {
		overflow: hidden;
	}
	section .title {
		font-size: 2em;
		letter-spacing: 0;
	}
	section .catch {
		font-size:1.1em;
		letter-spacing: 0;
	}
}


/*============
rinen
============*/
section.rinen {
	display: block;
	text-align:center;
	padding-bottom: 100px;
	padding-left: 5%;
	padding-right: 5%;
	margin-left: 0;
	margin-right: 0;
	overflow: hidden;
	background-image:url("../images/rinen_bg.jpg");
	background-position: bottom center;
	background-repeat: no-repeat;
}
section.rinen p {
	margin-bottom:80px;
	margin:40px 5% 0;
	line-height: 2.2em;
	font-size:15px;
}
section.rinen p img {
	text-align: center;
	margin: 0;
	display: inline;
}

@media screen and (min-width: 815.1px){	
  .rinen .br-wide { display:block; }
  .rinen .br-narrow { display:none; }
}
@media screen and (max-width: 815px){	
  .rinen .br-wide { display:none; }
  .rinen .br-narrow { display:block; }
}

@media screen and (max-width: 480px) {
	section.rinen {
		display:block;
		overflow: hidden;
		width:100%;
		margin:auto 0;
		text-align:center;
		padding-bottom: 0px;
		padding-left: 0;
		padding-right: 0;
	}
	section.rinen .title {
		margin-bottom:35px;
		margin-top: 35px;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
		text-align: center;
		border: none;
		overflow-wrap: break-word;
		letter-spacing: 0;
		font-size: 1.4em;
	}
	section.rinen .catch {
		letter-spacing: 0;
		font-size: 1em;
		line-height: 1.8em;
		font-weight: bold;
	}
	section.rinen p {
		font-size: 0.9em;
		line-height:1.8em;
		margin-bottom:50px;
		text-justify:auto;
		padding:8px 5%;
		text-align:justify;
	}
	section.rinen p.center {
		text-align: center;
	}
}


/*-- service*/
section.service {
	display:block;
	background-color:#f2f2f2;
	text-align:center;
	overflow:hidden;
	font-size:15px;
}
section.service .title {
	display:block;
	margin:60px auto 40px;
}
section.service h2+p {
	margin-bottom:77px;
	font-size: 1.1em;
}
section.service .wrap {
	display:block;
	overflow:hidden;
	position:relative;
	margin:0;
	padding:0;
}
section.service p {
	font-size:15px;
}
section.service .wrap .col {
	float:left;
	width:50%;
	height:300px;
	position:relative;
	margin:0;
	padding:0;
	overflow:hidden;
	transition-duration:1s;
	background-size:cover;
	background-position: center;
	text-decoration: none;
}
section.service .wrap .col.service01 {
	background-image:url(../images/service_1bg.jpg);
}
section.service .wrap .col.service02 {
	background-image:url(../images/service_2bg.jpg);
}
/*- tag*/
section.service .wrap .col .tag_t {
	font-family: 'Antonio', sans-serif;
	display:block;
	width:164px;
	height: 38px;
	padding: 5px 10px 0;
	margin: 35px auto 23px;
	border-radius: 3px;
	font-size:21px;
	letter-spacing:0em;
	line-height: 28px;
	color:#FFF;
	text-align: center;
	text-decoration: none;
	background-color: #0152a4;
}
section.service .wrap .col h3 {
	display: block;
	font-size:1.5em;
	position:absolute;
	top:100px;left:0;right:0;
	padding: 0;
	margin:auto;
	color:#FFF;
	font-weight:bold;
	text-decoration:none;
	border: none;
	text-shadow: 0 0 5px #000,0 0 5px #000;
}
section.service .wrap .col p {
	position:absolute;
	top:140px;left:0;right:0;
	margin:auto;
	padding: 1em 3em;
	color:#FFF;
	text-decoration:none;
	text-shadow: 0 0 5px #000,0 0 5px #000;
	font-size:1.1em;
	line-height:1.6em;
}
/*- contact_us*/
section.service .contact_us {
	display:block;
	width:100%;
	height:auto;
	padding:5px 0;
	text-align:center;
	background-color:#0152a4;
	color:#FFF;
	overflow:hidden;
}
section.service .contact_us p {
	margin-top:25px;
	text-align: center;
	font-size: 1.3em;
}
section.service .contact_us a {
	display: inline-block;
	background-color: #FFF;
	height: 38px;
	width: auto;
	padding: 0.5em 3em;
	margin: 2em 2em;
	color:#000;
	text-decoration: none;
	border-radius: 19px;
	font-size: 16px;
	line-height: 20px;
}
section.service .contact_us a:hover {
	background-color: #aad4fe;
}
section.service .contact_us a span::before {
	/*#0152a4*/
	display: block;
	float: left;
	content:"";
    width: 8px;
    height: 8px;
    border-top: 2px solid #0152a4;
    border-right: 2px solid #0152a4;
	transform: rotate(45deg);
	margin-right: 1em;
	margin-top: 7px;
}

/*文字溢れが発生する前に、早めに1列に切り替える*/
@media screen and (max-width: 1024px){
	section.service {
		display:block;
		text-align:center;
		overflow:hidden;
		background-color:#ededed;
	}
	section.service .title {
		display:block;
	}
	section.service h2+p {
		width:90%;
		margin:0 auto 40px;
		text-align:center;
	}
	section.service .wrap {
		display:block;
		overflow:hidden;
	}
	section.service .wrap .col {
		float:none;
		display:block;
		width:100%;
		height:auto;
		position:static;
		margin:0;
		padding:0;
		overflow:hidden;
		background-size:cover;
		text-decoration:none;
	}
	section.service .wrap a:hover h3,
	section.service .wrap a:hover p
	{
		text-decoration:none;
	}
	section.service .wrap .col.service02 {
		width:100%;
	}
	section.service .wrap .col .tag {
		position:static;
		margin:20px auto;
	}
	section.service .wrap .col h3 {
		font-size:1.4em;
		position:static;
		margin:0 auto 15px;
		padding: 0;
		border: none;
	}
	section.service .wrap .col p {
		position:static;
		margin:0 15% 15px;
	}
	section.service .contact_us {
		display:block;
		width:100%;
		height:auto;
		padding:15px 5%;
		text-align:center;
		background-color:#0152a4;
		color:#FFF;
		overflow:hidden;
	}
}
@media screen and (max-width: 800px){
	section.service .wrap .col p {
		margin-left:10%;
		margin-right:10%;
	}
}
@media screen and (max-width: 630px){
	section.service .wrap .col p {
		margin-left:5%;
		margin-right:5%;
	}
}
@media screen and (max-width: 480px){
	section.service .catch {
		letter-spacing: 0;
		font-size: 1em;
		line-height: 1.8em;
		font-weight: bold;
	}
	section.service .wrap .col p {
		margin-left:0%;
		margin-right:0%;
		padding-left:2em;
		padding-right: 2em;
		font-size: 0.9em;
		text-align:justify;
	}
	section.service .contact_us p {
		padding-left: 5%;
		padding-right: 5%;
		font-size: 1em;
	}
	section.service .contact_us a {
		margin-left: auto;
		margin-right: auto;
	}
}


/*-- machinery*/
section.machinery {
	display:block;
	background-image: url(../images/machinary_bg.jpg);
	background-size:contain;
	background-color: #FFF;
	background-position: left 0 top 0;
	background-repeat: no-repeat;
	width:100%;
	transition-duration:1s;
	overflow: hidden;
	position: relative;
}
section.machinery .title {
	display:block;
	text-align:center;
	margin:90px auto 50px;
	border: none;
	text-shadow: 0 0 5px #FFF,0 0 10px #FFF,0 0 15px #FFF;
}
section.machinery .textBlock {
	display: block;
	width:auto;
	margin: 80px 3% 120px 38%;
	transition-duration:1s;
}
section.machinery .catch {
	margin-left: 0;
	font-size: 1.6em;
	text-shadow: 0 0 5px #FFF,0 0 10px #FFF,0 0 15px #FFF;
}
section.machinery .textBlock p {
	width: 100%;
	line-height:2.3em;
	margin-bottom:2.3em;
	text-align: justify;
	font-size: 1.1em;
	letter-spacing: 0;
	text-shadow: 0 0 6px #FFF,0 0 6px #FFF,0 0 6px #FFFF;
}
section.machinery .textBlock div.btn_area {
	margin-left: -1em;
}
section.machinery .textBlock div.btn_area p {
	display: block;
	line-height:1em;
	margin-bottom:1.4em;
	margin-top: 1em;
	text-shadow:none;
}
section.machinery .textBlock div.btn_area a {
	display: inline-block;
	background-color: #0152a4;
	height: 38px;
	width: auto;
	line-height: 1.3em;/**/
	padding: 0.5em 3em;
	margin: 2em 1em 1em 1em;
	color:#FFF;
	text-decoration: none;
	border-radius: 19px;
	font-size: 16px;
	line-height: 20px;
}
section.machinery .textBlock div.btn_area a:hover {
	background-color: #0070e1;
}
section.machinery .textBlock div.btn_area a span::before {
	display: block;
	float: left;
	content:"";
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
	transform: rotate(45deg);
	margin-right: 1em;
	margin-top: 7px;
}
@media screen and (min-width: 1480px){	
	section.machinery .textBlock {
		width: auto;
		margin-left: left 30% top 0;
	}
}
@media screen and (min-width: 1091.001px){	
	section.machinery .textBlock p .br-wide { display:block; }
}
@media screen and (max-width: 1091px){	
	section.machinery .textBlock p .br-wide { display:none; }
	section.machinery {
		background-size: cover;
		background-position: left -200px top 0;
	}
}
@media screen and (min-width: 481px) and (max-width: 750px){
	section.machinery .textBlock h3 {
		text-align: center;
	}
	section.machinery .textBlock {
		float:none;
		display:block;
		width:80%;
		margin-left: 10%;
		margin-top: 35px;
	}
	section.machinery .textBlock p {
		width:100%;
		text-align: center;
	}
	section.machinery .textBlock div.btn_area {
		margin-left: 0;
	}
	section.machinery .textBlock .btn_area p {
		display:block;
		width:100%;
		text-align:center;
	}
}
@media screen and (max-width: 480px) {
	section.machinery {
		display:block;
		width:100%;
		height:auto;
		overflow:hidden;
		position:relative;
		background-position: left -300px top 0;
	}
	section.machinery .title {
		display:block;
		text-align:center;
		margin:0 auto 35px;
		padding-top: 35px;
		opacity:1;
		letter-spacing: 0;
	}
	section.machinery .textBlock {
		display:block;
		width:auto;
		margin-left: 5%;
		margin-right: 5%;
		margin-top: 0;
		font-size: 0.9em;
		line-height: 1.8em;
		text-align:justify;
	}
	section.machinery .textBlock h3 {
		font-size: 1.4em;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
	section.machinery .textBlock p {
		font-size: 1em;
		line-height: 2em;
		padding: 0 5%;
	}
	section.machinery .textBlock div.btn_area {
		margin-left: 0;
	}
	section.machinery .textBlock div.btn_area p {
		text-align: center;
	}
}


/*-- access*/
section.access {
	display:block;
	background-color: #FFF;
	text-align:center;
	overflow:hidden;
	font-size:15px;
	padding-bottom: 94px;
}
section.access .title {
	display: block;
	text-align: center;
	border: none;
	padding: 0;
	margin-top: 80px;
	margin-bottom:80px;
	padding-bottom: 0;
}
section.access .wrap {
	display: block;
	overflow: hidden;
	margin-bottom: 25px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
}
section.access .wrap .map {
	float:left;
	width:45%;
	margin-left: 5%;
}
section.access .wrap .map iframe {
	width:100%;
}
section.access .wrap .textBlock {
	float:right;
	width:40%;
	margin-left: 5%;
	padding-right: 5%;
	text-align: left;
}
section.access .wrap .textBlock h3 {
	margin-top: 0.25em;
	color:#0152a4;
	font-size: 1.2em;
}
section.access .wrap .textBlock p {
	line-height: 2.25em;
	font-size: 1.1em;
}
@media screen and (max-width: 835px){
	section.access {
		padding-bottom: 25px;
	}
	section.access .title {
		margin-top: 60px;
		margin-bottom:40px;
	}
	section.access .wrap {
		display: block;
		width: 90%;
		margin-left: 5%;
		margin-bottom: 0;
		overflow: hidden;
	}
	section.access .wrap .map {
		float:none;
		display: block;
		width:100%;
		margin:0 0 15px;
	}
	section.access .wrap .map iframe {
		width:100%;
	}
	section.access .wrap .textBlock {
		float:none;
		display: block;
		width:100%;
		margin: 0;
		text-align: left;
	}
	section.access .wrap .textBlock h3 {
		margin-top: 0;
	}
	section.access .wrap .textBlock p {
		line-height: 1.5em;
	}
}



