@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	HOME

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
main h2 { font-size:70px; font-weight:700; line-height:1; padding-top:30px; }
main h2 span { position:relative; font-size:16px; color:#0546a0; vertical-align:baseline; margin-left:44px; }
main h2 span img { position:absolute; top:-75px; right:0; }

/* but */
.but_to { display:block; font-size:16px; line-height:1; padding:30px; margin:-40px auto 0; 
	background:#0546a0; border:1px solid #0546a0; box-sizing:border-box; }
.but_to span { position:relative; display:inline-block; padding-left:20px; color:#fff; }
.but_to span::before { position:absolute; content:''; width:8px; height:8px; border-top:solid 2px #fff; border-right:solid 2px #fff;
    -ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; left:0; margin-top:-5px; }
.but_to:hover { background:#fff; }
.but_to:hover span { color:#0546a0; }
.but_to:hover span::before { border-top:solid 2px #0546a0; border-right:solid 2px #0546a0; }




/*----------------------------------------------------------------------------------------------
	main
----------------------------------------------------------------------------------------------*/
#mainBlock { position:relative; }
#mainBlock h2 { display:none; position:absolute; top:50%; bottom:0; left:0; right:0; margin-top:-50px; }
#mainBlock #future { margin-left:20px; }
#mainBlock .bxslider { display:none; }
#mainBlock .bxslider li { height:85vh; }
#mainBlock .bxslider li:nth-child(1) { background:url(../../img/slide01.png) center no-repeat; background-size:cover; }
#mainBlock .bxslider li:nth-child(2) { background:url(../../img/slide02.png) center no-repeat; background-size:cover; }
#mainBlock .bxslider li:nth-child(3) { background:url(../../img/slide03.png) center no-repeat; background-size:cover; }
#scroll { position:absolute; bottom:80px; left:0; right:0; color:#fff; font-size:10px; font-weight:bold; padding-bottom:40px; background:url(../../img/scroll.png) bottom center no-repeat; }


/*----------------------------------------------------------------------------------------------
	PRODUCT
----------------------------------------------------------------------------------------------*/
#productBlock { padding:200px 0; }
#productBlock h2 { text-align:left; margin-bottom:20px; }
#productBlock h2 img { width:440px; }

#productBlock .bg_box { background:url(../img/bg_white.png) #91d6d7; width:calc(100% - 76px); margin:0 auto; padding:50px 0 100px 0; }
#productBlock ul { margin:0 0 50px -60px; padding:0 30px; overflow:hidden; position:relative; z-index:1; }
#productBlock ul li { float:left; margin-right:9px; width:calc((100% - 27px)/4); }
#productBlock ul li:last-child { margin-right:0; }
#productBlock ul li img { width:100%; }

#productBlock .but_to { width:50%; }


/*----------------------------------------------------------------------------------------------
	MACHINERY
----------------------------------------------------------------------------------------------*/
#machinaryBlock { position:relative; padding:150px 0 100px 0; background:url(../img/bg_white.png) #dbdee7; }
#machinaryBlock h2 img { width:650px; }

#machinaryBlock .img { position:absolute; top:280px; left:0; }

#machinaryBlock section { text-align:right; position:relative; padding-bottom:190px; }
#machinaryBlock p { position:relative;  display:inline-block; width:300px; text-align:left; padding:60px; margin:60px 25px 0 0; background:#fff; }

#machinaryBlock .but_to { width:360px; text-align:center; position:absolute; right:0; }
#machinaryBlock .delay_1500 { height:1px; }

/*----------------------------------------------------------------------------------------------
	ABOUT
----------------------------------------------------------------------------------------------*/
#aboutBlock { color:#fff; padding:200px 0; border-top:10px solid #0546a0; 
	background:url(../../img/about.jpg) no-repeat center top; background-size:cover; }
#aboutBlock h2 { margin-bottom:50px; }
#aboutBlock h2 span { display:block; color:#fff; margin:20px 0 0 0; }
#aboutBlock p { margin-bottom:50px; }

#aboutBlock ul { overflow:hidden; }
#aboutBlock ul li { float:left; width:calc((100% - 60px)/3); margin-right:29px; }
#aboutBlock ul li:last-child { margin-right:0; }

#aboutBlock .but_to { margin:0; }


/*----------------------------------------------------------------------------------------------
	ACCESS
----------------------------------------------------------------------------------------------*/
#accessBlock { padding:120px 0 260px 0; }
#accessBlock .container { position:relative; text-align:right; }
#accessBlock h2 { }
#accessBlock h2 span { display:inline-block; padding-right:20px; }
#accessBlock h2 img { width:680px; top:-100px; right:-10px; }

#mapBox { width:680px; height:480px; text-align:center;  }

#accessBox {position:absolute; top:180px; right:40px; }
#accessBlock dl { display:inline-block; text-align:left; background:#fff; padding:60px; margin:0px 0 0 0; overflow:hidden; }
#accessBlock dt { float:left; width:3em; color:#0546a0; margin-right:30px; }
#accessBlock dd { margin-bottom:20px; overflow:hidden; }
#accessBlock dd a { color:#000; }

#accessBlock .bg_box { background:url(../img/bg_white.png) #91d6d7; width:1020px;   position:absolute; z-index:-2; top:140px;
	 margin-left:60px; padding:0 0 480px 0; }


/*----------------------------------------------------------------------------------------------
	CONTACT
----------------------------------------------------------------------------------------------*/
#contactBlock { background:#f3f3f3; overflow:hidden; padding:100px 0 200px 0; }
#contactBlock h2 { margin-bottom:90px; }
#contactBlock h2 span { display:block; margin:20px 0 0 0; }

#telBox { float:left; width:calc((100% - 60px)/2); box-sizing:border-box; padding:40px; background:#fff; border:1px solid #12244d; }
#telBox h3 { font-size:18px; color:#fff; padding:20px 0; background:#12244d; margin-top:-80px; }
#telBox p { font-size:16px; text-align:left; margin-top:20px; }
#telBox dl { text-align:left; }
#telBox dt { display:inline-block; vertical-align:middle; text-align:center; font-size:20px; width:3em; color:#fff; 
	background:#87d9da; margin-right:20px; }
#telBox dd { display:inline-block; vertical-align:middle; line-height:1; }
#telBox .tel dd { margin:24px 0 30px 0; }
#telBox dd a { font-size:50px; font-weight:600; color:#12244d; }
#telBox .fax dd { font-size:40px; }

#contactBlock form { float:right; width:calc((100% - 60px)/2); margin-top:-40px; }
#contactBlock form ul { text-align:left; font-size:16px; box-sizing:border-box; padding:50px; background:url(../img/bg_white.png) #a7b3ce; }
#contactBlock form label { font-weight:bold; display:block; margin-bottom:5px; }
#contactBlock form label span { float:right; font-size:12px; font-weight:normal; color:#ff0000; }
#contactBlock form input[type="text"],
#contactBlock form input[type="email"],
#contactBlock form textarea { width:100%; background:#fff; font-size:16px; padding:10px; box-sizing:border-box; margin-bottom:30px; }

.but_send { position:relative; display:block; width:calc(100% - 90px); padding:0; margin:-40px auto 0; background:#0546a0; 
	border:1px solid #0546a0; box-sizing:border-box; cursor:pointer; }
.but_send::before { position:absolute; content:''; width:8px; height:8px; border-top:solid 2px #fff; border-right:solid 2px #fff;
    -ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; left:20px; margin-top:-5px; }
.but_send:hover { background:#fff; }
.but_send:hover::before { border-top:solid 2px #0546a0; border-right:solid 2px #0546a0; }
.but_send input[type="submit"],
.but_send input[type="button"]{
  padding: 30px calc((100% - 90px) /2);
	font-size:16px;
	color:#fff;
	line-height:1;
  cursor: pointer;
}
.but_send.send02{
	margin: 20px auto;
}
.but_send input:hover { color:#0546a0; }
#contactBlock form li p {
	margin-bottom:2em;
}
#contactBlock p.error { color:#f00; margin-bottom:0;}

@media (max-width: 1076px) and (orientation: portrait){
		#telBox {
			margin-bottom: 20%;
		}
}



/*--------------------------------------------------------------
	SP　表示領域が1076px以下
--------------------------------------------------------------*/
@media (max-width:1076px) {
		/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

			HOME

		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
		main h2 { font-size:35px; padding-top:20px; }
		main h2 span { font-size:14px; }
		main h2 span img { top:-35px; right:30px; }

		/* but */
		.but_to { font-size:14px; padding:20px; margin:0 auto; }
		.but_to span { }
		.but_to span::before { width:6px; height:6px; border-top:solid 1px #fff; border-right:solid 1px #fff; margin-top:-4px; }
		.but_to:hover { }
		.but_to:hover span::before { border-top:solid 1px #0546a0; border-right:solid 1px #0546a0; }




		/*----------------------------------------------------------------------------------------------
			main
		----------------------------------------------------------------------------------------------*/
		#mainBlock {background-color: #0546a0;}
		#mainBlock h2 { }
		#mainBlock h2 #catch { width:280px; margin-top:0px; }
		#mainBlock h2 #future { width:202px; margin:20px 0 0 70px; }
		#mainBlock .bxslider { margin-top:60px; }
		#mainBlock .bxslider li { height:98vh; }
		#mainBlock .bxslider li:nth-child(1) { background:url(../../img/sp_slide01.png) center top no-repeat !important;  background-size: 100% auto !important; }
		#mainBlock .bxslider li:nth-child(2) { background:url(../../img/slide02.png) center top no-repeat !important; background-size: auto 94% !important; }
		#mainBlock .bxslider li:nth-child(3) { background:url(../../img/slide03.png) -240px top no-repeat !important; background-size: auto 94% !important;}
 		#scroll { display:none; }



		/*----------------------------------------------------------------------------------------------
			PRODUCT
		----------------------------------------------------------------------------------------------*/
		#productBlock { padding:50px 0; }
		#productBlock h2 { }
		#productBlock h2 img { }

		#productBlock .bg_box { width:calc(100% - 10px); padding:10px 0 0 0; }
		#productBlock ul { margin:0 0 0 -10px; padding:0 5px; width:calc(100% + 10px); }
		#productBlock ul li { margin-right:10px; width:calc(40% - 10px); margin-bottom:10px; }
		#productBlock ul li:last-child { }
		#productBlock ul li:nth-child(3) { margin-left:calc(20% + 10px); }
		#productBlock ul li img { width:100%; }

		#productBlock p { background:#fff; padding:25px 0; }

		#productBlock .but_to { width:100%; }


		/*----------------------------------------------------------------------------------------------
			MACHINERY
		----------------------------------------------------------------------------------------------*/
		#machinaryBlock { padding:0; background:none; }
		#machinaryBlock h2 img { }

		#machinaryBlock .img { position:relative; top:5px; z-index:-1; }
		#machinaryBlock .img img { width:100%; }
		#machinaryBlock .container { width:100%; margin-top:5px; box-sizing:border-box; }
		#machinaryBlock h2 { padding:25px 0 15px 15px; background:url(../img/bg_white.png) #dbdee7; }

		#machinaryBlock section { text-align:left; position:static; padding-bottom:100px; }
		#machinaryBlock p { width:100%; padding:25px 15px; box-sizing:border-box; margin:0 auto; text-align:center; }

		#machinaryBlock .but_to { width:calc(100% - 30px); left:0; right:0; }
		#machinaryBlock .delay_1500 { height:0px; }


		/*----------------------------------------------------------------------------------------------
			ABOUT
		----------------------------------------------------------------------------------------------*/
		#aboutBlock { padding:100px 0; border-top:5px solid #0546a0; }
		#aboutBlock h2 { margin-bottom:25px; }
		#aboutBlock h2 span { margin:10px 0 0 0; }
		#aboutBlock p { margin-bottom:25px; }

		#aboutBlock ul { }
		#aboutBlock ul li { float:none; width:100%; margin:0 0 15px 0; }
		#aboutBlock ul li:last-child { margin-right:0; }

		#aboutBlock .but_to {  }


		/*----------------------------------------------------------------------------------------------
			ACCESS
		----------------------------------------------------------------------------------------------*/
		#accessBlock { padding:5px 0 0 0; }
		#accessBlock .container { text-align:left; width:100%; margin:0; }
		#accessBlock h2 { position:absolute; top:400px; left:15px; right:0; }
		#accessBlock h2 span { }
		#accessBlock h2 img { top:-35px; right:45px; }

		#mapBox { width:100%; height:400px; }

		#accessBox { position:static; width:calc(100% - 30px); margin:70px auto 50px; text-align:center; background:#fff; }
		#accessBlock dl { padding:15px; margin:0; }
		#accessBlock dt { }
		#accessBlock dd { margin-bottom:10px; }
		#accessBlock dd a { }

		#accessBlock .bg_box { width:100%; top:400px; left:0; margin:0; }


		/*----------------------------------------------------------------------------------------------
			CONTACT
		----------------------------------------------------------------------------------------------*/
		#contactBlock { padding:50px 0 120px 0; }
		#contactBlock h2 { margin-bottom:40px; }
		#contactBlock h2 span { margin:10px 0 0 0; }

		#telBox { float:none; width:100%; padding:0px 0 25px 0; }
		#telBox h3 { font-size:12px; display:inline-block; padding:10px; margin-top:-30px; }
		#telBox p { font-size:12px; margin:15px 0 0 0; text-align:center; font-weight:bold; }
		#telBox dl { text-align:center; width:70%; margin:0 auto; }
		#telBox dt { font-size:12px; margin-right:10px; }
		#telBox dd { line-height:20px; }
		#telBox .tel dd { margin:15px 0 15px 0; }
		#telBox dd a { font-size:26px; }
		#telBox .fax dd { font-size:20px; }

		#contactBlock form { float:none; width:100%; margin-top:25px; }
		#contactBlock form ul { text-align:center; padding:15px; }
		#contactBlock form label { font-size:14px;margin-left:45px; }
		#contactBlock form label span { }
		#contactBlock form input[type="text"],
		#contactBlock form input[type="email"],
		#contactBlock form textarea { }

		.but_send { width:60%; padding:15px; margin:-30px auto 0; }
		.but_send::before { }
		.but_send input { }
		.but_send:hover { }
		.but_send:hover::before { }
		.but_send:hover input { }
		
}



@media (max-width:320px) {
	main h2 { font-size:30px; padding-top:20px; }
}

