@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-XXX */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.noto {
	font-family: "Noto Sans JP", sans-serif;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.comBox {
	margin: 0 auto;
	max-width: 1340px;
	padding: 0 20px;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 12px;
	color: #07be85;
	font-size: 4rem;
	line-height: 1.3;
}
.headLine01 small {
	margin-left: 12px;
	font-size: 3.2rem;
}
.headLine01 span {
	margin-bottom: 14px;
	display: block;
}
.headLine01 img {
	height: 68px;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 13px;
	}
}
/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
	margin-bottom: 120px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
}
.comImgBox .photoBox {
	width: calc(50% - 110px);
	position: relative;
}
.comImgBox .photoBox::before {
	width: calc(100% - 40px);
	height: calc(100% + 80px);
	position: absolute;
	left: 40px;
	top: -40px;
	box-sizing: border-box;
	border: 3px solid #FFF000;
	border-right: none;
	border-right: none;
	border-radius: 60px 0 0 60px;
	content: '';
	z-index: -1;
}
.comImgBox .photoBox img {
	width: 100%;
	border-radius: 60px 0 0 60px;
}
.comImgBox .textBox {
	margin: 38px 50px 0 0;
	padding-left: 50px;
	width: 640px;
	position: relative;
	box-sizing: border-box;
}
.comImgBox .textBox::before {
	width: 396px;
	height: 396px;
	position: absolute;
	left: 0;
	top: -2px;
	background: url(../img/index/bg01.png) no-repeat center center / 100% 100%;
	content: '';
	z-index: -1;
}
.comImgBox .textBox .text {
	margin-left: 41px;
	font-weight: 400;
	line-height: 2.1;
}
.comImgBox .textBox .text span {
	font-weight: 600;
}
.comImgBox .textBox .pho {
	width: 141px;
	position: absolute;
	left: -140px;
	bottom: 5px;
}
@media all and (max-width: 896px) {
	.comImgBox {
		margin-bottom: 69px;
		display: block;
	}
	.comImgBox .photoBox {
		margin-left: auto;
		width: calc(100% - 20px);
	}
	.comImgBox .photoBox::before {
		width: calc(100% - 19px);
		height: calc(100% + 36px);
		left: 19px;
		top: -18px;
	}
	.comImgBox .photoBox img {
		width: 100%;
		border-radius: 60px 0 0 60px;
	}
	.comImgBox .textBox {
		margin: 0 20px 56px;
		padding-left: 0;
		width: auto;
	}
	.comImgBox .textBox .headLine01 {
		padding-left: 46px;
	}
	.comImgBox .textBox .text {
		margin-left: 0;
		line-height: 2;
	}
	.comImgBox .textBox .pho {
		width: 116px;
		left: auto;
		right: -21px;
		bottom: auto;
		top: -16px;
	}
}
@media all and (max-width: 427px) {
	.comImgBox .textBox::before {
		width: 100%;
		height: 0;
		padding-bottom: 100%;
	}
	#main .sec02 .comImgBox .textBox::before {
		width: calc(100% - 30px);
		height: calc(100vw - 30px);
		padding-bottom: 0;
	}
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(200px);
	transform: translateY(200px);
    transition: 1000ms;
}
.fadeInUp.on {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}