@charset "utf-8";
.main{
	padding-top: 100vh;
	position: relative;
}
/*-------------------------------
	共通レイアウト
-------------------------------*/
.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 (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;
}
/*-------------------------------
	お知らせ メインビジュアル
-------------------------------*/
.Mainvisual_News{
	background-color: #33C7BA;
	padding: 0;
	width: calc(50% + 6rem);
	position: absolute;
	right: 0;
	top: calc(100vh - 16.6rem);
	transform: translateY(-100%);
	border-radius: 20rem 0 0 0;
	padding:3rem 14rem 3rem 11.5rem;
}
.Mainvisual_News .News_item{
	border: none;
	font-size: 1.6rem;
}
.Mainvisual_News .News_item a{
	color: #fff;
}
.Mainvisual_News .News_item_column_wrap{
	flex-direction: column;
}
.Mainvisual_News .News-block-wrap{
	margin-bottom: 0;
}
.Mainvisual_News .cat_item {
    line-height: 1.5em;
}
.Mainvisual_News .News_item time {
    margin-right: 1.2rem;
}
.Mainvisual_News .news_title{
	width: calc(100% - 10rem);
	padding-right: 3rem;
}
.Mainvisual_News .news_btn{
	width: 10rem;
	position: relative;
}
.Mainvisual_News .news_btn::after{
	content: "";
    width: 1.1rem;
    height: 1.3rem;
    display: block;
    background-image: url(../images/index/arrow-right.png);
    background-repeat: no-repeat;
    position: absolute;
    right: -1rem;
    top: 50%;
    transform: translateY(-50%);
    background-size: contain;
}
.Mainvisual_News .News_item{
	padding: 0;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
@media screen and (max-width:1240px) and (min-width: 769px){
	.Mainvisual_News{
		padding: 3rem 5rem 3rem 11.5rem;
		width: 80%;
	}
}
@media screen and (max-width:768px){
	/*-------------------------------
	お知らせ メインビジュアル
	-------------------------------*/
	.Mainvisual_News{
		width: calc(100% - 6rem);
		padding: 3rem 8rem 3rem 9rem;
		top: 100svh;
	}
	.Mainvisual_News .News_item{
		font-size: 2.3rem;
	}
	.Mainvisual_News .News_item a{
		color: #fff;
	}
	.Mainvisual_News .News_item_column_wrap{
		flex-direction: column;
	}
	.Mainvisual_News .News-block-wrap{
		margin-bottom: 0;
	}
	.Mainvisual_News .News_item time {
		margin-right: 1.2rem;
	}
	.Mainvisual_News .news_title{
		width: calc(100% - 14rem);
		padding-right: 3rem;
	}
	.Mainvisual_News .news_btn{
		width: 14rem;
	}
	.Mainvisual_News .News_item{
		padding: 0;
	}
	.Mainvisual_News .News_item .cat_item{
		min-width: 8rem;
	}
}
@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)
	}
}
/*-------------------------------
	事業内容
-------------------------------*/

.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: 50rem;
}
.Service-block__image img{
	width: 100%;
}
.Service-block__body{
	width: calc(100% - 50rem);
}
.Service-block__title{
	border-bottom: .7rem solid var(--subcolor);
	padding-bottom: 1.2rem;
	margin-bottom: 2.8rem;
	font-size: 4.2rem;
	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 (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 (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;
	}
	*/
}
/*-------------------------------
	お知らせ 
-------------------------------*/
.News{
	background-color: #DFE0EF;
}
.News-detail-block__button{
	margin: 0 auto;
}
/*-------------------------------
	採用情報
-------------------------------*/
.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((70% - 8rem) / 2);
}
.Mainabi__banner{
	margin-right: 8rem;
	flex-wrap: nowrap;
}
.Mainabi__banner a{
	display: block;
}
.Mainabi__banner img{
	width: 100%;
}
@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 (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 (max-width:768px){
	.Instagram{
		border-bottom: none;
		padding-top: 8.8rem;
		padding-bottom: 12.5rem;
	}
	.Instagram-block{
		width: calc((100% - (1.4rem * 2)) / 3)
	}
}