/*------------------------------------------------------------
	welfare
------------------------------------------------------------*/
.comMainVisual .mainImg::before {
	background: linear-gradient(110.8deg,#8AD86B 20%, #6CBDB4 40%, #4292B5 60.94%,#9e5ac3 100%);
}
.comTopBox {
	padding: 16.5rem 0 17.6rem;
}
#main .linkUl {
	gap: 3rem;
}
#main .linkUl li {
	width: 27.4rem;
}
#main .linkUl a {
	height: 5.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #fff;
	font-size: 2rem;
}
#main .linkUl a span {
	padding-right: 3.3rem;
	background: url(../img/common/arrow_icon10.png) no-repeat center right / 1.8rem;
}
#main .eduBox {
	color: #0D0907;
}
#main .eduBox .titleBox {
	margin-bottom: 17rem;
	position: relative;
	z-index: 1;
}
#main .titleBox {
	margin-bottom: 17.6rem;
	position: relative;
	z-index: 1;
}
#main .titleBox .head {
	font-size: 4.8rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
}
#main .eduBox .head01 {
	margin-top: -0.7rem;
	font-size: 4rem;
	font-weight: 400;
	line-height: 1.45;
	background: linear-gradient(30deg,#0D0907 0%,#2F71B9 50%,#0D0907 100%);
}
#main .eduBox .flexBox p {
	width: 60rem;
	line-height: 1.666;
	letter-spacing: 0.1em;
}
#main .flexBox > * {
	position: relative;
	z-index: 6;
}
#main .textList {
	padding: 11.2rem 0;
	position: relative;
    z-index: 6;
}
#main .textList > li {
	display: flex;
	gap: 2.4rem;
}
#main .textList > li + li {
	margin-top: 1.5rem;
}
#main .textList .title {
	padding-top: 5.4rem;
	width: 26rem;
	min-height: 13.9rem;
	font-size: 2.4rem;
	font-weight: 400;
	font-family: "Shippori Mincho", serif;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
}
#main .textList .title span {
	position: relative;
	z-index: 1;
}
#main .textList .title::after {
	content: "";
	width: 100%;
	height: calc(100% + 4rem);
	position: absolute;
	left: 0;
	top:0;
	background: rgba(47, 113, 185, 0.1);
	clip-path: polygon(50% 4rem, 100% 0, 100% calc(100% - 4rem), 50% 100%, 0 calc(100% - 4rem), 0 0);
}
#main .textList .inner {
	flex: 1;
	padding: 2rem 3.2rem;
	display: flex;
	align-items: center;
	background: rgba(47, 113, 185, 0.1);
}
#main .textList .textDl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.8rem 1.6rem;
}
#main .textList li:nth-child(1) .title {
	padding-top: 1.7rem;
	min-height: 9rem;
}
#main .textList li:nth-child(1) .title::after {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4rem), 50% 100%, 0 calc(100% - 4rem), 0 0);
}
#main .textList li:nth-child(2) .title::after,
#main .textList li:nth-child(2) .inner {
	background: rgba(47, 113, 185, 0.3);
}
#main .textList li:nth-child(3) .title::after,
#main .textList li:nth-child(3) .inner {
	background: rgba(47, 113, 185, 0.5);
}
#main .textList li:nth-child(4) .title::after,
#main .textList li:nth-child(4) .inner {
	background: rgba(47, 113, 185, 0.7);
}
#main .textList .textDl dt {
	width: 10.1rem;
	font-size: 1.3rem;
	line-height: 2.15;
	font-weight: 700;
	border-radius: 0.4rem;
	background: #EAEE93;
	text-align: center;
}
#main .textList .textDl dd {
	width: calc(100% - 11.7rem);
	font-weight: 500;
	line-height: 1.666;
}
#main .textList .textDl dd strong {
	font-size: 1.6rem;
}
#main .textList .textDl .subUl {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5rem;
}
#main .head02 {
	margin-bottom: 7rem;
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	z-index: 6;
}
#main .list01 {
	margin: 0 auto 13.8rem;
	padding-bottom: 1rem;
	width: 102.8rem;
	gap: 16.5rem 16rem;
	position: relative;
	z-index: 6;
}
#main .list01::after,
#main .list01::before {
	width: 1px;
	height: 100%;
	content: "";
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	position: absolute;
	background: linear-gradient(to top,#73c4a9 0%, #5cbdec 24.63%, #9590c5 51.23%, #ba85b9 76.35%, #eb687e 100%);
}
#main .list01::after {
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: linear-gradient(to right,#73c4a9 0%, #5cbdec 24.63%, #9590c5 51.23%, #ba85b9 76.35%, #eb687e 100%);
}
#main .list01 li {
	width: calc(50% - 8rem);
}
#main .list01 p {
	line-height: 1.666;
}
#main .list01 .headLine01 {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
	text-align: center;
	letter-spacing: 0.1em;
}
#main .list01 .headLine01 .en {
	margin: 0 auto;
	font-size: 1.2rem;
}
#main .voiceBox {
	padding: 7.1rem 8rem 6.1rem;
	color: #0d0907;
	background: linear-gradient(-60deg,#e2eaee 0%, #fff 100%);
	box-shadow: 0rem 0rem 2rem rgba(150, 150, 150, 0.1);
	border-radius: 0.8rem;
	position: relative;
	z-index: 4;
}
#main .voiceBox.voiceBox02 {
	background: #E2EAEE;
}
#main .voiceBox .head02 {
	margin-bottom: 7.4rem;
}
#main .voiceBox .voiceDl dd,
#main .voiceBox .voiceDl dt {
	display: flex;
	gap: 3.4rem;
	align-items: flex-start;
}
#main .voiceBox .voiceDl dd {
	justify-content: flex-end;
}
#main .voiceBox .voiceDl .people {
	width: 10rem;
	position: relative;
}
#main .voiceBox .voiceDl .people img {
	width: 100%;
}
#main .voiceBox .voiceDl .people .text {
	width: 100%;
	display: block;
	text-align: center;
	letter-spacing: 0.1em;
	color: #0b0b0b;
	line-height: 2;
	font-weight: 700;
}
#main .voiceBox .voiceDl .textBox {
	margin-bottom: 4rem;
	padding: 2rem 2.3rem;
	width: 69.6rem;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 0 2rem rgba(150, 150, 150, 0.1);
	position: relative;
}
#main .voiceBox .voiceDl > *:last-child .textBox {
	margin-bottom: 0;
}
#main .voiceBox .voiceDl .textBox::before {
	width: 7rem;
	height: 7.3rem;
	content: "";
	position: absolute;
	left: -4rem;
  	top: -1.4rem;
	background: url(../img/welfare/icon01.png) no-repeat left top / 100%;
}
#main .voiceBox .voiceDl dd .textBox::before {
	left: calc(100% - 3rem);
	transform: rotate(180deg);
}
#main .voiceBox .voiceDl p {
	line-height: 1.666;
}
#main .otherBox {
	padding-bottom: 19.3rem;
}
#main .childcareTtl {
	margin-bottom: 0;
}
#main .childcare {
	padding: 17.6rem 0;
}
#main .childcare .imgBox {
	margin-bottom: 7.7rem;
	flex-direction: row-reverse;
	gap: 6.5rem;
}
#main .childcare .imgBox .photoBox {
	width: 51.7rem;
}
#main .childcare .imgBox .textBox {
	flex: 1;
}
#main .childcare .imgBox .head02 {
	margin-bottom: 3.7rem;
	text-align: left;
	font-size: 3.8rem;
	letter-spacing: 0;
	line-height: 0.8;
}
#main .childcare .imgBox p {
	font-size: 1.8rem;
	line-height: 2.111;
}
#main .childcare .headLine01 {
	margin-bottom: 1.8rem;
}
#main .childcare .headLine01.mincho {
	color: #fff;
	line-height: 1.2;
}
#main .childcare .infoBox {
	gap: 8rem;
}
#main .childcare .infoBox .photoBox {
	width: 40.3rem;
}
#main .childcare .infoBox .info {
	margin-top: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0;
}
#main .childcare .infoBox .info span {
	margin-top: 0.2rem;
	display: block;
	font-size: 4rem;
}
#main .childcare .infoBox .faqDl {
	margin-top: -0.6rem;
	flex: 1;
}
#main .childcare .infoBox dd {
	padding: 1.2rem 0 3rem;
	position: relative;
	line-height: 1.666;
	letter-spacing: 0.1em;
	border-top: 1px dashed #0d0907;
}
#main .childcare .infoBox dd:last-child {
	padding-bottom: 1.5rem;
}
#main .childcare .infoBox dt {
	margin-bottom: 1.2rem;
	position: relative;
	font-size: 1.8rem;
	line-height: 1.555;
	letter-spacing: 0.1em;
	font-weight: 400;
	font-family: "Shippori Mincho", serif;
}
#main .childcare .infoBox dt::before {
	padding-bottom: 0.3rem;
	width: 3rem;
	height: 3rem;
	content: "Q";
	 font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-size: 2rem;
	line-height: 1;
	text-align: left;
	color: #fff;
	position: absolute;
	left: -4.5rem;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background: linear-gradient(135deg,#73c4a9 0%, #5cbdec 26.11%, #9590c5 52.71%, #ba85b9 77.34%, #eb687e 100%);
}
#main .welfare {
	padding-bottom: 17.6rem;
}
#main .welfare .list03 {
	margin-bottom: 8rem;
	gap: 8rem 8.4rem;
	color: #0d0907;
	position: relative;
	z-index: 4;
}
#main .welfare .list03 li {
	padding-bottom: 1.2rem;
	width: calc((100% - 16.8rem) / 3);
	min-height: 50.1rem;
	border-radius: 1rem;
	overflow: hidden;
	background: #e2eaee;
	box-shadow: 0px 0px 20px rgba(150, 150, 150, 0.1);
}
#main .welfare .list03 li img {
	width: 100%;
}
#main .welfare .list03 .title {
	margin: 1.6rem 0 1.3rem;
	 font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-size: 2.8rem;
	color: #0d0907;
	text-align: center;
}
#main .welfare .list03 p {
	margin: 0 2.6rem;
	line-height: 1.666;
}
.ribbon01 {
	width: 204rem;
	left: calc(50% - 78.8rem);
	top: -26.8rem;
	opacity: 1;
	z-index: -1;
}
.childcareTtl .ribbon01 {
	top: auto;
	width: 180rem;
	bottom: calc(100% - 2rem);
	 left: calc(50% - 103rem);
}
.ribbon02 {
	width: 196.3rem;
	top: calc(100% + 10.3rem);
	z-index: -1;
	opacity: 1;
	transform: translateX(calc(-40% - 10rem)) rotate(11deg);
}
@media all and (min-width: 897px) {
	.comTopBox .head {
		margin-bottom: 6.5rem;
		font-size: 4.2rem;
		line-height: 1.38;
	}
	.comTopBox p {
		margin-bottom: 7rem;
		font-size: 1.8rem;
		line-height: 2.111;
		letter-spacing: 0;
	}
	#main .childcare .list02 {
		margin-bottom: 8rem;
		padding: 0;
		width: auto;
		gap: 8rem 12.8rem;
		background: url(../img/welfare/bg04.png) repeat-x left top / 44.3rem 100%;
	}
	#main .childcare .list02 li {
		width: calc((100% - 25.6rem) / 3);
	}
	#main .childcare .list02::before {
		display: none;
	}
	#main .childcare .voiceBox .head02 {
		margin-bottom: 5.4rem;
		font-size: 3.8rem;
		letter-spacing: 0;
		line-height: 1.36;
	}
	#main .linkUl a:hover {
		background: #2F71B9;
		border-color: #2F71B9;
	}

}
@media all and (max-width: 896px) {
	.comTopBox {
		padding: 7.4rem 0 4rem;
	}
	.comTopBox .head {
		margin-bottom: 1.5rem;
	}
	.comTopBox p {
		margin-bottom: 3.6rem;
		letter-spacing: 0;
	}
	#main .linkUl {
		display: block;
	}
	#main .linkUl li {
		margin: 0 auto 2.4rem;
		width: 23.1rem;
	}
	#main .linkUl li:last-child {
		margin-bottom: 0;
	}
	#main .linkUl a {
		padding: 0 1.9rem;
		height: 3.5rem;
		font-size: 1.5rem;
		text-align: left;
		justify-content: flex-start;
	}
	#main .linkUl a span {
		width: 100%;
		background-size: 1.5rem;
	}
	#main .titleBox .image {
		aspect-ratio: 375/120;
	}
	#main .titleBox .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#main .titleBox .head {
		font-size: 2.2rem;
		width: 100%;
		text-align: center;
	}
	#main .eduBox .head01 {
		margin-bottom: 3.2rem;
		font-size: 2rem;
		line-height: 1.4;
	}
	#main .eduBox .titleBox {
		margin-bottom: 4.2rem;
	}
	#main .eduBox .flexBox p {
		width: auto;
		line-height: 1.769;
	}
	#main .textList {
		padding: 3.6rem 0 7.4rem;
	}
	#main .textList > li {
		gap: 0.75rem;
	}
	#main .textList > li + li {
		margin-top: 0.75rem;
	}
	#main .textList .inner {
		padding: 1.5rem 1.5rem;
	}
	#main .textList .textDl {
		display: block;
	}
	#main .textList .textDl dt {
		margin-bottom: 0.5rem;
		width: 7.2rem;
		font-size: 1rem;
		line-height: 1.8;
	}
	#main .textList .textDl dd strong {
		font-size: 1rem;
	}
	#main .textList .textDl dd {
		margin-bottom: 1.8rem;
		width: 100%;
		font-size: 1rem;
		line-height: 1.6;
	}
	#main .textList .textDl dd:last-child {
		margin-bottom: 0;
	}
	#main .textList .title {
		padding-top: 4.4rem;
		width: 13.6rem;
		font-size: 1.6rem;
		min-height: 12rem;
	}
	#main .textList li:nth-child(1) .title {
		padding-top: 0;
	}
	#main .head02 {
		margin-bottom: 3.3rem;
		font-size: 2rem;
	}
	#main .list01::after,
	#main .list01::before {
		display: none;
	}
	#main .list01 .headLine01 {
		margin-bottom: 1rem;
		font-size: 1.6rem;
		letter-spacing: 0;
	}
	#main .list01 .headLine01 .en {
		font-size: 1rem;
		line-height: 1;
		letter-spacing: 0.1em;
	}
	#main .list01 {
		margin-bottom: 2.8rem;
		width: auto;
		display: block;
	}
	#main .list01 li {
		width: 100%;
		position: relative;
	}
	#main .list01 li::after {
		width: 100%;
		height: 1px;
		content: "";
		left:0;
		bottom: -2.9rem;
		position: absolute;
		background: linear-gradient(to right,#73c4a9 0%, #5cbdec 24.63%, #9590c5 51.23%, #ba85b9 76.35%, #eb687e 100%);
	}
	#main .eduBox .list01 li:last-child::after {
		display: none;
	}
	#main .list01 li + li {
		margin-top: 5rem;
	}
	#main .list01 p {
		font-size: 1.2rem;
		line-height: 1.8333;
	}
	#main .voiceBox {
		padding: 3.3rem 1.6rem 4rem;
	}
	#main .voiceBox .head02 {
		margin-bottom: 3.6rem;
	}
	#main .voiceBox .voiceDl .textBox {
		margin-bottom: 2.4rem;
		padding: 1.1rem 1.6rem;
		width: auto;
		flex: 1;
	}
	#main .voiceBox .voiceDl .people {
		width: 6rem;
	}
	#main .voiceBox .voiceDl .people .text {
		font-size: 1.3rem;
	}
	#main .voiceBox .voiceDl p {
		line-height: 1.769;
		letter-spacing: 0;
	}
	#main .voiceBox .voiceDl dd,
	#main .voiceBox .voiceDl dt {
		gap: 2.3rem;
	}
	#main .otherBox {
		padding-bottom: 8rem;
	}
	.childcareTtl .ribbon01 {
		width: 131vw;
		bottom: calc(100% - 0.7rem);
		left: -24vw;
	}
	#main .childcare {
		padding: 0 0 8rem;
	}
	#main .childcare .imgBox {
		margin-bottom: 4.2rem;
		display: block;
	}
	#main .childcare .imgBox .photoBox {
		margin-bottom: 1.9rem;
		width: 100%;
	}
	#main .childcare .imgBox .head02 {
		margin-bottom: 2.3rem;
		font-size: 2rem;
		line-height: 1.2;
	}
	#main .childcare .imgBox p {
		font-size: 1.3rem;
		line-height: 1.769;
	}
	#main .list02 {
		margin-bottom: 8.6rem;
	}
	#main .list02 li + li {
		margin-top: 4.4rem;
	}
	#main .list01 li::after {
		bottom: -2.1rem;
	}
	#main .childcare .voiceBox {
		padding: 5.3rem 2.4rem 3.6rem;
	}
	#main .childcare .infoBox {
		display: block;
	}
	#main .childcare .infoBox .photoBox {
		margin-bottom: 1.4rem;
		width: 100%;
	}
	#main .childcare .infoBox .info {
		font-size: 1.3rem;
	}
	#main .childcare .infoBox .info span {
		margin: 0;
		font-size: 2.4rem;
	}
	#main .childcare .infoBox .faqDl {
		margin: 0 0 0 4.5rem;
	}
	#main .childcare .infoBox dt,
	#main .childcare .infoBox dd {
		font-size: 1.3rem;
		line-height: 1.769;
	}
	#main .childcare .infoBox dt {
		margin-bottom: 0.8rem;
	}
	#main .childcare .infoBox dd {
		padding: 1rem 0 3.4rem;
	}
	#main .childcare .infoBox dd:last-child {
		padding-bottom: 0;
	}
	#main .welfare .list03 {
		display: block;
	}
	#main .welfare .list03 li {
		padding-bottom: 2.4rem;
		width: 100%;
		min-height: inherit;
	}
	#main .welfare .list03 li + li {
		margin-top: 4rem;
	}
	#main .titleBox {
		margin-bottom: 4rem;
	}
	#main .welfare .list03 .title {
		margin-bottom: 1.7rem;
		font-size: 2rem;
	}
	#main .welfare .list03 p {
		margin: 0 2.4rem;
	}
	#main .welfare {
		padding-bottom: 5.6rem;
	}
	.ribbon02 {
		width: 208vw;
		left: -13.5vw;
		transform: rotate(11deg);
		top: calc(100% + 2.3rem);
	}
	.ribbon02.sp {
		top: auto;
		transform: rotate(-11deg) scaleX(-1);
		bottom: 155rem;
		left: -164vw;
		width: 268vw;
	}
	.ribbon01 {
		width: 132vw;
		left: calc(50% - 54.933vw);
  		top: -12.8vw;
	}
}