.Toppage_content{
	width:100%;
}



/* --------------- #slider_area --------------- */
.slider_area {
	width: 100%;
	margin: 0;
	position: relative;
}

.slider_area::after {
	content: "";
	width: 100%;
	height: 2.35vw;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #f2f2f2 url(../images/wave_slide.png) no-repeat 0 0;
	background-size: contain;
	z-index: 2;
}

/* ===== top_section01 ===== */
.top_section01 {
	width: 100%;
	padding-top: 60px;
	position: relative;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section01 {
		padding-top: 40px;
	}
}

@media only screen and (max-width: 799px) {
	.top_section01 {
		padding-top: 30px;
	}
}
/* 
.top_section01::before {
	content: "";
	width: 210px;
	height: 520px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images/obj_dots01.png) no-repeat 0 0;
	background-size: contain;
	z-index: -1;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section01::before {
		width: 20vw;
		height: 50vw;
	}
}
@media only screen and (max-width: 799px) {
	.top_section01::before {
			width: 20vw;
			height: 50vw;
		}
}

.top_section01::after {
	content: "";
	width: 235px;
	height: 675px;
	position: absolute;
	right: 0;
	top: 0;
	background: url(../images/obj_dots02.png) no-repeat 0 0;
	background-size: contain;
	z-index: -1;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section01::after {
		width: 22.8vw;
		height: 65.5vw;
	}
}

@media only screen and (max-width: 799px) {
	.top_section01::after {
		width: 22.8vw;
		height: 65.5vw;
	}
} */

.topheading_area {
	padding-bottom: 70px;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.topheading_area {
		padding-bottom: 50px;
	}
}

@media only screen and (max-width: 799px) {
	.topheading_area {
		padding-bottom: 30px;
	}
}

.top_section01 .heading {
	font-size: 4rem;
	line-height: 1.4;
	font-weight: 600;
	text-align: center;
	color: #5f8dde;
	margin-bottom: 8.5rem;
	letter-spacing: 0;
}	
		@media only screen and (min-width: 800px) and (max-width: 1029px) {
			.top_section01 .heading {
				font-size: 3.8vw;
				margin-bottom: 5rem;
			}
		}
		@media only screen and (max-width: 799px) {
			.top_section01 .heading {
				font-size: 7vw;
				margin-bottom: 3rem;
			}
		}

.top_section01 .heading span {
	font-size: 75%;
	display: block;
}

.pointbox_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	row-gap: 30px;
	padding-bottom: 30px;
}
@media only screen and (max-width: 799px) {
	.pointbox_area {
		flex-direction: column;
		padding-bottom: 30px;
	}
}
.pointbox {
	width: calc(50% - 15px);
	padding: 4rem 4.5rem;
	border-radius: 3rem;

	color: #FFF;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.pointbox {
		padding: 3.88vw 4.36vw;
	}
}
@media only screen and (max-width: 799px) {
	.pointbox {
		width: 100%;
		padding: 6vw 7vw;
	}
}

.pointbox.-point01 {
	background: #f498d9;
}

.pointbox.-point02 {
	background: #55ca99;
	position: relative;
}

.pointbox.-point03 {
	background: #88a1dd;
}

.pointbox.-point04 {
	background: #debc60;
}

.pointbox.-point02::after {
	content: "";
	width: 175px;
	height: 140px;
	position: absolute;
	right: -45px;
	top: -45px;
	background: url(../images/top_obj_fish01.png) no-repeat 0 0;
	background-size: contain;
	z-index: 2;
}
.pointbox.-point03::after {
	content: "";
	width: 120px;
	height: 150px;
	position: absolute;
	left: -90px;
	top: -50px;
	background: url(../images/top_obj_fish02.png) no-repeat 0 0;
	background-size: contain;
	z-index: 2;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.pointbox.-point02::after {
		width: 17vw;
		height: 13.6vw;
	}
	.pointbox.-point03::after {
		width: 11.65vw;
		height: 14.56vw;
		left: -6vw;
		top: -5vw;
		
	}
}
@media only screen and (max-width: 799px) {
	.pointbox.-point02::after {
		width: 30vw;
		height: 30vw;
		right: -8.7vw;
		top: -4.85vw;
	}
	.pointbox.-point03::after {
		width: 20vw;
		height: 30vw;
		left: -12vw;
		top: -5vw;
	}
}


.pointbox h3 {
	font-size: 4rem;
	line-height: 1.2;
	color:#FFF;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.pointbox h3 {
		font-size: 3.88vw;
	}
}
@media only screen and (max-width: 799px) {
	.pointbox h3 {
		font-size: 7vw;
	}
}

.pointbox p {
	line-height: 1.6;
	margin-top: 3rem;
	margin-bottom: 0;
	letter-spacing: 0;
}

/* ===== top_section02 ===== */
.top_section02{
	width:100%;
	background:#FFF;
	padding: 10rem 0;
}
	@media only screen and (min-width: 800px) and (max-width: 1029px) {
		.top_section02 {
			padding: 8rem 0;
		}
	}

	@media only screen and (max-width: 799px) {
		.top_section02 {
			padding: 5rem 0;
		}
	}
.top_section02::before {
	content: "";
	width: 100%;
	height: 2.57vw;
	position: absolute;
	left: 0;
	top: 0;
	background: #f2f2f2 url(../images/wave_01.png) no-repeat left bottom;
	background-size: contain;
	z-index: 2;
}
.top_section02::after {
	content: "";
	width: 100%;
	height: 2.57vw;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #f2f2f2 url(../images/wave_02.png) no-repeat left top;
	background-size: contain;
	z-index: 2;
}

h3.section_heading{
	font-size: 3.6rem;
	line-height: 1.5;
	margin-bottom: 0.3em;
	color:#5f8dde;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	h3.section_heading {
			font-size: 3.49vw;
		}
}

@media only screen and (max-width: 799px) {
	h3.section_heading {
			font-size: 6vw;
		}
}
/* ===== top_section03 ===== */
.top_section03 {
	width: 100%;
	padding: 5rem 0;
}
.top_section03 h3{
	text-align: center;
	margin-bottom: 1em;
}

.top_section03 .rsrv {
	display: flex;
	justify-content: center;
	align-items: center;
	gap:2rem;
}
		@media only screen and (min-width: 800px) and (max-width: 1029px) {
			.top_section03 .rsrv {
				gap: 1.5rem;
			}
		}
	
		@media only screen and (max-width: 799px) {
			.top_section03 .rsrv {
				flex-wrap: wrap;
				gap: 1.5rem;
			}
		}

.top_section03 .rsrv li.menu_item {
	width: calc(100%/3 - 2rem);
	height: 8rem;

	padding: 0 0.5em;
	border-radius: 999px;

	font-size: 2.2rem;
	text-align: center;
	color: #FFF;
	position: relative;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section03 .rsrv li.menu_item {
		height: 7.76vw;
		font-size: 2.135vw;
	}
}

@media only screen and (max-width: 799px) {
	.top_section03 .rsrv li.menu_item {
		height: auto;
		font-size: 6vw;
	}
}
.top_section03 .rsrv li.menu_item.-web::before,
.top_section03 .rsrv li.menu_item.-line::before {
	content: '';
	display: block;
	position: absolute;
	right: 2rem;
	top: 0;
	bottom:0;
	margin: auto 0;
	width: 2.5rem;
	height: 2.5rem;
	background:#FFF;
	border-radius: 50%;
	box-sizing: content-box;
}

.top_section03 .rsrv li.menu_item.-web::after,
.top_section03 .rsrv li.menu_item.-line::after {
	content: '';
	position: absolute;
	width: 1rem;
	height: 1rem;
	top: 0;
	bottom: 0;
	right: 2.6rem;
	margin: auto 0;
	background: #5f8dde;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	
}
.top_section03 .rsrv li.menu_item.-line::after {
	background: #03b900;

}
.top_section03 .rsrv li.menu_item a{
	width:100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
}

.top_section03 .rsrv li.menu_item.-web {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 600;
	background: #5f8dde;
}

.top_section03 .rsrv li.menu_item.-line {
font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 600;
	background: #03b900;
}
/* @media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section03 .rsrv li.menu_item.-web,
	.top_section03 .rsrv li.menu_item.-line {
		width: calc(100%/2 - 1.5rem);
	}
} */

@media only screen and (max-width: 799px) {
	.top_section03 .rsrv li.menu_item.-web,
		.top_section03 .rsrv li.menu_item.-line {
			/* width: calc(100%/2 - 1.5rem); */
			width: 100%;
		}
}



@media (min-width: 751px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

/* ===== top_section04 ===== */
.top_section04{
	width:100%;
	padding-bottom: 10rem;
}
@media only screen and (max-width: 799px) {
	.top_section04 {
		padding-bottom: 10vw;
	}
}
/* .top_section04::before {
	content: "";
	width: 150px;
	height: 220px;
	position: absolute;
	left: 0;
	bottom: 70px;
	background: #f2f2f2 url(../images/obj_dolkid.png) no-repeat 0 0;
	background-size: contain;
	opacity: 0.5;
	z-index: -1;
}
.top_section04::after {
	content: "";
	width: 225px;
	height: 140px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: #f2f2f2 url(../images/obj_dolmama.png) no-repeat right bottom;
	background-size: contain;
	opacity: 0.5;
	z-index: -1;
}
@media only screen and (max-width: 799px) {
	.top_section04::before {
		width: 23vw;
		height: 40vw;
		bottom: 0;
	}
	.top_section04::after {
		width: 35vw;
		height: 30vw;
	}
} */
.top_section04 .largepicture_area{
	width: 100%;
}
.top_section04 .largepicture_area::before {
	content: "";
	width: 100%;
	height: 4.93vw;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images/wave_pic01.png) no-repeat left top;
	background-size: contain;
	z-index: 2;
}
.top_section04 .largepicture_area::after {
	content: "";
	width: 100%;
	height: 6.62vw;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../images/wave_pic02.png) no-repeat left bottom;
	background-size: contain;
	z-index: 2;
}

.top_section04 .largepicture_area h3{
	width:100%;
	position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);

	font-size: 3.6rem;
	color: #FFF;
	text-align: center;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section04 .largepicture_area h3 {
		font-size: 3.5vw;
	}
}
@media only screen and (max-width: 799px) {
	.top_section04 .largepicture_area h3 {
		font-size: 5vw;
	}
}
.top_section04 .top_message_area {
	margin-top:6rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 60px;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section04 .top_message_area {
		margin-top: 4rem;
		gap: 5.8vw;
	}
}
@media only screen and (max-width: 799px) {
	.top_section04 .top_message_area {
		flex-direction: column;
		margin-top: 4rem;
		gap: 8vw;
	}
}
.top_section04 .top_message_area picture {
	max-width:390px;
}
@media only screen and (max-width: 799px) {
.top_section04 .top_message_area picture {
	width: 80%;
		margin: 0 auto;
	}
}

.top_section04 .top_message_area h4{
	font-size: 3rem;
}
@media only screen and (min-width: 800px) and (max-width: 1029px) {
	.top_section04 .top_message_area h4 {
		font-size: 2.9vw;
	}
}
@media only screen and (max-width: 799px) {
	.top_section04 .top_message_area h4 {
		font-size: 6vw;
	}
}
.top_section04 .top_message_area p {
	margin-top: 1.5em;
}
.top_section04 .top_message_area .button{
	width: 300px;
}
@media only screen and (max-width: 799px) {
	.top_section04 .top_message_area .button {
		width: 100%;
	}
}