@charset "utf-8";
/*------------------------------------------------------------
	message01
------------------------------------------------------------*/
#main .introBox {
	padding: 15.5rem 0 10.4rem;
	background-color: #ebf4ec;
}
#main .introBox .imgBox {
	margin-bottom: 8.5rem;
	display: flex;
	align-items: flex-start;
	gap: 9.3rem;
}
#main .introBox .imgBox .photoBox {
	width: calc(50% - 4.7rem);
	border-radius: 0 2.78rem 2.78rem 0;
	overflow: hidden;
}
#main .introBox .imgBox .photoBox img {
	width: 100%;
}
#main .introBox .textBox {
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.788;
	font-feature-settings: "palt";
	text-align: justify;
}
#main .introBox .imgBox .textBox {
	width: 45.6rem;
}
#main .introBox .imgBox .textBox p {
	margin-bottom: 7.5rem;
}
#main .introBox .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
#main .introBox .imgBox02 {
	margin-bottom: 9.9rem;
	flex-direction: row-reverse;
}
#main .introBox .imgBox02 .photoBox {
	border-radius: 2.78rem 0 0 2.78rem;
}
#main .introBox .textInner .textBox {
	width: calc(50% - 5rem);
}
#main .introBox .textInner .headLine01 {
	min-height: 11.7rem;
	display: flex;
	align-items: flex-end;
}
#main .topicBox {
	margin: 4.4rem 0 10.5rem -4.4rem;
	display: flex;
	align-items: flex-start;
}
#main .topicBox .photoBox {
	width: 32.9rem;
}
#main .topicBox .textBox {
	margin: 4.2rem 0 0 2.4rem;
	padding: 3.9rem 4rem 3.6rem;
	border-radius: 5rem;
	flex: 1;
	background-color: #fff;
	position: relative;
}
#main .topicBox .textBox::before {
	width: 7.1rem;
	height: 5.9rem;
	content: "";
	position: absolute;
	left: -4.4rem;
	top: 8.8rem;
	background: url(../img/common/icon01.png) no-repeat left top / 100%;
}
#main .topicBox .heading {
	margin-bottom: 0.6rem;
	color: #0dac67;
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.025em;
}
#main .flowBox {
	margin-bottom: 7.7rem;
	padding: 4.3rem 0 3rem;
	background-color: #fff;
	border-radius: 2rem;
	position: relative;
}
#main .flowBox .photoBox {
	width: 33.4rem;
	position: absolute;
	right: 2.2rem;
	top: -12.3rem;
	transform: rotate(5deg);
	z-index: 1;
}
#main .flowBox .photoBox img {
	width: 100%;
}
#main .flowBox .heading {
	margin-bottom: 2.3rem;
	padding: 0.1rem 4.9rem 0.1rem 9rem;
	width: fit-content;
	color: #fff;
	font-weight: 900;
	font-size: 3rem;
	background-color: #0dac67;
	font-family: "Zen Kaku Gothic New",  sans-serif;
}
#main .flowBox .flowUl {
	margin: 0 6rem;
	display: flex;
	text-align: center;
	gap: 1rem;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	overflow: hidden
}
#main .flowBox .flowUl::before {
	height: 0.3rem;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0.7rem;
	background-color: #0dac67;
}
#main .flowBox .flowUl li {
	padding: 2.3rem 1rem 0;
	width: fit-content;
	min-width: 9rem;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.403;
	text-align: center;
	font-feature-settings: "palt";
	position: relative;
}
#main .flowBox .flowUl li:first-child::before {
	height: 1rem;
	content: "";
	position: absolute;
	top: 0;
	left: -999rem;
	right: 50%;
	background-color: #fff;
}
#main .flowBox .flowUl:last-child li:last-child::before {
	height: 1rem;
	content: "";
	position: absolute;
	top: 0;
	right: -999rem;
	left: 50%;
	background-color: #fff;
}
#main .flowBox .flowUl li::after {
	width: 1.7rem;
	height: 1.7rem;
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	border-radius: 100%;
	background-color: #0dac67;
}
#main .flowBox .flowUl .time {
	color: #0dac67;
	font-size: 2rem;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: 0.05em;
	display: block;
	font-family: "Roboto", sans-serif;
}
@media all and (min-width: 897px){
	#main .flowBox .flowUl01 {
		margin: 0 5.4rem 3.3rem;
		padding-right: 10rem;
		width: 58rem;
	}
	#main .flowBox .flowUl02 {
		margin: 0 7.9rem 0 10.2rem;
		padding-left: 2rem;
	}
	#main .flowBox .flowUl02 li:first-child::before {
		display: none;
	}
	#main.message02 .comVisual01 .staffInfo {
		padding-right: 18rem;
		text-align: right;
	}
	#main.message02 .comVisual01 .staffText {
		right: 15.2rem;
		bottom: 38.2rem;
	}
	#main.message02 .flowBox .photoBox {
		width: 39.7rem;
		z-index: 1;
		right: 3rem;
		top: -4rem;
	}
	#main.message02 .topicBox {
		margin-bottom: 7.8rem;
	}
	#main.message02 .introBox .imgBox .textBox p {
		margin-bottom: 5.5rem;
	}
	#main.message02 .topicBox .textBox {
		letter-spacing: 0.04em;
	}
	#main.message03 .comVisual01 .staffInfo {
		right: auto;
		left: 0;
		padding-left: 19rem;
		padding-right: 4rem;
		border-radius: 0 3rem 0 0;
	}
	#main.message03 .comVisual01 .staffText {
		right: auto;
		left: 18.2rem;
		bottom: 23.5rem;
	}
	#main.message03 .comVisual01 .number {
		right: auto;
		left: 12rem;
	}
	#main.message03 .introBox .imgBox02 {
		margin-bottom: 3.7rem;
	}
	#main.message03 .flowBox .flowUl01 {
		margin: 0 4.2rem 3.1rem;
		width: 67rem;
	}
	#main.message03 .flowBox .flowUl02 {
		margin: 0 4rem 0 10.5rem;
		padding-left: 0;
	}
	#main.message03 .flowBox .photoBox {
		width: 34.5rem;
		right: -0.2rem;
		top: -2.5rem;
	}
	#main.message03 .introBox .imgBox .textBox {
		letter-spacing: 0.04em;
	}
	#main.message03 .introBox .imgBox .textBox p {
		margin-bottom: 15.2rem;
	}
	#main.message04 .comVisual01 .staffText {
		bottom: 28.5rem;
		right: 18.2rem;
	}
	#main.message03 .topicBox {
		margin-top: 6rem;
		margin-bottom: 8rem;
	}
	#main.message04 .topicBox {
		margin-bottom: 8.4rem;
	}
	#main.message04 .flowBox .flowUl01 {
		margin: 0 6rem 0.5rem;
		width: 68rem;
	}
	#main.message04 .flowBox .flowUl02 {
		margin: 0 4.8rem 0 10.5rem;
		padding-left: 0;
	}
	#main.message04 .flowBox .photoBox {
		width: 34.5rem;
		right: -0.2rem;
		top: -2.5rem;
	}
	#main.message04 .introBox .imgBox .textBox p {
		margin-bottom: 4.8rem;
	}
}
@media all and (max-width: 896px) {
	#main .introBox {
		padding: 8rem 0;
	}
	#main .introBox .imgBox {
		margin-bottom: 5rem;
		display: block;
	}
	#main .introBox .imgBox .photoBox {
		margin: 0 2rem 2rem 0;
		width: auto;
	}
	#main .introBox .imgBox .textBox {
		width: 100%;
		padding: 0 2rem;
	}
	#main .introBox .textInner {
		display: block;
	}
	#main .introBox .textInner .textBox {
		margin-bottom: 3rem;
		width: 100%;
	}
	#main .introBox .textInner .textBox:last-child {
		margin-bottom: 0;
	}
	#main .introBox .textInner .headLine01 {
		display: block;
		min-height: inherit;
	}
	#main .introBox .imgBox .textBox p {
		margin-bottom: 3rem;
	}
	#main .introBox .imgBox02 {
		margin-bottom: 6rem;
	}
	#main .introBox .imgBox02 .photoBox {
		margin: 0 0 2rem 2rem;
	}
	#main .topicBox {
		margin: 4.4rem 0 15rem 0;
		display: block;
	}
	#main .topicBox .photoBox {
		padding-right: 3.5rem;
		margin: 0 auto;
		width: 100%;
		text-align: center;
	}
	#main .topicBox .photoBox img {
		width: 20rem;
	}
	#main .topicBox .textBox {
		margin: 0;
		padding: 1.5rem 2rem;
		border-radius: 2.5rem;
		z-index: 1;
	}
	#main .topicBox .textBox::before {
		left: 1rem;
		top: -2rem;
		transform: rotate(90deg);
		z-index: -1;
	}
	#main .topicBox .heading {
		font-size: 2.2rem;
	}
	#main .flowBox {
		margin-bottom: 7.7rem;
		padding: 4.3rem 0 4rem;
	}
	#main .flowBox .photoBox {
		width: 22rem;
	}
	#main .flowBox .heading {
		margin-bottom: 3rem;
		padding: 0.1rem 2rem 0.1rem 4rem;
		font-size: 2rem;
	}
	#main .flowBox .flowUl {
		margin: 0 2rem;
		display: block;
		overflow: visible;
	}
	#main .flowBox .flowUl::before {
		width: 2px;
		height: auto;
		bottom: 0;
		top: 0.8rem;
		left: 0.5rem;
		right: auto;
	}
	#main .flowBox .flowUl + .flowUl {
		margin-top: 1rem;
	}
	#main .flowBox .flowUl + .flowUl::before {
		top: -1rem;
	}
	#main .flowBox .flowUl li {
		padding: 0 0 0 2rem;
		width: 100%;
		text-align: left;
	}
	#main .flowBox .flowUl li + li {
		margin-top: 1rem;
	}
	#main .flowBox .flowUl li:first-child::before {
		display: none !important;
	}
	#main .flowBox .flowUl:last-child li:last-child:before {
		width: 1.2rem;
		height: 100%;
		top: 1.5rem;
		right: auto;
		left: 0;
	}
	#main .flowBox .flowUl li::after {
		width: 1.1rem;
		height: 1.1rem;
		left: 0;
		transform: none;
		top: 0.8rem;
	}
	#main.message03 .comVisual01 .staffInfo {
		padding: 2rem 2rem 2rem 4rem;
		right: auto;
		left: 0;
		border-radius: 0 3rem 0 0;
	}
	#main.message03 .comVisual01 .staffText {
		right: auto;
		left: 2rem;
		bottom: 15rem;
	}
	#main.message03 .comVisual01 .number {
		right: auto;
		left: 3rem;
	}
	#main.message03 .comVisual01 .mainImg img {
		object-position: 70% 50%;
	}
}