@charset "utf-8";

/************************************************************
トップページ
************************************************************/




/*scroll*****************************************/
#scroll {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 50px;
	margin: 0 auto;
	width: 18px;
	height: 32px;
	border-radius: 9px;
	border: 2px solid #fff;
	z-index:1;
}
#scroll:before {
	content: "";
	display: block;
	width: 2px;
	height: 2px;
	position: absolute;
	top: 3px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #fff;
	animation: scrollBar 1.5s linear infinite;
}
@keyframes scrollBar {
	0% {
		height: 2px;}
	30% {
		height: 8px;}
	60% {
		height: 2px;}
	100% {
		height: 2px;}
}


/*FV*****************************************/
#first-view {
	overflow: hidden;
	width:100%;
	height: 100vh;	
	position: relative;
}

.bg-dot {
	background: url(../images/dots.png) repeat;
}

#video {
	position: fixed;
    width: 100%;
    height: 100vh;
   z-index: -1;
}

#first-view  h2.sp {
	opacity: 0;
	animation: fadeIn 0.5s ease 1s forwards;
 }
#first-view  h2 {
	text-shadow: 2px 2px 8px rgba(0,0,0,0.6);
	letter-spacing: -0.03em;
}


@media (max-width:767px){
	#scroll {
		display: none;}
	#first-view  h2.txt-54 {
		font-size: 32px;}
	.fv-logo {
		transform: scale(0.8);}
	#first-view  h2 {
		letter-spacing: 0.1em;}

}

@media (max-width:500px){
}


/*home_01*****************************************/

.bg-grade {
	background: linear-gradient(-45deg, #f3c7d6, #c963c5, #795ac0, #620a94);
	background-size: 300% 300%;
	animation: Gradient 5s ease infinite;
}
@keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}

#home_01 .half-inner-l {
	border-radius: 0 0 0 60px;	
}

#home_01 .half-img {
	background: url(../images/pro.jpg);
	background-size: cover;
	background-position: right center;
}
#home_01 .half-txt {
	padding-left: 30px;
}

@media (max-width:1024px) {
	#home_01 .half-txt {
		padding-left: 0;
		width: 100%;}
	#home_01 .half-inner-l {
		border-radius: 0 0 0 0;	
		max-width: 100%;}
	#home_01 .half-img {
		width: 100%;
		height:50vw;
		border-radius: 0 0 0 40px;}
	#home_01 {
		padding-left: 30px;}
}
@media (max-width:767px) {
	#home_01 {
		padding-left: 15px;}
	#home_01 .half-img {
		border-radius: 0 0 0 24px;}
}


/*home_02*****************************************/

#home_02 {
	width: calc(100% - 40px);
	border-radius: 0 60px 0 0;
}
#home_02 h3 {
	width: 150px;
}
#home_02 .topics {
	width: calc(100% - 150px);
}

.info-date {
	font-family: 'Barlow', sans-serif;
	margin-right: 10px;
}
.info-category a {
	display: inline-block;
	color: #545454;
	border: 1px solid #545454;
	line-height: 1.6;
	padding: 0 10px;
	font-size: 13px;
	border-radius: 12px;
	transition: .3s;
}
.info-category a:hover {
	opacity: 0.8;
	transform: translateY(-3px);
}

.info-ttl {
	margin-top: 10px;
}
.archive-list li {
	padding: 30px 0;
	border-top: 1px solid #DEDDDD;
}
.archive-list li:last-child {
	border-bottom: 1px solid #DEDDDD;
}

.pink-arrow {
	position: relative;
	transition: .2s;
	display: inline-block;
	padding-right: 30px;
	color: #620A94 !important;
}
.viewmore span, .viewmore img {
	vertical-align: middle;
	margin-left: 10px;
}
.pink-arrow:after {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: #DF4959;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: .2s;
}
.pink-arrow:before {
	content: url(../images/pink_arrow.svg);
	position: absolute;
	top: 2px;
	right: 0;
	line-height: 1;
}
.pink-arrow:hover {
 	color: #DF4959 !important;
 	transform: translateX(10px);
}
.pink-arrow:hover:after {
 	width: 100%;
}

.pink-arrow:active {
 	 transform: translateX(-10px);
}

.txt-link {
	display: inline-block;
	position: relative;
}
.txt-link:after {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: #DF4959;
	transition: .3s;
}
.txt-link:hover {
	color: #DF4959;
}
.txt-link:active {
	color: #DF4959;
	transform: translateY(2px);
}

.txt-link:hover:after {
	width: 100%;
}

.sp_ttl {
	display: none;
} 

@media (max-width:1024px) {
	#home_02 h3 {
		width: 100%;}
	#home_02 .topics {
   	 	width: 100%;}
	.sp_ttl {
		display: block;} 
	.pc_ttl {
		display: none;}
	#home_02 {
		width: calc(100% - 30px);
		border-radius: 0 40px 0 0;}
	.archive-list li {
    	padding: 15px 0;}
}

@media (max-width:767px) {
	#home_02 {
		width: calc(100% - 15px);
		border-radius: 0 24px 0 0}

}

/*home_03*****************************************/

.space {
	width: 100%;
	height: 30vw;
	max-height: 250px;
}

 .img-box {
 	width: 50%;
 	position: relative;
 }
  .img-box:before {
  	content: "";
  	display: block;
  	padding-top: 75%;
  }
 .txt-box {
 	width: 50%;
 	padding: 30px;
 }
.txt-box-inner {
	width: calc(100% - 130px);
}
.list .img-box {
	background: url(../images/trucks.jpg) right center;
	background-size: cover;
}
.flow .img-box {
	background: url(../images/flow.jpg) center center;
	background-size: cover;
}
.list .txt-box {
	border-radius: 0 60px 0 0;
}
.flow .txt-box {
	border-radius: 0 0 0 60px;
}


.more-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 60px;
	border-radius: 30px;
	margin-left: auto;
	margin-right: auto;
	font-size: 14px;
	color: #E04959 !important;
	font-weight: 700;
	border: 2px solid #E04959;
	background: linear-gradient(to right, #fff 60%, #f3c7d6 70%, #c963c5 80%, #795ac0 90%);
	background-size: 400% 100%;
	background-position: 0% 50%;
	transition: .5s;
}

.more-btn:hover {	
	background-position: 100% 50%;
	color: #fff !important;
	transition: all .3s ease;
	border: 2px solid #E04959;
}


@media (max-width:1024px) {
	#home_03 .txt-box, #home_03 .img-box {
		width: 100%;}
	#home_03 .img-box:before {
		padding-top: 50%;}
	#home_03 .list {
		margin-bottom: 96px;}
	.list .txt-box {
		border-radius: 40px 40px 0 0;}
	.flow .txt-box {
		border-radius: 40px 40px 0 0;}
	#home_03 .img-box {
		border-radius: 0 0 40px 40px;}
	#home_03 .en-ttl {
		width: 100%;
		margin-bottom: 20px;}
	#home_03 .txt-box-inner {
		width: 100%;}
}
@media (max-width:767px) {
	#home_03 .list {
		margin-bottom: 60px;}
	.list .txt-box {
		border-radius: 24px 24px 0 0;}
	.flow .txt-box {
		border-radius: 24px 24px 0 0;}
	#home_03 .img-box {
		border-radius: 0 0 24px 24px;}
	.more-btn {
		width: 180px;
		height: 50px;
		border-radius: 25px;}
}


/*home_04*****************************************/

.link-banner {
	position: relative;
	border-radius: 40px;
}
.link-banner:before {
	content: "";
	display: block;
	padding-top: 60%;
}
.link-banner-inner {
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.company-banner {
	background: url(../images/company.jpg);
	background-size: cover;
}
.recruit-banner {
	background: url(../images/recruit.jpg);
	background-size: cover;
}

@media (max-width:1024px) {
	#home_04 .per-50 {
		width: 100%;}
	#home_04 .per-50:first-child {
		margin-bottom: 96px;}
	
}
@media (max-width:767px) {
	#home_04 .per-50:first-child {
		margin-bottom: 60px;}
	.link-banner, .link-banner-inner {
		border-radius: 24px;}
	.link-banner:before {
		padding-top: 70%;}
}

/*home_05*****************************************/

.ggmap {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.ggmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
