@charset "utf-8";

.main{
	padding-bottom: 0;
}

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

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

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

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

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

}



/*-------------------------------
	共通
-------------------------------*/

.Index__header{
	width: 100%;
	margin-bottom: 3.5rem;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.Index__header:has(.Index__header-text){
	justify-content: space-between;
}
.Index__header-text{
	font-family: var(--jp);
	line-height: calc(3.4 / 1.6);
	text-align: right;
}

/*----- タイトル */
.Index-title__jp{
	color: var(--maincolor);
	margin-bottom: 1.2rem;
	line-height: 1;
}
.Index-title__en{
	font-family: var(--en);
	font-size: 7rem;
	letter-spacing: .05em;
	/* line-height: .74; */
	line-height: 1;
}

/* 白ver */
.Index-title.-white{
	color: #fff;
}
.Index-title.-white .Index-title__jp{
	color: #fff;
}

/* 中央寄せ */
.Index-title.-center{
	text-align: center;
}
.Index-title.-center .Index-title__jp{
	text-align: center;
}

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

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

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

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

	.Index__header{
		align-items: flex-start;
		flex-direction: column;
	}
	.Index-title{
		width: 100%;
		margin-bottom: 5rem;
	}
	.Index__header-text{
		width: 100%;
		text-align: left;
	}

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

	.Index__header{
		margin-bottom: 5rem;
		padding-right: 4rem;
		flex-direction: column;
		align-items: flex-start;
	}
	.Index__header:has(.Index__header-text){
		justify-content: space-between;
	}
	.Index__header-text{
		line-height: var(--line-height);
		text-align: left;
	}

	/*----- タイトル */
	.Index__header .Index-title{
		margin-bottom: 4rem;
	}
	.Index-title__jp{
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
	}
	.Index-title__en{
		font-size: 9rem;
	}

}



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

.Mainvisual{
	overflow: hidden;
	position: relative;
}
.Mainvisual__inner{
	/* height: 75rem; */
	height: calc(100svh - var(--header-height) + 8.2rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Mainvisual__title{
	width: 41rem;
	height: 100%;
	padding-top: 15.5rem;
	padding-bottom: 13rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
.Mainvisual__title-inner{
	width: 100%;
}
.Mainvisual__title-en{
	margin-bottom: 3rem;
	line-height: 1;
}
.Mainvisual__title-jp{
	font-size: 5.5rem;
	letter-spacing: .1em;
	line-height: calc(8.5 / 5.5);
}
.Mainvisual__pagenavi{
	width: 100%;
	padding-right: 4rem;
	display: flex;
	gap: .4rem;
	align-items: center;
	justify-content: flex-end;
	counter-reset: number 0;
}
.Mainvisual__pagenavi .swiper-pagination-bullet{
	width: 6rem;
	height: 1px;
	position: relative;
	z-index: 5000;
	margin: 0 !important;
	background: rgba(255,255,255,.35);
	opacity: 1;
	border-radius: 0;
	overflow: visible;
}
.Mainvisual__pagenavi .swiper-pagination-bullet::before{
	transition: var(--transition);
	content: counter(number,decimal-leading-zero);
	width: 100%;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 400;
	padding-bottom: .8rem;
	color: #fff;
	text-align: right;
	opacity: .35;
	counter-increment: number 1;
}
.Mainvisual__pagenavi .swiper-pagination-bullet::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	transform: scaleX(0);
	transform-origin: left;
}
.Mainvisual__pagenavi .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
	opacity: 1;
}
.Mainvisual__pagenavi .swiper-pagination-bullet.swiper-pagination-bullet-active::after{
	background: rgba(255,255,255,1);
	animation: progress 4s linear forwards;
}
@keyframes progress{
	from{
		transform: scaleX(0);
	}
	to{
		transform: scaleX(1);
	}
}

.Mainvisual__slider{
	width: calc(100% - 41rem);
	height: 100%;
	overflow: visible;
}
.Mainvisual__slider-inner{
	width: calc(100% + ((100vw - var(--maxwidth-number))) / 2);
	position: relative;
	z-index: 5000;
}
.Mainvisual__slider-inner::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: -1;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}
.Mainvisual__slider-inner:has(.Mainvisual__slider-item.-slide1.swiper-slide-active)::before{
	background-image: image-set(url(../images/index/img_mainvisual3.jpg) 1x, url(../images/index/img_mainvisual3@2x.jpg) 2x);
	background-image: -webkit-image-set(url(../images/index/img_mainvisual3.jpg) 1x, url(../images/index/img_mainvisual3@2x.jpg) 2x);
}
.Mainvisual__slider-inner:has(.Mainvisual__slider-item.-slide2.swiper-slide-active)::before{
	background-image: image-set(url(../images/index/img_mainvisual1.jpg) 1x, url(../images/index/img_mainvisual1@2x.jpg) 2x);
	background-image: -webkit-image-set(url(../images/index/img_mainvisual1.jpg) 1x, url(../images/index/img_mainvisual1@2x.jpg) 2x);
}
.Mainvisual__slider-inner:has(.Mainvisual__slider-item.-slide3.swiper-slide-active)::before{
	background-image: image-set(url(../images/index/img_mainvisual2.jpg) 1x, url(../images/index/img_mainvisual2@2x.jpg) 2x);
	background-image: -webkit-image-set(url(../images/index/img_mainvisual2.jpg) 1x, url(../images/index/img_mainvisual2@2x.jpg) 2x);
}
.Mainvisual__slider-item-image{
	width: calc(100% + ((100vw - var(--maxwidth-number))) / 2);
	height: 100%;
	overflow: hidden;
}
.Mainvisual__slider-item-image img{
	transition: .75s transform var(--transition-easing),.75s clip-path var(--transition-easing);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.5);
	clip-path: polygon(0 0, 0% 0, 0% 100%, 0% 100%);
	opacity: 0;
}
.Mainvisual__slider-item.swiper-slide-active img{
	transform: scale(1);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	opacity: 1;
}

.Mainvisual__arrow{
	width: fit-content;
	display: block;
	position: absolute;
	right: 4.2rem;
	top: 50%;
	z-index: 6000;
	padding-bottom: 10rem;
	transform: translateY(-50%);
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.Mainvisual__arrow::before{
	content: "ScrollDown";
	display: block;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 400;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.Mainvisual__arrow-inner{
	width: 1px;
	height: 7.5rem;
	background: #fff;
	display: block;
	animation: barScale 1.6s ease-in-out infinite;
	transform-origin: top;
}
@keyframes barScale {
	0% {
		transform: scaleY(0);
	}
	100% {
		transform: scaleY(1);
	}
}

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

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

	.Mainvisual__slider-inner{
		width: calc(100% + var(--padding-leftright));
	}
	.Mainvisual__slider-item-image{
		width: calc(100% + var(--padding-leftright));
	}

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

	.Mainvisual__title{
		width: 30rem;
	}
	.Mainvisual__title-jp{
		font-size: 4.6rem;
		white-space: nowrap;
	}
	.Mainvisual__slider{
		width: calc(100% - 30rem);
	}

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

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

	.Mainvisual__inner{
		height: calc(100svh - var(--header-height));
		flex-direction: column;
		position: relative;
	}
	.Mainvisual__title{
		width: 100%;
		height: auto;
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
	.Mainvisual__title-inner{
		width: 100%;
	}
	.Mainvisual__title-en{
		font-size: 2.6rem;
		margin-bottom: 3.5rem;
		line-height: 1;
	}
	.Mainvisual__title-jp{
		font-size: 7.5rem;
		line-height: calc(11.5 / 7.5);
	}
	.Mainvisual__pagenavi{
		height: 32.5rem;
		padding-right: 0;
		gap: 2rem;
		position: absolute;
		left: var(--padding-leftright) !important;
		bottom: 0 !important;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		z-index: 6000;
	}
	.Mainvisual__pagenavi .swiper-pagination-bullet{
		width: 2px;
		height: 6rem;
		background: rgba(255,255,255,.35);
	}
	.Mainvisual__pagenavi .swiper-pagination-bullet::before{
		width: auto;
		font-size: 2rem;
		padding-bottom: 0;
		margin-left: 1rem;
		white-space: nowrap;
	}
	.Mainvisual__pagenavi .swiper-pagination-bullet::after{
		transform: scale(1,0);
		transform-origin: top;
	}
	@keyframes progress{
		from{
			transform: scaleY(0);
		}
		to{
			transform: scaleY(1);
		}
	}

	.Mainvisual__slider{
		width: 100%;
		height: 100%;
		padding-left: 8rem;
		overflow: visible;
	}
	.Mainvisual__slider-inner{
		width: calc(100% + var(--padding-leftright));
	}
	.Mainvisual__slider-item-image{
		width: calc(100% + var(--padding-leftright));
	}

	.Mainvisual__arrow{
		display: none;
	}

}



/*-------------------------------
	メッセージ
-------------------------------*/

.Message{
	margin-top: -18.2rem;
	padding-top: 18.2rem;
	background-image: image-set(url(../images/index/bg_message.jpg) 1x, url(../images/index/bg_message@2x.jpg) 2x);
	background-image: -webkit-image-set(url(../images/index/bg_message.jpg) 1x, url(../images/index/bg_message@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.Message__text{
	padding-top: 8rem;
	margin-bottom: 4rem;
}
.Message__text-inner{
	transition-timing-function: linear;
}
.Message__text-item{
	font-family: var(--en);
	font-size: 18rem;
	padding-bottom: 3.8rem;
	margin-right: .25em;
	line-height: .7;
	letter-spacing: 0;
	-webkit-text-stroke: 1px rgba(255,255,255,.35);
	text-stroke: 1px rgba(255,255,255,.35);
	width: fit-content;
	color: transparent;
}
.Message__header{
	margin-bottom: 7.5rem;
	align-items: flex-start;
	color: #fff;
}
.Message__title{
	width: 48.5rem;
}
.Message__title-en{
	margin-bottom: 3.5rem;
	line-height: 1;
}
.Message__title-jp{
	font-size: 5.5rem;
	line-height: calc(8.5 / 5.5);
	letter-spacing: .1em;
}
.Messge__header-body{
	width: calc(100% - 48.5rem);
}
.Message__header-subtitle{
	font-size: 2.6rem;
	margin-bottom: 2rem;
	line-height: 1.35;
}
.Message__header-text{
	line-height: calc(3.8 / 1.6);
}
.Message__slider-inner{
	transition-timing-function: linear;
}
.Message__slider-item{
	width: 45rem;
}
.Message__slider-item 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:1100px) and (min-width: 769px){

	.Message__title{
		width: 40rem;
	}
	.Messge__header-body{
		width: calc(100% - 40rem);
	}

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

	.Message__header{
		flex-direction: column;
	}
	.Message__title{
		width: 100%;
		margin-bottom: 5rem;
	}
	.Messge__header-body{
		width: 100%;
	}

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

	.Message{
		margin-top: -32.5rem;
		padding-top: 32.5rem;
	}
	.Message__text{
		padding-top: 9.5rem;
		margin-bottom: 9.5rem;
	}
	.Message__text-item{
		font-size: 20rem;
		line-height: .74;
		white-space: nowrap;
	}
	.Message__header{
		margin-bottom: 8rem;
		padding-right: 0;
	}
	.Message__title{
		width: 100%;
		margin-bottom: 7rem;
	}
	.Message__title-en{
		margin-bottom: 4rem;
	}
	.Message__title-jp{
		font-size: 7.5rem;
		line-height: calc(11.5 / 7.5);
	}
	.Messge__header-body{
		width: 100%;
	}
	.Message__header-subtitle{
		font-size: 3.7rem;
		margin-bottom: 3.5rem;
		line-height: 1;
	}
	.Message__header-text{
		line-height: var(--line-height);
	}

}



/*-------------------------------
	サービス案内
-------------------------------*/

.Service__header{
	margin-bottom: 6.2rem;
}
.Service__content:not(:last-child){
	margin-bottom: 7.5rem;
}
.Service__content-header{
	width: 100%;
	margin-bottom: 3rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Service__content-title{
	font-size: 2.6rem;
	line-height: calc(3.4 / 2.6);
}
.Service__list{
	width: 100%;
	display: flex;
	gap: .4rem;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Service__list-item{
	background: var(--graycolor);
	width: calc((100% - (.4rem * 2)) / 3);
	height: 13rem;
	overflow: hidden;
}
.Service__list-item a{
	width: 100%;
	height: 100%;
	padding: 1rem 1rem 1rem 3rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	z-index: 5000;
}
.Service__list-item a::before{
	content: "";
	display: block;
	width: 7rem;
	height: 7rem;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 6000;
}
.Service__list-item a::after{
	content: "";
	transition: transform .3s var(--transition-easing);
	background: var(--maincolor);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 4000;
	transform: scaleX(0);
	opacity: 0;
	transform-origin: right;
}
.Service__list-item.g-view.end a::after{
	opacity: 1;
}
.Service__list-item-title{
	transition: var(--transition);
	font-family: var(--jp);
	width: calc(100% - 7rem);
	padding-left: 2.6rem;
	font-size: 2rem;
	line-height: calc(3 / 2);
	position: relative;
	z-index: 6000;
	display: block;
}
.Service__list-item .C-Arrow-circle{
	width: 3.6rem;
	height: 3.6rem;
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 6000;
}
.Service__list-item .C-Arrow{
	width: 1.1rem;
	height: .7rem;
}
.Service__list-item a:hover::after{
	opacity: 1;
	transform: scaleX(1);
	transform-origin: left;
}
.Service__list-item a:hover .Service__list-item-title{
	color: #fff;
}

/*----- 法人 */
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(1) a::before{
	background-image: url(../images/index/icon_service1_1-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(2) a::before{
	background-image: url(../images/index/icon_service1_2-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(3) a::before{
	background-image: url(../images/index/icon_service1_3-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(4) a::before{
	background-image: url(../images/index/icon_service1_4-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(5) a::before{
	background-image: url(../images/index/icon_service1_5-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(6) a::before{
	background-image: url(../images/index/icon_service1_6-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(7) a::before{
	background-image: url(../images/index/icon_service1_7-black.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(1) a:hover::before{
	background-image: url(../images/index/icon_service1_1-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(2) a:hover::before{
	background-image: url(../images/index/icon_service1_2-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(3) a:hover::before{
	background-image: url(../images/index/icon_service1_3-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(4) a:hover::before{
	background-image: url(../images/index/icon_service1_4-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(5) a:hover::before{
	background-image: url(../images/index/icon_service1_5-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(6) a:hover::before{
	background-image: url(../images/index/icon_service1_6-white.svg);
}
.Service__content:nth-of-type(1) .Service__list-item:nth-of-type(7) a:hover::before{
	background-image: url(../images/index/icon_service1_7-white.svg);
}

/*----- 個人 */
.Service__content:nth-of-type(2) .Service__list-item:nth-of-type(1) a::before{
	background-image: url(../images/index/icon_service2_1-black.svg);
}
.Service__content:nth-of-type(2) .Service__list-item:nth-of-type(2) a::before{
	background-image: url(../images/index/icon_service2_2-black.svg);
}
.Service__content:nth-of-type(2) .Service__list-item:nth-of-type(1) a:hover::before{
	background-image: url(../images/index/icon_service2_1-white.svg);
}
.Service__content:nth-of-type(2) .Service__list-item:nth-of-type(2) a:hover::before{
	background-image: url(../images/index/icon_service2_2-white.svg);
}

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

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

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

	.Service__list-item a{
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.Service__list-item .C-Arrow-circle{
		right: 2rem;
	}
	.Service__list-item-title{
		padding-left: 1.5rem;
		line-height: 1.35;
	}

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

	.Service__list-item{
		width: calc((100% - .4rem) / 2);
	}
	.Service__list-item-title{
		padding-left: 2.6rem;
	}

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

	.Service__header{
		margin-bottom: 6rem;
	}
	.Service__content:not(:last-child){
		margin-bottom: 14rem;
	}
	.Service__content-header{
		margin-bottom: 5.2rem;
	}
	.Service__content-title{
		font-size: 3.7rem;
		line-height: 1;
	}
	.Service__list{
		gap: .8rem;
		margin-bottom: 7rem;
	}
	.Service__list-item{
		width: calc((100% - (.8rem * 1)) / 2);
		height: 28rem;
	}
	.Service__list-item a{
		padding: 1rem;
		flex-direction: column;
		justify-content: center;
	}
	.Service__list-item a::before{
		width: 8.8rem;
		height: 8.8rem;
		margin-bottom: 4rem;
	}
	.Service__list-item-title{
		width: 100%;
		padding-left: 0;
		font-size: 3rem;
		line-height: 1;
		text-align: center;
	}
	.Service__list-item-title.-small{
		font-size: 2.8rem;
	}
	.Service__list-item .C-Arrow-circle{
		width: 4.4rem;
		height: 4.4rem;
	}
	.Service__list-item .C-Arrow{
		width: 1.3rem;
		height: .9rem;
	}
	.Service__button{
		margin-left: auto;
		margin-right: auto;
	}

}



/*-------------------------------
	会社案内
-------------------------------*/

.About{
	background: var(--subcolor);
	padding-top: 0;
}
.About__text-inner{
	transition-timing-function: linear;
}
.About__text-item{
	font-family: var(--en);
	font-size: 18rem;
	margin-right: .25em;
	line-height: .72;
	padding-top: .2rem;
	letter-spacing: 0;
	-webkit-text-stroke: 1px #767b82;
	text-stroke: 1px #767b82;
	width: fit-content;
	color: transparent;
}
.About__inner{
	padding-top: 11rem;
}
.About__header{
	width: 45rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.About__title{
	width: 100%;
	margin-bottom: 7.8rem;
}
.About__slider{
	width: 100%;
}
.About__slider-list-item{
	background: var(--subcolor);
}
.About__slider-list-item-image{
	width: 100%;
	margin-bottom: 8rem;
}
.About__slider-list-item-image img{
	width: 100%;
}
.C-Button.About__button a{
	border-color: #767b82;
}
.About__inner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.About__list{
	width: calc(100% - 45rem);
	padding-left: 6rem;
}
.About__list-item{
	border-bottom: 1px solid #767b82;
}
.About__list-item:first-child{
	border-top: 1px solid #767b82;
}
.About__list-item a{
	width: 100%;
	padding: 3.5rem 3rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.About__list-item-inner{
	width: calc(100% - 4rem);
	padding-right: 2.5rem;
}
.About__list-item-title{
	width: 100%;
	font-size: 2.6rem;
	margin-bottom: 1.5rem;
	line-height: calc(3.4 / 2.6);
	color: #fff;
}
.About__list-item-text{
	width: 100%;
	font-size: 1.4rem;
	color: #a4a7ab;
}
.About__list-item .C-Arrow-circle{
	border-color: #767b82;
}
.About__list-item .C-Arrow-circle .C-Arrow::before{
	background-image: url(../images/common/icon_arrow-white.svg);
}

.About__list-item a:hover{
	padding-left: 0;
	padding-right: 0;
}

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

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

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

	.About__header{
		width: 32.5rem;
	}
	.About__slider-inner{
		width: 100%;
	}
	.About__list{
		width: calc(100% - 32.5rem);
		padding-left: 5rem;
	}
	.About__list-item a{
		padding: 2.5rem 2rem;
	}
	.About__list-item-inner{
		max-width: 43rem;
		padding-right: 5rem;
	}

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

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

	.About__text-item{
		font-size: 20rem;
		line-height: .74;
		white-space: nowrap;
	}
	.About__inner{
		padding-top: 10rem;
		flex-direction: column;
	}
	.About__header{
		width: 100%;
		flex-direction: column;
	}
	.About__title{
		width: 100%;
		margin-bottom: 7.8rem;
	}
	.About__header .About__title{
		margin-bottom: 0;
	}
	.About__list{
		width: 100%;
		padding-left: 0;
	}
	.About__list-item a{
		padding: 5.2rem 0 4.5rem;
		flex-wrap: wrap;
	}
	.About__list-item-image{
		width: 100%;
		max-width: 50rem;
		margin-bottom: 5rem;
		margin-left: auto;
		margin-right: auto;
	}
	.About__list-item-image img{
		width: 100%;
	}
	.About__list-item-inner{
		width: calc(100% - 5.2rem);
		padding-right: 5.8rem;
	}
	.About__list-item-title{
		font-size: 3.7rem;
		margin-bottom: 3rem;
		line-height: 1;
	}
	.About__list-item-text{
		font-size: 2.6rem;
	}
	.About__list-item .C-Arrow-circle{
		width: 5.2rem;
		height: 5.2rem;
	}
	.About__list-item .C-Arrow-circle .C-Arrow{
		width: 1.6rem;
		height: 1rem;
	}

	.About__button{
		margin-top: 7.2rem;
	}
	
}



/*-------------------------------
	お客様の声
-------------------------------*/

.Voice{
	overflow: hidden;
}
.Voice__header{
	margin-bottom: 9.5rem;
}
.Voice__slider{
	width: 100%;
	margin-bottom: 5rem;
}
.Voice__slider-inner{
	margin-bottom: 6.5rem;
	padding-top: 2.6rem;
	margin-left: calc(50% - (var(--maxwidth-number) / 2));

}
.Voice__slider-list{
	width: 44rem;
}
.Voice__slider-list:not(:last-child){
	margin-right: 4rem;
}
.Voice__slider-list a{
	width: 100%;
	display: block;
	opacity: 1 !important;
	position: relative;
	z-index: 4000;
}
.Voice__slider-list a::before{
	font-family: var(--en);
	content: attr(data-number);
	width: fit-content;
	font-size: 7.6rem;
	line-height: .72;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 6000;
	transform: translateY(-50%);
}
.Voice__slider-list-image{
	width: 100%;
	height: 30rem;
	margin-bottom: 2.5rem;
	overflow: hidden;
}
.Voice__slider-list-image img{
	transition: var(--transition);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Voice__slider-list a:hover .Voice__slider-list-image img{
	transform: scale(1.1);
}
.Voice__slider-list-title{
	font-size: 2.4rem;
	margin-bottom: 1.5rem;
	line-height: calc(3.6 / 2.4);
	letter-spacing: 0;
}
.Voice__slider-list-title span{
	line-height: calc(3.6 / 2.4);
}
.Voice__slider-list-name{
	font-family: var(--jp);
	line-height: calc(2.6 / 1.6);
	font-weight: 400;
}
.Voice__slider-controller{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Voice__slider-nav{
	width: 14rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Voice__slider-nav-item{
	width: 6rem;
	cursor: pointer;
}
.Voice__slider-nav-item .C-Arrow-circle{
	width: 6rem;
	height: 6rem;
}
.Voice__slider-nav-item .C-Arrow-circle .C-Arrow{
	width: 1.8rem;
	height: 1.2rem;
}
.Voice__slider-nav-item.-prev{
	transform: scale(-1,1);
}
.Voice__slider .Voice__slider-progress{
	width: calc(100% - (14rem + 7rem));
	height: .3rem;
	position: relative;
	background: #dcdcdc;
}
.Voice__slider .Voice__slider-progress .swiper-pagination-progressbar-fill{
	background: var(--blackcolor);
}
.Voice__bottom{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.Voice__button{
	align-self: flex-end;
}

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

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

	.Voice__slider-inner{
		margin-left: var(--padding-leftright);
	}

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


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

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

	.Voice{
		overflow: hidden;
	}
	.Voice__header{
		margin-bottom: 7.2rem;
	}
	.Voice__slider{
		margin-bottom: 7.5rem;
		padding-right: 0;
	}
	.Voice__slider-inner{
		margin-bottom: 7.5rem;
		padding-top: 3.2rem;
		margin-left: 0;

	}
	.Voice__slider-list{
		width: 50rem;
	}
	.Voice__slider-list:not(:last-child){
		margin-right: 5rem;
	}
	.Voice__slider-list a::before{
		font-size: 9.6rem;
		line-height: .72;
		left: 2.2rem;
	}
	.Voice__slider-list-image{
		height: 34rem;
		margin-bottom: 3.5rem;
	}
	.Voice__slider-list-title{
		font-size: 3.3rem;
		margin-bottom: 2.5rem;
		line-height: calc(4.9 / 3.3);
	}
	.Voice__slider-list-title span{
		line-height: calc(4.9 / 3.3);
	}
	.Voice__slider-list-name{
		line-height: 1.5;
	}
	.Voice__slider-controller{
		padding-right: var(--padding-leftright);
	}
	.Voice__slider-nav{
		width: 18.6rem;
	}
	.Voice__slider-nav-item{
		width: 8rem;
		cursor: pointer;
	}
	.Voice__slider-nav-item .C-Arrow-circle{
		width: 8rem;
		height: 8rem;
	}
	.Voice__slider-nav-item .C-Arrow-circle .C-Arrow{
		width: 2.4rem;
		height: 1.5rem;
	}
	.Voice__slider .Voice__slider-progress{
		width: calc(100% - (18.6rem + 6.5rem));
		height: .6rem;
	}

}



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

.Recruit{
	padding-top: 8.5rem;
	padding-bottom: 9.5rem;
	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-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
}
.Recruit::after{
	content: "";
	transition: var(--transition);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0,0,0,.3);
	z-index: 4000;
}
.Recruit__inner{
	position: relative;
	z-index: 6000;
}
.Recruit__subtitle{
	font-size: 2.6rem;
	margin-bottom: 2rem;
	line-height: calc(3.4 / 2.6);
	color: #fff;
}
.Recruit__text{
	margin-bottom: 4.8rem;
	color: #fff;
}

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

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

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

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

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

	.Recruit{
		padding-top: 10rem;
		padding-bottom: 13rem;
		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);
	}
	.Recruit__header .Recruit__title{
		margin-bottom: 0;
	}
	.Recruit__subtitle{
		font-size: 3.7rem;
		line-height: 1;
	}
	.Recruit__text{
		margin-bottom: 6.5rem;
	}

}



/*-------------------------------
	お知らせ
-------------------------------*/

.News__top{
	width: 100%;
	margin-bottom: 10rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.News__header{
	width: 24rem;
	align-items: flex-start;
	flex-direction: column;
}
.News__title{
	margin-bottom: 4.8rem;
}
.News__sidebar{
	margin-bottom: 6rem;
}

.News__list-wrap{
	width: calc(100% - 24rem);
	padding-left: 7rem;
}
.News__list{
	transition: var(--transition);
	transform: translateY(2.5rem);
	height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
}
.C-News__list-item{
	transition: var(--transition);
	transform: translateY(2.5rem);
	visibility: hidden;
	opacity: 0;
}
.News__list.-current{
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
	height: auto;
}
.News__list.-current .C-News__list-item{
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
}
.News__list.-current .C-News__list-item:nth-of-type(1){
	transition-delay: .1s;
}
.News__list.-current .C-News__list-item:nth-of-type(2){
	transition-delay: .15s;
}
.News__list.-current .C-News__list-item:nth-of-type(3){
	transition-delay: .2s;
}
.News__list.-current .C-News__list-item:nth-of-type(4){
	transition-delay: .25s;
}
.News__list.-current .C-News__list-item:nth-of-type(5){
	transition-delay: .3s;
}
.News__list .C-News__list-item a{
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}

.Sns{
	width: 100%;
}
.Sns__list{
	width: 100%;
	display: flex;
	column-gap: .4rem;
	align-items: center;
	justify-content: space-between;
}
.Sns__list-item{
	width: calc((100% - .4rem) / 2);
	height: 26rem;
	background: var(--subcolor);
}
.Sns__list-item a{
	width: 100%;
	height: 100%;
	padding: 2.5rem 2.5rem 2.5rem 6rem;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	position: relative;
	opacity: 1 !important;
}
.Sns__list-item a::before{
	background: var(--maincolor);
	transition: .3s transform var(--transition-easing);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
	transform: scaleX(0);
	transform-origin: right;
}
.Sns__list-item a:hover::before{
	transform: scaleX(1);
	transform-origin: left;
}
.Sns__list-item-title{
	font-family: var(--mont);
	width: 100%;
	font-size: 3.4rem;
	margin-bottom: 2rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
.Sns__list-item-title::before{
	content: "";
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Sns__list-item-text{
	font-size: 1.4rem;
}
.Sns__list-item .C-Arrow-circle .C-Arrow::before{
	background-image: url(../images/common/icon_arrow-white.svg);
}
.Sns__list-item .C-Arrow-circle{
	position: absolute;
	right: 2.6rem;
	bottom: 2.6rem;
}

.Sns__list-item.-youtube .Sns__list-item-title{
	padding-left: 6rem;
}
.Sns__list-item.-youtube .Sns__list-item-title::before{
	width: 4rem;
	height: 3rem;
	background-image: url(../images/common/icon_sns-youtube-white.svg);
}
.Sns__list-item.-instagram .Sns__list-item-title{
	padding-left: 4.5rem;
}
.Sns__list-item.-instagram .Sns__list-item-title::before{
	width: 3rem;
	height: 3rem;
	background-image: url(../images/common/icon_sns-instagram-white.svg);
}

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

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

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

	.News__list-wrap{
		padding-left: 5rem;
	}
	.News__list .C-News__list-item a{
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

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

	.Sns__list-item a{
		padding-left: 3.5rem;
		padding-right: 3.5rem;
	}
	.Sns__list-item .C-Arrow-circle{
		right: 3.5rem;
	}

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

	.News__top{
		flex-direction: column;
	}
	.News__header{
		width: 100%;
		margin-bottom: 7.8rem;
	}
	.News__header .News__title{
		margin-bottom: 6rem;
	}
	.News__sidebar{
		width: 100%;
		margin-bottom: 0;
	}

	.News__list-wrap{
		width: 100%;
		margin-bottom: 7.8rem;
		padding-left: 0;
	}
	.News__list .C-News__list-item a{
		padding-top: 4.5rem;
		padding-bottom: 4.5rem;
	}
	.News__button{
		margin-left: auto;
		margin-right: auto;
	}

	.Sns__list{
		row-gap: .9rem;
		flex-direction: column;
	}
	.Sns__list-item{
		width: 100%;
		height: 30rem;
	}
	.Sns__list-item a{
		padding: 2rem 2rem 2rem 6rem;
	}
	.Sns__list-item-title{
		font-size: 3.8rem;
		margin-bottom: 3rem;
	}
	.Sns__list-item-text{
		font-size: 2.7rem;
		line-height: calc(4.5 / 2.7);
	}
	.Sns__list-item .C-Arrow-circle{
		right: 2rem;
		bottom: 2rem;
	}

	.Sns__list-item.-youtube .Sns__list-item-title{
		padding-left: 6.5rem;
	}
	.Sns__list-item.-youtube .Sns__list-item-title::before{
		width: 4.5rem;
		height: 3.2rem;
	}
	.Sns__list-item.-instagram .Sns__list-item-title{
		padding-left: 5.5rem;
	}
	.Sns__list-item.-instagram .Sns__list-item-title::before{
		width: 3.4rem;
		height: 3.4rem;
	}

}



/*-------------------------------
	お役立ち情報
-------------------------------*/

.Business__inner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Business__header{
	width: 27.5rem;
	margin-bottom: 0;
}
.Business__title .Index-title__jp{
	margin-bottom: 1.8rem;
}
.Business__title .Index-title__en{
	font-size: 6rem;
}
.Business__list-wrap{
	width: calc(100% - 27.5rem);
	padding-left: 3.5rem;
}
.Business__list-title{
	font-size: 2.6rem;
	margin-bottom: 2.2rem;
	line-height: calc(3.4 / 2.6);
}

.Business__list-inner{
	width: 100%;
	display: flex;
	gap: .4rem;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.Business__list:not(:last-child){
	padding-bottom: 5rem;
	border-bottom: 1px solid #b2b2b2;
}
.Business__list:not(:first-child){
	padding-top: 4.5rem;
}
.Business__list-item{
	width: calc((100% - .4rem) / 2);
	height: 8rem;
}
.Business__list-item a{
	width: 100%;
	height: 100%;
	padding: 1.5rem 2.4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
}
.Business__list-item-text{
	width: calc(100% - 3rem);
	padding-right: 2.5rem;
	line-height: calc(2.4 / 1.6);
	display: block;
}
.Business__list-item .C-Arrow-circle{
	width: 3rem;
	height: 3rem;
}
.Business__list-item .C-Arrow-circle .C-Arrow{
	width: .9rem;
	height: .6rem;
}
.Business__list-item a:hover .Business__list-item-text{
	color: var(--maincolor);
}

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

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

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

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

	.Business__list-inner{
		flex-direction: column;
	}
	.Business__list-item{
		width: 100%;
	}

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

	.Business__inner{
		flex-direction: column;
	}
	.Business__header{
		width: 100%;
		margin-bottom: 5.5rem;
	}
	.Business__header .Business__title{
		margin-bottom: 0;
	}
	.Business__title .Index-title__jp{
		margin-bottom: 1.8rem;
	}
	.Business__title .Index-title__en{
		font-size: 9rem;
	}
	.Business__list-wrap{
		width: 100%;
		padding-left: 0;
	}
	.Business__list-title{
		font-size: 3.7rem;
		margin-bottom: 4.5rem;
		line-height: 1;
	}

	.Business__list-inner{
		gap: .8rem;
	}
	.Business__list:not(:last-child){
		padding-bottom: 4.8rem;
	}
	.Business__list:not(:first-child){
		padding-top: 5rem;
	}
	.Business__list-item{
		width: calc((100% - .8rem) / 2);
		height: 18rem;
	}
	.Business__list-item a{
		padding: 1.5rem 2.4rem;
	}
	.Business__list-item-text{
		width: 100%;
		padding-right: 0;
		font-size: 2.7rem;
		line-height: calc(4.1 / 2.7);
		text-align: center;
	}
	.Business__list-item .C-Arrow-circle{
		width: 4rem;
		height: 4rem;
		position: absolute;
		right: 1rem;
		bottom: 1.5rem;
	}
	.Business__list-item .C-Arrow-circle .C-Arrow{
		width: 1.2rem;
		height: .8rem;
	}

}



/*-------------------------------
	お問い合わせ
-------------------------------*/

.Contact{
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
	overflow: hidden;
}
.Contact > a{
	width: 100%;
	height: 100%;
	display: block;
	opacity: 1 !important;
}
.Contact > a:hover::before{
	transform: scale(1.1);
}
.Contact > a::before,
.Contact > a::after{
	content: "";
	transition: var(--transition);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
.Contact > a::before{
	background-image: url(../images/index/bg_contact.jpg);
	background-image: image-set(url(../images/index/bg_contact.jpg) 1x, url(../images/index/bg_contact@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: -1;
}
.Contact > a::after{
	background: rgba(0,0,0,.5);
	z-index: 4000;
}
.Contact__inner{
	height: 30rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	z-index: 6000;
}
.Contact__header{
	justify-content: center;
}
.Contact__text{
	font-size: 2.6rem;
	line-height: calc(3.4 / 2.6);
	color: #fff;
}
.Contact .C-Arrow-circle{
	right: var(--padding-leftright);
	width: 6rem;
	height: 6rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	border-color: rgba(255,255,255,.5);
}
.Contact .C-Arrow{
	width: 1.8rem;
	height: 1.2rem;
	opacity: .5;
}
.Contact .C-Arrow::before{
	background-image: url(../images/common/icon_arrow-white.svg) !important;
}
.Contact .C-Arrow::after{
	background-image: url(../images/common/icon_arrow-black.svg) !important;
}

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

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

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

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

	.Contact__header{
		align-items: center;
	}
	.Contact__header .Index-title{
		margin-bottom: 0;
		width: fit-content;
	}

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

	.Contact__inner{
		height: 40rem;
	}
	.Contact__header{
		margin-bottom: 4.5rem;
		align-items: center;
	}
	.Contact__header .Contact__title{
		margin-bottom: 0;
	}
	.Contact__text{
		font-size: 3.7rem;
		line-height: calc(3.7 / 3.4);
	}
	.Contact .C-Arrow-circle{
		width: 8rem;
		height: 8rem;
	}
	.Contact .C-Arrow{
		width: 2.4rem;
		height: 1.6rem;
	}

}