﻿#dammy {
	display: block;
	overflow: hidden;
	background: url('../images/') no-repeat;
	background-size: px px;
	padding: 40px 0 0;
	width: 216px;
	height: 0!important;
}

#dammy {
	position: absolute;
	left:0;
	bottom:0;
	content: '';
	width:0;
	height:6px;
	background-color: #FFF;
}

#dammy:last-child {
	margin-bottom:0;
}

.fui {
	opacity: 0;
	transform: translateY(100px);
	transition-duration: .6s;
}

.fui.anim_action {
	opacity: 1;
	transform: translateY(0);
}

/*
=================================== */
.kv_body {
	display: flex;
	justify-content: center;
	align-items: center;
	height:600px;
	position: relative;
}

.kv_body::before {
	position: absolute;
	bottom:0;
	content: '';
	background-position: center center;
	background-size: cover;
	width:100%;
	height:600px;
	z-index:-1;
}

.kv_body::before {
	left:0;
	background-image: url('../images/top/sp_kv_mimage.webp')
}

.kv_body h1 {
	overflow: hidden;
	background: url('../images/top/sp_kv_logo.webp') no-repeat center center;
	background-size: 375px 395px;
	margin:0 auto;
	padding: 395px 0 0;
	width: 375px;
	height: 0!important;
	opacity: 0;
	transform: translateY(30px);
	transition-duration: .6s;
}

.kv_body.action h1 {
	opacity: 1;
	transform: translateY(0);
}

.top_area1 .block1 {
	background: url('../images/top/top_area1image.webp') no-repeat center bottom;
	background-size: 315px 280px;
	padding-bottom:0;
}

.top_area1 .ex_block {
	padding:0 0 320px;
	opacity: 0;
	transform: translateX(0) translateY(50px);
	transition-duration: .6s;
}

.top_area1 .ex_block.anim_action {
	opacity: 1;
	transform: translateX(0) translateY(0);
}

.top_area1 .ex_block .mlead {
	margin:0 0 35px;
	text-align: center;
	font-size:2.2rem;
	font-weight: bold;
}

.top_area1 .ex_block .mlead .b1 {
	color:#4478b9;
}

.top_area1 .ex_block .mlead .b2 {
	color:#f5707c;
}

.appbtnarea {
	display: flex;
	justify-content: center;
	align-items: center;
}

.appbtnarea .btnbox {
	margin:0 10px 0 0;
	width:120px;
}

.appbtnarea .btnbox:last-child {
	margin:0;
	width:135px;
}

.box_mtitle {
	margin:0 0 30px;
	text-align: center;
	color:#FFF;
}

.box_mtitle p {
	margin:0 0 10px;
	line-height:1.2;
	font-size:1.8rem;
	font-weight: bold;
}

.box_mtitle h2 {
	line-height:1.2;
	font-size:3.0rem;
}

.top_area2 .block1 {
	padding:0;
	color:#FFF;
}

.top_area2 .inbox {
	padding:35px 15px;
}

.top_area2 .inbox.lbox {
	background-color: #4579b9;
}

.top_area2 .inbox.rbox {
	background-color: #f6717c;
}

.top_area2 .inbox .imagebox {
	margin:0 auto 20px;
	max-width: 540px;
}

.top_area2 .inbox ul {
	margin:0 auto;
	max-width: 540px;
}

.top_area2 .inbox li {
	display: flex;
	align-items: center;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 60px 60px;
	margin:0 0 25px;
	padding:0 0 0 75px;
	height:60px;
	line-height:1.55;
	font-size: 1.8rem;
	font-weight: bold;
}

.top_area2 .inbox li:last-child {
	margin-bottom:0;
}

.top_area2 .inbox .point1 {
	background-image: url('../images/top/picon1.webp');
	line-height:1.5;
	font-size: 2.0rem;
}

.top_area2 .inbox .point2 {
	background-image: url('../images/top/picon2.webp');
}

.top_area2 .inbox .point3 {
	background-image: url('../images/top/picon3.webp');
}

.top_area2 .inbox .point4 {
	background-image: url('../images/top/picon4.webp');
}

.top_area2 .inbox .point5 {
	background-image: url('../images/top/picon5.webp');
	line-height:1.5;
	font-size: 2.0rem;
}

.top_area2 .inbox .point6 {
	background-image: url('../images/top/picon6.webp');
}

.top_area2 .inbox .point7 {
	background-image: url('../images/top/picon7.webp');
}

.area_mtitle {
	margin:0 0 25px;
	text-align: center;
}

.area_mtitle p {
	margin:0 0 10px;
	line-height:1.2;
	color:#e00675;
	font-size:1.8rem;
	font-weight: bold;
}

.area_mtitle h2 {
	line-height:1.2;
	font-size:3.0rem;
}

.top_area3 .area_mtitle {
	margin:0 0 35px;
}

.top_area3 .ex_block {
	margin:0 auto;
	max-width: 600px;
}

.top_area3 .ex_block .pcimagebox {
	display: none;
}

.top_area3 .ex_block .bodybox {
	margin:0 0 30px;
}

.top_area3 .ex_block .bodybox li {
	display: flex;
	align-items: center;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 60px 60px;
	margin:0 0 25px;
	padding:0 0 0 75px;
	height:60px;
	line-height:1.55;
	font-size: 1.8rem;
	font-weight: bold;
	opacity: 0;
	transform: translateY(50px);
	transition-duration: .6s;
}

.top_area3 .ex_block .bodybox .check1 {
	background-image: url('../images/top/picon8.webp');
}

.top_area3 .ex_block .bodybox .check2 {
	background-image: url('../images/top/picon9.webp');
}

.top_area3 .ex_block .bodybox .check3 {
	background-image: url('../images/top/picon10.webp');
}

.top_area3 .ex_block .bodybox .check4 {
	background-image: url('../images/top/picon11.webp');
	margin-bottom:0;
}

.top_area3 .ex_block .bodybox li.anim_action {
	opacity: 1;
	transform: translateY(0);
}

.top_area4 {
	background-color: #e2e8f0;
}

.top_area4 .check_block {
	margin:0 auto;
	max-width:600px;
}

.top_area4 .checkbox {
	margin:0 0 30px;
	opacity: 0;
	transform: translateY(100px);
	transition-duration: .6s;
}

.top_area4 .checkbox.check3 {
	margin-bottom:0;
}

.top_area4 .checkbox.anim_action {
	opacity: 1;
	transform: translateY(0);
}

.top_area4 .checkbox .imagebox {
	margin:0 0 15px;
}

.top_area4 .checkbox h3 {
	margin:0 0 10px;
	line-height:1.55;
	font-size:1.8rem;
}

.top_area5 .block1 {
	padding:0;
	color:#FFF;
}

.top_area5 .inbox {
	padding:35px 15px 40px;
}

.top_area5 .inbox.lbox {
	background-color: #4478b9;
}

.top_area5 .inbox.rbox {
	background-color: #f6717c;
}

.top_area5 .slide_block {
	margin:0 auto 25px;
	max-width:520px;
	position: relative;
}

.top_area5 .slide_block .slick-arrow {
	position: absolute;
	top:calc(50% - 18px);
	display: block;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding: 36px 0 0;
	width: 36px;
	height: 0!important;
	z-index:50;
}

.top_area5 .slide_block .slick-arrow.slick-prev {
	left:0;
	background-image: url('../images/top/slider_prev.png');
}

.top_area5 .slide_block .slick-arrow.slick-next {
	right:0;
	background-image: url('../images/top/slider_next.png');
}

.sbox .imagebox {
	margin:0 0 20px;
}

.sbox .label {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.sbox .label .no {
	margin:0 10px 0 0;
	padding:0 0 0 1px;
	width:25px;
	height:25px;
	line-height:23px;
	color:#4478b9;
	text-align: center;
	font-size:1.5rem;
	font-weight: bold;
	background-color: #FFF;
	border-radius: 30px;
}

.rbox .sbox .label .no {
	color:#f6717c;
}

.sbox .label .line {
	line-height:1.35;
	color:#FFF;
	font-size:1.8rem;
	font-weight: bold;
}

.top_area5 .exlist {
	margin:0 auto;
	max-width:520px;
}

.top_area5 .exlist li {
	display: flex;
	align-items: flex-start;
	margin:0 0 10px;
	padding:10px;
	border:1px solid #FFF;
	background-color: #FFF;
	border-radius: 10px;
}

.top_area5 .exlist li:last-child {
	margin-bottom:0;
	background-color: transparent;
}

.top_area5 .exlist li .label {
	margin:0 10px 0 0;
	padding:0 0 0 1px;
	width:25px;
	height:25px;
	line-height:23px;
	color:#FFF;
	text-align: center;
	font-size:1.5rem;
	font-weight: bold;
	border:1px solid #4579b9;
	background-color: #4579b9;
	border-radius: 30px;
}

.top_area5 .rbox .exlist li .label {
	border:1px solid #f6717c;
	background-color: #f6717c;
}

.top_area5 .exlist li:last-child .label {
	color:#FFF;
	border:1px solid #FFF;
	background-color: transparent;
}

.top_area5 .exlist li .exline {
	flex:1;
	line-height:1.35;
	color:#4478b9;
	font-size:1.8rem;
	font-weight: bold;
}

.top_area5 .rbox .exlist li .exline {
	color:#f6717c;
}

.top_area5 .exlist li:last-child .exline {
	color:#FFF;
}

.top_area6 .price_block {
	margin:0 0 70px;
	border-top:1px solid #CCC;
	border-left:1px solid #CCC;
}

.top_area6 .price_block .pricebox {
	font-size:2.0rem;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
}

.top_area6 .price_block .pricebox .label {
	display: flex;
	justify-content: center;
	align-items: center;
	height:68px;
	text-align: center;
	background-color: #c4d4e9;
	border-bottom:1px solid #CCC;
}

.top_area6 .price_block .pricebox .label.woman {
	background-color: #fcd0d5;
}

.top_area6 .price_block .pricebox .label b {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: left center;
	padding:0 0 0 36px;
	line-height:28px;
}

.top_area6 .price_block .pricebox .label.man b {
	background-image: url('../images/top/man.svg');
	background-size: auto 27px;
}

.top_area6 .price_block .pricebox .label.woman b {
	background-image: url('../images/top/woman.svg');
	background-size: auto 26px;
}

.top_area6 .price_block .pricebox .exline {
	display: flex;
	justify-content: center;
	align-items: center;
	height:58px;
	text-align: center;
	font-weight: bold;
}

.top_area6 .price_block .pricebox .exline.free {
	color:#e00675;
}

.top_area6 .camp_block {
	padding:35px 20px 15px;
	background-color: #fef9eb;
	border:2px solid #e00675;
	border-radius: 10px;
	position: relative;
}

.top_area6 .camp_block h3 {
	position: absolute;
	top:-34px;
	left:0;
	width:100%;
	height:60px;
	line-height:1.2;
	text-align: center;
	font-size:2.5rem;
}

.top_area6 .camp_block h3 b {
	display: inline-block;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 52%, rgba(254,249,235,1) 52%, rgba(254,249,235,1) 100%);
	padding:0 15px;
	color:#e00675;
}

.top_area6 .camp_block .cline1 {
	margin:0 0 10px;
	line-height:1.4;
	font-size:2.0rem;
	font-weight: bold;
}

.top_area6 .camp_block .cline1 b {
	color:#e00675;
}

.top_area7 {
	background-color: #e2e8f0;
}

.faqbox {
	background-image: url('../images/top/icon_plus.svg');
	background-position: right 15px top 14px;
	background-size: 16px 16px;
	background-color: #FFF;
	margin:0 0 10px;
	padding:10px 15px;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.faqbox.open {
	background-image: url('../images/top/icon_minus.svg');
	background-position: right 15px top 21px;
	background-size: 16px 2px;
}

.faqbox:last-child {
	margin-bottom:0;
}

.faqbox h3 {
	background: url('../images/top/icon_q.svg') no-repeat left top 5px;
	background-size: auto 15px;
	padding:0 30px 0 20px;
	min-height:20px;
	font-size:1.5rem;
}

.faqbox .abox {
	display: none;
	padding:20px 0 0 20px;
}

.faqbox.open .abox {
	display: block;
}

.top_area8 .data_table table {
	width:100%;
	border-top:1px solid #ccc;
}

.top_area8 .data_table th {
	display: block;
	padding:10px 15px;
	text-align: left;
	vertical-align: top;
	background-color: #f5f4f4;
	border-bottom:1px solid #ccc;
}

.top_area8 .data_table td {
	display: block;
	padding:10px 15px;
	border-bottom:1px solid #ccc;
}

.top_area9 {
	background-color: #7aa0ce;
}

.top_area9 h3 {
	margin:0 0 15px;
	color:#FFF;
	text-align: center;
	font-size:2.0rem;
}

@media screen and (min-width: 800px) {

	/*
	=================================== */
	.kv_body {
		height:800px;
	}

	.kv_body::before,
	.kv_body::after {
		position: absolute;
		bottom:0;
		content: '';
		background-position: center top;
		background-size: cover;
		width:50%;
		height:800px;
		z-index:-1;
	}

	.kv_body::before {
		background-image: url('../images/top/kv_mimage1.webp')
	}

	.kv_body::after {
		right:0;
		background-image: url('../images/top/kv_mimage2.webp')
	}

	.kv_body h1 {
		background-image: url('../images/top/kv_logo.webp');
		background-size: 555px 550px;
		padding: 550px 0 0;
		width: 555px;
		transform: translateY(50px);
	}

	.top_area1 .block1 {
		background-size: 450px 400px;
	}

	.top_area1 .ex_block {
		padding:0 0 460px;
		transform: translateX(50px) translateY(0);
	}

	.top_area1 .ex_block.anim_action {
		transform: translateX(0) translateY(0);
	}

	.top_area1 .ex_block .mlead {
		margin:0 0 45px;
		font-size: 3.0rem;
	}

	.appbtnarea {
		display: flex;
		align-items: center;
	}

	.appbtnarea .btnbox {
		margin:0 40px 0 0;
		width:180px;
	}

	.appbtnarea .btnbox:last-child {
		width:200px;
	}

	.box_mtitle {
		margin:0 0 50px;
	}

	.box_mtitle p {
		font-size:2.0rem;
	}

	.box_mtitle h2 {
		font-size:4.0rem;
	}

	.top_area2 .inbox {
		padding:80px 30px 70px;
	}

	.top_area2 .rbox .conbox {
		transition-delay: .2s;
	}

	.top_area2 .inbox .imagebox {
		margin:0 auto 35px;
		width: 540px;
		max-width: 100%;
	}

	.top_area2 .inbox ul {
		width: 540px;
		max-width: 100%;
	}

	.top_area2 .inbox li {
		justify-content: center;
		background-size: 82px 82px;
		margin:0 0 20px;
		padding:0 0 0 60px;
		height:82px;
		line-height:1.5;
		text-align: center;
		font-size: 2.0rem;
	}

	.top_area2 .inbox .point1 {
		margin:0 0 25px;
		line-height:1.45;
		font-size: 2.5rem;
	}

	.top_area2 .inbox .point5 {
		margin:0 0 25px;
		line-height:1.45;
		font-size: 2.5rem;
	}

	.area_mtitle {
		margin:0 0 50px;
	}

	.area_mtitle p {
		font-size:2.0rem;
	}

	.area_mtitle h2 {
		font-size:4.0rem;
	}

	.top_area3 .area_mtitle {
		margin:0 0 50px;
	}

	.top_area3 .ex_block {
		max-width: 100%;
		width:600px;
	}

	.top_area3 .ex_block .pcimagebox {
		display: block;
		margin:0 0 45px;
	}

	.top_area3 .ex_block .bodybox {
		margin:0;
	}

	.top_area3 .ex_block .bodybox li {
		background-size: 82px 82px;
		margin:0 0 20px;
		padding:0 0 0 100px;
		height:82px;
		line-height:1.5;
		font-size: 2.0rem;
		transform: translateY(50px);
	}

	.top_area3 .ex_block .bodybox li.check2 {
		transition-delay: .1s;
	}

	.top_area3 .ex_block .bodybox li.check3 {
		transition-delay: .2s;
	}

	.top_area3 .ex_block .bodybox li.check4 {
		transition-delay: .3s;
	}

	.top_area3 .ex_block .bodybox li.anim_action {
		opacity: 0;
		transform: translateY(50px);
	}

	.top_area3 .ex_block .bodybox.anim_action li {
		opacity: 1;
		transform: translateY(0);
	}

	.top_area3 .ex_block .spimagebox {
		display: none;
	}

	.top_area4 .check_block {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		max-width:100%;
	}

	.top_area4 .checkbox {
		margin:0 50px 40px 0;
		width:calc(50% - 25px);
		transform: translateY(100px);
	}

	.top_area4 .checkbox.check2 {
		margin-right:0;
		transition-delay: .1s;
	}

	.top_area4 .checkbox.check3 {
		margin-bottom:40px;
		transition-delay: .2s;
	}

	.top_area4 .checkbox.anim_action {
		opacity: 0;
		transform: translateY(100px);
	}

	.top_area4 .anim_action .checkbox {
		opacity: 1;
		transform: translateY(0);
	}

	.top_area4 .checkbox .imagebox {
		margin:0 0 25px;
	}

	.top_area4 .checkbox h3 {
		margin:0 0 15px;
		line-height:1.5;
		text-align: center;
		font-size:2.0rem;
	}

	.top_area5 .inbox {
		padding:80px 30px;
	}

	.top_area5 .rbox .conbox {
		transition-delay: .2s;
	}

	.top_area5 .slide_block {
		margin:0 auto 40px;
		max-width:100%;
		width:520px;
	}

	.top_area5 .slide_block .slick-arrow {
		top:calc(50% - 25px);
		background-size: 50px 50px;
		padding: 50px 0 0;
		width: 50px;
	}

	.sbox .label .no {
		padding:0 0 0 2px;
		width:30px;
		height:30px;
		line-height:26px;
		font-size:1.8rem;
	}

	.sbox .label .line {
		font-size:2.0rem;
	}



	.top_area5 .exlist {
		max-width:100%;
		width:520px;
	}

	.top_area5 .exlist li {
		align-items: center;
		padding:0 15px;
		height:48px;
	}

	.top_area5 .exlist li .label {
		padding:0 0 0 2px;
		width:30px;
		height:30px;
		line-height:26px;
		font-size:1.8rem;
	}

	.top_area5 .exlist li .exline {
		font-size:2.0rem;
	}

	.top_area6 .price_block {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin:0 0 100px;
	}

	.top_area6 .price_block .pricebox {
		width:50%;
		font-size:3.0rem;
	}

	.top_area6 .price_block .pricebox .label {
		height:88px;
	}

	.top_area6 .price_block .pricebox .label b {
		padding:0 0 0 48px;
		line-height:40px;
	}

	.top_area6 .price_block .pricebox .label.man b {
		background-size: auto 40px;
	}

	.top_area6 .price_block .pricebox .label.woman b {
		background-size: auto 40px;
	}

	.top_area6 .price_block .pricebox .exline {
		height:88px;
	}

	.top_area6 .camp_block {
		padding:50px 30px 35px;
	}

	.top_area6 .camp_block h3 {
		top:-24px;
		height:40px;
		line-height:40px;
		font-size:3.5rem;
	}

	.top_area6 .camp_block h3 b {
		padding:0 20px;
	}

	.top_area6 .camp_block .cline1 {
		line-height:1.8;
		text-align: center;
		font-size:2.5rem;
	}

	.top_area6 .camp_block .cline2 {
		text-align: center;
	}

	.faqbox {
		background-position: right 30px top 28px;
		margin:0 0 20px;
		padding:20px 30px;
	}

	.faqbox.open {
		background-position: right 30px top 35px;
	}

	.faqbox h3 {
		background-position: left top 7px;
		background-size: auto 21px;
		padding:0 40px 0 30px;
		min-height:28px;
		font-size:2.0rem;
	}

	.faqbox .abox {
		padding:25px 0 0 30px;
	}

	.top_area8 .data_table th {
		display: table-cell;
		padding:25px 30px;
		width:200px;
	}

	.top_area8 .data_table td {
		display: table-cell;
		padding:25px 30px;
	}

	.top_area9 h3 {
		font-size:2.5rem;
	}
}

@media screen and (min-width: 1280px) {

	/*
	=================================== */
	.top_area1 .block1 {
		display: flex;
		align-items: center;
		background-position: left 40px bottom;
		padding-top:0;
		width:1180px;
		height:450px;
	}

	.top_area1 .ex_block {
		padding:0 0 0 500px;
	}

	.top_area1 .ex_block .mlead {
		text-align: left;
	}

	.top_area2 .block1 {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}

	.top_area2 .inbox {
		padding:80px 40px 70px;
		width:50%;
		position: relative;
	}

	.top_area2 .inbox::after {
		position: absolute;
		bottom:0;
		content: '';
		width:1000px;
		height:100%;
	}

	.top_area2 .inbox.lbox::after {
		right:100%;
		background-color: #4579b9;
	}

	.top_area2 .inbox.rbox::after {
		left:100%;
		background-color: #f6717c;
	}

	.top_area2 .inbox .imagebox {
		margin:0 0 35px;
		width: auto;
	}

	.top_area2 .inbox ul {
		margin:0;
		width: auto;
	}

	.top_area2 .inbox li {
		background-position: left 20px center;
	}

	.top_area3 .ex_block {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width:100%;
	}

	.top_area3 .ex_block .pcimagebox {
		margin:0;
		width:550px;
		height:400px;
		position: relative;
	}

	.top_area3 .ex_block .pcimagebox p {
		position: absolute;
		top:0;
		right:0;
		width:600px;
	}

	.top_area3 .ex_block .bodybox {
		width:600px;
	}

	.top_area4 .check_block {
		justify-content: center;
		flex-wrap: nowrap;
	}

	.top_area4 .checkbox {
		margin:0 50px 0 0;
		width:360px;
	}

	.top_area4 .checkbox:nth-child(2n) {
		margin-right:50px;
	}

	.top_area4 .checkbox:last-child {
		margin-right:0;
	}

	.top_area5 .block1 {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		padding:0 40px;
	}

	.top_area5 .inbox {
		padding:80px 40px;
		width:50%;
		position: relative;
	}

	.top_area5 .inbox::after {
		position: absolute;
		bottom:0;
		content: '';
		width:1000px;
		height:100%;
	}

	.top_area5 .inbox.lbox::after {
		right:100%;
		background-color: #4478b9;
	}

	.top_area5 .inbox.rbox::after {
		left:100%;
		background-color: #f6717c;
	}

	.top_area5 .slide_block {
		width:100%;
	}

	.top_area5 .exlist {
		width:100%;
	}

	.top_area6 .block1 {
		width:1080px;
	}

	.top_area7 .block1 {
		width:1080px;
	}

	.top_area8 .block1 {
		width:1080px;
	}

	.top_area9 .block1 {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top:0;
		padding-bottom:0;
		height:200px;
	}

	.top_area9 h3 {
		margin:0 45px 0 0;
	}
}