@charset "utf-8";

/*-----------------------------------------------------------*/

img.opacity_zero{
	opacity: 0;
}

/*-----------------------------------------------------------*/


/*-----------------------------------------------------------*/

.scrolldown1_link:hover{
	opacity: 1;
	color: #fff;
}

.scrolldown1 {
	position: absolute;
	right: 4rem;
	bottom: 2rem;
	height: 10rem;
	z-index: 1;
}

.scrolldown1 span{
	/*描画位置*/
	position: absolute;
	left: -1.4rem;
	top: -7rem;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	font-family: var(--main_font_family_bebas);
	font-weight: 200;
	writing-mode: vertical-rl;
	font-family: "Poppins", sans-serif;
	font-style: italic;

	left: -2.2rem;
	top: -8rem;
	padding: 1rem;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 0.1rem;
	height: 10rem;
	background: #fff;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height: 5rem;
		opacity: 1;
	}
	100%{
		height:0;
		top: 10rem;
		opacity: 0;
	}
}

@media (max-width: 559px ){

	.scrolldown1 {
		position: absolute;
		right: 2rem;
		height: 10rem;
	}

	.scrolldown1 span {
		left: -1.0rem;
		top: -5rem;
		font-size: 1.3rem;

		left: -2.0rem;
		top: -7rem;
	}

	.scrolldown1::after {
		height: 7rem;
	}

}

/*---*/

.catch_area{
	position: absolute;
	/*width: 100%;*/
	height: 100svh;
	display: flex;
	z-index: 1;
	align-items: center;
	color: #fff;
}

.catch_area .copybox{
	margin-left: 15rem;
}

.catch_area .copybox div{
	font-family: "Poppins", sans-serif;
	font-style: italic;
	font-weight: 600;
	font-size: 9rem;
}

.catch_area .copybox div span{
	color: #0052BE;
}

.catch_area .copybox div span{

}

.catch_area .copybox p{
	font-size: 1.8rem;
}

@media (max-width: 1180px ){

	.catch_area{
		margin-left: 0;
		/*padding-left: 7rem;*/
	}

	.catch_area .copybox{
		margin-left: 7rem;
	}

}

@media (max-width: 559px ){

	.catch_area {
		margin-top: -5rem;
		/*padding-left: 2rem;*/
	}

	.catch_area .copybox{
		margin-left: 2rem;
	}

	.catch_area .copybox div{
		font-size: 7.2rem;
		line-height: 1.2;
	}

	.catch_area .copybox p{
		font-size: 1.6rem;
	}

}

@media (max-width: 320px ){

	.catch_area .copybox div{
		font-size: 6.2rem;
	}

	.catch_area .copybox p{
		font-size: 1.3rem;
	}

}

/*---*/

.years70{
	position: absolute;
	width: 100%;
	height: 100svh;
	display: flex;
	z-index: 1;
	align-items: end;
	color: #fff;
	bottom: 5rem;
}

.years70 .box{
	display: flex;
	align-items: center;
	margin-left: 15rem;
}

.years70 .box div{
	width: 13rem;
	margin-right: 2rem;
}

.years70 .box p{
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
}

@media (max-width: 1180px ){

	.years70 {
		margin-left: 0;
		/*padding-left: 7rem;*/
	}

	.years70 .box {
		flex-wrap: wrap;
		margin-left: 7rem;
	}

}

@media (max-width: 559px ){

	.years70 {
		/*padding-left: 2rem;*/
	}

	.years70 .box {
		margin-left: 2rem;
	}

	.years70 .box div {
		width: 12rem;
		margin-bottom: 1rem;
	}

	.years70 .box p {
		width: 100%;
		font-size: 1.3rem;
	}

}

/*---*/

.swiper_base{
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.swiper_base.z-index-1{
	z-index: -1;
	left: 0;
}

.swiper_base::after {
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);*/
	/*background-image: radial-gradient(circle, rgba(0,0,0,1) 1px, rgba(0,0,0,.8) 1px);*/
	background-image: radial-gradient(circle, rgba(0,0,0,1) 1px, rgba(0,0,0,.6) 1px);
	background-size: 3px 3px;
	opacity: 0.8;
}

.swiper_base.z-index-1::after {
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: none;
	/*background-size: 3px 3px;*/
	background-color: #000;
	opacity: 0.1;
}

.swiper_base.cover::after {
		content: none;
}

@media (max-width: 1180px ){

	.swiper_base.wide .swiper-wrapper{
		height: 100svh;
	}

}
/*
@media (max-width: 820px ){

	.swiper_base.wide .swiper-wrapper{
		height: 65svh;
	}

}

@media (max-width: 559px ){

	.swiper_base.wide .swiper-wrapper{
		height: 100svh;
	}

}
*/
/*-----------------------------------------------------------*/


/*-----------------------------------------------------------*/

.news_list{
	display: flex;
	flex-wrap: wrap;
}

.news_list li{
	/*width: calc( 25% - 13px);*/
	width: calc(22.5% - 6px);
	margin-right: 4rem;
}

.news_list li:nth-child(4){
	margin-right: 0;
}

.news_list li:nth-child(5),
.news_list li:nth-child(6),
.news_list li:nth-child(7),
.news_list li:nth-child(8){
	margin-top: 4rem;
}

.news_list li:last-child{
	margin-right: 0;
}

.news_list li .image{
	margin-bottom: 2rem;
	overflow: hidden;
    aspect-ratio: 10 / 7;
}

.news_list li .image img{
	height: auto;
}

.news_list li .text{

}

.news_list li .text .title{
	font-size: 1.8rem;
	font-weight: 600;
	margin-bottom: 1.5rem;

	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; /* 行数を指定 */
	min-height: 5.4rem;
}

.news_list li .text .title a{
	color: #1c1c1c;
}

.news_list li .text .title a:hover{
	text-decoration: underline;
}

.news_list li .text .detail{
	margin-bottom: 2rem;

	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	min-height: 7.2rem;
}

.news_list li .text .line{
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	margin-bottom: 0.8rem;
}

.news_list li .text .category{
	font-size: 1.2rem;
}

.news_list li .text .category a{
	/*color: #1c1c1c;*/
	color: #2850bd;
}

.news_list li .text .category a:hover{
	text-decoration: underline;
}


.news_list li .text .date{
	text-align: right;
	font-size: 1.2rem;
	margin-right: 2rem;
}

@media (max-width: 1024px ){

	.news_list li {
	    width: calc(22.0% - 6px);
	}

}

@media (max-width: 820px ){

	.news_list {
		flex-wrap: wrap;

		max-width: 60rem;
		margin-left: auto;
		margin-right: auto;
	}

	.news_list li {
		width: 100%;
		margin-right: 0;
		display: flex;
		margin-bottom: 3rem;
	}

	.news_list li:nth-child(3),
	.news_list li:nth-child(4) {
		/*display: none;*/
	}
	
	.news_list li:nth-child(5),
	.news_list li:nth-child(6),
	.news_list li:nth-child(7),
	.news_list li:nth-child(8){
		display: none;
	}

	.news_list li:last-child {
		margin-bottom: 0;
	}

	.news_list li .image{
		max-width: 18rem;
		min-width: 18rem;
		margin-right: 2rem;
		margin-bottom: 0;
	}

	.news_list li .text{
		width: 100%;
	}
	
	.news_list li .text .title {
		-webkit-line-clamp: 1;
		min-height: unset;
	}

	.news_list li .text .detail {
	    -webkit-line-clamp: 2;
	    min-height: unset;
	}

	.news_list li .text .date {
		/*text-align: left;*/
	}

}

@media (max-width: 559px ){

	.news_list li {
		margin-bottom: 3rem;
	}

	.news_list li .image{
		max-width: 16rem;
		min-width: 16rem;
	}

	.news_list li .text .title {
		font-size: 1.6rem;
		min-height: unset;
		margin-bottom: 0.8rem;
	}

	.news_list li .text .detail {
		font-size: 1.3rem;
		margin-bottom: 1rem;
		min-height: unset;
		-webkit-line-clamp: 2;
	}

	.news_list li .text .date {
		text-align: right;
	}

	.news_list li .text .category {
	    width: 100%;
	    margin-right: 0;
	    text-align: left;
	    margin-bottom: 0.0rem;
	}

}

/*-----------------------------------------------------------*/

#top_about{
	background: url(../img/top/about_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	z-index: -5;
	height: 100vh;
}

.top_about_area{
	max-width: 50rem;
	color: #fff;
}

.top_about_area h3{
	font-size: 3.0rem;
	font-weight: 700;
	margin-bottom: 5rem;
	line-height: 1.8;
}

.top_about_area p{
	margin-bottom: 4rem;
}

.top_about_area .top_about_area_br{
	
}

.top_about_area .top_about_area_br_p{
	display: none;
}

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

	#top_about{
		height: 90rem;
		/*eight: 100svh;*/
		height: 100vh;
	}

}

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

	#top_about{
		/*height: 90rem;*/
	}

	#top_about #container section.default{
		padding-top: 10rem;
		padding-bottom: 10rem;
	}

	#top_about hgroup{
		margin-bottom: 4rem;
	}

	.top_about_area {
		max-width: 75rem;
	}

	.top_about_area h3 {
		margin-bottom: 3rem;
	}

	.top_about_area .top_about_area_br {
		display: none;
	}

	.top_about_area .top_about_area_br_p{
		display: block;
	}

}

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

	#top_about{
		background: none;
		/*height: 86rem;*/
		height: 82rem;
		/*height: auto;*/
	}

	#top_about #container section.default{
		padding-top: 12rem;
		padding-bottom: 12rem;
	}

	#top_about hgroup{
		margin-bottom: 6rem;
	}

	.top_about_area {
		max-width: 50rem;
	}

	.top_about_area h3 {
		margin-bottom: 5rem;
	}

	.top_about_area .top_about_area_br {
		display: block;
	}

	.top_about_area .top_about_area_br_p{
		display: none;
	}

}

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

	#top_about{
		/*height: 82rem;*/
		height: 76.8rem;
	}

}

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

	#top_about{
		/*height: 75rem;*/
		height: auto;
	}

}

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

	#top_about{
		/*height: 70rem;*/
		height: auto;
	}

	#top_about hgroup{
		margin-bottom: 4rem;
	}

	.top_about_area h3{
		font-size: 2.5rem;
		margin-bottom: 3rem;
	}

	.top_about_area p{
		font-size: 1.5rem;
	}

	.top_about_area + div.bt{
		margin-left: auto;
		margin-right: auto;
	}

	.top_about_area .top_about_area_br{
		display: none;
	}

}

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

	#top_about{
		/*height: 67rem;*/
	}

}

/*-----------------------------------------------------------*/

.top_service{
	display: flex;
	padding-right: 4rem;
}

.top_service .image{
	margin-right: 12rem;
	position: relative;
	overflow: hidden;
	/*z-index: -1;*/
}

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

	.top_service .image{
		margin-right: 8rem;
	}

}

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

	#top_service_list{
		margin-top: -12rem;
	}

	.top_service{
		flex-wrap: wrap;
		flex-direction: column-reverse;
		padding-right: 0;
	}

	.top_service .top_recruit_box .top_recruit_text{
		margin-left: 4rem;
		margin-right: 4rem;
	}

	.top_service .image {
		margin-right: 0;
		margin-bottom: 4rem;

		overflow: hidden;
		height: 50rem;
	}
	.top_service .top_recruit_box .image {
		height: auto;
	}

	.top_service .image .swiper_base{
		top: -10rem;
	}
	.top_service .top_recruit_box .image .swiper_base{
		top: auto;
	}

	.top_service .text{
		padding-left: 4rem;
		padding-right: 4rem;
	}

}

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

	.top_service {
		/*margin-top: -4rem;*/
		margin-top: 0;
		padding-right: 0;
	}

	.top_service .image {
		margin-right: 0;
		margin-bottom: 5rem;
		height: auto;
	}

	.top_service .image .swiper_base {
		top: 0;
	}

	.top_service .text{
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

/*-----*/

.top_service_area{
	max-width: 50rem;
}

.top_service_area h3{
	font-size: 3.0rem;
	font-weight: 700;
	margin-bottom: 5rem;
	line-height: 1.8;
}

.top_service_area p{
	margin-bottom: 4rem;
}

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

	.top_service_area h3 .top_service_area_br{
		display: none;
	}

}

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

	.top_service_area{
		max-width: none;
	}	

}

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

	.top_service_area h3 {
		font-size: 2.5rem;
		margin-bottom: 3rem;
		line-height: 1.5;
	}

	.top_service_area h3 .top_service_area_br{
		/*display: block;*/
	}

}

/*-----*/

.top_service_list{
	display: flex;
	justify-content: space-between;
	margin-top: -12vw;
}

@media (max-width: 1440px ){

	.top_service_list{
		margin-top: -2vw;
	}

}

@media (max-width: 1280px ){

	.top_service_list{
		margin-top: 4vw;
		padding-left: 4rem;
		padding-right: 4rem;
	}

}

@media (max-width: 820px ){

	.top_service_list{
		margin-top: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.top_service_list_sp{
		width: 80%;
		margin-top: -10rem;
	}

}

.top_service_list > li,
.top_service_list > div{
	width: 31.5%;
	background: rgba(255,255,255,.8);
	border: 0.1rem solid #A1CAFF;
	padding: 4rem;
	position: relative;
	border-radius: 1.5rem;
}

.top_service_list > li .category,
.top_service_list > div .category{
	position: absolute;
	top: 0;
	left: 1rem;
	writing-mode: vertical-rl;
	font-style: italic;
	font-weight: 600;
	font-size: 1.2rem;
}

.top_service_list > li .category::before,
.top_service_list > div .category::before{
	content: '―';
	font-size: 2rem;
	margin-bottom: 1rem;
}

.top_service_list > li .box,
.top_service_list > div .box{
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: #0052BE;
}

.top_service_list > li .box .icon,
.top_service_list > div .box .icon{
		margin-bottom: 3rem;
}

.top_service_list > li .box .icon span,
.top_service_list > div .box .icon span{
	font-size: 7rem;
	font-variation-settings: 'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;

}

.top_service_list > li .box h4,
.top_service_list > div .box h4{
	font-size: 3rem;
	margin-bottom: 3rem;
	font-weight: 600;
}

.top_service_list > li .box ul,
.top_service_list > div .box ul{
	margin-bottom: 1.5rem;
	font-size: 2.0rem;
}

.top_service_list > li .box ul li,
.top_service_list > div .box ul li{
	background: #E8F2FF;
	margin-bottom: 0.3rem;
	height: 5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_service_list > li .box ul li div.box{
    line-height: 0.8;
}

.top_service_list > li .box ul li div.box small{
	font-size: 1.0rem;
}

.top_service_list > li .box ul li:last-child,
.top_service_list > div .box ul li:last-child{
	margin-bottom: 0rem;
}

.top_service_list > li .box ul li.blank,
.top_service_list > div .box ul li.blank{
	background: none;
}

.top_service_list > li .box ul li.blank:empty,
.top_service_list > div .box ul li.blank:empty{
	background: none;
}

@media (max-width: 1180px ){

	.top_service_list > li,
	.top_service_list > div{
		padding: 4rem 2rem;
	}

	.top_service_list div.bt{
		width: 24rem;
	}

}

@media (max-width: 559px ){

	.top_service_list > li,
	.top_service_list > div{
		width: 31.5%;
		background: rgba(255,255,255,.8);
		border: 0.1rem solid #A1CAFF;
		padding: 2rem;
		position: relative;
		border-radius: 1.5rem;
	}

	.top_service_list > li .box .icon,
	.top_service_list > div .box .icon{
			margin-bottom: 0;
	}

}

@media (max-width: 375px ){

	.top_service_list > li .box .icon span {
		font-size: 6rem;
	}

	.top_service_list > li .box h4 {
		font-size: 2.8rem;
		margin-bottom: 2.5rem;
	}

	.top_service_list > li .box ul {
		font-size: 1.8rem;
	}

	.top_service_list > li .box ul li {
		height: 4.5rem;
	}

	.top_service_list div.bt {
		width: 20rem;
		height: 6.5rem;
	}
	
}

@media (max-width: 320px ){

	.top_service_list div.bt {
		width: 18rem;
	}

}

/*-----------------------------------------------------------*/

#top_products{
	background: url(../img/top/products_bg.jpg) no-repeat;
	background-size: cover;
}

.top_products_area{
	display: flex;
	justify-content: space-between;
}

.top_products_area .text{
	color: #fff;
}

.top_products_area .text{
	color: #fff;
}

.top_products_area .top_products_slide{
	/*width: 60%;*/
	width: 62%;
}

.top_products_area h4{
	color: #fff;
	max-width: 20rem;
	width: 100%;
}

@media (max-width: 820px ){

	.top_products_area .top_products_slide{
		width: 40%;
	}

}

@media (max-width: 559px ){

	.top_products_area {
		flex-wrap: wrap;
		margin-bottom: 7rem;
	}

	.top_products_area .top_products_slide {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}

}

.top_products_slide{
	
}

.top_products_slide .splide__slide{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.top_products_slide #splide_products{
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
}

.top_products_slide #splide_products .splide__arrow--prev{
	left: -3em;
}

.top_products_slide #splide_products .splide__arrow--next{
	right: -3em;
}

.top_products_slide #splide_products .splide__pagination{
	display: none;
}

.top_products_slide #splide_products .splide__arrow{
	background: none;
}

.top_products_slide #splide_products .splide__arrow svg{
	fill: #fff;
}

.top_products_slide #splide_products .splide__list .image{
	max-width: 20rem;
	margin-bottom: 1.8rem;
	overflow: hidden;
}

.top_products_slide #splide_products .splide__list .image a{
	display: flex;
}

.top_products_slide #splide_products .splide__list .image a:hover{
	opacity: 1;	
}

.top_products_slide #splide_products .splide__list .image a img:hover{
	opacity: 1;	
	transform:scale(1.2);
	transition: 0.3s;
}

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

	.top_products_slide #splide_products .splide__list .image{
		max-width: 18rem;
	}

	.top_products_area h4{
		max-width: 18rem;
	}

}

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

	.top_products_slide #splide_products .splide__list .image{
		max-width: 16rem;
	}

	.top_products_area h4{
		max-width: 16rem;
	}

}

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

	.top_products_slide #splide_products .splide__list .image{
		max-width: 20rem;
	}

	.top_products_area h4{
		max-width: 20rem;
	}

	.top_products_slide #splide_products .splide__pagination{
		bottom: -2.5em;
	}

	.top_products_slide #splide_products .splide__pagination__page{
		width: 15px;
		height: 15px;
		margin: 0 1rem;
		opacity: 1;
	}

	.top_products_slide #splide_products .splide__pagination__page.is-active{
		background: #0052be;
		transform: scale(1.4);
	}

}

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

	.top_products_slide #splide_products .splide__list .image{
		max-width: 95%;
	}

	.top_products_area h4{
		max-width: 95%;
	}

	.top_products_slide #splide_products .splide__pagination{
		display: flex;
	}

}

/*-----*/

.top_products_text{
	max-width: 37rem;
}

.top_products_text h3{
	font-size: 3.0rem;
	font-weight: 700;
	margin-bottom: 5rem;
	line-height: 1.8;
}

.top_products_text p{
	margin-bottom: 4rem;
}

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

	.top_products_text h3{
		font-size: 2.5rem;
		margin-bottom: 3rem;
		line-height: 1.5;
	}

}

/*---*/

.top_products_list{
	/*padding-left: 5rem;*/
	/*padding-right: 5rem;*/
}

/*-----------------------------------------------------------*/

#top_recruit_image{

}

@media (max-width: 1280px ){

	#top_recruit_image .center {
		padding-left: 8rem;
		padding-right: 8rem;
	}

}

@media (max-width: 559px ){

	#top_recruit_image .center {
		padding-left: 2rem;
		padding-right: 2rem;
	}

}

#top_recruit{
	background: url(../img/top/recruit_bg.jpg) no-repeat;
	background-size: cover;
	margin-top: -28rem;
}

@media (max-width: 1280px ){

	#top_recruit{
		margin-top: -23rem;
	}

}

@media (max-width: 820px ){

	#top_recruit{
		margin-top: -15rem;
	}

	#top_recruit_image .scroll-list{
		margin-top: -5rem;
	}

	#top_recruit .bt{
		margin-left: auto;
		margin-right: auto;
	}

}

@media (max-width: 559px ){

	#top_recruit{
		margin-top: -10rem;

		background: url(../img/top/recruit_bg_sp.jpg) no-repeat;
		background-size: cover;
	}
	
	#top_recruit .top_recruit_text{
		margin-left: 2rem;
		margin-right: 2rem;
	}

}

/*-----------------------------------------------------------*/

.scroll-list {
	display: flex;
	list-style: none;
	padding-inline: 0;
	margin-inline: 0;
	gap: 0;
	overflow: hidden;
	margin-top: -11rem;
}

.scroll-list li {
	/*color: #1C1C1C;*/
	color: #EEEEEE;
	font-size: 3em;
	font-style: italic;
	font-weight: bold;
	white-space: nowrap;
	padding: 0 1em 0 0;
	margin: 0;
	animation: marquee-left 16s linear infinite;
	mix-blend-mode: difference;
}

.scroll-list li span{
	/*color: #0052BE;*/
	color: #EB8500;
	
}

@media (max-width: 1180px ){

	.scroll-list {
		margin-top: -8rem;
	}

}

@media (min-width: 600px ) {
	.scroll-list li {
		font-size: 8vw;
	}
}

@media (max-width: 559px ){

	.scroll-list {
		margin-top: -5.5rem;
	}

	.scroll-list li {
		font-size: 4em;
	}
	

}

@keyframes marquee-left {
	100% {
		transform: translateX(-100%);
	}
}

/*-----------------------------------------------------------*/

.contact_banner{
	background: #0052BE;
	display: flex;
	align-items: center;
}

.contact_banner .image{
	max-width: 40rem;
    min-width: 40rem;
}

.contact_banner > .text{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	padding: 2rem 6rem;
}

.contact_banner > .text .bt_square{
	aspect-ratio: 1;
	background: url(../img/top/contact_bt_off.png) no-repeat;
	background-size: cover;
	width: 19rem;
	transition: .5s;
}

.contact_banner > .text .bt_square:hover{
	background: url(../img/top/contact_bt_on.png) no-repeat;
	background-size: cover;
	transform: rotate(180deg);
}

.contact_banner > .text .bt_square a{
	display: flex;
	justify-content: center;
	align-items: center;

	width: 100%;
	height: 100%;
	color: #fff;
}

.contact_banner > .text .bt_square a:hover{
	opacity: 1;
}

.contact_banner > .text .bt_square:hover a{
	color: #0052BE;
	transform: rotate(-180deg);
}

.contact_banner > .text .bt_square a .box{
	text-align: center;
	/*margin-top: -3rem;*/
}

.contact_banner > .text .bt_square a .box .icon{
	margin-top: 0.5rem;
}

.contact_banner > .text .bt_square a .box .icon span{
	font-size: 3rem;
}

.contact_banner > .text .bt_square a .box .icon img{
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
	opacity: 1;
	max-width: 40%;
	transition: none;
}

.contact_banner > .text .bt_square a:hover .box .icon img{
	/*filter: brightness(0) saturate(100%) invert(29%) sepia(99%) saturate(5392%) hue-rotate(223deg) brightness(118%) contrast(142%);*/
	filter: none;
	opacity: 1;
}

.contact_banner > .text .bt_square a .box .text{
	font-family: "Poppins", sans-serif;
	font-size: 2rem;
	font-style: italic;
	font-weight: 600;
	letter-spacing: 0.1rem;
}

.contact_banner > .text .bt_square a .box .arrow{
	position: relative;
}

.contact_banner > .text .bt_square a .box .arrow::after{
	content: '\025b6';
	position: absolute;
	right: 43%;
	left: 43%;
	font-style: normal;
}

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

	.contact_banner .image{
		
	}

}

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

	.contact_banner .image{
		max-width: 35rem;
		min-width: 35rem;
	}

	.contact_banner > .text{
		padding: 2rem 4rem;
	}

	.contact_banner > .text .bt_square{
		transition: 0s;
	}

	.contact_banner > .text .bt_square a {
		transition: 0s;
	}

	.contact_banner > .text .bt_square:hover{
		transition: 0s;
		transform: none;
	}

	.contact_banner > .text .bt_square:hover a {
		transform: none;
		transition: 0s;
	}

	.contact_banner > .text .bt_square:hover a .box .icon img{
		-webkit-filter: unset;
		filter: unset;
	}

}

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

	.contact_banner .image{
		max-width: 32rem;
		min-width: 32rem;
	}

}

@media ( max-width: 820px ){

	.contact_banner {
		flex-wrap: wrap;
	}

	.contact_banner .image {
		display: none;
	}

	.contact_banner > .text {
		max-width: 48rem;
		flex-wrap: wrap;
		padding: 5rem 2rem;
	}

	.contact_banner > .text .text_area{
		margin-bottom: 3rem;
	}

	.contact_banner > .text .bt_square{
		width: 100%;
		height: 10rem;

		aspect-ratio: 1;
		background: none;
		background-size: cover;
		transition: .5s;
	}

	.contact_banner > .text .bt_square a {
		border: 0.1rem solid #fff;
		position: relative;
		transition: 0s;
	}
	
	.contact_banner > .text .bt_square:hover{
		background: none;
		background-size: cover;
		transform: none;
	}

	.contact_banner > .text .bt_square:hover a{
		transform: none;
	}

	.contact_banner > .text .bt_square a:hover{
		background: #fff;
	}

	.contact_banner > .text .bt_square a .box {
		text-align: center;
		margin-top: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		/*width: 50%;*/
		/*width: 40%;*/
	}

	.contact_banner > .text .bt_square a:hover .box {
		color: #0052be;
	}

	.contact_banner > .text .bt_square a .box .icon {
		margin-bottom: 0;
		line-height: 0;
		max-width: 25%;
		position: absolute;
		right: 2rem;
		top: 0;
		bottom: 0;
		margin: auto 0;
		height: max-content;
	}

	.contact_banner > .text .bt_square a .box .icon span {
		font-size: 3.5rem;
	}

	.contact_banner > .text .bt_square a .box .arrow::after {
		position: relative;
		left: 0;
	}
}

@media ( max-width: 820px ){

	.contact_banner > .text .text_area hgroup{
		text-align: center;
	}

	.contact_banner > .text .bt_square a .box .icon img{
		width: 5.0rem;
		max-width: 60%;
	}

}

@media ( max-width: 559px ){

	.contact_banner > .text .bt_square a .box {
		width: auto;
	}

	.contact_banner > .text .text_area p{
		font-size: 1.5rem;
	}

	.contact_banner > .text .bt_square a .box .icon img {
		max-width: 55%;
	}

}


/*-----------------------------------------------------------*/

#top_service_list{

}

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

	#top_service_list{
		margin-top: -18rem;
		width: 70%;
		margin-left: 15%;
		margin-right: 15%;
		margin-bottom: 4rem;
	}

	#top_service_list .splide__arrow--prev{
		left: -3em;
		background: none;
	}

	#top_service_list .splide__arrow--next{
		right: -3em;
		background: none;
	}

	/*---*/

	.top_service_list > li,
	.top_service_list > div{
		width: 31.5%;
		background: none;
		border: none;
		padding: 0 4rem;
		position: relative;
		border-radius: 1.5rem;
	}

	.top_service_list .inside{
		background: rgba(255,255,255,.8);
		border: 0.1rem solid #A1CAFF;
		padding: 4rem;
		position: relative;
		border-radius: 1.5rem;
	}

	#top_service_list .splide__pagination{
		bottom: -2.5em;
	}

	#top_service_list .splide__pagination__page{
		width: 15px;
		height: 15px;
		margin: 0 1rem;
		opacity: 1;
	}

	#top_service_list .splide__pagination__page.is-active{
		background: #0052be;
		transform: scale(1.4);
	}

}

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

	#top_service_list {
		margin-top: -12rem;
		width: 80%;
		margin-left: 10%;
		margin-right: 10%;
	}

	#top_service_list .splide__arrow--prev{
		left: -2.2em;
	}

	#top_service_list .splide__arrow--next{
		right: -2.2em;
	}

	.top_service_list > li, .top_service_list > div {
		padding: 0 0rem;
	}

	.top_service_list .inside{
		padding: 3rem 2rem;
	}

}

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

	#top_service_list .splide__arrow--prev{
		left: -2.0em;
	}

	#top_service_list .splide__arrow--next{
		right: -2.0em;
	}

}

/*---*/
/*
.splide__arrow{
	background: none;
}

.splide__list .splide__slide{
	
}

.splide__list .image{
	max-width: 20rem;
	margin-bottom: 1rem;
}

.top_products_area .splide__arrow svg{
	fill: #fff;
}

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

	.splide__list{
		width: 80%;
	}

	.splide__pagination{
		bottom: -1.5em;
	}

	.top_products_area .slide.move{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.splide__list .image{
		max-width: 28rem;
		margin-bottom: 1rem;
	}

*/

/*
	.splide__arrow--prev {
		left: -2em;
	}

	.splide__arrow--next {
		right: -2em;
	}

}
*/
/*---*/

/*
.swiper-slide img {
  height: auto;
  width: 80%;
}
*/

.swiper-slide .box {
	height: auto;
	width: 90%;
}
  
/* top_service_list */
@media screen and (min-width: 768px) {
/*
	.swiper-button-prev, .swiper-button-next {
		display: none;
	}
*/
	.swiper-wrapper {
		display: flex;
	}
	.swiper-slide {
		width: calc(33.333% - 16px);
	}
}

/* Swiper */

.swiper-slide {
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	-webkit-animation: zoomUp 10s linear 0s;
	animation: zoomUp 10s linear 0s; /* 10秒かけて拡大 */
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.swiper_base .slide-img {
	background-size: cover; 
	background-position: center center;
	width: 100%;
}

.swiper_base.wide .slide-img {
	height: 100vh;
}
/*
.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(1) .slide-img {
	background-image: url('../img/top/top_mv01.jpg');
}

.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(2) .slide-img {
	background-image: url('../img/top/top_mv02.jpg');
}

.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(3) .slide-img {
	background-image: url('../img/top/top_mv03.jpg');
}

.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(4) .slide-img {
	background-image: url('../img/top/top_mv04.jpg');
}

.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(5) .slide-img {
	background-image: url('../img/top/top_mv05.jpg');
}
*/
.top_service .swiper_base .slide-img {
	/*height: clamp(53rem, 20vw, 75rem);*/
	height: 75rem;
}

#top_recruit .top_service .swiper_base .slide-img {
	/*height: clamp(37rem, 2vw, 53rem);*/
	height: 53rem;
}

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

	#top_about .swiper_base.wide {
		height: 82rem;
	}

	#top_about .swiper_base.wide .swiper-wrapper{
		height: 82rem;
	}

	#top_about .swiper_base.wide .slide-img {
		height: 82rem;
	}

}

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

	#top_about .swiper_base.wide .slide-img {
		height: 76.8rem;
	}

	.top_service .swiper_base .slide-img {
		height: 48rem;
	}

	#top_recruit .top_service .swiper_base .slide-img {
		height: 34rem;
	}

}

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

	#top_about .swiper_base.wide .slide-img {
		height: 75vh;
	}

	.top_service .swiper_base .slide-img {
		height: 64rem;
	}

	#top_recruit .top_service .swiper_base .slide-img {
		height: 46rem;
	}

}

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

	#top_about .swiper_base.wide .slide-img {
		height: 100vh;
	}

	.top_service .swiper_base .slide-img {
		height: 34rem;
	}

	#top_recruit .top_service .swiper_base .slide-img {
		height: 24rem;
	}
/*
	.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(1) .slide-img {
		background-image: url('../img/top/top_mv01_sp.jpg');
	}
	
	.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(2) .slide-img {
		background-image: url('../img/top/top_mv02_sp.jpg');
	}
	
	.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(3) .slide-img {
		background-image: url('../img/top/top_mv03_sp.jpg');
	}

	.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(4) .slide-img {
		background-image: url('../img/top/top_mv04_sp.jpg');
	}

	.swiper_base.wide .swiper-wrapper .swiper-slide:nth-child(5) .slide-img {
		background-image: url('../img/top/top_mv05_sp.jpg');
	}
*/

}

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

	#top_about .swiper_base.wide .slide-img {
		height: 120vh;
	}

}

/* Swiper-zoom */
@-webkit-keyframes zoomUp {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
}
@keyframes zoomUp {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
}

/*-----------------------------------------------------------*/

@media (max-width: 1440px ){

}

@media (max-width: 1180px ){

}

@media (max-width: 1024px ){

}

@media ( max-width: 820px ){

}

@media ( max-width: 767px ){

}

@media ( max-width: 559px ){

}

@media (max-width: 375px ){

}

/*-----------------------------------------------------------*/

/*-----------------------------------------------------------*/

/*-----------------------------------------------------------*/
/*--*/

/*-----------------------------------------------------------*/
/*--*/

