@charset "utf-8";
/* CSS Document */

.cate_wrap .cate1{
	position: relative;
	overflow: hidden;
}
.cate_wrap .cate1 .bg_item{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	opacity: 0.2;
	z-index: 1;
}
body.gjs-dashed .cate_wrap .cate1 .bg_item{
	position: static;
	opacity: 1;
}
body:not(.gjs-dashed) .cate_wrap .cate1 .bg_item::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	background: #ffffff;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 95%);
}
.cate_wrap .cate1 .box{
	position: relative;
	z-index: 4;
	gap: 80px;
}
.cate_wrap .cate1 .box .imgbox,.cate_wrap .cate1 .box .txtbox{
	width: calc(100% / 2 - 80px / 2);
}
.cate_wrap .cate1 .bubble_item{
	position: absolute;
	top: 10%;
	left: 5%;
	width: 90%;
	justify-content: space-between;
	pointer-events: none;
	z-index: 5;
}
.cate_wrap .cate1 .bubble_item img{
	width: 30%;
}

.cate_wrap .cate2 .boxwrap{
	gap: 30px;
	align-items: stretch;
}
.cate_wrap .cate2 .boxwrap .box{
	width: calc(100% / 3 - 60px / 3);
	color: #fff;
	padding: 40px;
	gap: 20px;
}
.cate_wrap .cate2 .boxwrap .box:nth-of-type(1){
	background-color: #2BBFC6;
}
.cate_wrap .cate2 .boxwrap .box:nth-of-type(2){
	background-color: #EB3677;
	animation-delay: 0.3s;
}
.cate_wrap .cate2 .boxwrap .box:nth-of-type(3){
	background-color: #E8B735;
	animation-delay: 0.6s;
}
.cate_wrap .cate2 .boxwrap .box .imgbox{
	width: 50%;
	padding: 10px;
	background-color: #fff;
	border-radius: 50%;
	overflow: hidden;
}

.cate_wrap .cate3{
	background-color: #EDEEF2;
}
.cate_wrap .cate3 .boxwrap{
	flex-direction: column;
	gap: 30px;
}
.cate_wrap .cate3 .boxwrap .box{
	width: 100%;
	background-color: #fff;
	justify-content: flex-start;
	padding: 50px 40px;
}
.cate_wrap .cate3 .boxwrap .box .icon{
	width: 50px;
}
.cate_wrap .cate3 .boxwrap .box .entxt{
	width:  clamp(100px,18vw,200px);
	font-size: clamp(26px,3.2vw,40px);
	padding: 0 20px;
}
.cate_wrap .cate3 .boxwrap .box:nth-of-type(1) .entxt::first-letter{color: #2BBFC6;}
.cate_wrap .cate3 .boxwrap .box:nth-of-type(2) .entxt::first-letter{color: #EB3677;}
.cate_wrap .cate3 .boxwrap .box:nth-of-type(3) .entxt::first-letter{color: #E8B735;}
.cate_wrap .cate3 .boxwrap .box .txtbox{
	width: calc(100% - 50px - clamp(100px,18vw,200px));
}

.cate_wrap .cate4{
	background-color: #DD3434;
}
.cate_wrap .cate4 .contents{
	background-color: #fff;
	padding: 5%;
}
.cate_wrap .cate4 .contents .logo{
	width: 30%;
	max-width: 260px;
}
.cate_wrap .cate4 .contents .rightbox{
	width: 70%;
	padding-left: 5%;
}
.cate_wrap .cate4 .contents .itembox{
	flex-direction: column;
	gap: 5px;
}
body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on > div{
	opacity:0;
	transform: translateY(50px);
	-ms-filter: blur(6px);
	filter: blur(6px);
}
body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div{
	animation-name: blurin2;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(1){
	animation-delay: 0.4s;
}
body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(2){
	animation-delay: 1.0s;
}
body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(3){
	animation-delay: 1.6s;
}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.cate_wrap .cate1 .box{
		gap: 60px;
	}
	.cate_wrap .cate1 .box .imgbox,.cate_wrap .cate1 .box .txtbox{
		width: calc(100% / 2 - 60px / 2);
	}
	.cate_wrap .cate2 .boxwrap .box .imgbox{
		width: 60%;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate_wrap .cate1 .box{
		gap: 50px;
	}
	.cate_wrap .cate1 .box .imgbox,.cate_wrap .cate1 .box .txtbox{
		width: calc(100% / 2 - 50px / 2);
	}
	.cate_wrap .cate2 .boxwrap{
		gap: 20px;
	}
	.cate_wrap .cate2 .boxwrap .box{
		width: calc(100% / 3 - 40px / 3);
		padding: 30px 20px;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.cate_wrap .cate1 .box{
		gap: 40px;
	}
	.cate_wrap .cate1 .box .imgbox,.cate_wrap .cate1 .box .txtbox{
		width: calc(100% / 2 - 40px / 2);
	}
	.cate_wrap .cate2 .boxwrap .box{
		padding: 30px 15px;
	}
	.cate_wrap .cate2 .boxwrap .box .imgbox{
		width: 70%;
	}
	.cate_wrap .cate3 .boxwrap .box{
		padding: 30px 20px;
	}
	.cate_wrap .cate3 .boxwrap .box .icon{
		width: 40px;
	}
	.cate_wrap .cate3 .boxwrap .box .entxt{
	}
	.cate_wrap .cate3 .boxwrap .box .txtbox{
		width: calc(100% - 40px - clamp(100px,18vw,200px));
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate_wrap .cate1 .box{
		gap: 30px;
	}
	.cate_wrap .cate1 .box .imgbox{
		width: 70%;
	}
	.cate_wrap .cate1 .box .txtbox{
		width: 100%;
	}
	.cate_wrap .cate1 .bubble_item{
		top: 50%;
		left: 5%;
		width: 90%;
		justify-content: space-between;
		pointer-events: none;
	}
	.cate_wrap .cate1 .bubble_item img{
		width: 30%;
	}
	.cate_wrap .cate2 .boxwrap{
		gap: 20px;
	}
	.cate_wrap .cate2 .boxwrap .box{
		width: 100%;
		padding: 20px 20px;
	}
	.cate_wrap .cate2 .boxwrap .box:nth-of-type(2){
		animation-delay: 0s;
	}
	.cate_wrap .cate2 .boxwrap .box:nth-of-type(3){
		animation-delay: 0s;
	}
	.cate_wrap .cate2 .boxwrap .box .imgbox{
		width: 50%;
	}
	.cate_wrap .cate3 .boxwrap{
		gap: 20px;
	}
	.cate_wrap .cate3 .boxwrap .box{
		flex-direction: column;
		padding: 30px 20px;
		gap: 10px;
	}
	.cate_wrap .cate3 .boxwrap .box .icon{
		width: 40px;
	}
	.cate_wrap .cate3 .boxwrap .box .entxt,.cate_wrap .cate3 .boxwrap .box .txtbox h3{
		width: 100%;
		text-align: center;
	}
	.cate_wrap .cate3 .boxwrap .box .txtbox{
		width: 100%;
	}
	.cate_wrap .cate4 .contents{
		padding: 30px 20px;
		gap: 30px;
	}
	.cate_wrap .cate4 .contents .logo{
		width: 50%;
	}
	.cate_wrap .cate4 .contents .rightbox{
		width: 100%;
		padding-left: 0;
		gap: 20px;
	}
	body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(1){
		animation-delay: 0.3s;
	}
	body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(2){
		animation-delay: 0.8s;
	}
	body:not(.gjs-dashed) .cate_wrap .cate4 .contents.on.active > div:nth-of-type(3){
		animation-delay: 1.1s;
	}
}

/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

