@charset "UTF-8";

/* KV */
#kv {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: url(../images/top/kv_sp.jpg) center / cover no-repeat;
}
	#kv div.kv_in {
		width: 100%;
		margin: 0 auto;
		padding: 20% 3.5% 5%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
		#kv div.kv_in h2 {
			opacity: 0;
			display: inline-block;
			margin: 0 0 0 7%;
			padding: 0;
			font-size: 4.8vw;
			line-height: 150%;
			font-weight: var(--weight-nomal);
			color: #F2686B;
			text-shadow: 0 0 10px rgba(0,0,0,0.1);
			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;
		}
			#kv div.kv_in h2:before,
			#kv div.kv_in h2:after {
				position: absolute;
				content: '';
				display: block;
				width: 3px;
				background: #F2686B;
				box-shadow: 0 0 10px rgba(0,0,0,0.1);
				height: 2em;
				top: 0
			}
			#kv div.kv_in h2:before {
				transform: rotate(-35deg);
				left: -0.8em;
			}
			#kv div.kv_in h2:after {
				transform: rotate(35deg);
				right: -0.8em;
			}
			#kv div.kv_in h2 strong {
				margin: 0;
				padding: 0;
				font-size: 5.4vw;
				line-height: 150%;
				font-weight: var(--weight-bold2);
			}
		#kv div.kv_in h3 {
			opacity: 0;
			display: inline-block;
			margin: 1em 0 0 0.2em;
			padding: 0;
			font-size: 4.6vw;
			line-height: 180%;
			text-align: left;
			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;
		}
		#kv div.kv_in h4 {
			opacity: 0;
			margin: 0.5em 0 0;
			padding: 0;
			font-size: 7.6vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #072C6C;
			text-align: left;
			text-shadow: 0 0 10px rgba(255,255,255,1);
		}
		#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;
		}

			#kv div.kv_in h4 small {
				display: inline-block;
				margin: 0 0 0 5px;
				font-size: 6.2vw;
				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: 0.3em;
					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: 48%;
				margin: 1.2em 0 0;
				padding: 1.2em 3% 0.5em;
				font-size: 4.2vw;
				line-height: 130%;
				color: #1FAEDE;
				font-weight: var(--weight-bold2);
				background: #fff;
				border-radius: 0.5em;
				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;
		}
				#kv div.kv_in ul li:before {
					position: absolute;
					content: '';
					display: block;
					width: 3em;
					height: 1.4em;
					margin: auto;
					padding: 0;
					background: url(../images/top/kv_list_rop.png) center / contain no-repeat;
					top: -1.2em;
					left: 50%;
					transform: translateX(-50%);
					-webkit- transform: translateX(-50%);
				}
				#kv div.kv_in ul li img {
					position: absolute;
					display: block;
					width: 1.6em;
					height: auto;
					margin: auto;
					padding: 0;
					top: -0.4em;
					left: 50%;
					transform: translateX(-50%);
					-webkit- transform: translateX(-50%);
				}
				#kv div.kv_in ul small {
					display: inline-block;
					font-size: 3.6vw;
					line-height: 130%;
				}

/* 選ばれる理由 */
#reason {
	width: 100%;
	margin: 0 auto;
	padding: 0 3.5% 15%;
}
	#reason h4 {
		margin: 0 auto;
		padding: 0;
		font-size: 4.4vw;
		line-height: 150%;
		font-weight: var(--weight-nomal);
		color: #062C6C;
	}
	#reason h3 {
		display: inline-block;
		margin: 5% auto 0;
		padding: 0 1em;
		font-size: 7.4vw;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #fff;
		position: relative;
		z-index: 1;
	}
		#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 {
			display: block;
			font-weight: var(--weight-bold2);
			color: #FFF100;
		}
	#reason ul {
		width: 100%;
		margin: 0 auto;
		padding: 3% 0 0;
		list-style: none;
	}
		#reason ul li {
			width: 100;
			margin: 8% auto 0;
			padding: 0 0 1.5em;
			background: #DBF0F9;
			border-radius: 1.5em;
			overflow: hidden;
		}
			#reason ul li div.ttl {
				margin: 0;
				padding: 0;
				display: flex;
			}
				#reason ul li div.ttl span {
					width: 15%;
					margin: 0;
					padding: 0;
					font-size: 5.2vw;
					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: 85%;
					margin: 0;
					padding: 4% 3%;
					font-size: 4.3vw;
					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: 12em;
				margin: 0;
				padding: 0;
			}
				#reason ul li div.img img {
					width: 100%;
					height: 12em;
					object-fit: cover;
				}
			#reason ul li div.txt {
				width: 100%;
				margin: 0;
				padding: 5% 3% 0;
				text-align: left;
			}
				#reason ul li div.txt h6 {
					margin: 0;
					padding: 0;
					font-size: 4.0vw;
					line-height: 150%;
					color: #EA7200;
					font-weight: var(--weight-bold2);
				}
				#reason ul li div.txt p {
					margin: 1em 0 0;
					padding: 0;
					font-size: 3.8vw;
					line-height: 200%;
				}

/* 保護までの流れ */
#flow {
	width: 100%;
	margin: 0 auto;
	padding: 0 3.5% 15%;
}
	#flow h5.step_ttl {
		display: inline-block;
		margin: 5% auto 0;
		padding: 0;
		font-size: 6.4vw;
		line-height: 150%;
		color: #FFC513;
		font-weight: var(--weight-bold2);
		position: relative;
	}
		#flow h5.step_ttl:before {
			position: absolute;
			content: '';
			display: block;
			width: 40%;
			height: 1.5em;
			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: 12.6vw;
			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%;
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
		#flow ul.flow_step li {
			width: 100%;
			margin: 0 auto;
			padding: 0 0 8%;
			background: #DBF0F9;
			border-radius: 1.5em;
			overflow: hidden;
		}
			#flow ul.flow_step li div.ttl {
				margin: 0;
				padding: 0;
				display: flex;
			}
				#flow ul.flow_step li div.ttl span {
					width: 17%;
					margin: 0;
					padding: 4% 6% 4% 4%;
					font-size: 6.0vw;
					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: 8.3em;
						height: 8.3em;
						background: #76BCDE;
						top: -5em;
						left: -5em;
						transform: rotate(-45deg);
						z-index: -1;
					}
					#flow ul.flow_step li div.ttl span small {
						display: block;
						margin: 0;
						padding: 0;
						font-size: 3.8vw;
						line-height: 100%;
						font-weight: var(--weight-bold2);
					}
				#flow ul.flow_step li div.ttl h4 {
					width: 83%;
					margin: 0;
					padding: 4% 3% 4% 4%;
					font-size: 4.3vw;
					line-height: 150%;
					color: #082D6C;
					font-weight: var(--weight-bold2);
					white-space: nowrap;
					text-align: left;
					display: flex;
					justify-content: flex-start;
					align-items: center;
				}
			#flow ul.flow_step li dl {
				margin: 2% 0 0;
				padding: 0 5%;
				display: flex;
				flex-direction: column-reverse;
				position: relative;
				z-index: 1;
			}
				#flow ul.flow_step li dl dt {
					width: 100%;
					margin: 3% 0 0;
					padding: 0;
				}
					#flow ul.flow_step li dl dt img {
						width: 100%;
						height: auto;
					}
				#flow ul.flow_step li dl dd {
					width: 100%;
					margin: 0;
					padding: 0;
					text-align: left;
				}
					#flow ul.flow_step li dl dd h5 {
						margin: 0;
						padding: 0;
						font-size: 4.4vw;
						line-height: 200%;
						color: #EA7200;
						font-weight: var(--weight-bold2);
					}
					#flow ul.flow_step li dl dd p {
						margin: 1em 0 0;
						padding: 0;
						font-size: 3.8vw;
						line-height: 200%;
					}
						#flow ul.flow_step li dl dd p:first-child {
							margin-top: 0;
						}
			#flow ul.flow_step li div.btn {
				margin: 5% 0 0;
				padding: 0 5%;
			}
				#flow ul.flow_step li div.btn a {
					width: 100%;
					height: 3em;
					margin: 3% auto 0;
					padding: 0 0 0 1.5em;
					font-size: 4.6vw;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
				}
				#flow ul.flow_step li div.btn a.tel {
					height: 2.4em;
					font-size: 6.4vw;
					line-height: 150%;
					font-weight: var(--weight-extrabold1);
					font-family: "Zen Maru Gothic", serif;
					color: #092E6C;
					background: #FFF100;
					border-radius: 1.2em;
				}
					#flow ul.flow_step li div.btn a.tel:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.2em;
						height: 1.2em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/free_dial_g.png) center / contain no-repeat;
						top: 50%;
						left: 20%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
				#flow ul.flow_step li div.btn a.mail {
					color: #092E6C;
					background: #fff;
					border-radius: 1.5em;
				}
					#flow ul.flow_step li div.btn a.mail:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.5em;
						height: 1.5em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/mail_01.png) center / contain no-repeat;
						top: 50%;
						left: 20%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
				#flow ul.flow_step li div.btn a.line {
					color: #fff;
					background: #11BB59;
					border-radius: 1.5em;
				}
					#flow ul.flow_step li div.btn a.line:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.5em;
						height: 1.5em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/line_01.png) center / contain no-repeat;
						top: 50%;
						left: 20%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
			#flow ul.flow_step .arrow {
				margin: 1.2em auto;
				padding: 0;
			}
				#flow ul.flow_step .arrow img {
					width: 10%;
					height: auto;
				}

/* よくあるご質問 */
#faq {
	width: 100%;
	margin: 0 auto;
	padding: 15% 3.5%;
	background: url(../images/top/faq_bg.png) top -50px left -50px / 50% repeat;
}
	#faq h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 6.4vw;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #082D6C;
	}
	#faq dl {
		width: 100%;
		margin: 0 auto;
		padding: 8% 0 0;
		text-align: left;
	}
		#faq dl dt {
			width: 100%;
			margin: 5% 0 0;
			padding: 0;
			background: #fff;
			border-radius: 1em;
			display: flex;
			overflow: hidden;
			cursor: pointer;
		}
			#faq dl dt:first-of-type {
				margin-top: 0;
			}
			#faq dl dt span {
				width: 15%;
				margin: 0;
				padding: 0;
				font-size: 5.8vw;
				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: 85%;
				margin: 0;
				padding: 4% 3%;
				font-size: 4.3vw;
				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: 1em 2% 1.5em;
			padding: 0;
			font-size: var(--size-nomal1);
			line-height: 180%;
		}
			#faq dl dd p {
				margin: 1.0em 0 0;
				padding: 0;
				font-size: 3.8vw;
				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: 15% 3.5%;
	background: #F3FBFE;
}
	#voice h3 {
		margin: 0 auto;
		padding: 0;
		font-size: 6.4vw;
		line-height: 150%;
		font-weight: var(--weight-bold2);
		color: #082D6C;
	}
	#voice h4 {
		margin: 1.0em auto 0;
		padding: 0;
		font-size: 4.4vw;
		line-height: 150%;
		font-weight: var(--weight-nomal);
	}
		#voice h4 small {
			display: block;
			margin: 0.5em auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 150%;
			font-weight: var(--weight-nomal);
		}
	#voice ul {
		width: 100%;
		margin: 0 auto;
		padding: 5% 0 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
	}
		#voice ul li {
			width: 48%;
			margin: 8% 0 0 4%;
			padding: 0;
		}
			#voice ul li:nth-of-type(2n-1) {
				margin-left: 0;
			}
			#voice ul li a {
				display: block;
				width: 100%;
				height: 16em;
				margin: 0;
				padding: 0;
				position: relative;
			}
				#voice ul li a:after {
					position: absolute;
					content: '';
					display: block;
					width: 2em;
					height: 2em;
					background: url(../images/icon/voice_expansion.png) center / contain no-repeat;
					top: 0.5em;
					right: 0.5em;
				}
				#voice ul li a img {
					width: 100%;
					height: 16em;
					object-fit: cover;
				}
			#voice ul li p {
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.4vw;
				line-height: 150%;
				color: #1FADDE;
				text-align: left;
			}

/* ご注意ください */
#attention {
	width: 100%;
	margin: 0 auto;
	padding: 15% 3.5%;
}
	#attention h3 {
		display: inline-block;
		margin: 0 auto;
		padding: 0;
		font-size: 6.4vw;
		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: 3.5em;
			height: 3.0em;
			margin: 0;
			padding: 0;
			background: url(../images/icon/attention_ico.png) center / contain no-repeat;
			top: 0;
		}
		#attention h3:before {
			left: -3em;
		}
		#attention h3:after {
			right: -3em;
		}
		#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%;
		margin: 0 auto;
		padding: 5% 0 0;
		list-style: none;
	}
		#attention ul li {
			width: 100%;
			margin: 8% 0 0;
			padding: 0 0 8%;
			list-style: none;
			background: #F4EAEA;
			border-radius: 1.5em;
			overflow: hidden;
		}
			#attention ul li h4 {
				width: 100%;
				margin: 0;
				padding: 3% 5%;
				font-size: 4.6vw;
				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: 12em;
				margin: 0;
				padding: 0;
			}
				#attention ul li .img img {
					width: 100%;
					height: 12em;
					object-fit: cover;
				}
			#attention ul li .txt {
				margin: 0;
				padding: 5% 3% 0;
				font-size: 3.8vw;
				line-height: 200%;
				text-align: left;
			}
				#attention ul li .txt p {
					margin: 0.8em 0 0;
					padding: 0;
				}
					#attention ul li .txt p strong {
						font-size: 4.0vw;
						line-height: 200%;
						font-weight: var(--weight-nonal);
						color: #990000;
						text-decoration: underline;
					}

/* メールでのご相談 */
#form {
	width: 100%;
	margin: 0 auto;
	padding: 0 3.5% 20%;
}
	#form h6.form_tel {
		margin: 1.5em auto 0;
		padding: 0;
		font-size: 3.8vw;
		line-height: 150%;
		font-weight: var(--weight-nonal);
		color: #333;
	}
	#form h5 {
		margin: 0.5em auto 0;
		padding: 0;
		font-size: 6.2vw;
		line-height: 130%;
		font-weight: var(--weight-bold1);
		color: #F05257;
	}
		#form h5 strong {
			font-size: 8.4vw;
			line-height: 130%;
			font-weight: var(--weight-bold2);
		}
		#form h5 small {
			font-size: 5.2vw;
			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 1.2em;
			font-size: 10.7vw;
			line-height: 120%;
			text-decoration: 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: 1.0em;
				height: 0.7em;
				margin: auto;
				padding: 0;
				background: url(../images/icon/free_dial_n.png) center / contain no-repeat;
				top: 0.4em;
				left: 0;
			}
	#form div.contact_attention {
		width: 100%;
		margin: 10% auto 0;
		padding: 8% 5%;
		font-size: 3.4vw;
		line-height: 200%;
		text-align: left;
		background: #DBF0F9;
		border-radius: 1.5em;
	}
		#form div.contact_attention strong {
			display: block;
			margin: 1.2em 0 0;
			padding: 0 0 0 2.5em;
			text-indent: -2.5em;
			font-weight: var(--weight-bold2);
		}
			#form div.contact_attention strong:first-of-type {
				margin-top: 0;
			}
	#form div.cont_tbl {
		width: 100%;
		margin: 8% auto 0;
		padding: 0;
	}
		#form div.cont_tbl p.form_top {
			margin: 0;
			padding: 0;
			font-size: 3.6vw;
			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: 3% auto 0;
			padding: 0;
			font-size: 3.8vw;
			line-height: 200%;
			font-weight: var(--weight-noaml);
			text-align: left;
			border-bottom: 1px solid #082D6C;
		}
			#form div.cont_tbl dl dt {
				width: 100%;
				margin: 0 ;
				padding: 0.5em 0 0;
				font-weight: var(--weight-bold1);
				border-top: 1px solid #082D6C;
				display: flex;
				align-items: center;
			}
				#form div.cont_tbl dl dt span {
					font-size: 3.4vw;
					color: #EA5213;
				}
			#form div.cont_tbl dl dd {
				width: 100%;
				margin: 0;
				padding: 0 0 0.5em;
			}
				#form div.cont_tbl dl dd:first-of-type {
					border-top: none;
				}
				#form div.cont_tbl dl dd small {
					display: block;
				}
		#form div.cont_tbl input[type=text],
		#form div.cont_tbl input[type=tel],
		#form div.cont_tbl input[type=email] {
			width: 100%;
			padding: 2% 3%;
			font-size: 3.8vw;
			line-height: 170%;
			font-weight: var(--weight-noaml);
			font-family	: inherit;
			border: none;
			background: #F3FBFE;
		}
		#form div.cont_tbl select {
			width: 100%;
			padding: 2% 3%;
			font-size: 3.8vw;
			line-height: 170%;
			font-weight: var(--weight-noaml);
			font-family	: inherit;
			border: none;
			background: #FAFAFC;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
		}
		#form div.cont_tbl textarea {
			width: 100%;
			height: 15em;
			padding: 2% 3%;
			font-size: 3.8vw;
			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 0.5em 0 0;
		width: 1.2em;
		height: 1.2em;
		vertical-align: -0.1em;
	}
	#form div.cont_tbl div.privacy_box {
		width: 100%;
		height: 20em;
		margin: 0;
		padding: 5% 2%;
		font-size: 3.5vw;
		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: 8% 0 0;
}
#contact_btn div.form_btn1 {
	display: inline-block;
	width: 100%;
	margin: 5px auto;
}
	div.form_btn1 button {
		display: block;
		width: 90%;
		height: 3em;
		font-size: 4.4vw;
		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: 1.5em;
	}

#contact_btn div.form_btn2 {
	display: inline-block;
	width: 100%;
	margin: 5px auto;
}
	div.form_btn2 button {
		display: block;
		width: 90%;
		height: 3em;
		font-size: 4.4vw;
		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: 1.5em;
	}

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

	#form div.back_top {
		width: 100%;
		margin: 8% auto 0;
		padding: 0;
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 1;
	}
		#form div.back_top a {
			width: 90%;
			height: 3em;
			font-size: 4.4vw;
			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-radius: 1.5em;
			display: flex;
			justify-content: center;
			align-items: center;
		}


/* 円のコンテンツとその他共通部 */
ul.circle_top {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	ul.circle_top li {
		opacity: 0;
		width: 44%;
		height: 11em;
		margin: 0 2.5%;
		padding: 0;
		background: #FFC515;
		border-radius: 50%;
		border: 6px 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;
		}
		 ul.circle_top li img {
			position: absolute;
			display: block;
			width: 30%;
			height: auto;
			margin: auto;
			padding: 0;
			top: -1em;
			left: 50%;
			transform: translateX(-50%);
			-webkit- transform: translateX(-50%);
		}
		ul.circle_top li h6 {
			margin: 0;
			padding: 0;
			font-size: 4.4vw;
			line-height: 135%;
			font-weight: var(--weight-bold2);
			color: #333333;
		}
			ul.circle_top li h6 strong {
				margin: 0;
				padding: 0;
				font-size: 5.4vw;
				line-height: 135%;
				font-weight: var(--weight-bold2);
			}
			ul.circle_top li h6 span {
				margin: 0;
				padding: 0;
				font-size: 4.8vw;
				line-height: 135%;
				font-weight: var(--weight-bold2);
				color: #fff;
			}
h3.consultation {
	display: inline-block;
	margin: 2% auto 0;
	padding: 0;
	font-size: 4.6vw;
	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: 4em;
		top: 1.5em;
	}
	h3.consultation:before {
		transform: rotate(-15deg);
		left: -1em;
	}
	h3.consultation:after {
		transform: rotate(15deg);
		right: -1em;
		}
	h3.consultation strong {
		display: inline-block;
		margin: 8% auto 0;
		padding: 0 0.1em 0 0.15em;
		font-size: 4.8vw;
		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: 0.4em;
			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: 10% auto 0;
	padding: 0 1.5em;
	font-size: 7.4vw;
	line-height: 180%;
	color: #fff;
	font-weight: var(--weight-bold2);
	position: relative;
	z-index: 1;
}
#form h4.circle_btm_ttl {
	padding: 0 0.5em;
}
section.frame h4.circle_btm_ttl {
	margin: 15% auto 0;
}
	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 {
		display: block;
		color: #FFF100;
		font-weight: var(--weight-bold2);
	}
	h4.circle_btm_ttl img {
		display: inline-block;
		width: 12%;
		height: auto;
		margin: 0 0.5em 0 0;
		padding: 0;
		vertical-align: -0.1em;
	}

/* お任せください */
section.leave_it {
	margin: 0 auto;
	padding: 10% 3.5%;
	background: #76BCDE;
}
	section.leave_it div.leave_in {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}
		section.leave_it div.leave_in h5 {
			width: 55%;
			margin: 0 auto;
			padding: 0 0 0 15%;
		}
		section.leave_it div.leave_in h5 img {
			width: 100%;
			height: auto;
		}
		section.leave_it div.leave_in div.tel_cont {
			margin: -10% auto 0;
			padding: 0;
		}
			section.leave_it div.leave_in div.tel_cont h4 {
				opacity: 0;
				width: 10.5em;
				height: 10em;
				margin: 0 0 0 -5%;
				padding: 0 0 0.5em;
				display: flex;
				justify-content: center;
				align-items: center;
				position: relative;
				z-index: 1;
			}
			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:before {
					position: absolute;
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					margin: 0;
					padding: 0;
					background: url(../images/top/leave_it_bubble.png) center / contain no-repeat;
					transform: rotate(70deg);
					top: 0;
					left: 0;
					z-index: -1;
				}
				section.leave_it div.leave_in div.tel_cont h4 div {
					margin: 0;
					padding: 0;
					font-size: 5.2vw;
					line-height: 130%;
					font-weight: var(--weight-bold2);
					color: #F05257;
				}
					section.leave_it div.leave_in div.tel_cont h4 div strong {
						font-size: 5.4vw;
						line-height: 130%;
						font-weight: var(--weight-bold2);
					}
					section.leave_it div.leave_in div.tel_cont h4 div small {
						font-size: 4.6vw;
						line-height: 130%;
						font-weight: var(--weight-bold2);
					}
			section.leave_it div.leave_in div.tel_cont div.txt {
				width: 100%;
				margin: 0;
				padding: 1em 0 0;
				text-align: left;
			}
				section.leave_it div.leave_in div.tel_cont div.txt h3 {
					margin: -6em 0 0;
					padding: 0 0 0 38%;
					font-size: 4.4vw;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					color: #fff;
					text-shadow: 0 0 10px rgba(0,0,0,0.6);
				}
					section.leave_it div.leave_in div.tel_cont div.txt h3 span {
						display: inline-block;
						margin: 0;
						padding: 0;
					}
				section.leave_it div.leave_in div.tel_cont div.txt a {
					opacity: 0;
					display: inline-block;
					margin: 5% 0 0;
					padding: 0 0 0 0.9em;
					font-size: 12.5vw;
					line-height: 120%;
					text-decoration: none;
					white-space: nowrap;
					font-family: "Zen Maru Gothic", serif;
					font-weight: var(--weight-extrabold1);
					color: #FFF100;
					text-shadow: 
						#FFF100 1px 1px 0, #FFF100 -1px -1px 0,
						#FFF100 -1px 1px 0, #FFF100 1px -1px 0,
						#FFF100 0px 1px 0, #FFF100  0-1px 0,
						#FFF100 -1px 0 0, #FFF100 1px 0 0;
					letter-spacing: 0.05em;
					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: 0.8em;
						height: 0.5em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/free_dial.png) center / contain no-repeat;
						top: 0.5em;
						left: 0;
					}
		section.leave_it div.leave_in div.mail_line {
			margin: 5% auto 0;
			padding: 0;
		}
			section.leave_it div.leave_in div.mail_line h6 {
				margin: 0 auto;
				padding: 0;
				font-size: 4.4vw;
				line-height: 150%;
				font-weight: var(--weight-nomal);
				color: #092E6C;
			}
			section.leave_it div.leave_in div.mail_line div.btn {
				margin: 0 auto;
				padding: 1% 0 0;
			}
				section.leave_it div.leave_in div.mail_line div.btn a {
					width: 90%;
					height: 3em;
					margin: 3% auto 0;
					padding: 0 0 0 1.5em;
					font-size: 4.6vw;
					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;
					background: #fff;
					border-radius: 1.5em;
				}
					section.leave_it div.leave_in div.mail_line div.btn a.mail:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.5em;
						height: 1.5em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/mail_01.png) center / contain no-repeat;
						top: 50%;
						left: 20%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}
				section.leave_it div.leave_in div.mail_line div.btn a.line {
					color: #fff;
					background: #11BB59;
					border-radius: 1.5em;
				}
					section.leave_it div.leave_in div.mail_line div.btn a.line:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.5em;
						height: 1.5em;
						margin: auto;
						padding: 0;
						background: url(../images/icon/line_01.png) center / contain no-repeat;
						top: 50%;
						left: 20%;
						transform: translateY(-50%);
						-webkit- transform: translateY(-50%);
					}

/* 料金設定 */
section.price_cont {
	width: 100%;
	margin: 0 auto;
	padding: 25% 2% 15%;
}
	section.price_cont div.price_in {
		width: 100%;
		margin: 0 auto;
		padding: 10% 4% 5%;
		background: #FFF8DF;
		border: 5px solid #FFF100;
		border-radius: 1.5em;
		position: relative;
	}
		section.price_cont div.price_in div.band {
			opacity: 0;
			position: absolute;
			display: block;
			width: 80%;
			height: 4em;
			margin: 0 auto;
			padding: 0.9em 0 0;
			font-size: 6.4vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: url(../images/top/price_band.png) center / contain no-repeat;
			top: -2em;
			left:10%;
		}
			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: 40%;
				height: 6em;
				margin: 0 auto;
				padding: 1.4em 0 0;
				background: url(../images/top/price_band_fuki.png) center / contain no-repeat;
				top: -2.5em;
				left: -13%;
			}
				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.9em 0 0;
					font-size: 6.2vw;
					line-height: 150%;
					font-weight: var(--weight-nomal);
					color: #092E6C;
					transform: rotate(-10deg);
				}
		section.price_cont div.price_in h3 {
			margin: 0 auto;
			padding: 0;
			font-size: 9.2vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
			section.price_cont div.price_in h3 strong {
				display: inline-block;
				margin: 0 0 0 0.1em;
				font-size: 12vw;
				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: 0.2em;
					background-color: #FFF100;
					left: -3px;
					bottom: 0.2em;
					transform:skewX(-15deg);
					z-index: -1;
				}
			section.price_cont div.price_in h3 small {
				font-size: 6.4vw !important;
				line-height: 150%;
				font-weight: var(--weight-bold2);
			}
		section.price_cont div.price_in h6 {
			margin: 0 auto;
			padding: 0;
			font-size: 4.4vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
		section.price_cont div.price_in p.include {
			margin: 1em auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			font-weight: var(--weight-nomal);
			text-align: left;
		}
			section.price_cont div.price_in p:first-of-type {
				margin-top: 1em;
			}
		section.price_cont div.price_in h4 {
			margin: 0.8em auto 0;
			padding: 0;
			font-size: 4.0vw;
			line-height: 200%;
			font-weight: var(--weight-bold2);
			text-align: left;
			color: #F05257;
		}
