@charset "utf-8";

.main{
	padding-top: 100vh;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	共通レイアウト
-------------------------------*/

.Layout1{
	padding-top: 13.2rem;
	padding-bottom: 34.5rem;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}
.Layout1::before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--maincolor);
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	opacity: .3;
}
.Layout1__inner{
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.Layout1__body{
	display: inline-block;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Layout1{
		padding-top: 8.5rem;
		padding-bottom: 54.5rem;
	}
	.Layout1__body{
		position: relative;
	}
	.Layout1__button{
		position: absolute;
		right: 0;
		bottom: -2.5rem;
	}

}



/*-------------------------------
	メインビジュアル
-------------------------------*/

.Mainvisual{
	height: 100vh;
	padding-top: 9.6rem;
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.Mainvisual::before{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 5000;
	opacity: .3;
}
.Mainvisual__inner{
	height: 100%;
}
.Mainvisual__item-wrap{
	width: 100vw;
	height: 100%;
}
.Mainvisual__item{
	width: 100%;
	height: 100%;
}
.Mainvisual__item__inner{
	width: 100%;
	height: 100%;
	display: block;
}
.Mainvisual__item__inner img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Mainvisual-copy{
	width: 100%;
	height: 100%;
	padding-top: 25rem;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 6000;
}
.Mainvisual-copy__item{
	width: 100%;
	max-width: 110rem;
	display: block;
}
.Mainvisual-copy__item img{
	width: 100%;
}

.Mainvisual__bg,
.Mainvisual__blur{
	width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 0;
    opacity: 0;
    z-index: 6000;
}
.Mainvisual__bg{
	background: var(--maincolor);
}
.Mainvisual__blur{
	backdrop-filter: blur(6rem);
}

.Mainvisual__item.swiper-slide-active .Mainvisual__item__inner,
.Mainvisual__item.swiper-slide-duplicate-active .Mainvisual__item__inner,
.Mainvisual__item.swiper-slide-prev .Mainvisual__item__inner {
	display: block;
	animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Mainvisual{
		padding-top: 16rem;
	}
	.Mainvisual-copy{
		width: 100%;
		padding-top: 26rem;
	}
	.Mainvisual-copy__item{
		width: calc(100% + 6rem);
		margin-left: -3rem;
	}

}



/*-------------------------------
	事業内容
-------------------------------*/

.Service-block{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Service-block:not(:last-child){
	margin-bottom: 16rem;
}
.Service-block__image{
	width: 55.2rem;
}
.Service-block__image img{
	width: 100%;
}
.Service-block__body{
	width: calc(100% - 55.2rem);
}
.Service-block__title{
	border-bottom: .7rem solid var(--subcolor);
	padding-bottom: 1.2rem;
	margin-bottom: 2.8rem;
	font-size: 6rem;
	font-weight: 600;
	line-height: calc(8.7 / 6);
	color: #fff;
}
.Service-block__text{
	font-weight: 600;
	color: #fff;
}
.Service-block__button-wrap{
	width: 100%;
	margin-top: 4.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Service-block__button:not(:last-child){
	margin-right: 1.6rem;
}

/*----- 配置違い */
/* 奇数 */
.Service-block:nth-of-type(2n+1) .Service-block__body{
	padding-left: 12.4rem;
}

/* 偶数 */
.Service-block:nth-of-type(2n){
	flex-direction: row-reverse;
}
.Service-block:nth-of-type(2n) .Service-block__body{
	padding-right: 12.4rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Service-block__image{
		width: 40rem;
	}
	.Service-block__body{
		width: calc(100% - 40rem);
	}
	.Service-block:nth-of-type(2n+1) .Service-block__body{
		padding-left: 5rem;
	}
	.Service-block:nth-of-type(2n) .Service-block__body{
		padding-right: 5rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Service-block__image{
		width: 30rem;
	}
	.Service-block__body{
		width: calc(100% - 30rem);
	}
	.Service-block__title{
		font-size: 4rem;
	}

}
@media screen and (max-width:768px){

	.Service-block{
		flex-direction: column;
	}
	.Service-block:not(:last-child){
		margin-bottom: 9rem;
	}
	.Service-block__image{
		width: 100%;
		margin-bottom: 7rem;
	}
	.Service-block__body{
		width: 100%;
	}
	.Service-block__title{
		margin-bottom: 3.2rem;
		font-size: 4rem;
		line-height: calc(5.8 / 4);
	}
	.Service-block__button-wrap{
		margin-top: 5.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.Service-block__button{
		width: calc((100% - 2rem) / 2);
	}
	.Service-block__button:not(:last-child){
		margin-right: 0;
	}

	/*----- 配置違い */
	/* 奇数 */
	.Service-block:nth-of-type(2n+1) .Service-block__body{
		padding-left: 0;
	}

	/* 偶数 */
	.Service-block:nth-of-type(2n){
		flex-direction: column;
	}
	.Service-block:nth-of-type(2n) .Service-block__body{
		padding-right: 0;
	}

}



/*-------------------------------
	事業所紹介
-------------------------------*/
/*
.Office{
	background: var(--graycolor);
	padding-bottom: 11.2rem;
}
.Office-block__inner{
	width: 100%;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
}
.Office-block__inner::after{
	background: var(--blackcolor);
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
}
.Office-block__item{
	position: relative;
}
.Office-block__item::after{
	background: var(--blackcolor);
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	right: -3.2rem;
	top: 0;
	bottom: 0;
}
.Office-block__item a{
	opacity: 1 !important;
}
.Office-block__item-image{
	width: 100%;
}
.Office-block__item-image__inner{
	width: 100%;
	display: block;
	overflow: hidden;
}
.Office-block__item-image img{
	transition: var(--transition);
	width: 100%;
}
.Office-block__item-caption{
	margin-top: 2.4rem;
	font-weight: 600;
	line-height: 1;
	display: block;
}
.Office-block:not(:last-child){
	margin-bottom: 7.4rem;
}
.Office-block__title{
	width: 100vw;
	height: 9rem;
	margin-bottom: 12rem;
	font-size: 4rem;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	font-weight: 600;
	line-height: 1;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 6000;
}
.Office-block__title::before{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	opacity: .1;
}

/*----- ホバー 
.Office-block__item a:hover .Office-block__item-image img{
	transform: scale(1.1);
}

/*----- レイアウト違い 
/* 2分割 
.Office-block.-second .Office-block__inner{
	justify-content: space-between;
}
.Office-block.-second .Office-block__item{
	width: calc((100% - 6.4rem) / 2);
}
.Office-block.-second .Office-block__item:nth-of-type(2n+1)::after{
	content: "";
}
.Office-block.-second .Office-block__item:nth-child(n+3){
	margin-top: 5.2rem;
}
.Office-block.-second .Office-block__item:not(:nth-last-of-type(-n+2)){
	margin-bottom: 5.2rem;
}

/* 3分割 
.Office-block.-third .Office-block__inner{
	justify-content: center;
}
.Office-block.-third .Office-block__item{
	width: calc((100% - (6.4rem * 2)) / 3);
}
.Office-block.-third .Office-block__item:not(:nth-of-type(3n)){
	margin-right: 6.4rem;
}
.Office-block.-third .Office-block__item:not(:last-child):not(:nth-of-type(3n))::after{
	content: "";
}
.Office-block.-third .Office-block__item:nth-child(n+4){
	margin-top: 5.2rem;
}
.Office-block.-third .Office-block__item:not(:nth-last-of-type(-n+3)){
	margin-bottom: 5.2rem;
}
*/
@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){
/*
	.Office{
		padding-bottom: 11.2rem;
	}
	.Office-block__inner{
		flex-direction: column;
	}
	.Office-block__inner::after{
		display: none;
	}
	.Office-block .Office-block__item:not(:first-child){
		margin-top: 4.5rem;
	}
	.Office-block .Office-block__item:not(:last-child){
		padding-bottom: 4.5rem;
	}
	.Office-block__item:not(:last-child)::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		right: 0;
		top: unset;
		bottom: 0;
	}
	.Office-block__item-caption{
		margin-top: 2rem;
		font-size: 2.5rem;
	}
	.Office-block:not(:last-child){
		margin-bottom: 9.5rem;
	}
	.Office-block__title{
		width: calc(100% + (var(--padding-leftright) * 2));
		margin-left: calc(var(--padding-leftright) * -1);
		margin-right: calc(var(--padding-leftright) * -1);
		margin-bottom: 8.8rem;
	}

	/*----- レイアウト違い */
	/* 2分割 
	.Office-block.-second .Office-block__item{
		width: 100%;
	}
	.Office-block.-second .Office-block__item:not(:nth-last-of-type(-n+2)){
		margin-bottom: 0;
	}

	/* 3分割 
	.Office-block.-third .Office-block__item{
		width: 100%;
	}
	.Office-block.-third .Office-block__item:not(:nth-of-type(3n)){
		margin-right: 0;
	}
	.Office-block.-third .Office-block__item:nth-child(n+4){
		margin-bottom: 0;
	}
	.Office-block.-third .Office-block__item:not(:nth-last-of-type(-n+3)){
		margin-bottom: 0;
	}
	*/

}



/*-------------------------------
	採用情報
-------------------------------*/

.Recruit{
	background-image: url(../images/index/bg_recruit.jpg);
    background-image: image-set(url(../images/index/bg_recruit.jpg) 1x, url(../images/index/bg_recruit@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_recruit.jpg) 1x, url(../images/index/bg_recruit@2x.jpg) 2x);
}

/*----- マイナビ */
.Mainabi{
	background: var(--maincolor);
	padding-top: 11.5rem;
	padding-bottom: 11.5rem;
}
.Indeed__banner,
.Mainabi__banner{
	width: calc((100% - 8rem) / 2);
}
.Mainabi__banner{
	/*width: 100%;
	max-width: 64.2rem;*/
	margin-right: 8rem;
	flex-wrap: nowrap;
}
.Mainabi__banner a{
	display: block;
}
.Mainabi__banner img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Recruit{
		background-image: url(../images/index/sp_bg_recruit.jpg);
		background-image: image-set(url(../images/index/sp_bg_recruit.jpg) 1x, url(../images/index/sp_bg_recruit@2x.jpg) 2x);
		background-image: -webkit-image-set(url(../images/index/sp_bg_recruit.jpg) 1x, url(../images/index/sp_bg_recruit@2x.jpg) 2x);
	}

	/*----- マイナビ */
	.Mainabi{
		padding-top: 7.8rem;
		padding-bottom: 7.8rem;
	}
	.Mainabi__banner{
		max-width: 100%;
	}
	.Mainabi__banner{
		margin-right: 0;
		margin-bottom: 8rem;
	}
	.Indeed__banner,
	.Mainabi__banner{
		width: 100%;
	}

}



/*-------------------------------
	会社情報
-------------------------------*/

.Company{
	border-bottom: 20rem solid var(--graycolor);
	background-image: url(../images/index/bg_company.jpg);
    background-image: image-set(url(../images/index/bg_company.jpg) 1x, url(../images/index/bg_company@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/index/bg_company.jpg) 1x, url(../images/index/bg_company@2x.jpg) 2x);
}
.Company__inner{
	align-items: flex-end;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Company{
		border-bottom: none;
		background-image: url(../images/index/sp_bg_company.jpg);
		background-image: image-set(url(../images/index/sp_bg_company.jpg) 1x, url(../images/index/sp_bg_company@2x.jpg) 2x);
		background-image: -webkit-image-set(url(../images/index/sp_bg_company.jpg) 1x, url(../images/index/sp_bg_company@2x.jpg) 2x);
	}
	.Company__inner{
		align-items: flex-start;
	}

}



/*-------------------------------
	インスタグラム
-------------------------------*/

.Instagram{
	border-bottom: 18rem solid var(--graycolor);
	background: var(--maincolor);
	padding-top: 14.8rem;
	padding-bottom: 14.8rem;
}
.Instagram-block-wrap{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Instagram-block{
	width: calc((100% - (3rem * 2)) / 3)
}
.Instagram-block a{
	width: 100%;
	display: block;
}
.Instagram-block img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Instagram{
		border-bottom: none;
		padding-top: 8.8rem;
		padding-bottom: 12.5rem;
	}
	.Instagram-block{
		width: calc((100% - (1.4rem * 2)) / 3)
	}

}