.inner {
	width: 90%;
	margin: 0 auto;
}

.w960 {
	max-width: 960px;
}

.w950 {
	max-width: 950px;
}

.w750 {
	max-width: 750px;
}

.w690 {
	max-width: 690px;
}

.w580 {
	max-width: 580px;
}

.w450 {
	max-width: 450px;
}

#local {
	width: 100%;
	overflow: hidden;
	img {
		width: 100%;
		vertical-align: top;
	}
}

.top_catch.small {
	box-shadow: none;
	position: relative;
	/* box-shadow: 0 -40px 50px rgba(255, 255, 255, 1); */
	z-index: 10;
}

/* .top_catch.small .box {
	padding: 10px 0;
} */

.top_catch .box {
	margin-top: -10px;
	margin-bottom: -10px;
	width: 110%;
	margin-left: -5%;
	background: #e70b6b;
	padding: 30px 0;
	text-align: center;
	color: #fff;
	z-index: 5;
	position: relative;
}

.top_catch .catch {
	margin-bottom: 0;
	line-height: 160%;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 2px;
}

.top_catch .catch .bigger {
	font-size: 40px;
}
.top_catch.rotation .box {
	transform: rotate(-0.5deg);
}

@media screen and (max-width: 767px) {
	.top_visual + .top_catch.small {
		box-shadow: none;
		z-index: 205;
	}
	.top_catch.small {
		width: 110%;
		margin-left: -5%;
		/* box-shadow: 0 -40px 20px 41px rgba(255, 255, 255, 1); */
		margin-top: -20px;
		margin-bottom: -30px;
		transform: rotate(-3.5deg);
	}
	.top_catch.small .box {
		padding: 10px 0;
	}
	.top_catch .catch {
		font-size: 20px;
	}
	.top_catch .catch .bigger {
		font-size: 28px;
	}
}

.slider_banner {
	background: #fff !important;
}

#main-banner {
	width: 100%;
	background: linear-gradient(to bottom, transparent 30%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 1) 100%), url("../../img/local/main-bg.png") no-repeat bottom center / cover;
	padding-top: 42px;
	.text1 {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 900;
		font-size: 45px;
		letter-spacing: 0em;
		line-height: 82px;
		text-align: center;
		color: #000;
		margin-bottom: 2px;
		@media screen and (max-width: 767px) {
			font-size: 22px;
			line-height: 1.5;
		}
	}
	.text2 {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		font-size: 29px;
		letter-spacing: 0.01em;
		line-height: 55px;
		text-align: center;
		color: #000;
		@media screen and (max-width: 767px) {
			font-size: 18px;
			line-height: 1.5;
			margin-bottom: 1rem;
		}
	}
	.banner-img {
		margin: 0 auto;
		max-width: 100%;
		@media screen and (max-width: 767px) {
			margin: 0 auto;
		}
		& img {
			width: 100%;
		}
	}
	.text3 {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: bold;
		font-size: 34px;
		letter-spacing: 0.11em;
		line-height: 44px;
		text-align: center;
		color: #000;
		border: 1px solid rgba(0, 0, 0, 0);
		padding-bottom: 30px;
		@media screen and (max-width: 767px) {
			font-size: 20px;
			line-height: 1.5;
			padding-bottom: 50px;
		}
	}
}

#section2 {
	padding: 70px 0 90px;
	background: #cdf5f9;
	position: relative;
	z-index: -1;
	@media screen and (max-width: 767px) {
		padding: 70px 0 70px;
	}
	.box-list {
		display: flex;
		flex-direction: column;
		gap: 50px;
		@media screen and (max-width: 767px) {
			gap: 20px;
		}
		.box {
			background-color: #fff;
			border-radius: 10px;
			padding: 50px 20px;
			box-sizing: border-box;
			position: relative;
			z-index: -1;
			@media screen and (max-width: 767px) {
				padding: 40px 20px;
			}
			.box-title {
				display: table;
				margin: 0 auto;
				font-weight: 900;
				font-size: 23px;
				letter-spacing: 0.1em;
				line-height: 1.63;
				text-align: center;
				color: #1a1311;
				margin-bottom: 8px;
				position: relative;
				background: linear-gradient(transparent 80%, #fee400 20%);
				/* z-index: 2;
				margin: 0 auto 36px; */
				@media screen and (max-width: 767px) {
					font-size: 23px;
					line-height: 1.5;
					margin: 0 auto 10px;
				}
				/* &:before {
					content: "";
					width: 100%;
					height: 16px;
					background-color: #fee400;
					position: absolute;
					bottom: 5px;
					left: 50%;
					transform: translateX(-50%);
					z-index: -1;
					@media screen and (max-width: 767px) {
						height: 8px;
					}
				} */
			}
			.box-img {
				margin-bottom: 15px;
				@media screen and (max-width: 767px) {
					/* margin-bottom: 20px; */
				}
			}
			.box-lg-text {
				display: block;
				font-weight: bold;
				font-size: 18px;
				letter-spacing: 0.05em;
				line-height: 1.5;
				text-align: left;
				color: #000;
				margin-bottom: 15px;
				@media screen and (max-width: 767px) {
					/* font-size: 18px;
					margin-bottom: 20px;
					line-height: 1.5; */
				}
			}
			.box-sm-text {
				font-size: 16px;
				letter-spacing: 0.03em;
				line-height: 1.88;
				text-align: left;
				color: #000;
				@media screen and (max-width: 767px) {
					font-size: 16px;
					line-height: 1.5;
				}
			}
		}
	}
}

#section3 {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;

	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("../../img/local/sect3-bg.png") no-repeat top center / cover;
	}
	&:after {
		content: "";
		position: absolute;
		top: 40px;
		left: 50%;
		transform: translateX(-50%);
		width: 1050px;
		height: 100%;
		z-index: 0;
		background: url("../../img/local/sect3.png") no-repeat top right / contain;
		@media screen and (max-width: 767px) {
			left: unset;
			right: -65px;
			transform: unset;
		}
	}
	.outer-container {
		width: 100%;
		overflow: hidden;
		padding: 100px 0 70px;
		position: relative;
		@media screen and (max-width: 767px) {
			padding: 60px 0 60px;
		}
		&:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 6rem;
			background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
			z-index: 3;
			@media screen and (max-width: 767px) {
				background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 0.5) 30%, rgba(255, 255, 255, 1) 100%);
			}
		}
	}
	.scroll-text-wrapper {
		box-sizing: border-box;
		width: 100%;
		position: relative;
		/* overflow-y: scroll; */
		/* height: 60vh; */
		@media screen and (max-width: 767px) {
			overflow-y: scroll;
			height: 60vh;
			z-index: 3;
		}
		.scroll-text {
			font-weight: 400;
			font-size: 18px;
			line-height: 1.66;
			text-align: left;
			color: #000;
			max-width: 600px;
			padding-bottom: 60px;
			@media screen and (max-width: 767px) {
				font-size: 16px;
				line-height: 1.5;
				padding-bottom: 0;
				max-width: 195px;
			}
		}
	}
	.scroll-text-wrapper::-webkit-scrollbar {
		display: none;
	}
}

#section4 {
	padding: 60px 0;
	background-color: #fff;
	@media screen and (max-width: 767px) {
		padding: 60px 0 0;
	}
	.plan-table {
		width: 100%;
		margin: 0 auto 10px;
		border: #c9c9c9 solid 1px;
		border-bottom: none;
		& tr {
			border-bottom: #c9c9c9 solid 1px;
			& th {
				width: 30%;
				text-align: left;
				font-family: "Noto Sans JP", sans-serif;
				font-weight: bold;
				font-size: 16px;
				letter-spacing: 0.1em;
				line-height: 1.6;
				text-align: left;
				color: #fff;
				background-color: #0ac3d5;
				padding: 25px 30px 24px 60px;
				box-sizing: border-box;
				white-space: nowrap;
				@media screen and (max-width: 767px) {
					font-size: 16px;
					line-height: 1.5;
					padding: 20px;
				}
			}
			& td {
				width: 70%;
				text-align: left;
				font-family: "Noto Sans JP", sans-serif;
				font-weight: normal;
				font-size: 16px;
				letter-spacing: 0.05em;
				line-height: 1.6;
				text-align: left;
				color: #000;
				padding: 20px 20px 20px 60px;
				box-sizing: border-box;
				@media screen and (max-width: 767px) {
					font-size: 16px;
					line-height: 1.5;
					padding: 20px;
				}
			}
		}
	}
	.table-note {
		margin-bottom: 61px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: normal;
		font-size: 1rem;
		letter-spacing: 0.03em;
		line-height: 1.8;
		text-align: left;
		color: #000;
		@media screen and (max-width: 767px) {
			font-size: 14px;
			line-height: 1.5;
			margin-bottom: 40px;
		}
	}
	.award-header {
		font-family: "Noto Serif JP", sans-serif;
		font-weight: 900;
		font-size: 32px;
		letter-spacing: 0.03em;
		line-height: 60px;
		text-align: center;
		color: #000;
		margin-bottom: 20px;
		@media screen and (max-width: 767px) {
			font-size: 20px;
			line-height: 1.5;
		}
	}
}
