/* slide */
.slide_container div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	height: 100vh;
	margin: 0;
}
.slide_container div.img01 {
	background-image: url(../img/top/mainimg01.jpg);
}
.slide_container div.img02 {
	background-image: url(../img/top/mainimg02.jpg);
}
.slide_container div.img03 {
	background-image: url(../img/top/mainimg03.jpg);
}
.slide_container div.img04 {
	background-image: url(../img/top/mainimg04.jpg);
}
.slide_container div.img05 {
	background-image: url(../img/top/mainimg05.jpg);
}

.container {
	max-width: 1500px;
}
h2.catch_copy {
	font-size: clamp(1.5rem, -2.224rem + 7.76vw, 2.625rem);
/*	background: linear-gradient(90deg, #ff3000 0%, #ffa800 64%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;*/
	color: #fff;
	margin-bottom: 50px;
}
#business h2 {
	color: #004ca0;
	font-size: clamp(1.5rem, -1.397rem + 6.03vw, 2.375rem);
	margin-bottom: 30px;
}
h3 {
	font-size: clamp(1.5rem, -0.569rem + 4.31vw, 2.125rem);
	margin-bottom: 30px;
}
.flex {
	display: flex;
}
#catch_business {
	background-image: url('../img/top/back_catch.png');
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 100%;
}
#catch {
	padding: 138px 48px 0;
}
h2.catch_copy + p {
	color: #fff;
}
#business {
	margin-top: 160px;
}
#business h3 {
	border-bottom: 4px solid #fff;
	padding-bottom: 25px;
	margin-bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 127px;
}
#business img {
	margin-top: 60px;
	border-radius: 5px;
}
#business.container {
	background: #fff;
}
#business > h2 {
	padding: 65px 48px 0;
}
#business .flex {
	justify-content: space-between;
}
#business .flex > div {
	padding: 0 48px 0;
	width: 48%;
}
#business .flex > div > div {
	aspect-ratio: 31 / 19;
	text-align: center;
	padding: 0 45px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
#business h3 + p {
	min-height: 72px;
}
#business .flex > div > div + p,
#business .flex > div > div + p + .btn {
	display: none;
}
#business .flex > div > div .inr {
	width: 100%;
}
#business .flex > div > div .btn {
	margin: 25px auto 0;
}
#business .flex > div > img {
	margin: 40px auto 0;
}
#business .flex > div > .btn {
	margin: 42px auto 0;
}
#business .flex > div > div:has([class*="block"]) {	
	border-radius: 5px;
	background-repeat: no-repeat;
	background-size: cover;
}
#business .flex > div > div:has(.block01),
#business .flex > div > div:has(.block03) {
	margin-bottom: 25px;
}

#business .flex > div > div:has(.block01) {
	background-image: url('../img/top/2block_01.png');
}
#business .flex > div > div:has(.block02) {
	background-image: url('../img/top/2block_02.png');
}
#business .flex > div > div:has(.block03) {
	background-image: url('../img/top/2block_03.png');
}
#business .flex > div > div:has(.block04) {
	background-image: url('../img/top/2block_04.png');
}



@media screen and (max-width: 1500px) {
	.container {
		width: 95%;
	}
	#catch_business {
		background-position: top right 20%;
		background-size: auto;
	}
	#business .flex > div:last-child > div .inr p br {
		display: none;
	}
	#business .flex > div {
		width: 49%;
		padding: 65px 20px 0;
	}
	#business .flex > div > div {
		padding: 30px;
	}
}
@media screen and (max-width: 1180px) {
	#catch {
		padding: 80px 20px 0;
	}



}
@media screen and (max-width: 1091px) and (min-width: 1041px) {
	#business .flex > div > div:has(.block02) {
		height: 403px;
		aspect-ratio: auto;
}
}
@media screen and (max-width: 1040px) {
	#catch .btn {
		margin: 30px auto 0;
	}
	#catch_business {
		background-image: url('../img/top/back_catch_sp.png');
		background-position: top -20% right 20%;
		background-size: 100%;
	}
	#business h3,
	#business h3 + p {
		min-height: inherit;
	}
	#business .flex {
		display: block;
	}
	#business .flex > div {
		width: 100%;
	}
	#business .flex > div > div:has(.block02) {
		height: auto;
	}
	#business .flex > div:first-child {
		text-align: center;
	}
	#business .flex > div:first-child h2,
	#business .flex > div:first-child > p {
		text-align: left;
	}
	#business .flex > div:first-child .btn,
	#business .flex > div:first-child img {
		margin: 40px auto 0; 
		width: 100%;
	}

}
@media screen and (max-width: 768px) {
	.container {
		width: 90%;
	}
	.slide_container div {
		max-height: 538px;
	}
	#catch {
		padding: 75px 0 0;
	}
	#catch_business {
		background-position: top -12% right 20%;
	}
	h2.catch_copy {
		margin-bottom: 35px;
	}


}
@media screen and (max-width: 640px) {
	#catch_business {
		background-size: auto;
		background-position: top -7% right 20%;
	}
		
	#business .flex > div {
		padding-top: 0;
	}
	#business .flex > div:first-child {
		margin-bottom: 50px;
	}
	#business .flex > div:last-child > div {
		padding: 0 25px;
		aspect-ratio: 11 / 7;
	}
	#business .flex > div > div:has([class*="block"]) {
		margin-bottom: 25px;
	}
	#business .flex > div > div:has(.block01),
	#business .flex > div > div:has(.block02){
		background-size: 100%;
	}
	#business .flex > div > div:has(.block01) {
		margin-top: 40px;
	}
	#business .flex > div > div:has(.block02) {
		margin: 0 auto 25px;
	}
	#business .flex > div > div .inr p,
	#business .flex > div > div .inr .btn {
		display: none;
	}
	#business .flex > div > div + p,
	#business .flex > div > div + p + .btn {
		display: block;
	/*	text-align: center; */
	}
	#business .flex > div > div + p br {
		display: none;
	}
	#business .flex > div > div + p + .btn {
		margin: 30px auto 50px !important;
	}


}
@media screen and (max-width: 479px) {
	#catch_business {
		background-position: top right 45%;
	}

}