@charset "UTF-8";


body{
	overflow-x:hidden;
}
.main-visual_wrap{
	height:100vh;
	position:relative;
}


/*****************************************************
　メインビジュアル　
*****************************************************/
/*#catchcopy{
	left:50%;
	position:absolute;
	top:calc(50% - 50px);
	transform:translate(-50%,-50%);
	z-index:1000;
}
#catchcopy img{*/
	/*height:55.92vh;*/
/*	width:9.01vw;
}*/
/* スライダー 
------------------------------------------------- */
#main-slide{
	background:#000;
	/*height:91.66vh;*/
	height:calc(100vh - 50px);
}
#main-slide .slick-list,
#main-slide .slick-list .slick-track{
	height:100%;
}
/*#main-slide .slide_1{
	background:url('../img/top/slide_1.jpg') no-repeat center center;
	background-size:cover;
}*/
#main-slide .slide_1 .video_wrap{
	bottom:0;
	left:0;
	overflow:hidden;
	position:absolute;
	right:0;
	top:0;
}
#main-slide .slide_1 video{
	height:100%;
	left:50%;
	object-fit:cover;
	position:absolute;
	top:50%;
	transform:translate(-50%,-50%);
	width:100%;
}
#main-slide .slide_2{
	background:url('../img/top/slide_2.jpg') no-repeat center center;
	background-size:cover;
}
#main-slide .slide_3{
	background:url('../img/top/slide_3.jpg') no-repeat center center;
	background-size:cover;
}
#main-slide .slide_4{
	background:url('../img/top/slide_4.jpg') no-repeat center center;
	background-size:cover;
}
#main-slide .slide_5{
	background:url('../img/top/slide_5.jpg') no-repeat center center;
	background-size:cover;
}
/* ----- dots ----- */
#main-slide .slick-dots{
	bottom:50%;
	right:3.64vw;
	transform:translate(0,50%);
	width:auto;
}
#main-slide .slick-dots li{
	display:block;
	height:25px;
	margin:18px 0;
	width:25px;
}
#main-slide .slick-dots li button{
	height:25px;
	width:25px;
}
#main-slide .slick-dots li button:before{
	color:#fff;
	font-size:26px;
	height:25px;
	line-height:25px;
	width:25px;
}


/*****************************************************
　ヘッダー　
*****************************************************/
#header{
	/*bottom:30px;*/
	/*bottom:0;
	left:0;
	position:absolute;
	right:0;*/
	margin-top:-100px;
}


/*****************************************************
　.ttlbox　
*****************************************************/
.ttlbox{
	align-items:center;
	display:flex;
}
.ttlbox.reverse{
	flex-flow:row-reverse;
}
.ttlbox .jp{
	font-size:33px;
	font-size:3.3rem;
	font-weight:normal;
	letter-spacing:0;
	margin:0 0 0 45px;
}
.ttlbox.reverse .jp{
	margin:0 45px 0 0;
}


/*****************************************************
　ミッション　
*****************************************************/
#mission{
	padding:80px 0 0;
}
/* .mission_inner 
------------------------------------------------- */
.mission_inner{
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin:0 auto;
	max-width:1295px;
	width:100%;
}
.mission_inner .img{
	max-width:528px;
	width:41%;
}
.mission_inner .txt{
	max-width:600px;
	width:47%;
	max-width:690px;
	width:54%;
}
.mission_inner .txt p{
	font-size:15px;
	font-size:1.5rem;
	letter-spacing:0.05em;
	line-height:1.9;
}
.mission_inner .txt .ttl{
	color:#8d9aa8;
	font-size:18px;
	font-size:1.8rem;
	letter-spacing:0;
}
.mission_inner .txt .largetxt{
	/*color:#2255a4;
	font-size:58px;
	font-size:5.8rem;
	letter-spacing:0.14em;
	line-height:1.4;*/
	margin:25px 0 20px -0.5em;
	/*position:relative;*/
}
/*.mission_inner .txt .largetxt:before{
	background:#fcf363;
	bottom:0;
	box-sizing:content-box;
	content:'';
	display:inline-block;
	font-size:inherit;
	height:30px;
	left:0.2em;
	position:absolute;
	width:calc(100% - 1.5em);
	z-index:-1;
}*/
/* リンク 
------------------------------------------------- */
.mission_inner .txt .more{
	font-size:18px;
	font-size:1.8rem;
	letter-spacing:0.2em;
	margin:38px 0 0;
}
.mission_inner .txt .more a{
	border-bottom:2px solid #263a4f;
	padding:0 20px 8px;
}


/*****************************************************
　事業紹介　
*****************************************************/
#business{
	margin:350px 0 0;
	position:relative;
}
/* 背景 
------------------------------------------------- */
#business:before,
#business:after{
	content:'';
	display:block;
	left:0;
	position:absolute;
	z-index:-1;
}
#business:before{
	background:url('../img/common/bg_city.png') no-repeat center center;
	background-size:contain;
	height:47.29vw;
	top:-23.95vw;
	width:63.02vw;
	z-index:-2;
}
#business:after{
	background:url('../img/common/bg_line_1.png') no-repeat center center;
	background-size:contain;
	height:78.12vw;
	top:-30.2vw;
	width:100vw;
}
/* .ttlbox 
------------------------------------------------- */
#business .ttlbox{
	margin:0 0 0 auto;
}
#business .ttlbox .jp{
	color:#fbfbfb;
}
/* 一覧 
------------------------------------------------- */
.business-list{
	display:flex;
	flex-flow:wrap;
	justify-content:space-between;
	margin:25px 0 0;
}
.business-list .b-item{
	max-width:478px;
	width:32%;
}
.business-list .b-item.large{
	max-width:735px;
	width:49%;
}
.business-list .b-item:nth-child(1),
.business-list .b-item:nth-child(2){
	margin-bottom:45px;
}
.business-list .b-item:nth-child(3),
.business-list .b-item:nth-child(4),
.business-list .b-item:nth-child(5){
	margin-bottom:100px;
}


/*****************************************************
　ニュース　
*****************************************************/
#news{
	margin:365px 0 0;
}
/* .ttlbox 
------------------------------------------------- */
#news .ttlbox{
	margin:0 auto;
	max-width:1000px;
	width:100%;
}
/* .news-contents_inner 
------------------------------------------------- */
.news-content_inner{
	background:#fff;
	margin:25px 0 0;
	padding:55px 0;
}
/* ----- リスト ----- */
#news .news-list{
	margin:0 auto;
	max-width:1000px;
	width:100%;
}
#news .news-list li{
	align-items:center;
	display:flex;
}
#news .news-list li + li{
	margin:30px 0 0;
}
#news .news-list li .date{
	color:#263a4f;
	letter-spacing:0.075em;
	margin:0 20px 0 0;
	width:135px;
}
#news .news-list li .category span{
	box-sizing:border-box;
	display:inline-block;
	letter-spacing:0.075em;
	padding:6px 5px 7px;
	text-align:center;
	width:168px;
}
#news .news-list li .category span.news{
	background:#fcf363;
	color:#2255a4;
}
#news .news-list li .category span.transportation{
	background:#2255a4;
	color:#fff;
}
#news .news-list li .category span.important{
	background:#d02424;
	color:#fff;
}
#news .news-list li a{
	letter-spacing:0.075em;
	margin:0 0 0 40px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	width:calc(100% - 135px - 20px - 168px - 40px);
}
#news .news-list li a:hover{
	color:#2255a4;
	filter:progid:DXImageTransform.Microsoft.Alpha(0.1);
	opacity:1;
	text-decoration:underline;
}
/* ----- リンク ----- */
#news .more{
	font-size:20px;
	font-size:2.0rem;
	letter-spacing:0.3em;
	margin:70px 0 0;
	text-align:center;
}
#news .more a{
	border-bottom:2px solid #263a4f;
	padding:0 45px 15px;
}
/* ----- 投稿なし ----- */
#news .none{
	margin:0 auto;
	max-width:1000px;
	text-align:center;
	width:100%;
}


/*****************************************************
　私たちについて　
*****************************************************/
#about-us{
	margin:220px 0 0;
	position:relative;
}
/* .ttlbox 
------------------------------------------------- */
#about-us .ttlbox{
	justify-content:flex-end;
	margin:0 0 0 70px;
}
/* .about-us_inner 
------------------------------------------------- */
.about-us_inner{
	align-items:flex-start;
	display:flex;
	justify-content:space-between;
	margin:35px 0 0;
}
.au-box{
	align-items:center;
	box-sizing:border-box;
	display:flex;
	height:349px;
	justify-content:center;
	max-width:734px;
	padding:0 75px;
	width:49%;
}
.au-box.company{
	background:url('../img/top/about-us_company_bg.png') no-repeat center center;
	background-size:contain;
}
.au-box.history{
	background:url('../img/top/about-us_history_bg.png') no-repeat center center;
	background-size:contain;
	margin:128px 0 0;
}
.au-box_inner{
	width:100%;
}
.au-box_ttl{
	color:#fff;
	font-size:25px;
	font-size:2.5rem;
	font-weight:normal;
	letter-spacing:0.1em;
	margin:0 0 38px;
}
.au-box_btnarea{
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin:15px 0 0;
}
.au-box_btn{
	background:#fff;
	font-size:20px;
	font-size:2.0rem;
	letter-spacing:0.1em;
	line-height:60px;
	text-align:center;
	width:100%;
}
.au-box_btnarea .au-box_btn{
	max-width:282px;
	width:49%;
}
.au-box.history .au-box_btn + .au-box_btn{
	margin:2% 0 0;
}
.au-box_btn a{
	display:block;
}
/* 背景 
------------------------------------------------- */
#about-us:before{
	content:'';
	display:block;
	left:0;
	position:absolute;
	z-index:-1;
}
#about-us:before{
	background:url('../img/common/bg_line_2.png') no-repeat center center;
	background-size:contain;
	height:94.01vw;
	top:-3.54vw;
	width:100vw;
}


/*****************************************************
　採用情報　
*****************************************************/
#recruit{
	margin:220px 0 0;
}
/* .ttlbox 
------------------------------------------------- */
#recruit .ttlbox{
	justify-content:flex-end;
}
/* .recruit_inner 
------------------------------------------------- */
.recruit_inner{
	background:url('../img/common/bg_dots.png') repeat 0 0;
	margin:35px 0 70px;
	padding:60px 0 68px;
}
.recruit-box{
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin:0 auto;
	max-width:1420px;
	width:100%;
}
.recruit-box .r-item{
	height:300px;
	max-width:703px;
	width:49%;
}
.recruit-box .r-item:nth-child(1){
	align-items:center;
	background:url(../img/top/recruit_bg.png) no-repeat center center;
	background-size:contain;
	box-sizing:border-box;
	display:flex;
	justify-content:center;
	text-align:center;
}
.recruit-box .r-item p{
	color:#fff;
	font-size:15px;
	font-size:1.5rem;
	letter-spacing:0.075em;
	margin:15px 0 20px;
}
.recruit-box .r-item .more{
	background:#fff;
	font-size:20px;
	font-size:2.0rem;
	line-height:60px;
	margin:0 auto;
	max-width:282px;
	width:100%;
}
.recruit-box .r-item .more a{
	color:#262626;
	display:block;
}


@media screen and (max-width:1400px){
	/*****************************************************
	　私たちについて　
	*****************************************************/
	/* .about-us_inner 
	------------------------------------------------- */
	.about-us_inner{
		margin:35px -3vw 0;
	}
	.au-box_btn{
		font-size:18px;
		font-size:1.8rem;
	}
}


@media screen and (max-width:1090px){
	/*****************************************************
	　私たちについて　
	*****************************************************/
	/* .about-us_inner 
	------------------------------------------------- */
	.about-us_inner{
		margin:35px -5vw 0;
	}
	.au-box_btn{
		font-size:16px;
		font-size:1.6rem;
	}
}


@media screen and (max-width:1024px){
	.main-visual_wrap{
		min-height:50vh;
		height:70.31vw;
	}


	/*****************************************************
	　メインビジュアル　
	*****************************************************/
	#main-visual{
		height:100%;
	}
	/*#catchcopy{
		top:50%;
	}
	#catchcopy img{
		width:14.84vw;
	}*/
	/* スライダー 
	------------------------------------------------- */
	#main-slide{
		height:100%;
		margin-bottom:0;
	}
	#main-slide .slick-list,
	#main-slide .slick-list .slick-track{
		height:100%;
	}
	/* ----- dots ----- */
	#main-slide .slick-dots{
		bottom:1.87vh;
		display:flex;
		justify-content:center;
		right:50%;
		transform:translate(50%,0);
	}
	#main-slide .slick-dots li{
		height:2.33vw;
		margin:0 2.08vw;
		width:2.33vw;
	}
	#main-slide .slick-dots li button{
		height:2.33vw;
		padding:0;
		width:2.33vw;
	}
	#main-slide .slick-dots li button:before{
		height:2.33vw;
		/*font-size:0.93vw;*/
		font-size:3.99vw;
		line-height:2.33vw;
		width:2.33vw;
	}


	/*****************************************************
	　ヘッダー　
	*****************************************************/
	#header{
		margin-top:0;
		position:relative;
	}


	/*****************************************************
	　.ttlbox　
	*****************************************************/
	.ttlbox{
		justify-content:space-between;
	}
	.ttlbox .jp{
		font-size:5vw;
		margin:0;
	}
	.ttlbox.reverse .jp{
		margin:0;
	}


	/*****************************************************
	　ミッション　
	*****************************************************/
	#mission{
		padding:9.37vw 0 0;
	}
	/* .mission_inner 
	------------------------------------------------- */
	.mission_inner{
		display:block;
	}
	.mission_inner .img{
		margin:0 auto;
		max-width:none;
		width:43.59vw;
	}
	.mission_inner .img img{
		width:100%;
	}
	.mission_inner .txt{
		max-width:none;
		width:100%;
	}
	.mission_inner .txt p{
		font-size:2.34vw;
		margin:0 7.03vw;
	}
	.mission_inner .txt p .pc{
		display:none;
	}
	.mission_inner .txt .ttl{
		font-size:2.81vw;
	}
	.mission_inner .txt .largetxt{
		/*font-size:7.18vw;*/
		margin:3.9vw 3.12vw 3.43vw;
		/*text-align:center;*/
	}
	/*.mission_inner .txt .largetxt:before{
		height:5.78vw;
		left:0;
		width:100%;
	}*/
	/* リンク 
	------------------------------------------------- */
	.mission_inner .txt .more{
		font-size:2.81vw;
		letter-spacing:0.2em;
		margin:4.68vw 7.03vw 0;
	}
	.mission_inner .txt .more a{
		padding:0 3.12vw 1.25vw;
	}


	/*****************************************************
	　事業紹介　
	*****************************************************/
	#business{
		margin:29.68vw 0 0;
	}
	/* 背景 
	------------------------------------------------- */
	#business:before{
		background:url('../img/top/business_bg_sp.png') no-repeat center center;
		background-size:cover;
		height:132.03vw;
		top:-29.68vw;
		width:100vw;
	}
	#business:after{
		display:none;
	}
	/* .ttlbox 
	------------------------------------------------- */
	#business .ttlbox{
		flex-flow:row;
		margin:0;
	}
	#business .ttlbox img{
		width:60.93vw;
	}
	/* 一覧 
	------------------------------------------------- */
	.business-list{
		margin:4.68vw 0 0;
	}
	.business-list .b-item{
		max-width:none;
		width:44.37vw;
	}
	.business-list .b-item.large{
		max-width:none;
		width:100%;
	}
	.business-list .b-item:nth-child(1),
	.business-list .b-item:nth-child(2){
		margin-bottom:4.21vw;
	}
	.business-list .b-item:nth-child(3),
	.business-list .b-item:nth-child(4),
	.business-list .b-item:nth-child(5),
	.business-list .b-item:nth-child(6){
		margin-bottom:4.68vw;
	}
	.business-list .b-item img{
		width:100%;
	}


	/*****************************************************
	　ニュース　
	*****************************************************/
	#news{
		margin:30.46vw 0 0;
	}
	/* .ttlbox 
	------------------------------------------------- */
	#news .ttlbox{
		max-width:none;
	}
	#news .ttlbox img{
		width:39.84vw;
	}
	/* .news-contents_inner 
	------------------------------------------------- */
	.news-content_inner{
		margin:5.46vw 0 0;
		padding:7.03vw 0;
	}
	/* ----- リスト ----- */
	#news .news-list{
		max-width:none;
	}
	#news .news-list li{
		padding-bottom:6.25vw;
		position:relative;
	}
	#news .news-list li + li{
		margin:4.68vw 0 0;
	}
	#news .news-list li .date{
		margin:0 3.12vw 0 0;
		width:23.43vw;
	}
	#news .news-list li .category span{
		padding:6px 5px 7px;
		width:26.25vw;
	}
	#news .news-list li a{
		bottom:0;
		left:0;
		letter-spacing:0.075em;
		margin:0;
		position:absolute;
		width:100%;
	}
	/* ----- リンク ----- */
	#news .more{
		font-size:3.12vw;
		margin:10.15vw 0 0;
	}
	#news .more a{
		padding:0 7.03vw 2.03vw;
	}
	/* ----- 投稿なし ----- */
	#news .none{
		max-width:none;
	}


	/*****************************************************
	　私たちについて　
	*****************************************************/
	#about-us{
		margin:29.68vw 0 0;
	}
	#about-us > .inner{
		width:auto;
	}
	/* .ttlbox 
	------------------------------------------------- */
	#about-us .ttlbox{
		display:block;
		margin:0 auto;
		position:relative;
		width:90.62vw;
	}
	#about-us .ttlbox img{
		width:85.93vw;
	}
	#about-us .ttlbox .jp{
		position:absolute;
		right:0;
		top:50%;
		transform:translate(0,-50%);
		z-index:0;
	}
	/* .about-us_inner 
	------------------------------------------------- */
	.about-us_inner{
		display:block;
		margin:8.59vw 0 0;
	}
	.au-box{
		height:auto;
		max-width:none;
		width:auto;
	}
	.au-box.company{
		padding:8.59vw 7.81vw 12.5vw;
	}
	.au-box.history{
		margin:7.81vw 0 0;
		padding:10.93vw 7.81vw 12.5vw;
	}
	.au-box_ttl{
		font-size:3.9vw;
		margin:0 0 3.12vw;
	}
	.au-box_btnarea{
		margin:2.34vw 0 0;
	}
	.au-box_btn{
		font-size:3.12vw;
		line-height:9.37vw;
	}
	.au-box_btnarea .au-box_btn{
		max-width:none;
		width:41.4vw;
	}
	.au-box.history .au-box_btn + .au-box_btn{
		margin:1.87vw 0 0;
	}
	/* 背景 
	------------------------------------------------- */
	#about-us:before{
		background:url('../img/top/about-us_bg_sp.png') no-repeat center center;
		background-size:cover;
		height:163.43vw;
		top:-19.53vw;
		width:100vw;
	}


	/*****************************************************
	　採用情報　
	*****************************************************/
	#recruit{
		margin:20.31vw 0 0;
	}
	/* .ttlbox 
	------------------------------------------------- */
	#recruit .ttlbox{
		display:block;
		margin:0 auto;
		position:relative;
		width:90.62vw;
	}
	#recruit .ttlbox img{
		width:73.12vw;
	}
	#recruit .ttlbox .jp{
		position:absolute;
		right:0;
		top:50%;
		transform:translate(0,-50%);
		z-index:0;
	}
	/* .recruit_inner 
	------------------------------------------------- */
	.recruit_inner{
		margin:3.12vw 0 29.68vw;
		padding:9.37vw 0 8.59vw;
	}
	.recruit-box{
		display:block;
		max-width:none;
	}
	.recruit-box .r-item{
		height:auto;
		max-width:none;
		width:auto;
	}
	.recruit-box .r-item:nth-child(1){
		margin-bottom:4.68vw;
		padding:7.81vw 9.37vw 4.68vw;
	}
	.recruit-box .r-item img{
		width:100%;
	}
	.recruit-box .r-item p{
		font-size:2.34vw;
		margin:2.34vw 0 3.12vw;
	}
	.recruit-box .r-item .more{
		font-size:3.12vw;
		line-height:9.37vw;
		margin:0 auto;
		max-width:none;
		width:44.06vw;
	}
}

