@charset "UTF-8";
/* 全端末共通
-------------------------------------------------- */


/* SP
-------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.main_img ul li{
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		padding: 0 6.25vw;
	}
	.main_img ul li:nth-child(1){
		background-image: url("../img/index/sp/main01.jpg");
	}
	.main_img ul li:nth-child(2){
		background-image: url("../img/index/sp/main02.jpg");
	}
	.main_img ul li:nth-child(3){
		background-image: url("../img/index/sp/main03.jpg");
	}
	.txt_main{
		height: calc(100vh - 100/640*100vw);
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
	}
	.main_img ul li:nth-child(1) .txt_main{
		position: relative;
		top: -26px;
	}
	.bx-wrapper {
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		box-shadow: none;
		border: none;
		margin-bottom: 15vw;
	}
	.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
		bottom: 15vw;
	}
	.bx-wrapper .bx-pager.bx-default-pager a {
		background: #fff;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		border-radius: 0;
		border: 1px solid #fff;
	}
	.bx-wrapper .bx-pager.bx-default-pager a.active {
		background: #32339F;
	}
	.hdg_index01{
		text-align: center;
		position: relative;
		padding-top: 5.5vw;
		margin-bottom: 5vw;
	}
	.hdg_index01:before{
		content: "";
		width: 2vw;
		height: 2vw;
		background: #32339F;
		position: absolute;
		top: 0;
		left: calc(50% - 2vw);
	}
	.hdg_index01:after{
		content: "";
		width: 2vw;
		height: 2vw;
		background: #32339F;
		position: absolute;
		top: 2vw;
		left: calc(50%);
	}
	.hdg_index01 span{
		display: block;
		color: #32339F;
		font-size: calc(46/640*100vw);
		font-weight: 400;
		line-height: 1.2;
	}
	.hdg_index01 small{
		font-size: calc(20/640*100vw);
		color: #A7A7A7;
		font-weight: 400;
	}
	.list_type{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap:         wrap;
	}
	.list_type li{
		width: 49%;
		font-size: 96%;
		background: #32339F;
		padding: 3vw 0;
		text-align: center;
		margin: 0 0 2vw;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.parts_index p{
		line-height: 1.8;
		margin: 5vw 0;
	}
	.parts_index p br{
		display: none;
	}
	#img_parts{
		background: url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
		height: calc(490/640*100vw + 65vw);
		position: relative;
		-webkit-transition: ease .5s;
		transition: ease .5s;
	}
	#img_parts.img_1{
		background: url("../img/index/sp/img_parts01.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	#img_parts.img_2{
		background: url("../img/index/sp/img_parts02.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	#img_parts.img_3{
		background: url("../img/index/sp/img_parts03.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	#img_parts.img_4{
		background: url("../img/index/sp/img_parts04.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	#img_parts.img_5{
		background: url("../img/index/sp/img_parts05.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	#img_parts.img_6{
		background: url("../img/index/sp/img_parts06.png") no-repeat center bottom, url("../img/index/sp/img_car.png") no-repeat center bottom;
		background-size: contain;
	}
	
	#img_parts ul{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap:         wrap;
	}
	#img_parts li{
		width: 49%;
		height: 17vw;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		padding-left: 17vw;
		border: 2px solid #333;
		margin-bottom: 2%;
		font-size: 90%;
		line-height: 1.4;
	}
	#img_parts li:hover{
		opacity: .75;
	}
	#img_parts ul:nth-child(1) li:nth-child(1){
		background: url("../img/index/thmb01.png") no-repeat left -1px center;
		background-size: contain;
	}
	#img_parts ul:nth-child(1) li:nth-child(2){
		background: url("../img/index/thmb02.png") no-repeat left -1px center;
		background-size: contain;
	}
	#img_parts ul:nth-child(1) li:nth-child(3){
		background: url("../img/index/thmb03.png") no-repeat left -1px center;
		background-size: contain;
	}
	#img_parts ul:nth-child(1) li:nth-child(4){
		background: url("../img/index/thmb04.png") no-repeat left -1px center;
		background-size: contain;
	}
	#img_parts ul:nth-child(1) li:nth-child(5){
		background: url("../img/index/thmb05.png") no-repeat left -1px center;
		background-size: contain;
	}
	#img_parts ul:nth-child(1) li:nth-child(6){
		background: url("../img/index/thmb06.png") no-repeat left -1px center;
		background-size: contain;
	}
	.content_index01{
		padding: 15vw 0;
		background: #FAFAFA;
	}
	.content_index01 .col_img{
		margin-bottom: 5vw;
	}
	.content_index01 .col_txt h2{
		border-left: 1vw solid #32339F;
		margin-bottom: 4vw;
		padding-left: 2vw;
	}
	.content_index01 .col_txt h2 span{
		display: inline-block;
		line-height: 1;
		position: relative;
		font-size: calc(46/640*100vw);
		font-weight: 400;
		color: #32339F;
	}
	.content_index01 .col_txt h2 span:before{
		content: "";
		width: 2vw;
		height: 2vw;
		position: absolute;
		right: -4vw;
		top: 2vw;
		background: #32339F;
	}
	.content_index01 .col_txt h2 span:after{
		content: "";
		width: 2vw;
		height: 2vw;
		position: absolute;
		right: -6vw;
		top: 4vw;
		background: #32339F;
	}
	.content_index01 .col_txt h2 small{
		display: block;
		font-weight: 400;
		color: #a7a7a7;
		font-size: calc(20/640*100vw);
		line-height: 1;
		margin-top: 1vw;
	}
	.content_index01 p{
		line-height: 2;
		margin-bottom: 6vw;
	}
	.btn_index01 a{
		height: 20vw;
		border: 1px solid #32339F;
		color: #32339F;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		background: url("../img/index/icn_arr01.png") no-repeat right 10px center;
	}
	.content_index02{
		background: #32339F;
		padding: 15vw 0;
	}
	.content_index02 .col_img{
		margin-bottom: 5vw;
	}
	.content_index02 .col_txt{
		color: #fff;
	}
	.content_index02 .col_txt h2{
		border-left: 1vw solid #fff;
		margin-bottom: 4vw;
		padding-left: 2vw;
	}
	.content_index02 .col_txt h2 span{
		display: inline-block;
		line-height: 1;
		position: relative;
		font-size: calc(46/640*100vw);
		font-weight: 400;
	}
	.content_index02 .col_txt h2 span:before{
		content: "";
		width: 2vw;
		height: 2vw;
		position: absolute;
		right: -4vw;
		top: 2vw;
		background: #fff;
	}
	.content_index02 .col_txt h2 span:after{
		content: "";
		width: 2vw;
		height: 2vw;
		position: absolute;
		right: -6vw;
		top: 4vw;
		background: #fff;
	}
	.content_index02 .col_txt h2 small{
		display: block;
		font-weight: 400;
		font-size: calc(20/640*100vw);
		line-height: 1;
		margin-top: 1vw;
	}
	.content_index02 p{
		line-height: 2;
		margin-bottom: 6vw;
	}
	.btn_index02 a{
		height: 20vw;
		border: 1px solid #fff;
		color: #fff;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		background: url("../img/index/icn_arr02.png") no-repeat right 10px center;
	}
	.bnr_recruit{
		padding: 10vw 0;
	}
	.news_index{
		padding: 0 0 10vw;
	}
	.col_news{
		margin-bottom: 10vw;
	}
	.col_news h3{
		font-size: calc(44/640*100vw);
		line-height: 1;
		font-weight: 400;
		padding-left: 15px;
		color: #32339F;
		border-left: 3px solid #32339F;
		margin-bottom: 20px;
	}
	.col_news dl{
		border-bottom: 1px solid #ccc;
		padding: 4vw 0;
	}
	.col_news dl dt{
		color: #9a9a9a;
		margin-bottom: 1vw;
	}
	.col_bnr li{
		margin-bottom: 10px;
	}
}

/* PC
-------------------------------------------------- */
@media only screen and (min-width: 768px) {
	.main_img ul li:nth-child(1){
		background: url("../img/index/main01.jpg") no-repeat center center;
	}
	.main_img ul li:nth-child(2){
		background: url("../img/index/main02.jpg") no-repeat center center;
	}
	.main_img ul li:nth-child(3){
		background: url("../img/index/main03.jpg") no-repeat center center;
	}
	.txt_main{
		height: 650px;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
	}
	.main_img ul li:nth-child(1) .txt_main{
		position: relative;
		top: -26px;
	}
	.bx-wrapper {
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		box-shadow: none;
		border: none;
		margin-bottom: 80px;
	}
	.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
		bottom: 70px;
	}
	.bx-wrapper .bx-pager.bx-default-pager a {
		background: #fff;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		border-radius: 0;
		border: 1px solid #fff;
	}
	.bx-wrapper .bx-pager.bx-default-pager a.active {
		background: #32339F;
	}
	.parts_index{
		padding-bottom: 100px;
	}
	.hdg_index01{
		text-align: center;
		position: relative;
		padding-top: 30px;
		margin-bottom: 50px;
	}
	.hdg_index01:before{
		content: "";
		width: 10px;
		height: 10px;
		background: #32339F;
		position: absolute;
		top: 0;
		left: calc(50% - 10px);
	}
	.hdg_index01:after{
		content: "";
		width: 10px;
		height: 10px;
		background: #32339F;
		position: absolute;
		top: 10px;
		left: calc(50%);
	}
	.hdg_index01 span{
		display: block;
		color: #32339F;
		font-size: 46px;
		font-weight: 400;
	}
	.hdg_index01 small{
		font-size: 20px;
		color: #A7A7A7;
		font-weight: 400;
	}
	.list_type{
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
	}
	.list_type li{
		width: 118px;
		height: 74px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		background: #32339F;
		font-size: 16px;
		padding: 0;
		margin: 0 2px;
		color: #fff;
		font-weight: 300;
	}
	#img_parts{
		background: url("../img/index/img_car.png") no-repeat center top;
		height: 640px;
		position: relative;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
		padding-top: 90px;
		-webkit-transition: ease .5s;
		transition: ease .5s;
	}
	.parts_index p{
		text-align: center;
		line-height: 30px;
		margin: 20px 0;
	}
	#img_parts.img_1{
		background: url("../img/index/img_parts01.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts.img_2{
		background: url("../img/index/img_parts02.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts.img_3{
		background: url("../img/index/img_parts03.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts.img_4{
		background: url("../img/index/img_parts04.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts.img_5{
		background: url("../img/index/img_parts05.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts.img_6{
		background: url("../img/index/img_parts06.png"), url("../img/index/img_car.png") no-repeat center top;
	}
	#img_parts li{
		width: 238px;
		height: 62px;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		padding-left: 68px;
		border: 2px solid #333;
		margin-bottom: 15px;
	}
	#img_parts li:hover{
		opacity: .75;
	}
	#img_parts ul:nth-child(1) li:nth-child(1){
		background: url("../img/index/thmb01.png") no-repeat left -1px center;
	}
	#img_parts ul:nth-child(1) li:nth-child(2){
		background: url("../img/index/thmb02.png") no-repeat left -1px center;
	}
	#img_parts ul:nth-child(1) li:nth-child(3){
		background: url("../img/index/thmb03.png") no-repeat left -1px center;
	}
	#img_parts ul:nth-child(2) li:nth-child(1){
		background: url("../img/index/thmb04.png") no-repeat left -1px center;
	}
	#img_parts ul:nth-child(2) li:nth-child(2){
		background: url("../img/index/thmb05.png") no-repeat left -1px center;
	}
	#img_parts ul:nth-child(2) li:nth-child(3){
		background: url("../img/index/thmb06.png") no-repeat left -1px center;
	}
	.content_index01{
		padding-bottom: 160px;
		overflow-x: hidden;
	}
	.content_index01 .col_img{
		position: absolute;
		right: -170px;
		top: -30px;
	}
	.content_index01 .col_txt{
		position: relative;
		z-index: 10;
		width: 610px;
		height: auto;
		padding: 60px;
		background: #FAFAFA;
	}
	.content_index01 .col_txt h2{
		border-left: 4px solid #32339F;
		margin-bottom: 30px;
		padding-left: 20px;
	}
	.content_index01 .col_txt h2 span{
		display: inline-block;
		line-height: 1;
		position: relative;
		font-size: 46px;
		font-weight: 400;
		color: #32339F;
	}
	.content_index01 .col_txt h2 span:before{
		content: "";
		width: 10px;
		height: 10px;
		position: absolute;
		right: -30px;
		top: 15px;
		background: #32339F;
	}
	.content_index01 .col_txt h2 span:after{
		content: "";
		width: 10px;
		height: 10px;
		position: absolute;
		right: -40px;
		top: 25px;
		background: #32339F;
	}
	.content_index01 .col_txt h2 small{
		display: block;
		font-weight: 400;
		color: #a7a7a7;
		font-size: 20px;
		line-height: 1;
		margin-top: 15px;
	}
	.content_index01 p{
		line-height: 30px;
		margin-bottom: 30px;
	}
	.btn_index01{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-justify-content:flex-end;/*--- safari（PC）用 ---*/
		justify-content:flex-end;
	}
	.btn_index01 a{
		width: 200px;
		height: 64px;
		border: 1px solid #32339F;
		color: #32339F;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		background: url("../img/index/icn_arr01.png") no-repeat right 10px center;
	}
	.btn_index01 a:hover{
		color: #fff;
		background: url("../img/index/icn_arr02.png") no-repeat right 10px center #32339F;
	}
	.content_index02{
		padding-bottom: 160px;
		overflow-x: hidden;
	}
	.row_index02{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-justify-content:flex-end;/*--- safari（PC）用 ---*/
		justify-content:flex-end;
	}
	.content_index02 .col_img{
		position: absolute;
		left: -170px;
		top: -30px;
	}
	.content_index02 .col_txt{
		position: relative;
		z-index: 10;
		width: 610px;
		height: auto;
		padding: 60px;
		background: #32339F;
		color: #fff;
	}
	.content_index02 .col_txt h2{
		border-left: 4px solid #fff;
		margin-bottom: 30px;
		padding-left: 20px;
	}
	.content_index02 .col_txt h2 span{
		display: inline-block;
		line-height: 1;
		position: relative;
		font-size: 46px;
		font-weight: 400;
	}
	.content_index02 .col_txt h2 span:before{
		content: "";
		width: 10px;
		height: 10px;
		position: absolute;
		right: -30px;
		top: 15px;
		background: #fff;
	}
	.content_index02 .col_txt h2 span:after{
		content: "";
		width: 10px;
		height: 10px;
		position: absolute;
		right: -40px;
		top: 25px;
		background: #fff;
	}
	.content_index02 .col_txt h2 small{
		display: block;
		font-weight: 400;
		font-size: 20px;
		line-height: 1;
		margin-top: 15px;
	}
	.content_index02 p{
		line-height: 30px;
		margin-bottom: 30px;
	}
	.btn_index02{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-justify-content:flex-end;/*--- safari（PC）用 ---*/
		justify-content:flex-end;
	}
	.btn_index02 a{
		width: 200px;
		height: 64px;
		border: 1px solid #fff;
		color: #fff;
		display: -webkit-flex; /* Safari用 */
		display: flex;
		-webkit-justify-content: center; /* Safari用 */
		justify-content: center;
		-webkit-align-items: center; /* Safari用 */
		align-items: center;
		background: url("../img/index/icn_arr02.png") no-repeat right 10px center;
	}
	.btn_index02 a:hover{
		color: #32339F;
		background: url("../img/index/icn_arr01.png") no-repeat right 10px center #fff;
	}
	.news_index{
		padding: 30px 0 70px;
	}
	.row_news{
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
	}
	.col_news{
		width: 600px;
	}
	.col_news h3{
		font-size: 28px;
		line-height: 1;
		font-weight: 400;
		padding-left: 15px;
		color: #32339F;
		border-left: 3px solid #32339F;
		margin-bottom: 20px;
	}
	.col_news dl{
		min-height: 90px;
		border-bottom: 1px solid #cecece;
		padding: 20px 0;
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
		justify-content:space-between;
		line-height: 21px;
	}
	.col_news dl dt{
		width: 120px;
		padding-left: 15px;
		color: #9a9a9a;
	}
	.col_news dl dd{
		width: 480px;
	}
	.col_bnr li{
		margin-bottom: 10px;
	}
}