@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Montserrat:200,400');


/*---------------------------------------

cancel style

---------------------------------------*/
.site-header,
.global-nav,
.main-body,
.site-footer {
    min-width: initial;
}

.site-header-in,
.global-nav-in,
.main-image-in,
.main-image-in-text,
.main-image-in-text-cont,
.main-body-in,
.main-body .section-in,
.site-footer-in {
	width: 100%;
	max-width: 1000px;
	margin: auto;
}

figure { margin: auto; }
li { margin: auto }
table { border-collapse:collapse; }


/*---------------------------------------

common style

---------------------------------------*/

body {
	padding-top: 90px;
	color: #3b5462;
	background: url(../images/top_mainbg.jpg) no-repeat center top;
}

.sp { display: none; }

.fl { float: left; }
.fr { float: right; }

/* parts */
.cmn-parts {
	background: url(../images/top_07bg.jpg) no-repeat center;
	background-size: cover;
	margin: 0 auto;
    padding-top: 50px;
}
.cmn-parts .parts-wrap {
	overflow:hidden;
	max-width: 1000px;
	margin:auto;
}
#cmn-parts01 .parts-wrap .parts-box-r {
	width: 55.3%;
	float: right;
}
#cmn-parts01 .parts-wrap .parts-box-l {
	width: 39.2%;
	float: left;
}
#cmn-parts01 .parts-wrap .parts-box-l a {
	display: block;
	margin: 25px auto 0;
	width: 100%;
	padding: 10px 0;
	font-size: 22px;
	color: #0194d2;
	box-sizing:border-box;
	text-align:center;
	text-decoration: none;
	background: #fff;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;
}
#cmn-parts02 {
	padding: 60px 0 0;
}
#cmn-parts02 .parts-wrap .parts-box-r {
	width: 55.3%;
	float: right;
}
#cmn-parts02 .parts-wrap .parts-box-l {
	padding: 70px 0 0;
	width: 36.3%;
	float: left;
}


/* text */
.main-body .cmn-ttl01 {
    font-size: 32px;
    font-weight: normal;
	letter-spacing: 0.08em;
    line-height: 1.5;
	font-family: "Montserrat";
    color: #3972b9;
    text-align: center;
    margin: 0 0 50px;
    padding: 0;
    background: none;
}
.main-body .cmn-ttl01 span {
	font-size: 15px;
	font-weight: normal;
	display: block;
	line-height: 2;
}
.main-body .cmn-ttl02 {
    font-size: 35px;
    font-weight: normal;
    line-height: 1.5;
    color: #676767;
    text-align: center;
    margin: 0 0 30px;
    padding: 0;
    background: none;
}
.main-body .cmn-ttl03 {
    font-size: 26px;
	color: #0194d2;
	text-align:center;
    margin: 0 0 15px;
}
.main-body .cmn-txt01 {
    font-size: 16px;
	line-height: 2.1;
	color: #3b5462;
	text-align:center;
	position: relative;
	z-index: 10;
}


/* imgs */
.cmn-visual {
	width: 100%;
	height:450px;
	background-size: cover !important;
}

.cmn-imgs-wrap ul {
    margin: auto;
    padding: 0;
    width: 100%;
	overflow:hidden;
    list-style: none;
}
.cmn-imgs-wrap ul li {
    width: 32.5%;
    margin-left: 1.25%;
    box-sizing: border-box;
    float: left;
}
.cmn-imgs-wrap ul li:first-child {
	margin-left: 0;
}

.cmn-icons-wrap ul {
    margin: auto;
    padding: 0;
    width: 100%;
	list-style: none;
	overflow:hidden;
}
.cmn-icons-wrap ul li {
    width: 18.5%;
    margin-left: 1.875%;
    list-style: none;
    box-sizing: border-box;
    float: left;
}
.cmn-icons-wrap ul li:first-child {
	margin-left: 0;
}



/* btn */
.btn-link {
	display: block;
	font-size: 24px;
	color: #fff;
	max-width: 580px;
	padding: 15px 0;
	margin: auto;
	box-sizing:border-box;
	text-align:center;
	text-decoration: none;
	background: #0194d2;
	border:solid 1px #0194d2;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	border-radius: 100px;
}
.btn-link:hover {
	background: #fff;
	color: #0194d2;
}

/*---------------------------------------

header style

---------------------------------------*/
.site-header {
	width: 100%;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
}
.site-header:after {
	display: none;
}
.site-header .site-header-in {
    height: 90px;
}
.site-header .site-header-in .site-header-conts {
	padding:0;
    box-sizing:border-box;
}
.site-header .site-header-in .site-header-conts .site-title {
    text-align: left;
    margin: 0 auto;
    font-size: inherit;
    position: absolute;
    left: 0;
    top: 32px;
}
.site-header .site-header-in .site-header-conts .site-title a {
    display: block;
    height: 0;
    padding-top: 50px;
    background: url(../images/logo.png) no-repeat;
	background-size: contain !important;
    overflow: hidden;
}

.site-header .global-nav {
    min-width: initial;
    border-bottom: none;
    margin-bottom:0;
    position: absolute;
	right: 0;
	top:26px;
}
.site-header .global-nav .global-nav-in {
	width: auto;
}
.site-header .global-nav .global-nav-in ul {
    display: block;
    width: auto;
    table-layout: inherit;
	overflow: hidden;
}
.site-header .global-nav .global-nav-in ul li {
    display: block;
	line-height: 1.6;
	margin-left: 40px;
	letter-spacing: 0.08em;
	float: left;
}
.site-header .global-nav .global-nav-in ul li span {
	display: block;
	letter-spacing: 0.08em;
	font-size: 12px;
	font-weight: normal;
}
.site-header .global-nav .global-nav-in ul li a {
	font-family: "Montserrat";
	font-size: 20px;
	letter-spacing: 0.1em;
	color: #fff;
	padding: 0;
}
.site-header .global-nav .global-nav-in li a:hover,
.site-header .global-nav .global-nav-in li a:active,
.site-header .global-nav .global-nav-in li a:focus {
    background-color: initial;
}
.site-header .global-nav .global-nav-in ul li a #nav-contact {
    line-height: 90px;
	width: 210px;
	display:block;
	background: #1b2c59;
	color: #fff;
	text-align: center;
}


/*-----------------------------------------------------

footer style

------------------------------------------------------*/
.site-footer {
    background: #e2e6e8;
    color: #444444;
	padding-top: 20px;
}
.site-footer a {
	color: #444444 !important;
	text-decoration: none;
}
.site-footer .site-footer-conts {overflow: hidden;}
.site-footer .ft-box-l {float:left;}
.site-footer .ft-box-l h2 {margin: 0 0 20px;}
.site-footer .ft-box-l h3 {
	font-size: 17px;
	font-weight: bold;
	margin: 0 0 10px;
}
.site-footer .ft-box-l p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}
.site-footer .ft-box-r {
    width: 65%;
	float: right;
}

.copyright {
	clear: both;
    margin: 0;
    padding: 0;
    background: none;
}
.copyright p {
    color: #999;
	font-size: 11px;
	text-align:right;
	padding: 20px 0 0;
	margin:0;
}



/*-----------------------------------------------------

home style

------------------------------------------------------*/
#top-con01 .section-in {
	padding-top: 485px;
	position: relative;
}
#top-con01 h1 {
    margin:0;
	padding:0;
	position: absolute;
	top: 185px;
	left:0;
}
#top-con01 h2 {
    margin:0;
	padding:0;
	background: none;
	position: absolute;
	top: 160px;
	right: 115px;
}
#top-con01 .img {
	text-align:center;
	margin-bottom: 15px;
}
#top-con01 .cmn-txt01 {
	margin-bottom: 55px;
}


#top-con02 {
	margin-bottom: 40px;
}
#top-con02 .cmn-visual {
	background: url(../images/top_introbg.jpg) no-repeat center;
}
#top-con02 .cmn-visual p {
	margin:0;
	padding: 120px 0 0;
	text-align: right;
}


#top-con03 .cmn-visual {
	background: url(../images/top_imgl01.jpg) no-repeat center;
}
#top-con03 .bgImg {
    margin-top: -10%;
}


#top-con04 {
	padding-top:60px;
    margin-bottom: 0;
	background:#f0f4f6;
}
#top-con04 .cmn-visual {
	background: #fff url(../images/top_imgl02.jpg) no-repeat center;
}
#top-con04 .pdt-info {
	margin: 0 auto 90px;
	padding:0 50px;
}
#top-con04 .imgArea {
	text-align:right;
	margin-bottom: 30px;
}
#top-con04 .imgArea img {
	width: 35%;
	max-width: 305px;
}
#top-con04 table {
	border: none;
	margin:0 auto;
}
#top-con04 table tr:nth-child(odd) {
	background: #fff;
}
#top-con04 table tr:first-child {
	background: #f0f4f6;
	background: #d4dce7;
}
#top-con04 table th,
#top-con04 table td {
	font-size: 16px;
	font-weight: normal;
	color: #3b5462;
    border: none;
	box-sizing: border-box;
	background: none;
}
#top-con04 table th {
	padding: 6px 0 6px 20px;
}
#top-con04 table th.th01 {
	font-size: 20px;
	font-weight: bold;
	color: #3972b9;
	text-align:center;
	width: 36.1%;
	padding: 6px 10px;
}
#top-con04 table td {
	border-left: solid 1px #d4dce7;
	padding: 6px 10px;
	text-align:center;
}


#top-con05 {padding-top: 50px;}


.company h3 {
	text-align: center;
	background-color:#fff;
	border: none;
	font-size: 17px;
	margin: 0 0 20px;
}
.company table {
	width: 55%;
	margin: 0 auto;
	font-size: 16px;
}
.company table th {
	width: 20%;
	vertical-align: top;
}
.company table,
.company table th,
.company table td{border: none;
	line-height: 1.8;
	padding: 5px 10px;
}
.company table th {background-color: #fff;	}
.company table th {
	text-align: right;
	font-weight: normal;
}




/*-----------------------------------------------------

pageIhl style

------------------------------------------------------*/

.pageIhl {
	padding-top: 60px;
	background-image: none;
}
.pageIhl .site-header .global-nav .global-nav-in ul li a {
	color: #3972b9;
}
.pageIhl .site-header .site-header-in .site-header-conts .site-title a {
    background: url(../images/logo_n.png) no-repeat;
}

.pageIhl .topimg {
	height: 350px;
    background: url(../images/ihl_topimg.jpg) no-repeat top center;
}
.pageIhl .topimg h1{
	font-size: 40px;
    font-family: "Montserrat";
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
	padding-top: 130px;
}
.pageIhl .main-body .cmn-ttl01 {
    font-size: 35px;
    margin: 70px 0;
}
.pageIhl .racer {
	margin-bottom: 90px;
}
.pageIhl .racer h3 {
    margin:0 0 30px;
	padding:0;
	background: none;
	border: none;
	color: #3972b9;
	font-size: 47px;
	line-height: 1;
	font-family: "Montserrat";
	font-weight: 200;
}
.pageIhl .racer span {
	padding-top: 10px;
	display: block;
	color:#3b5462;
	font-size: 20px;
}
.pageIhl .racer .box-l{
	width: 50%;
	float: left;
}
.pageIhl .racer .box-r{
		width: 50%;
	float: right;
}
.pageIhl .racer .text {
	padding-left: 50px;
}



/*-----------------------------------------------------
media query
------------------------------------------------------*/

@media only screen and (max-width : 815px){
	 /* common */
 
	 .sp-m0-b { margin-bottom: 0 !important; }
	 .sp-m10-b { margin-bottom: 10px !important; }
	 .sp-m20-b { margin-bottom: 20px !important; }
	 .sp-m30-b { margin-bottom: 30px !important; }
	 .sp-m40-b { margin-bottom: 40px !important; }
	 .sp-m50-b { margin-bottom: 50px !important; }
	 .sp-m60-b { margin-bottom: 60px !important; }
	 .sp-m70-b { margin-bottom: 70px !important; }
	 .sp-m80-b { margin-bottom: 80px !important; }
	 .sp-m90-b { margin-bottom: 90px !important; }
	 .sp-m100-b { margin-bottom: 100px !important; }
	

    .main-body .cmn-ttl01,
    .main-body .cmn-ttl02,
    .main-body .cmn-ttl03 {
		font-size: 22px;
		margin-bottom: 25px;
	}
	.cmn-visual {
        height: 0;
        padding-top: 50%;
    }

	.btn-link {
        font-size: 18px;
        padding: 10px 0;
	}

	 /* header */

	.site-header .site-header-in {
        padding: 0;
		margin: 20px 0;
		height: 50px;
		box-sizing: border-box;
		position: relative;
	}
	.site-header .site-header-in .site-header-conts {
		padding:0 15px;
	}
	.site-header .site-header-in .site-header-conts .site-title {
		width: 118px;
		padding: 0;
		height: 50px;
		box-sizing: border-box;
		text-align: center;
		position: absolute;
		left: 15px;
		top: 0;
	}
	.site-header .site-header-in .site-header-conts .site-title a {
		padding-top: 50px;
	}
    .site-header .global-nav .global-nav-in ul {
		display: none;
		top: 60px;
        left: 0;
        width: 100%;
	    background: rgba(72,88,89,.9);
	}
	.site-header .global-nav {
		right:0;
		top:0;
	}

	.site-header .global-nav .global-nav-in ul li {
		padding: 8px 0;
		line-height: 1.5;
		margin-left: 0;
		float: none;
	    text-align: center;
        border-top: 1px solid #ddd;
	}
	.site-header .global-nav .global-nav-in ul li a {
		color: #fff !important;
		padding: 0 0 0 10px;
	}
	.site-header .global-nav .global-nav-in ul li a #nav-contact {
		line-height: 45px;
		width: auto;
	}

	/* baseでは　736pxからだったのでブレイクポイントを変更 */
	.site-header .global-nav {
		width: 100%;
	}
	.global-nav-panel {
    	display: block;
		width: 45px;
		height: 35px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 0;
		cursor: pointer;
		background: url(../images/sp/btn_menu.png) no-repeat;
		background-size: cover;
		position: absolute;
        right: 15px;
		top: 0;
	}
	.global-nav-panel span {
		display: none;
	}
	
    .section-wrap .section-in,
	.col1 .section-wrap.wide .section-in, 
	.float-area, 
	.col1 .float-area {
	     padding: 15px;
     }
	.site-footer .site-footer-conts {
		padding: 0 15px;
	}
	.site-footer .ft-box-l,
	.site-footer .ft-box-r {
		float:none;
		width: auto;
		text-align:center;
	}
	.site-footer .ft-box-l h2 {
		margin-bottom: 15px;
	}
	.copyright {
		text-align: center;
	}
	.copyright p {
		text-align:center;
		padding:0 0 20px;
	}
	
	/* home */
    body.home {
		padding-top: 170px;
	}
	#top-con01 .section-in {
		padding-top: 390px;
	}
	#top-con01 h1 {
		top: 90px;
		left: 50px;
	}
	#top-con01 h2 {
		top: 80px;
		right: 10px;
	}
	#top-con01 h1 img {
		max-width: 346px;
        width: 65%;
	}
	#top-con01 h2 img {
		max-width: 307px;
        width: 65%;
	}
	#top-con01 .img {
		margin-bottom: 20px;
	}
	#top-con01 .cmn-txt01 {
	margin-bottom: 15px;
}

	#top-con02 {
		margin-bottom: 25%;
	}
	#top-con02 .cmn-visual {
		background: url(../images/sp/top_introbg.jpg) no-repeat center;
		padding-top: 77.6%;
	}
	#top-con02 .cmn-visual p {
		margin: -10% 0 0;
		padding: 0;
		text-align: center;
	}
	
	#top-con03 .cmn-visual {
	    background: url(../images/sp/top_imgl01.jpg) no-repeat center;
	}

	#top-con04 .cmn-visual {
	    background: url(../images/sp/top_imgl02.jpg) no-repeat center;
	}
	 #top-con04 .pdt-info {
		 margin: 0 auto 45px;
		 padding: 0;
	 }
	 
	 #top-con05 {
	    padding:0 0 20px;
		margin-bottom: 0;
     }
	 #top-con06 {padding-top: 0;}
	
	.company table {width: 100%;}
	.company table th {width: 30%;}	
	
	
	/* pageIhl */
	
	.pageIhl .global-nav-panel {
		background: url(../images/sp/btn_menu_n.png) no-repeat;
		background-size: cover;
	}
	.pageIhl .racer .text {
	padding-left: 30px;
	}
	.pageIhl .main-body .cmn-ttl01 {
    margin: 50px 0;
	}
	.pageIhl .racer h3 {
	font-size: 42px;
}
	
}


@media only screen and (max-width : 480px){
	
	 .pc { display: none; }
	 .sp { display: block; }
	
	 .cmn-parts .parts-wrap {
		padding: 0 30px 30px;
	 }
     .cmn-parts .parts-wrap .parts-box-r,
	 .cmn-parts .parts-wrap .parts-box-l {
		 width: 100% !important;
		 float: none !important;
	 }
	 #cmn-parts01 .parts-wrap .parts-box-l a {
		  margin: 15px 0 0;
	      font-size: 18px;
     }
	 
	 .cmn-icons-wrap ul {
		 text-align:center;
	 }
	 .cmn-icons-wrap ul li {
	     width: 30%;
         margin: 0 1% 20px !important;
         float: none;
         display: inline-block;
     }

     /* header */
	.site-header .global-nav .global-nav-in ul li a {
          text-align: left !important;
	}

     /* footer */
     .site-footer .site-footer-conts {
	     padding:0 15px;	 
	 }
	 .site-footer .ft-box-l,
     .site-footer .ft-box-r {
		 width: 100%;
		 float:none !important;
	 }

	.site-footer .ft-box-r .site-footer-nav {
		padding: 0;
		float: none;
	}
	.site-footer .ft-box-l h2 {
		margin: 0 auto;
		text-align: center;
	}
	.copyright p {
		color: #999;
		font-size: 10px;
		text-align: center;
		padding: 15px 0;
		margin:0;
	}

	
	 /* home */
     body.home {
	     background: url(../images/sp/top_mainbg_2.jpg) no-repeat center top;
		 background-size: contain;
	}
	#top-con01 .section-in {
		padding-top: 0;
	}
	#top-con01 h1 {
		font-size: inherit;
	    position: initial;
	    text-align: center;
		margin: 0 auto 10%;
	}
	#top-con01 h2 {
	    position: initial;
	    text-align: center;
		margin: 0 auto 40%;
	}
	#top-con02 {margin-bottom: 32%;}
	#top-con04 table {line-height: 1.7;}
	#top-con04 {padding-top:20px;}

	.main-body .cmn-txt01 {text-align: left;}
	
     /* pages */
	  .mainVisual {
		  height: 200px;
		  padding: 70px 0 0;
	  }
	  .mainVisual .mainVisual-ttl {font-size: 24px;}
	  .mainVisual {margin: 0 auto 20px;}
	
	.company table {font-size: 14px;}

	/* pageInl */
	
	.pageIhl {padding-top: 90px;}
	.pageIhl .main-body h1 {margin: 0;} 
	.pageIhl .topimg {
		height: 200px;
		background: url(../images/sp/ihl_topimg.jpg) no-repeat top center;
	}
	.pageIhl .topimg h1{
	font-size: 30px;
    font-family: "Montserrat";
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
	padding-top: 75px;
	}
	.pageIhl .main-body .cmn-ttl01 {margin: 20px 0 30px;}
	.pageIhl .racer {margin-bottom: 40px;}
	.pageIhl .racer h3 {padding-top: 20px;}
	.pageIhl .racer .box-l{
	width: 100%;
	float: none;
	}
	.pageIhl .racer .box-r{
	width: 100%;
	float: none;
	}
	.pageIhl .racer .text {padding-left: 0px;}

}