@charset "UTF-8";

/* KV */
#kv {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: url(../images/top/kv.jpg) center / cover no-repeat;
}
	#kv div.kv_in {
		width: 100%;
		max-width: 1210px;
		margin: 0 auto;
		padding: 135px 10px 48px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
		#kv div.kv_in h2 {
			opacity: 0;
			display: inline-block;
			margin: 0 0 0 125px;
			padding: 0;
			font-size: 32px;
			line-height: 150%;
			font-weight: var(--weight-nomal);
			color: #F2686B;
			position: relative;
		}
		#kv div.kv_in h2.scrollin {
			-webkit-animation: bottomIn 0.2s ease-out 0s 1 forwards;
			animation: bottomIn 0.2s ease-out 0s 1 forwards;
		}
@media screen and (max-width:1000px) {
		#kv div.kv_in h2 {
			margin: 0 0 0 80px;
			font-size: 26px;
			line-height: 150%;
		}
}
			#kv div.kv_in h2:before,
			#kv div.kv_in h2:after {
				position: absolute;
				content: '';
				display: block;
				width: 3px;
				background: #F2686B;
				height: 62px;
				top: 0
			}
			#kv div.kv_in h2:before {
				transform: rotate(-35deg);
				left: -40px;
			}
			#kv div.kv_in h2:after {
				transform: rotate(35deg);
				right: -40px;
			}
			#kv div.kv_in h2 strong {
				margin: 0;
				padding: 0;
				font-size: 36px;
				line-height: 150%;
				font-weight: var(--weight-bold2);
			}
@media screen and (max-width:1000px) {
			#kv div.kv_in h2 strong {
				font-size: 30px;
			}
}
		#kv div.kv_in h3 {
			opacity: 0;
			display: inline-block;
			margin: 25px 0 0;
			padding: 0;
			font-size: 25px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #FFFFFF;
			text-shadow: 0 0 10px rgba(0,0,0,0.8);
		}
		#kv div.kv_in h3.scrollin {
			-webkit-animation: slideInLeft2 0.2s ease-out 0.2s 1 forwards;
			animation: slideInLeft2 0.2s ease-out 0.2s 1 forwards;
		}
@media screen and (max-width:1000px) {
		#kv div.kv_in h3 {
			margin: 20px 0 0;
			padding: 0;
			font-size: 20px;
			line-height: 150%;
		}
}
		#kv div.kv_in h4 {
			opacity: 0;
			margin: 15px 0 0;
			padding: 0;
			font-size: 72px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #072C6C;
			text-align: left;
		}
		#kv div.kv_in h4.scrollin {
			-webkit-animation: ZoomIn 0.3s ease-out 0.4s 1 forwards;
			animation: ZoomIn 0.3s ease-out 0.4s 1 forwards;
		}
@media screen and (max-width:1000px) {
		#kv div.kv_in h4 {
			font-size: 58px;
			line-height: 150%;
		}
}
			#kv div.kv_in h4 small {
				display: inline-block;
				margin: 0 0 0 5px;
				font-size: 50px;
				line-height: 150%;
			}
			#kv div.kv_in h4 strong {
				display: inline-block;
				padding: 0 0.1em 0 0.15em;
				font-weight: var(--weight-bold2);
				vertical-align: -0.3em;
				position: relative;
				overflow: hidden;
				z-index: 1;
			}
				#kv div.kv_in h4 strong:before {
					opacity: 0;
					position: absolute;
					display: inline-block;
					content: '';
					width: 97%;
					height: 20px;
					background-color: #FFF100;
					left: 1.5%;
					bottom: 3px;
					z-index: -1;
				}
					#kv div.kv_in h4.scrollin strong:before {
						animation: mask-bg 1.0s cubic-bezier(0.8, 0, 0.170, 1) 0.5s 1 forwards;
					}
		#kv div.kv_in ul {
			width: 100%;
			margin: 0;
			padding: 5px 0 0;
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
			#kv div.kv_in ul li {
				opacity: 0;
				width: 31.09%;
				margin: 35px 0 0;
				padding: 40px 10px 20px;
				font-size: 36px;
				line-height: 130%;
				color: #1FAEDE;
				font-weight: var(--weight-bold2);
				background: #fff;
				border-radius: 15px;
				box-shadow: 0 0 10px rgba(0,0,0,0.6);
				position: relative;
			}
		#kv div.kv_in ul li.scrollin {
			-webkit-animation: bottomIn 0.2s ease-out 0.5s 1 forwards;
			animation: bottomIn 0.2s ease-out 0.5s 1 forwards;
		}
@media screen and (max-width:1100px) {
			#kv div.kv_in ul li {
				width: 32%;
				font-size: 30px;
				line-height: 130%;
			}
}
@media screen and (max-width:900px) {
			#kv div.kv_in ul li {
				width: 48%;
				font-size: 36px;
				line-height: 130%;
			}
}
				#kv div.kv_in ul li:before {
					position: absolute;
					content: '';
					display: block;
					width: 74px;
					height: 27px;
					margin: auto;
					padding: 0;
					background: url(../images/top/kv_list_rop.png) center / contain no-repeat;
					top: -27px;
					left: 50%;
					transform: translateX(-50%);
					-webkit- transform: translateX(-50%);
				}
				#kv div.kv_in ul li img {
					position: absolute;
					display: block;
					width: 46px;
					height: auto;
					margin: auto;
					padding: 0;
					top: -9px;
					left: 50%;
					transform: translateX(-50%);
					-webkit- transform: translateX(-50%);
				}
				#kv div.kv_in ul small {
					display: inline-block;
					font-size: 26px;
					line-height: 130%;
				}
@media screen and (max-width:1100px) {
				#kv div.kv_in ul small {
					font-size: 20px;
					line-height: 130%;
				}
}
@media screen and (max-width:900px) {
				#kv div.kv_in ul small {
					font-size: 26px;
					line-height: 130%;
				}
}

/* 選ばれる理由 */
#reason {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 10px 135px;
}
	#reason h4 {
		margin: 0 auto;
		padding: 0;
		font-size: 38px;
		line-height: 150%;
		font-weight: var(--weight-nomal);
		color: #062C6C;
	}
	#reason h3 {
		display: inline-block;
		margin: 20px auto 0;
		padding: 0;
		font-size: 60px;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #fff;
		position: relative;
		z-index: 1;
	}
@media screen and (max-width:1150px) {
	#reason h3 {
		font-size: 46px;
		line-height: 150%;
	}
}
@media screen and (max-width:860px) {
	#reason h3 {
		font-size: 40px;
		line-height: 150%;
	}
}
		#reason h3:before {
			position: absolute;
			display: inline-block;
			content: '';
			width: 108%;
			height: 100%;
			background-color: #082D6C;
			left: -4%;
			top: 0;
			transform:skewX(-15deg);
			z-index: -1;
		}
		#reason h3 strong {
			font-weight: var(--weight-bold2);
			color: #FFF100;
		}
	#reason ul {
		width: 100%;
		margin: 0 auto;
		padding: 5px 0 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		#reason ul li {
			width: 47.66%;
			margin: 75px auto 0;
			padding: 0 0 45px;
			background: #DBF0F9;
			border-radius: 20px;
			overflow: hidden;
		}
@media screen and (max-width:920px) {
		#reason ul li {
			width: 100%;
		}
}
			#reason ul li div.ttl {
				min-height: 100px;
				margin: 0;
				padding: 0;
				display: flex;
			}
				#reason ul li div.ttl span {
					width: 100px;
					margin: 0;
					padding: 0;
					font-size: 34px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					color: #fff;
					background: #76BCDE;
					display: flex;
					justify-content: center;
					align-items: center;
				}
				#reason ul li div.ttl h5 {
					width: calc(100% - 100px);
					margin: 0;
					padding: 10px 20px;
					font-size: 27px;
					line-height: 150%;
					color: #082D6C;
					font-weight: var(--weight-bold2);
					text-align: left;
					display: flex;
					justify-content: flex-start;
					align-items: center;
				}
			#reason ul li div.img {
				width: 100%;
				height: 238px;
				margin: 0;
				padding: 0;
			}
				#reason ul li div.img img {
					width: 100%;
					height: 238px;
					object-fit: cover;
				}
			#reason ul li div.txt {
				width: 100%;
				margin: 0;
				padding: 50px 8.2% 0;
				text-align: left;
			}
				#reason ul li div.txt h6 {
					margin: 0;
					padding: 0;
					font-size: 24px;
					line-height: 150%;
					color: #EA7200;
					font-weight: var(--weight-bold2);
				}
				#reason ul li div.txt p {
					margin: 20px 0 0;
					padding: 0;
					font-size: 18px;
					line-height: 200%;
				}

/* 保護までの流れ */
#flow {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 10px 135px;
}
	#flow h5.step_ttl {
		display: inline-block;
		margin: 40px auto 0;
		padding: 0;
		font-size: 48px;
		line-height: 150%;
		color: #FFC513;
		font-weight: var(--weight-bold2);
		position: relative;
	}
		#flow h5.step_ttl:before {
			position: absolute;
			content: '';
			display: block;
			width: 161px;
			height: 59px;
			margin: auto;
			padding: 0;
			background: url(../images/top/step_star.png) center / contain no-repeat;
			top: -5px;
			left: 2.2em;
		}
		#flow h5.step_ttl strong {
			opacity: 0;
			margin: 0 auto;
			padding: 0;
			font-size: 96px;
			line-height: 150%;
			color: #EA7200;
			font-weight: var(--weight-bold2);
			font-family: "Shippori Mincho", serif;
			font-style: italic;
		}
			#flow h5.step_ttl strong.scrollin {
				-webkit-animation: bottomIn 0.2s ease-out 0.2s 1 forwards;
				animation: bottomIn 0.2s ease-out 0.2s 1 forwards;
			}
	#flow ul.flow_step {
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
		#flow ul.flow_step li {
			width: 100%;
			margin: 0 auto;
			padding: 0 0 45px;
			background: #DBF0F9;
			border-radius: 20px;
			overflow: hidden;
		}
			#flow ul.flow_step li div.ttl {
				min-height: 130px;
				margin: 0;
				padding: 0;
				display: flex;
			}
				#flow ul.flow_step li div.ttl span {
					width: 17%;
					margin: 0;
					padding: 0;
					font-size: 50px;
					line-height: 100%;
					font-weight: var(--weight-bold2);
					color: #fff;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
					position: relative;
					z-index: 1;
				}
					#flow ul.flow_step li div.ttl span:before {
						position: absolute;
						content: '';
						display: block;
						width: 350px;
						height: 330px;
						background: #76BCDE;
						top: -175px;
						left: -175px;
						transform: rotate(-45deg);
						z-index: -1;
					}
					#flow ul.flow_step li div.ttl span small {
						display: block;
						margin: 0;
						padding: 0;
						font-size: 25px;
						line-height: 100%;
						font-weight: var(--weight-bold2);
					}
				#flow ul.flow_step li div.ttl h4 {
					width: 83%;
					margin: 0;
					padding: 10px 20px 10px 7.22%;
					font-size: 35px;
					line-height: 150%;
					color: #082D6C;
					font-weight: var(--weight-bold2);
					text-align: left;
					display: flex;
					justify-content: flex-start;
					align-items: center;
				}
			#flow ul.flow_step li dl {
				margin: 0;
				padding: 0 3% 0 5%;
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				position: relative;
				z-index: 1;
			}
				#flow ul.flow_step li dl dt {
					width: 26.66%;
					height: 240px;
					min-width: 200px;
					margin: 0;
					padding: 0;
				}
					#flow ul.flow_step li dl dt img {
						width: 100%;
						height: 240px;
						object-fit: cover;
					}
				#flow ul.flow_step li dl dd {
					width: 73.34%;
					margin: 0;
					padding: 0 0 0 7%;
					text-align: left;
				}
					#flow ul.flow_step li dl dd h5 {
						margin: 0;
						padding: 0;
						font-size: 24px;
						line-height: 200%;
						color: #EA7200;
						font-weight: var(--weight-bold2);
					}
					#flow ul.flow_step li dl dd p {
						margin: 20px 0 0;
						padding: 0;
						font-size: 18px;
						line-height: 200%;
					}
						#flow ul.flow_step li dl dd p:first-child {
							margin-top: 0;
						}
			#flow ul.flow_step li div.btn {
				margin: 30px 0 0;
				padding: 0 5%;
				display: flex;
				justify-content: space-between;
			}
				#flow ul.flow_step li div.btn a {
					width: 280px;
					height: 78px;
					margin: 0;
					padding: 0 0 0 30px;
					font-size: 22px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
				}
@media screen and (max-width:980px) {
				#flow ul.flow_step li div.btn a {
					width: 32%;
					padding: 0 0 0 3%;
					font-size: 18px;
					line-height: 150%;
				}
}
@media screen and (max-width:880px) {
				#flow ul.flow_step li div.btn a {
					padding: 0 0 0 5%;
					font-size: 2.0vw;
					line-height: 150%;
				}
}
				#flow ul.flow_step li div.btn a.tel {
					font-size: 30px;
					line-height: 150%;
					font-weight: var(--weight-extrabold1);
					font-family: "Zen Maru Gothic", serif;
					color: #092E6C;
					border: 2px solid #FFF100;
					background: #FFF100;
					border-radius: 39px;
					pointer-events: none;
				}
@media screen and (max-width:980px) {
				#flow ul.flow_step li div.btn a.tel {
					font-size: 26px;
					line-height: 150%;
				}
}
@media screen and (max-width:880px) {
				#flow ul.flow_step li div.btn a.tel {
					font-size: 2.8vw;
					line-height: 150%;
				}
}
					#flow ul.flow_step li div.btn a.tel:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 34px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/free_dial_g.png) center / contain no-repeat;
						top: 50%;
						left: 26px;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
@media screen and (max-width:980px) {
					#flow ul.flow_step li div.btn a.tel:before {
						width: 1.2em;
						height: 1.1em;
					}
}
				#flow ul.flow_step li div.btn a.mail {
					color: #092E6C;
					border: 2px solid #fff;
					background: #fff;
					border-radius: 39px;
				}
					#flow ul.flow_step li div.btn a.mail:hover {
						color: #fff;
						background: #092E6C;
					}
					#flow ul.flow_step li div.btn a.mail:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 34px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/mail_01.png) center / contain no-repeat, url(../images/icon/mail_02.png) center / contain no-repeat;
						top: 50%;
						left: 26px;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
@media screen and (max-width:980px) {
					#flow ul.flow_step li div.btn a.mail:before {
						width: 2em;
						height: 1.8em;
					}
}
						#flow ul.flow_step li div.btn a.mail:hover:before {
							background: url(../images/icon/mail_02.png) center / contain no-repeat;
						}
				#flow ul.flow_step li div.btn a.line {
					color: #fff;
					border: 2px solid #11BB59;
					background: #11BB59;
					border-radius: 39px;
				}
					#flow ul.flow_step li div.btn a.line:hover {
						color: #11BB59;
						background: #fff;
					}
					#flow ul.flow_step li div.btn a.line:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 34px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/line_01.png) center / contain no-repeat, url(../images/icon/line_02.png) center / contain no-repeat;
						top: 50%;
						left: 26px;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
@media screen and (max-width:980px) {
					#flow ul.flow_step li div.btn a.line:before {
						width: 2em;
						height: 1.8em;
					}
}
						#flow ul.flow_step li div.btn a.line:hover:before {
							background: url(../images/icon/line_02.png) center / contain no-repeat;
						}
			#flow ul.flow_step .arrow {
				margin: 30px auto;
				padding: 0;
			}

/* よくあるご質問 */
#faq {
	width: 100%;
	margin: 0 auto;
	padding: 110px 10px 115px;
	background: url(../images/top/faq_bg.png) top -50px left -50px repeat;
}
	#faq h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 60px;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #082D6C;
	}
	#faq dl {
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 70px 0 0;
		text-align: left;
	}
		#faq dl dt {
			width: 100%;
			margin: 20px 0 0;
			padding: 0;
			background: #fff;
			border-radius: 20px;
			display: flex;
			overflow: hidden;
			cursor: pointer;
		}
			#faq dl dt:first-of-type {
				margin-top: 0;
			}
			#faq dl dt span {
				width: 100px;
				min-height: 100px;
				margin: 0;
				padding: 0;
				font-size: 34px;
				line-height: 150%;
				color: #fff;
				font-weight: var(--main-font-bold2);
				background: #76BCDE;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			#faq dl dt h5 {
				width: calc(100% - 100px);
				margin: 0;
				padding: 10px 20px;
				font-size: 24px;
				line-height: 150%;
				color: #082D6C;
				font-weight: var(--weight-bold2);
				text-align: left;
				display: flex;
				justify-content: flex-start;
				align-items: center;
			}
		#faq dl dd {
			display: none;
			width: 100%;
			margin: 15px 0 0;
			padding: 10px 20px 15px 120px;
			font-size: var(--size-nomal1);
			line-height: 180%;
		}
			#faq dl dd p {
				margin: 1.0em 0 0;
				padding: 0;
				font-size: 17px;
				line-height: 200%;
			}
			#faq dl dd p:first-of-type {
				margin: 0;
			}
				#faq dl dd p strong {
					display: inline;
					font-weight: var(--weight-bold2);
					background: linear-gradient(transparent 80%, #FFF100 0%);
				}

/* ご家族からのお声 */
#voice {
	width: 100%;
	margin: 0 auto;
	padding: 110px 10px 115px;
	background: #F3FBFE;
}
	#voice h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 60px;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #082D6C;
	}
	#voice h4 {
		margin: 25px auto 0;
		padding: 0;
		font-size: 24px;
		line-height: 150%;
		font-weight: var(--weight-nomal);
	}
		#voice h4 small {
			display: block;
			margin: 10px auto 0;
			padding: 0;
			font-size: 16px;
			line-height: 150%;
			font-weight: var(--weight-nomal);
		}
	#voice ul {
		width: 100%;
		max-width: 1300px;
		margin: 0 auto;
		padding: 10px 10px 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
	}
		#voice ul li {
			width: 23.4%;
			margin: 30px 0 0 1.66%;
			padding: 0;
		}
			#voice ul li:nth-of-type(4n-3) {
				margin-left: 0;
			}
			#voice ul li a {
				display: block;
				width: 100%;
				height: 300px;
				margin: 0;
				padding: 0;
				position: relative;
			}
				#voice ul li a:hover {
					opacity: 0.8;
				}
				#voice ul li a:after {
					position: absolute;
					content: '';
					display: block;
					width: 50px;
					height: 50px;
					background: url(../images/icon/voice_expansion.png) center / contain no-repeat;
					top: 10px;
					right: 10px;
				}
				#voice ul li a img {
					width: 100%;
					height: 300px;
					object-fit: cover;
				}
			#voice ul li p {
				margin: 15px 0 0;
				padding: 0;
				font-size: 16px;
				line-height: 150%;
				color: #1FADDE;
				text-align: left;
			}

/* ご注意ください */
#attention {
	width: 100%;
	margin: 0 auto;
	padding: 130px 10px 135px;
}
	#attention h3 {
		display: inline-block;
		margin: 0 auto;
		padding: 0;
		font-size: 48px;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #333333;
		position: relative;
	}
		#attention h3:before,
		#attention h3:after {
			opacity: 0;
			position: absolute;
			content: '';
			display: block;
			width: 150px;
			height: 133px;
			margin: 0;
			padding: 0;
			background: url(../images/icon/attention_ico.png) center / contain no-repeat;
			top: -35px;
		}
		#attention h3:before {
			left: -170px;
		}
		#attention h3:after {
			right: -170px;
		}
		#attention h3.scrollin:before,
		#attention h3.scrollin:after {
			-webkit-animation: Blink 2s ease-out 0.2s 1 forwards;
			animation: Blink 2s ease-out 0.2s 1 forwards;
		}
	#attention ul {
		width: 100%;
		max-width: 1300px;
		margin: 100px auto 0;
		padding: 0 10px;
		list-style: none;
		display: flex;
		justify-content: space-between;
	}
		#attention ul li {
			width: 31.25%;
			margin: 0;
			padding: 0 0 35px;
			list-style: none;
			background: #F4EAEA;
			border-radius: 20px;
			overflow: hidden;
		}
			#attention ul li h4 {
				width: 100%;
				height: 100px;
				margin: 0;
				padding: 10px;
				font-size: 28px;
				line-height: 150%;
				font-weight: var(--weight-bold2);
				color: #fff;
				background: #990000;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			#attention ul li .img {
				width: 100%;
				height: 238px;
				margin: 0;
				padding: 0;
			}
				#attention ul li .img img {
					width: 100%;
					height: 238px;
					object-fit: cover;
				}
			#attention ul li .txt {
				margin: 0;
				padding: 20px 10% 0;
				font-size: 17px;
				line-height: 200%;
				text-align: left;
			}
				#attention ul li .txt p {
					margin: 15px 0 0;
					padding: 0;
				}
					#attention ul li .txt p strong {
						font-size: 19px;
						line-height: 200%;
						font-weight: var(--weight-nonal);
						color: #990000;
						text-decoration: underline;
					}

/* メールでのご相談 */
#form {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 10px 135px;
}
	#form h6.form_tel {
		margin: 40px auto 0;
		padding: 0;
		font-size: 24px;
		line-height: 150%;
		font-weight: var(--weight-nonal);
		color: #333;
	}
	#form h5 {
		margin: 10px auto 0;
		padding: 0;
		font-size: 40px;
		line-height: 130%;
		font-weight: var(--weight-bold1);
		color: #F05257;
	}
		#form h5 strong {
			font-size: 50px;
			line-height: 130%;
			font-weight: var(--weight-bold2);
		}
		#form h5 small {
			font-size: 30px;
			line-height: 130%;
		}
	#form div.form_tel {
		margin: 10px auto 0;
		padding: 0;
	}
		#form div.form_tel a {
			display: inline-block;
			margin: 0;
			padding: 0 0 0 55px;
			font-size: 60px;
			line-height: 120%;
			text-decoration: none;
			pointer-events: none;
			white-space: nowrap;
			font-family: "Zen Maru Gothic", serif;
			font-weight: var(--weight-extrabold1);
			color: #072C6C;
			position: relative;
		}
			#form div.form_tel a:before {
				position: absolute;
				content: '';
				display: block;
				width: 40px;
				height: 29px;
				margin: auto;
				padding: 0;
				background: url(../images/icon/free_dial_n.png) center / contain no-repeat;
				top: 35px;
				left: 0;
			}
	#form div.contact_attention {
		width: 100%;
		max-width: 1000px;
		margin: 35px auto 0;
		padding: 40px 40px;
		font-size: 16px;
		line-height: 200%;
		text-align: left;
		background: #DBF0F9;
		border-radius: 20px;
	}
		#form div.contact_attention strong {
			display: block;
			margin: 20px 0 0;
			padding: 0;
			font-weight: var(--weight-bold2);
		}
			#form div.contact_attention strong:first-of-type {
				margin-top: 0;
			}
	#form div.cont_tbl {
		width: 100%;
		max-width: 1000px;
		margin: 40px auto 0;
		padding: 0;
	}
		#form div.cont_tbl p.form_top {
			margin: 0;
			padding: 0;
			font-size: 15px;
			line-height: 200%;
			font-weight: var(--weight-nomal);
			text-align: left;
		}
			#form div.cont_tbl p.form_top span {
				color: #EA7300;
			}
		#form div.cont_tbl dl {
			width: 100%;
			margin: 15px auto 0;
			padding: 0;
			font-size: 17px;
			line-height: 180%;
			font-weight: var(--weight-bold1);
			text-align: left;
			border-bottom: 1px solid #082D6C;
			display: flex;
			flex-wrap: wrap;
		}
			#form div.cont_tbl dl dt {
				width: 280px;
				margin: 0 ;
				padding: 20px;
				font-size: 18px;
				line-height: 180%;
				font-weight: var(--weight-bold1);
				color: #072C6C;
				border-top: 1px solid #082D6C;
				display: flex;
				align-items: center;
			}
				#form div.cont_tbl dl dt span {
					font-size: 14px;
					color: #EA7300;
				}
			#form div.cont_tbl dl dd {
				width: calc(100% - 280px);
				margin: 0;
				padding: 10px 0;
				border-top: 1px solid #082D6C;
			}
			#form div.cont_tbl dl.frame dd {
				padding: 20px 0;
			}
				#form div.cont_tbl dl dd small {
					display: block;
					margin: 0;
					padding: 0;
					font-size: 14px;
					line-height: 180%
				}
		#form div.cont_tbl input[type=text],
		#form div.cont_tbl input[type=tel],
		#form div.cont_tbl input[type=email] {
			width: 100%;
			padding: 7px 10px;
			font-size: 16px;
			line-height: 170%;
			font-weight: var(--weight-noaml);
			font-family	: inherit;
			border: none;
			background: #F3FBFE;
		}
		#form div.cont_tbl textarea {
			width: 100%;
			height: 250px;
			padding: 7px 10px;
			font-size: 16px;
			line-height: 170%;
			font-weight: var(--weight-noaml);
			font-family	: inherit;
			border: none;
			background: #F3FBFE;
		}
	#form div.cont_tbl input[type=checkbox],
	#form div.cont_tbl input[type=radio] {
		margin: 0 5px 0 0;
		width: 15px;
		height: 15px;
		vertical-align: -0.1em;
	}
	#form div.cont_tbl div.privacy_box {
		width: 100%;
		height: 250px;
		margin: 0;
		padding: 25px 20px;
		font-size: 15px;
		line-height: 180%;
		background: #F3FBFE;
		overflow-y: auto;
	}
		#form div.cont_tbl div.privacy_box strong {
			display: block;
			font-weight: var(--main-font-bold1);
		}

#contact_btn {
	width: 100%;
	margin: 0 auto;
	padding: 45px 0 0;
	display: flex;
	justify-content: center;
}
#contact_btn div.form_btn1 {
	display: inline-block;
	margin: 0 5px;
}
	div.form_btn1 button {
		display: block;
		width: 350px;
		height: 78px;
		font-size: 26px;
		line-height: 180%;
		margin: 0 auto;
		padding: 0;
		background: #F05357;
		font-family	: inherit;
		color: #fff;
		font-weight: var(--main-font-bold1);
		cursor: pointer;
		border: 2px solid #F05357;
		border-radius: 49px;
		transition: 0.2s linear;
	}
		div.form_btn1 button:hover {
			color: #F05357;
			background: #fff;
		}

#contact_btn div.form_btn2 {
	display: inline-block;
	margin: 0 5px;
}
	div.form_btn2 button {
		display: block;
		width: 350px;
		height: 78px;
		font-size: 26px;
		line-height: 180%;
		margin: 0 auto;
		padding: 0;
		background: #fff;
		font-family	: inherit;
		color: #072C6C;
		font-weight: var(--main-font-bold1);
		cursor: pointer;
		border: 2px solid #082D6C;
		border-radius: 49px;
		transition: 0.2s linear;
	}
		div.form_btn2 button:hover {
			color: #fff;
			background: #082D6C;
		}

	#form div.form_txt {
		display: inline-block;
		margin: 80px auto 0;
		padding: 0;
	}
		#form div.form_txt:nth-of-type(n+2) {
			margin: 30px auto 0;
		}
	#form div.form_txt p {
		margin: 1em 0 0;
		padding: 0;
		font-size: 16px;
		line-height: 200%;
		text-align: left;
	}
		#form div.form_txt p:first-of-type {
			margin-top: 0;
		}

	#form div.back_top {
		width: 100%;
		margin: 50px auto 0;
		padding: 0;
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 1;
	}
		#form div.back_top a {
			width: 350px;
			height: 78px;
			font-size: 30px;
			line-height: 180%;
			margin: 0 auto;
			padding: 0;
			background: #F05357;
			font-family	: inherit;
			text-decoration: none;
			color: #fff;
			font-weight: var(--main-font-bold1);
			cursor: pointer;
			border: 2px solid #F05357;
			border-radius: 39px;
			transition: 0.2s linear;
			display: flex;
			justify-content: center;
			align-items: center;
		}
			#form div.back_top a:hover {
				color: #F05357;
				background: #fff;
			}


/* 円のコンテンツとその他共通部 */
ul.circle_top {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}
	ul.circle_top li {
		opacity: 0;
		width: 325px;
		height: 325px;
		margin: 0;
		padding: 0;
		background: #FFC515;
		border-radius: 50%;
		border: 15px solid #FFD24D;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
	}
		ul.circle_top.scrollin li:nth-of-type(1) {
			-webkit-animation: FadeIN 0.2s ease-out 0s 1 forwards;
			animation: FadeIN 0.2s ease-out 0s 1 forwards;
		}
		ul.circle_top.scrollin li:nth-of-type(2) {
			-webkit-animation: FadeIN 0.2s ease-out 0.4s 1 forwards;
			animation: FadeIN 0.2s ease-out 0.4s 1 forwards;
		}
		ul.circle_top.scrollin li:nth-of-type(3) {
			-webkit-animation: FadeIN 0.2s ease-out 0.2s 1 forwards;
			animation: FadeIN 0.2s ease-out 0.2s 1 forwards;
		}
@media screen and (max-width:1100px) {
	ul.circle_top li {
		width: 300px;
		height: 300px;
	}
}
@media screen and (max-width:980px) {
	ul.circle_top li {
		width: 280px;
		height: 280px;
	}
}
@media screen and (max-width:890px) {
	ul.circle_top li {
		width: 240px;
		height: 240px;
	}
}
		 ul.circle_top li img {
			position: absolute;
			display: block;
			width: 83px;
			height: auto;
			margin: auto;
			padding: 0;
			top: -25px;
			left: 50%;
			transform: translateX(-50%);
			-webkit- transform: translateX(-50%);
		}
@media screen and (max-width:980px) {
		 ul.circle_top li img {
			width: 60px;
			height: auto;
		}
}
		ul.circle_top li h6 {
			margin: 0;
			padding: 0;
			font-size: 34px;
			line-height: 135%;
			font-weight: var(--weight-bold2);
			color: #333333;
		}
			ul.circle_top li h6 strong {
				margin: 0;
				padding: 0;
				font-size: 44px;
				line-height: 135%;
				font-weight: var(--weight-bold2);
			}
			ul.circle_top li h6 span {
				margin: 0;
				padding: 0;
				font-size: 36px;
				line-height: 135%;
				font-weight: var(--weight-bold2);
				color: #fff;
			}
@media screen and (max-width:1100px) {
		ul.circle_top li h6 {
			font-size: 28px;
			line-height: 135%;
		}
			ul.circle_top li h6 strong {
				font-size: 40px;
				line-height: 135%;
			}
			ul.circle_top li h6 span {
				font-size: 32px;
				line-height: 135%;
			}
}
@media screen and (max-width:980px) {
		ul.circle_top li h6 {
			font-size: 24px;
			line-height: 135%;
		}
			ul.circle_top li h6 strong {
				font-size: 32px;
				line-height: 135%;
			}
			ul.circle_top li h6 span {
				font-size: 28px;
				line-height: 135%;
			}
}
h3.consultation {
	display: inline-block;
	margin: 50px auto 0;
	padding: 0;
	font-size: 40px;
	line-height: 180%;
	color: #072C6C;
	font-weight: var(--weight-bold2);
	position: relative;
}
	h3.consultation:before,
	h3.consultation:after {
		position: absolute;
		content: '';
		display: block;
		width: 3px;
		background: #76BCDE;
		height: 187px;
		top: 35px;
	}
	h3.consultation:before {
		transform: rotate(-35deg);
		left: -50px;
	}
	h3.consultation:after {
		transform: rotate(35deg);
		right: -50px;
		}
	h3.consultation strong {
		display: inline-block;
		margin: 50px auto 0;
		padding: 0 0.1em 0 0.15em;
		font-size: 40px;
		line-height: 150%;
		color: #072C6C;
		font-weight: var(--weight-bold2);
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
		h3.consultation strong:before {
			opacity: 0;
			position: absolute;
			display: inline-block;
			content: '';
			width: 97%;
			height: 20px;
			background-color: #FFF100;
			left: 1.5%;
			bottom: 0;
			transform:skewX(-15deg);
			z-index: -1;
		}
			h3.consultation.scrollin strong:before {
				animation: mask-bg 1.0s cubic-bezier(0.8, 0, 0.170, 1) 0.5s 1 forwards;
			}
h4.circle_btm_ttl {
	display: inline-block;
	margin: 75px auto 0;
	padding: 0 0.2em;
	font-size: 60px;
	line-height: 180%;
	color: #fff;
	font-weight: var(--weight-bold2);
	position: relative;
	z-index: 1;
}
section.frame h4.circle_btm_ttl {
	margin: 120px auto 0;
}
@media screen and (max-width:980px) {
h4.circle_btm_ttl {
	font-size: 50px;
}
}
	h4.circle_btm_ttl:before {
		position: absolute;
		display: inline-block;
		content: '';
		width: 108%;
		height: 100%;
		background-color: #082D6C;
		left: -4%;
		top: 3px;
		transform:skewX(-15deg);
		z-index: -1;
	}
	h4.circle_btm_ttl strong {
		color: #FFF100;
		font-weight: var(--weight-bold2);
	}
	h4.circle_btm_ttl img {
		display: inline-block;
		margin: 0 15px 0 0;
		padding: 0;
		vertical-align: 0;
	}

/* お任せください */
section.leave_it {
	margin: 0 auto;
	padding: 50px 0 70px;
	overflow: hidden;
	background: #76BCDE;
}
	section.leave_it div.leave_in {
		width: 100%;
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 10px 0 0;
	}
		section.leave_it div.leave_in h5 {
			margin: 0 auto;
			padding: 0;
		}
		section.leave_it div.leave_in div.tel_cont {
			margin: 20px auto 0;
			padding: 0;
			display: flex;
			align-items: flex-start;
		}
			section.leave_it div.leave_in div.tel_cont h4 {
				opacity: 0;
				width: 293px;
				height: 260px;
				margin: 0;
				padding: 0 0 20px;
				background: url(../images/top/leave_it_bubble.png) center / contain no-repeat;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			section.leave_it div.leave_in div.tel_cont h4.scrollin {
				-webkit-animation: slideInRight2 0.2s ease-out 0.2s 1 forwards;
				animation: slideInRight2 0.2s ease-out 0.2s 1 forwards;
			}
				section.leave_it div.leave_in div.tel_cont h4 div {
					margin: 0;
					padding: 0;
					font-size: 40px;
					line-height: 130%;
					font-weight: var(--weight-bold2);
					color: #F05257;
				}
					section.leave_it div.leave_in div.tel_cont h4 div strong {
						font-size: 50px;
						line-height: 130%;
						font-weight: var(--weight-bold2);
					}
					section.leave_it div.leave_in div.tel_cont h4 div small {
						font-size: 30px;
						line-height: 130%;
						font-weight: var(--weight-bold2);
					}
@media screen and (max-width:1200px) {
			section.leave_it div.leave_in div.tel_cont h4 {
				width: 220px;
				height: 180px;
			}
				section.leave_it div.leave_in div.tel_cont h4 div {
					font-size: 30px;
					line-height: 130%;
				}
					section.leave_it div.leave_in div.tel_cont h4 div strong {
						font-size: 40px;
						line-height: 130%;
					}
					section.leave_it div.leave_in div.tel_cont h4 div small {
						font-size: 20px;
						line-height: 130%;
					}
}
			section.leave_it div.leave_in div.tel_cont div.txt {
				width: calc(100% - 293px);
				margin: 0;
				padding: 20px 0 0 30px;
				text-align: left;
			}
				section.leave_it div.leave_in div.tel_cont div.txt h3 {
					margin: 0;
					padding: 0;
					font-size: 32px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					color: #fff;
				}
					section.leave_it div.leave_in div.tel_cont div.txt h3 span {
						display: inline-block;
						margin: 0;
						padding: 0;
					}
@media screen and (max-width:1200px) {
				section.leave_it div.leave_in div.tel_cont div.txt h3 {
					font-size: 26px;
					line-height: 150%;
				}
}
				section.leave_it div.leave_in div.tel_cont div.txt a {
					opacity: 0;
					display: inline-block;
					margin: 0;
					padding: 0 0 0 100px;
					font-size: 120px;
					line-height: 120%;
					text-decoration: none;
					pointer-events: none;
					white-space: nowrap;
					font-family: "Zen Maru Gothic", serif;
					font-weight: var(--weight-extrabold1);
					color: #FFF100;
					position: relative;
				}
					section.leave_it div.leave_in div.tel_cont div.txt a.scrollin {
						-webkit-animation: slideInLeft2 0.2s ease-out 0.2s 1 forwards;
						animation: slideInLeft2 0.2s ease-out 0.2s 1 forwards;
					}
					section.leave_it div.leave_in div.tel_cont div.txt a:before {
						position: absolute;
						content: '';
						display: block;
						width: 80px;
						height: 58px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/free_dial.png) center / contain no-repeat;
						top: 70px;
						left: 0;
					}
@media screen and (max-width:1150px) {
				section.leave_it div.leave_in div.tel_cont div.txt a {
					padding: 0 0 0 80px;
					font-size: 100px;
					line-height: 120%;
				}
					section.leave_it div.leave_in div.tel_cont div.txt a:before {
						width: 55px;
						height: 40px;
						top: 60px;
						left: 0;
					}
}
@media screen and (max-width:900px) {
				section.leave_it div.leave_in div.tel_cont div.txt a {
					padding: 0 0 0 65px;
					font-size: 75px;
					line-height: 120%;
				}
					section.leave_it div.leave_in div.tel_cont div.txt a:before {
						width: 55px;
						height: 40px;
						top: 40px;
						left: 0;
					}
}
		section.leave_it div.leave_in div.mail_line {
			margin: -30px auto 0;
			padding: 0;
		}
@media screen and (max-width:1200px) {
		section.leave_it div.leave_in div.mail_line {
			margin-top: 20px;
		}
}
			section.leave_it div.leave_in div.mail_line h6 {
				margin: 0 auto;
				padding: 0;
				font-size: 24px;
				line-height: 150%;
				font-weight: var(--weight-nomal);
				color: #092E6C;
			}
			section.leave_it div.leave_in div.mail_line div.btn {
				margin: 15px auto 0;
				padding: 0;
				display: flex;
				justify-content: center;
			}
				section.leave_it div.leave_in div.mail_line div.btn a {
					width: 350px;
					height: 78px;
					margin: 0 20px;
					padding: 0 0 0 36px;
					font-size: 26px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
				}
				section.leave_it div.leave_in div.mail_line div.btn a.mail {
					color: #092E6C;
					border: 2px solid #fff;
					background: #fff;
					border-radius: 39px;
				}
					section.leave_it div.leave_in div.mail_line div.btn a.mail:hover {
						color: #fff;
						background: #092E6C;
					}
					section.leave_it div.leave_in div.mail_line div.btn a.mail:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 34px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/mail_01.png) center / contain no-repeat, url(../images/icon/mail_02.png) center / contain no-repeat;
						top: 50%;
						left: 45px;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
						section.leave_it div.leave_in div.mail_line div.btn a.mail:hover:before {
							background: url(../images/icon/mail_02.png) center / contain no-repeat;
						}
				section.leave_it div.leave_in div.mail_line div.btn a.line {
					color: #fff;
					border: 2px solid #11BB59;
					background: #11BB59;
					border-radius: 39px;
				}
					section.leave_it div.leave_in div.mail_line div.btn a.line:hover {
						color: #11BB59;
						background: #fff;
					}
					section.leave_it div.leave_in div.mail_line div.btn a.line:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 34px;
						margin: auto;
						padding: 0;
						background: url(../images/icon/line_01.png) center / contain no-repeat, url(../images/icon/line_02.png) center / contain no-repeat;
						top: 50%;
						left: 45px;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
						section.leave_it div.leave_in div.mail_line div.btn a.line:hover:before {
							background: url(../images/icon/line_02.png) center / contain no-repeat;
						}

/* 料金設定 */
section.price_cont {
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding: 185px 10px 100px;
}
	section.price_cont div.price_in {
		width: 100%;
		margin: 0 auto;
		padding: 70px 20px 40px;
		background: #FFF8DF;
		border: 10px solid #FFF100;
		border-radius: 30px;
		position: relative;
	}
		section.price_cont div.price_in div.band {
			opacity: 0;
			position: absolute;
			display: block;
			width: 630px;
			height: 130px;
			margin: 0 auto;
			padding: 0 0 0;
			font-size: 60px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: url(../images/top/price_band.png) center / contain no-repeat;
			top: -75px;
			left: calc(50% - 315px);
		}
			section.price_cont div.price_in div.band.scrollin {
				-webkit-animation: ZoomIn 0.3s ease-out 0s 1 forwards;
				animation: ZoomIn 0.3s ease-out 0s 1 forwards;
			}
			section.price_cont div.price_in div.band p {
				opacity: 0;
				position: absolute;
				display: block;
				width: 160px;
				height: 102px;
				margin: 0 auto;
				padding: 20px 0 0;
				background: url(../images/top/price_band_fuki.png) center / contain no-repeat;
				top: -37px;
				left: 10px;
			}
				section.price_cont div.price_in div.band p.scrollin {
					-webkit-animation: FadeIN 0.2s ease-out 0.5s 1 forwards;
					animation: FadeIN 0.2s ease-out 0.5s 1 forwards;
				}
				section.price_cont div.price_in div.band p span {
					display: block;
					margin: 0 auto;
					padding: 0;
					font-size: 40px;
					line-height: 150%;
					color: #092E6C;
					transform: rotate(-10deg);
				}
		section.price_cont div.price_in h3 {
			margin: 0 auto;
			padding: 0;
			font-size: 90px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
			section.price_cont div.price_in h3 strong {
				display: inline-block;
				margin: 0 0 0 10px;
				font-size: 120px;
				line-height: 150%;
				font-weight: var(--weight-extrabold1);
				color: #F05257;
				position: relative;
				z-index: 1;
			}
				section.price_cont div.price_in h3 strong:before {
					position: absolute;
					display: inline-block;
					content: '';
					width: 100%;
					height: 20px;
					background-color: #FFF100;
					left: -3px;
					bottom: 20px;
					transform:skewX(-15deg);
					z-index: -1;
				}
			section.price_cont div.price_in h3 small {
				font-size: 50px !important;
				line-height: 150%;
				font-weight: var(--weight-bold2);
			}
		section.price_cont div.price_in h6 {
			margin: 0 auto;
			padding: 0;
			font-size: 25px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
		section.price_cont div.price_in p {
			margin: 13px auto 0;
			padding: 0;
			font-size: 15px;
			line-height: 200%;
			font-weight: var(--weight-nomal);
		}
			section.price_cont div.price_in p:first-of-type {
				margin-top: 20px;
			}
		section.price_cont div.price_in h4 {
			margin: 10px auto 0;
			padding: 0;
			font-size: 22px;
			line-height: 200%;
			font-weight: var(--weight-bold2);
			color: #F05257;
		}
