@charset "utf-8";
/*------------------------------------------------------------
	training
------------------------------------------------------------*/
#main .topText {
	margin-bottom: 7rem;
	text-align: center;
	line-height: 2;
}
#main .sec01 {
	padding: 7.9rem 0 10rem;
	background-color: #F2F2F2;
}
#main .headLine04 {
	margin-bottom: 3.2rem;
	padding-bottom: 1.5rem;
	font-size: 2.2rem;
	font-weight: 400;
}
#main .headLine04 .sub {
	padding: 0 1rem;
}
#main .headLine04 .bg {
	padding: 0.7rem 2rem;
	color: #fff;
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	border-radius: 0.5rem;
	background: linear-gradient(90deg, #A2DB00 0%, #007EC0 50%, #7556F0 100%), #000;
	overflow: hidden;
	vertical-align: -0.6rem;
}
#main .hTtl {
	margin-bottom: 2.1rem;
	text-align: center;
	font-size: 3.2rem;
}
#main .sec01 .text {
	margin-bottom: 5rem;
	text-align: justify;
	line-height: 2;
}
#main .whiteBg {
	padding: 6.3rem 10rem 7rem;
	background-color: #fff;
	border-radius: 2rem;
}
#main .sec01 .whiteBg h4 {
	margin: 0 auto 1.1rem;
	width: fit-content;
	text-align: center;
	font-size: 2.6rem;
	background-image: linear-gradient(to right, #A2DB00 0%, #007EC0 50%, #7556F0 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#main .sec01 .whiteBg > .txt {
	margin-bottom: 7rem;
	line-height: 2;
	text-align: justify;
}
#main .sec01 .whiteBg .infoBox {
	padding: 0 5rem 4rem;
	border-radius: 1rem;
	border: 1px dashed #000;
}
#main .sec01 .whiteBg .infoBox .tag {
	padding: 0.4rem 2rem;
	margin: -2rem auto 2.3rem;
	width: fit-content;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	background-color: #000;
	border-radius: 10rem;
}
#main .sec01 .whiteBg .infoBox .txt {
	text-align: justify;
	line-height: 2;
}
#main .arrow {
	position: relative;
	z-index: 1;
}
#main .arrow::after {
	width: 16rem;
	height: 4rem;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	background: url(../img/common/icon17.png) no-repeat left top / 100%;
}
#main .arrow.white::after {
	background-image: url(../img/common/icon18.png);
} 
#main .sec02 {
	padding: 10rem 0;
	background-color: #fff;
}
#main .sec02 .hTtl {
	margin-bottom: 4.3rem;
}
#main .sec02 .imgBox {
	margin-bottom: 7.2rem;
}
#main .sec02 .imgBox .textBox {
	width: calc(100% - 51rem);
}
#main .sec02 .imgBox .textBox p {
	text-align: justify;
	line-height: 2;
}
#main .sec02 .imgBox .photoBox {
	width: 45.5rem;
	border-radius: 2rem;
	overflow: hidden;
}
#main .sec02 .hTtl01 {
	margin-bottom: 2.2rem;
}
#main .sec02 .content > .text {
	margin-bottom: 5rem;
	line-height: 2;
}
#main .sec02 .infoBox {
	padding: 7.2rem 10rem 7.9rem;
	background-color: #fff;
	border-radius: 2rem;
	border: 1px dashed #000;
}
#main .sec02 .infoBox .imgBox {
	margin-bottom: 4.1rem;
	padding-bottom: 4.8rem;
	border-bottom: 0.2rem dotted #000;
}
#main .sec02 .infoBox .txtBox {
	width: calc(100% - 39rem);
}
#main .sec02 .infoBox .txtBox .ttl {
	margin-bottom: 1.5rem;
	width: fit-content;
	font-size: 2.6rem;
	font-weight: 700;
	background-image: linear-gradient(to right, #A2DB00 0%, #007EC0 50%, #7556F0 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#main .sec02 .infoBox .txtBox .txt {
	line-height: 2;
	text-align: justify;
}
#main .sec02 .infoBox .phoBox {
	margin-top: 0.8rem;
	width: 34rem;
}
#main .sec02 .infoBox .phoBox .pho {
	margin-bottom: 1rem;
	border-radius: 2rem;
	overflow: hidden;
}
#main .sec02 .infoBox .phoBox .txt {
	font-size: 1.4rem;
	text-align: justify;
	line-height: 1.8;
}
#main .sec02 .infoBox .imgBox:nth-of-type(2n) {
	flex-direction: row-reverse;
}
#main .sec02 .infoBox .imgBox:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
#main .sec03 {
	padding: 10rem 0;
	background-color: #F2F2F2;
}
#main .sec03 .text {
	margin-bottom: 5rem;
	line-height: 2;
}
#main .sec03 .whiteBg {
	padding: 8rem 10rem 7.5rem;
}
#main .sec03 .whiteBg .photoList li {
	width: 46.2%;
}
#main .sec03 .whiteBg .photoList .pho {
	margin-bottom: 1rem;
	border-radius: 2rem;
	overflow: hidden;
}
#main .sec03 .whiteBg .photoList .txt {
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: justify;
}
#main .sec04 {
	padding: 10rem 0;
}
#main .sec04 .hTtl {
	margin-bottom: 1.9rem;
}
#main .sec04 .text {
	margin-bottom: 7.3rem;
	line-height: 2;
}
#main .sec04 .infoBox {
	padding: 0 8rem 6.9rem;
	position: relative;
	border: 1px dashed #000;
	border-radius: 2rem;
	background-color: #fff;
}
#main .sec04 .infoBox .img {
	padding: 0 3rem;
	margin: -3.1rem auto 4.7rem;
	width: 12.3rem;
	background-color: #fff;
}
#main .sec04 .infoBox h4 {
	margin: 0 auto 3.5rem;
	width: fit-content;
	text-align: center;
	font-size: 2.6rem;
	line-height: 1;
	background-image: linear-gradient(to right, #A2DB00 0%, #007EC0 50%, #7556F0 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#main .sec04 .infoBox .title {
	margin-bottom: 6rem;
	padding-bottom: 5.2rem;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	border-bottom: 1px dashed #000;
}
#main .sec04 .infoBox .imgBox {
	margin-bottom: 6rem;
	align-items: flex-end;
}
#main .sec04 .infoBox .imgBox .photoBox {
	width: 44rem;
	border-radius: 2rem;
	overflow: hidden;
}
#main .sec04 .infoBox .imgBox .textBox {
	width: calc(100% - 51.9rem);
}
#main .sec04 .infoBox .imgBox .textBox .ttl {
	margin-bottom: 3.5rem;
	font-size: 1.4rem;
}
#main .sec04 .infoBox .imgBox .textBox .ttl span {
	margin-bottom: 0.9rem;
	display: block;
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
}
#main .sec04 .infoBox .imgBox .textBox .tag {
	margin-bottom: 1.4rem;
	padding: 0.5rem 2rem 0.6rem;
	width: fit-content;
	background-color: #000;
	color: #fff;
	font-weight: 500;
	border-radius: 10rem;
}
#main .sec04 .infoBox .imgBox .textBox .date {
	font-weight: 700;
}
#main .sec04 .infoBox .txt {
	line-height: 2;
	text-align: justify;
}
@media all and (max-width: 896px) {
	#main .sec01 {
		padding: 4.9rem 0;
	}
	#main .headLine04 {
		margin-bottom: 2.6rem;
		padding-bottom: 1.2rem;
		font-size: 1.8rem;
	}
	#main .headLine04 .sub {
		margin-bottom: 1rem;
	}
	#main .headLine04 .bg {
		padding: 0.3rem 1rem;
		font-size: 1.4rem;
	}
	#main .hTtl {
		margin-bottom: 1.7rem;
		font-size: 2.4rem;
	}
	#main .sec01 .text {
		margin-bottom: 5rem;
	}
	#main .whiteBg {
		padding: 2.7rem 2rem 2rem;
		border-radius: 1rem;
	}
	#main .sec01 .whiteBg h4 {
		margin-bottom: 0.7rem;
		font-size: 2rem;
	}
	#main .sec01 .whiteBg > .txt {
		margin-bottom: 5rem;
	}
	#main .sec01 .whiteBg .infoBox {
		padding: 0 2rem 2rem;
		border-radius: 1rem;
	}
	#main .sec01 .whiteBg .infoBox .tag {
		padding: 0.5rem 1rem 0.6rem;
		margin-bottom: 0.3rem;
		font-size: 1.6rem;
	}
	#main .arrow::after {
		width: 8rem;
		height: 2rem;
	} 
	#main .sec02 {
		padding: 7rem 0 5rem;
	}
	#main .sec02 .headLine04 {
		margin-bottom: 2.5rem;
		padding-bottom: 1.5rem;
		line-height: 1.25;
	}
	#main .sec02 .headLine04 .sub {
		margin-bottom: 1.2rem;
	}
	#main .sec02 .hTtl {
		margin-bottom: 1.5rem;
	}
	#main .sec02 .imgBox {
		margin-bottom: 4.3rem;
	}
	#main .sec02 .imgBox .textBox {
		margin-bottom: 3rem;
		width: auto;
	}
	#main .sec02 .imgBox .textBox p {
		font-size: 1.6rem;
	}
	#main .sec02 .imgBox .photoBox {
		width: auto;
	}
	#main .sec02 .imgBox .photoBox img {
		width: 100%;
	}
	#main .sec02 .hTtl01 {
		margin-bottom: 1.5rem;
	}
	#main .sec02 .content > .text {
		margin-bottom: 1.5rem;
		text-align: justify;
	}
	#main .sec02 .infoBox {
		padding: 2.4rem 1.9rem 2.1rem;
		border-radius: 1rem;
	}
	#main .sec02 .infoBox .imgBox {
		margin-bottom: 2.4rem;
		padding-bottom: 2.9rem;
		display: block;
	}
	#main .sec02 .infoBox .txtBox {
		width: auto;
	}
	#main .sec02 .infoBox .txtBox .ttl {
		margin-bottom: 2.1rem;
		font-size: 2rem;
	}
	#main .sec02 .infoBox .txtBox .ttl01 {
		margin-bottom: 1.5rem;
	}
	#main .sec02 .infoBox .txtBox .txt {
		margin-bottom: 3rem;
	}
	#main .sec02 .infoBox .phoBox {
		margin-top: 0;
		width: auto;
	}
	#main .sec02 .infoBox .phoBox .pho {
		margin-bottom: 1rem;
		border-radius: 1rem;
	}
	#main .sec02 .infoBox .phoBox .pho img {
		width: 100%;
	}
	#main .sec02 .infoBox .phoBox .txt {
		font-size: 1.2rem;
		line-height: 1.85;
	}
	#main .sec03 {
		padding: 5rem 0 5rem;
	}
	#main .sec03 .headLine04 {
		margin-bottom: 2.3rem;
	}
	#main .sec03 .hTtl {
		margin-bottom: 1.4rem;
	}
	#main .sec03 .text {
		margin-bottom: 3rem;
		text-align: justify;
	}
	#main .sec03 .whiteBg {
		padding: 2.4rem 2rem 2.2rem;
	}
	#main .sec03 .whiteBg .photoList {
		display: block;
	}
	#main .sec03 .whiteBg .photoList li {
		margin-bottom: 3.2rem;
		width: 100%;
	}
	#main .sec03 .whiteBg .photoList li:last-child {
		margin-bottom: 0;
	}
	#main .sec03 .whiteBg .photoList .pho {
		border-radius: 1rem;
	}
	#main .sec03 .whiteBg .photoList .pho img {
		width: 100%;
	}
	#main .sec03 .whiteBg .photoList .txt {
		font-size: 1.2rem;
	}
	#main .sec04 {
		padding: 5rem 0;
	}
	#main .sec04 .headLine04 {
		margin-bottom: 2.3rem;
	}
	#main .sec04 .hTtl {
		margin-bottom: 1.4rem;
	}
	#main .sec04 .text {
		margin-bottom: 5.2rem;
		text-align: justify;
	}
	#main .sec04 .infoBox {
		padding: 0 1.9rem 2rem;
		border-radius: 1rem;
	}
	#main .sec04 .infoBox .img {
		padding: 0 1.1rem;
		margin: -2.3rem auto 1rem;
		width: 6.3rem;
	}
	#main .sec04 .infoBox h4 {
		margin-bottom: 1rem;
		font-size: 2rem;
		line-height: 1.3;
	}
	#main .sec04 .infoBox .title {
		margin-bottom: 3rem;
		padding-bottom: 3rem;
		text-align: left;
		font-size: 2.2rem;
	}
	#main .sec04 .infoBox .imgBox {
		margin-bottom: 3rem;
		display: block;
	}
	#main .sec04 .infoBox .imgBox .photoBox {
		margin-bottom: 3rem;
		width: auto;
		border-radius: 1rem;
	}
	#main .sec04 .infoBox .imgBox .textBox {
		width: auto;
	}
	#main .sec04 .infoBox .imgBox .textBox .ttl {
		margin-bottom: 2rem;
		font-size: 1.2rem;
	}
	#main .sec04 .infoBox .imgBox .textBox .ttl span {
		margin-bottom: 0;
		font-size: 1.8rem;
	}
	#main .sec04 .infoBox .imgBox .textBox .tag {
		margin-bottom: 1rem;
		padding: 0.6rem 1rem 0.7rem;
	}
}