@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');


:root {
--point-color-green: #04b321;
--point-color-red: #F74460;
--point-color-blue: #5FDB5F;
--txt-color: #333;
--head-color: rgba(255,255,255,.8);
--content-padding: 120px 0;
--base-color: #eee;
}


/*COMMON*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* CSS Document */

body{
	margin: 0;
	padding: 0;
	position: relative;
	background: url("images/pc_bg2.jpg") no-repeat center center;
	background-size:cover;
	background-attachment: fixed;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	color: #635337;
	
	transition: all .4s ease-in-out;
}




#LCont{
	width: calc(50% - 350px);
	height: 100%;
	position: fixed;
	
	top: 0;
	left: 0;
	
	background: rgba(150,94,95,0);
}

.pcLtxt{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}

.pcLtxtImg{
	width: 100%;
	text-align: center;
}
.pcLtxtImg img{
	width: 80%;
	max-width: 200px;
	height: auto;
}

#RCont{
	width: calc(50% - 350px);
	height: 100%;
	position: fixed;
	
	top: 0;
	right: 0;
	
	background: rgba(150,94,95,0);
}


.rContBox{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	text-align: center;
	padding-right: 10%;
}
.rContBox ul{
	text-align: left;
	display: inline-block;
}
.rContBox ul li{
	margin-bottom: 20px;
}
.rContBox ul li a{
	text-decoration: none;
	color: #635337;
	font-size: 24px;
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
	
	display: block;
	
	padding: 0 0 0 30px;
	
	background: url("images/menu_arrow2.png") no-repeat 0 0;
	background-size: 24px auto;
}




#wrap{
	width: 700px;
	margin: 0 auto;
	
	background: #fff;
	
	overflow: hidden;
	
	min-height: 100vh;
	
	box-shadow: 0 0 20px rgba(0,0,0,.1);
}





header{
	background: url("images/head_bg.png") no-repeat 0 0;
	background-size: 100% auto;
	display: flex;
	flex-wrap: wrap;
}

.headlogo{
	width: 48%;
	padding: 3.7% 11% 8.5% 3.7%;
}
.headlogo img{
	width: 100%;
	height: auto;
}
h1{
	width: 52%;
	font-weight: 800;
	font-size: 32px;
	color: #fff;
	padding: 3.3% 4.3% 7% 0;
}








.main{
	background: #ffe1cc url("images/bg_main.jpg") no-repeat 0 0;
	background-size: 100% auto;
}

.mainRead{
	padding: 6% 5% 26% 5%;
	
}
.mainRead img{
	width: 100%;
	height: auto;
}

.mainFukidashi{
	padding: 0 55.8% 12% 4.7%;
}
.mainFukidashi img{
	width: 100%;
	height: auto;
}


.mainReadbtm{
	text-align: center;
	font-size: 32px;
	line-height: 140%;
	font-weight: 500;
	color: #635337;
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
	padding: 0 0 6% 0;
}
.mainReadbtm span.txt1{
	color: #f47ab7;
}
.mainReadbtm span.txt2{
	color: #f47ab7;
	font-size: 48px;
}


.mainDots{
	text-align: center;
}
.mainDots img{
	width:2.2%;
	height: auto;
	padding: 0 0 3% 0;
}





.step{
	padding: 7.8% 0 0 0;
	background: #ffe6e6 url("images/bg_step.jpg") no-repeat 0 0;
	background-size: 100% auto;
	position: relative;
}
.step .stepChara{
	position: absolute;
	top: 30px;
	right: 1%;
	width: 23%;
	transform: scale(-1, 1);
	animation: updown1 2s ease-in-out infinite;
}
.step .stepChara img{
	width: 100%;
	height: auto;
}
.stepTitle{
	padding: 0 0 12% 0;
	text-align: center;
}
.stepTitle h2{
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
	color: #635337;
	
	font-size: 36px;
	font-weight: 500;
	text-align: center;
	
	position: relative;
	display: inline-block;
}
.stepTitle h2 span{
	display: inline-block;
	
	background: #f47ab7;
	position: absolute;
	
	color: #fff;
	top: -11px;
    left: -70px;
    width: 60px;
    line-height: 60px;
    border-radius: 50%;
	text-shadow: none;
	font-size: 46px;
}


.stepRead{
	padding: 0 0 12% 0;
	font-size: 24px;
	line-height: 200%;
	text-align: center;
}



.stepBox{
	position: relative;
}
.stepBox::after{
	content: "";
	width: 7.5%;
	height: 4.1%;
	background: url("images/arrow_blue.png") no-repeat 0 0;
	background-size: 100% auto;
	
	position: absolute;
	bottom: 9%;
	left: 50%;

	
	animation: updown_arrow 2s ease-in-out infinite;

}
.stepIcon{
	display: inline-block;
	
	background: #f47ab7;
	position: absolute;
	
	color: #fff;
	top: -4%;
    left: 50%;
	transform: translateX(-50%);
    width: 60px;
    line-height: 60px;
    border-radius: 50%;
	text-shadow: none;
	font-size: 46px;
	
	text-align: center;
	
	z-index: 1;
}
.stepIcon::before{
	content: "STEP";
	position: absolute;
	top: -1em;
	left: 0;
	width: 100%;
	display: block;
	text-align: center;
	
	color: #f47ab7;
	
	font-size: 15px;
	line-height: 100%;
	
}


.stepImg{
	width: 89%;
	margin: 0 auto 5%;
	position: relative;
	z-index: 0;
}
.stepImg img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
	border: 8px solid #fff;
}




.stepTxt{
	padding: 0 0 25% 0;
	font-size: 24px;
	line-height: 200%;
	text-align: center;
}

.step3 .stepTxt{
	padding: 0 0 10% 0;
}

.stepBox.step3::after{
	content: "";
	width: 7.5%;
	height: 5%;
	background: url("images/arrow_blue.png") no-repeat 0 0;
	background-size: 100% auto;
	
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}




.stepBtn{
	width: 89%;
	margin: 0 auto 0;
	padding-bottom: 13%;
	position: relative;
}
.stepBtn::after{
	content: "";
	width: 7.5%;
	height: 9%;
	background: url("images/arrow_blue.png") no-repeat 0 0;
	background-size: 100% auto;
	
	position: absolute;
	bottom: 5%;
	left: 50%;
	animation: updown_arrow 2s ease-in-out infinite;
}

.stepBtn a{
	display: block;
	transition: all .3s ease-in-out;
}
.stepBtn a img{
	width: 100%;
	height: auto;
}

.stepBtn a:hover{
	transform: scale(1.04);
}




.lineup{
	padding: 0 0 50px 0;
	background: #6dc0ed url("images/bg_lineup.jpg") no-repeat 0 0;
	background-size: 100% auto;
}

.lineup.lineup2{
	padding: 9% 0 0 0;
	background: #6edbea url("images/bg_lineup2.jpg") no-repeat 0 0;
	background-size: 100% auto;
}

.lineupTitle{
	text-align: center;
	padding: 18% 0 5% 0;
	background: url("images/lineup_title_line.png") no-repeat center top 60px;
	background-size: 40% auto;
	animation: updown_lineuptitle 2s ease-in-out infinite;
}
.lineupTitle h2{
	background: #fff;
	border-radius: 10px;
	color: #3bbaff;
	padding: 2% 10%;
	line-height: 100%;
	font-size: 42px;
	display: inline-block;
	
	font-weight: 500;
	box-shadow: 10px 10px 0 rgba(0,0,0,.2);
}



.lineupTitle2{
	text-align: center;
	margin-bottom: 5%;
}
.lineupTitle2 h2{
	background: #fff;
	border-radius: 10px;
	color: #27a1aa;
	padding: 2% 6%;
	line-height: 100%;
	font-size: 32px;
	display: inline-block;
	
	font-weight: 500;
	
	margin-bottom: 3%;

	box-shadow: 10px 10px 0 rgba(0,0,0,.2);
}

.lineupTitle2Read{
	font-size: 24px;
	line-height: 140%;
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
}



.lineupBox{
	padding: 7% 8%;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.imgcap{
	position: absolute;
	pointer-events: none;

	
	z-index: 1;
}
.imgcap img{
	width: 100%;
	height: auto;
}
.imgcap.cap1{top: 70px;left: 0;width:36%;}
.imgcap.cap2{top: 180px;right: 0;width:36%;}
.imgcap.cap3{top: 40px;left: 0;width:29%;}
.imgcap.cap4{top: 340px;right: 0;width:26%;}
.imgcap.cap5{top: -10px;left: 0;width:29%;}
.imgcap.cap6{top: 280px;right: 0;width:40%;}
.imgcap.cap7{top: 50px;left: 0;width:56%;}




.lineupBox.lineupBox2{
	background: rgba(0,0,0,.1);
}

.lineupImg{
	margin-bottom: 5%;
	position: relative;
}
.lineupImg img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	border: 8px solid #f2ff8c;
}
.lineupImg2{
	margin-bottom: 5%;
}
.lineupImg2 img{
	width: 100%;
	height: auto;
}




.lineupName{
	color: #faffc9;
	margin-bottom: 1%;
	text-align: center;
	font-size: 32px;
}
.lineupName span{
	display: block;
	margin-top: 5px;
	font-size: 13px;
}

.lineupPrice1{
	text-align: center;
	font-size: 18px;
	color: #fff;
	margin-bottom: 10%;
}
.lineupPrice1.priceBtmS{
	margin-bottom: 5%;
}

.lineupPrice1 span{
	font-size: 24px;
}
.lineupBtm{
	
	position: relative;
	line-height: 100%;
}
.lineupBtm .lineupPrice2{
	color: #f47ab7;
	font-size: 18px;
	line-height: 100%;
	position: absolute;
	
	top: -26px;
	left: 0;
	
	text-align: center;
	
	width: 100%;
	
	pointer-events: none;
}
.lineupBtm .lineupPrice2 div{
	display: inline-block;

	padding: 1.5% 10%;
	background: #fff;
	
	position: relative;
	z-index: 1;
}
.lineupBtm a{
	text-decoration: none;
	color: #faffc9;
	line-height: 100%;
		
	display: block;

	background: #f47ab7;
	border-radius: 40px;
	padding: 3.5% 0;
	font-size: 24px;
	
	text-align: center;

	animation: updown_btn 1.5s ease-in-out infinite;
	

}





.campaign{
	padding: 18% 0 18% 0;
	background: #ffe6e6 url("images/bg_camp.jpg") no-repeat 0 0;
	background-size: 100% auto;
}
.campaign h2{
	text-align: center;
	line-height: 120%;
	font-size: 36px;
	margin-bottom: 5%;
	color: #00a5ff;
	
	font-weight: 500;
}
.campBox{
	width: 83%;
	margin: 0 auto;
	border-radius: 20px;
	padding: 5%;
	background: #fff;
	box-shadow: 10px 10px 0 rgba(0,0,0,.2);
}

.campBox ul{
	gap:10px;
	display: flex;
	flex-flow: column;
}

.campBox ul li{
	
}
.campBox ul li a{
	display: block;
}
.campBox ul li a img{
	width: 100%;
	height: auto;
	display: block;
}






.sns{
	padding: 10% 8% 10% 8%;
	background: #ffffff;
	position: relative;
}
.sns .snsChara{
	position: absolute;
	top: -40px;
	left: 10%;
	width: 20%;
	animation: updown2 2s ease-in-out infinite;
}
.sns .snsChara img{
	width: 100%;
	height: auto;
}


.snsTitle{
	text-align: center;
	margin-bottom: 5%;
}
.snsTitle h2{
	border-radius: 10px;
	color: #3bbaff;

	line-height: 100%;
	font-size: 40px;
	display: inline-block;
	
	font-weight: 500;
	
	margin-bottom: 3%;

}

.snsTitle2Read{
	font-size: 22px;
	line-height: 140%;
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
}




.contact{
	padding: 10% 0 10% 0;
	background: #ffe6e6;
}



.contactTitle{
	text-align: center;
	margin-bottom: 5%;
}
.contactTitle h2{
	border-radius: 10px;
	color: #3bbaff;

	line-height: 100%;
	font-size: 40px;
	display: inline-block;
	
	font-weight: 500;
	
	margin-bottom: 3%;
	text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;

}

.contactTitle2Read{
	font-size: 22px;
	line-height: 140%;

}


.contact ul{
	width: 86%;
	margin: 0 auto;
	display: flex;
	gap:2%;
}
.contact ul img{
	width: 100%;
	height: auto;

}





footer{
	background: #ffe6e6 url("images/foot_bg.png") no-repeat center bottom 0;
	background-size: 100% auto;
}

.footlogo{
	width: 48%;
	margin: 0 auto;
	padding: 8% 0 4% ;
	text-align: center;
}
.footlogo img{
	width: 100%;
	height: auto;
}


.inviewMov{
	transition: 0.4s ease-out;
	transition-delay:0.1s;
	opacity: 0;
	transform: translateY(30px);
	-webkit-transform: translateY(30px);
	display: block;
}
.inviewMovOn{
	opacity: 1;
	transform: translateY(0);
	-webkit-transform: translateY(0);
}


.inviewMov2{
	transition: 0.4s ease-out;
	transition-delay:0.1s;
	opacity: 0;
	display: block;
}
.inviewMov2On{
	opacity: 1;
}

.inviewMovL{
	transition: 0.4s ease-out;
	transition-delay:0.1s;
	opacity: 0;
	transform: translateX(-30px);
	-webkit-transform: translateX(-30px);
	display: block;
}
.inviewMovLOn{
	opacity: 1;
	transform: translateX(0);
	-webkit-transform: translateX(0);
}


.inviewMovR{
	transition: 0.4s ease-out;
	transition-delay:0.1s;
	opacity: 0;
	transform: translateX(30px);
	-webkit-transform: translateX(30px);
	display: block;
}
.inviewMovROn{
	opacity: 1;
	transform: translateX(0);
	-webkit-transform: translateX(0);
}






@keyframes updown1 {
  0%, 100% {
    transform: translateY(0) scale(-1, 1);
  }
  50% {
    transform: translateY(-20px) scale(-1, 1); /* 上に移動 */
  }
}


@keyframes updown2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px); /* 上に移動 */
  }
}

@keyframes updown_arrow {
  0%, 100% {
    transform: translateY(0) translate(-50%);
  }
  50% {
    transform: translateY(-10px) translate(-50%); /* 上に移動 */
  }
}

@keyframes updown_btn {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04); /* 上に移動 */
  }
}

@keyframes updown_lineuptitle {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px); /* 上に移動 */
  }
}


@media screen and (max-width: 1300px) {

	#LCont{
		width: 25%;
	}

	#RCont{
		width: 25%;

	}





	#wrap{
		width: 50%;

	}


	
	
	.rContBox ul li{
		margin-bottom: 10px;
	}
	.rContBox ul li a{
		font-size: 16px;
		background: url("images/menu_arrow2.png") no-repeat 0 0;
		background-size: 16px auto;
		padding: 0 0 0 20px;
	}
}




.pc{
	display: block;
}
.sp{
	display: none;
}



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


	.pc{
		display: none;
	}
	.sp{
		display: block;
	}

	
	
	
	#LCont{
		display: none;
	}
	
	#RCont{
		display: none;
	}



	#wrap{
		width: 100%;
		margin: 0 auto;

		background: #fff;

		overflow: hidden;

	}







	header{
		background: url("images/head_bg.png") no-repeat 0 0;
		background-size: 100% auto;
		display: flex;
		flex-wrap: wrap;
	}

	.headlogo{
		width: 52%;
		padding: 3.7% 15% 8.5% 3.7%;
	}
	.headlogo img{
		width: 100%;
		height: auto;
	}
	h1{
		width: 48%;
		font-weight: 800;
		font-size: 4.5vw;
		color: #fff;
		padding: 3.3% 0 7% 0;
	}








	.main{
		background: #ffe1cc url("images/bg_main.jpg") no-repeat 0 0;
		background-size: 100% auto;
	}

	.mainRead{
		padding: 6% 5% 26% 5%;

	}
	.mainRead img{
		width: 100%;
		height: auto;
	}

	.mainFukidashi{
		padding: 0 55.8% 12% 4.7%;
	}
	.mainFukidashi img{
		width: 100%;
		height: auto;
	}


	.mainReadbtm{
		text-align: center;
		font-size: 5.5vw;
		line-height: 140%;
		font-weight: 500;
		color: #635337;
		text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
		padding: 0 0 6% 0;
	}
	.mainReadbtm span.txt1{
		color: #f47ab7;
	}
	.mainReadbtm span.txt2{
		color: #f47ab7;
		font-size: 8vw;
	}


	.mainDots{
		text-align: center;
	}
	.mainDots img{
		width:2.2%;
		height: auto;
		padding: 0 0 3% 0;
	}





	.step{
		padding: 7.8% 0 0 0;
		background: #ffe6e6 url("images/bg_step.jpg") no-repeat 0 0;
		background-size: 100% auto;
		position: relative;
	}
	.step .stepChara{
		position: absolute;
		top: 30px;
		right: -2%;
		width: 23%;
		transform: scale(-1, 1);
		animation: updown1 2s ease-in-out infinite;
	}
	.step .stepChara img{
		width: 100%;
		height: auto;
	}
	.stepTitle{
		padding: 0 0 12% 6vw;
		text-align: center;
	}
	.stepTitle h2{
		text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
		color: #635337;

		font-size: 6vw;
		font-weight: 500;
		text-align: center;

		position: relative;
		display: inline-block;
	}
	.stepTitle h2 span{
		display: inline-block;

		background: #f47ab7;
		position: absolute;

		color: #fff;
		top: -3vw;
		left: -14vw;
		width: 13vw;
		line-height: 13vw;
		border-radius: 50%;
		text-shadow: none;
		font-size: 8vw;
	}


	.stepRead{
		padding: 0 0 12% 0;
		font-size: 4.2vw;
		line-height: 200%;
		text-align: center;
	}



	.stepBox{
		position: relative;
	}
	.stepBox::after{
		content: "";
		width: 7.5%;
		height: 4.1%;
		background: url("images/arrow_blue.png") no-repeat 0 0;
		background-size: 100% auto;

		position: absolute;
		bottom: 9%;
		left: 50%;


		animation: updown_arrow 2s ease-in-out infinite;

	}
	.stepIcon{
		display: inline-block;

		background: #f47ab7;
		position: absolute;

		color: #fff;
		top: -4%;
		left: 50%;
		transform: translateX(-50%);
		width: 13vw;
		line-height: 13vw;
		border-radius: 50%;
		text-shadow: none;
		font-size: 9vw;

		text-align: center;

		z-index: 1;
	}
	.stepIcon::before{
		content: "STEP";
		position: absolute;
		top: -1em;
		left: 0;
		width: 100%;
		display: block;
		text-align: center;

		color: #f47ab7;

		font-size: 4vw;
		line-height: 100%;

	}


	.stepImg{
		width: 89%;
		margin: 0 auto 5%;
		position: relative;
		z-index: 0;
	}
	.stepImg img{
		width: 100%;
		height: auto;
		display: block;
		border-radius: 20px;
		border: 8px solid #fff;
	}




	.stepTxt{
		padding: 0 0 25% 0;
		font-size: 4.2vw;
		line-height: 200%;
		text-align: center;
	}

	.step3 .stepTxt{
		padding: 0 0 10% 0;
	}

	.stepBox.step3::after{
		content: "";
		width: 7.5%;
		height: 5%;
		background: url("images/arrow_blue.png") no-repeat 0 0;
		background-size: 100% auto;

		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%);
	}




	.stepBtn{
		width: 89%;
		margin: 0 auto 0;
		padding-bottom: 13%;
		position: relative;
	}
	.stepBtn::after{
		content: "";
		width: 7.5%;
		height: 9%;
		background: url("images/arrow_blue.png") no-repeat 0 0;
		background-size: 100% auto;

		position: absolute;
		bottom: 5%;
		left: 50%;
		animation: updown_arrow 2s ease-in-out infinite;
	}

	.stepBtn a{
		display: block;
		transition: all .3s ease-in-out;
	}
	.stepBtn a img{
		width: 100%;
		height: auto;
	}

	.stepBtn a:hover{
		transform: scale(1.04);
	}




	.lineup{
		padding: 0 0 30px 0;
		background: #6dc0ed url("images/bg_lineup.jpg") no-repeat 0 0;
		background-size: 100% auto;
	}

	.lineup.lineup2{
		padding: 9% 0 0 0;
		background: #6edbea url("images/bg_lineup2.jpg") no-repeat 0 0;
		background-size: 100% auto;
	}

	.lineupTitle{
		text-align: center;
		padding: 18% 0 5% 0;
		background: url("images/lineup_title_line.png") no-repeat center top 11vw;
		background-size: 40% auto;
		animation: updown_lineuptitle 2s ease-in-out infinite;
	}
	.lineupTitle h2{
		background: #fff;
		border-radius: 10px;
		color: #3bbaff;
		padding: 2% 10%;
		line-height: 100%;
		font-size: 6vw;
		display: inline-block;

		font-weight: 500;
		box-shadow: 10px 10px 0 rgba(0,0,0,.2);
	}



	.lineupTitle2{
		text-align: center;
		margin-bottom: 5%;
	}
	.lineupTitle2 h2{
		background: #fff;
		border-radius: 10px;
		color: #27a1aa;
		padding: 2% 6%;
		line-height: 100%;
		font-size: 5.5vw;
		display: inline-block;

		font-weight: 500;

		margin-bottom: 3%;

		box-shadow: 10px 10px 0 rgba(0,0,0,.2);
	}

	.lineupTitle2Read{
		font-size: 4.2vw;
		line-height: 140%;
		text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
	}



	.lineupBox{
		padding: 7% 8%;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}

	.imgcap{
		position: absolute;
		
		pointer-events: none;


		z-index: 1;
	}
	.imgcap img{
		width: 100%;
		height: auto;
	}
	.imgcap.cap1{top: 30vw;left: 0;width:36%;}
	.imgcap.cap2{top: 30vw;right: 0;width:36%;}
	.imgcap.cap3{top: 8vw;left: 0;width:29%;}
	.imgcap.cap4{top: 5vw;right: 0;width:26%;}
	.imgcap.cap5{top: 4vw;left: 0;width:29%;}
	.imgcap.cap6{top: 44vw;right: 0;width:40%;}
	.imgcap.cap7{top: 1vw;left: 0;width:60%;}



	.lineupBox.lineupBox2{
		background: rgba(0,0,0,.1);
	}

	.lineupImg{
		margin-bottom: 5%;
		position: relative;
	}
	.lineupImg img{
		display: block;
		width: 100%;
		height: auto;
		border-radius: 20px;
		border: 8px solid #f2ff8c;
	}
	.lineupImg2{
		margin-bottom: 5%;
	}
	.lineupImg2 img{
		width: 100%;
		height: auto;
	}




	.lineupName{
		color: #faffc9;
		margin-bottom: 1%;
		text-align: center;
		font-size: 5.6vw;
	}
	.lineupName span{
		display: block;
		margin-top: 5px;
		font-size: 12px;
		line-height: 130%;
	}
	.lineupPrice1{
		text-align: center;
		font-size: 3.4vw;
		color: #fff;
		margin-bottom: 10%;
	}
	.lineupPrice1.priceBtmS{
		margin-bottom: 5%;
	}
	.lineupPrice1 span{
		font-size: 4.2vw;
	}
	.lineupBtm{

		position: relative;
		line-height: 100%;
	}
	.lineupBtm .lineupPrice2{
		color: #f47ab7;
		font-size: 4.2vw;
		line-height: 100%;
		position: absolute;

		top: -5vw;
		left: 0;

		text-align: center;

		width: 100%;

		pointer-events: none;
	}
	.lineupBtm .lineupPrice2 div{
		display: inline-block;

		padding: 1.5% 6%;
		background: #fff;

		position: relative;
		z-index: 1;
	}
	.lineupBtm a{
		text-decoration: none;
		color: #faffc9;
		line-height: 100%;

		display: block;

		background: #f47ab7;
		border-radius: 40px;
		padding: 4% 0 3.5% 0;
		font-size: 4.2vw;

		text-align: center;

		animation: updown_btn 1.5s ease-in-out infinite;


	}





	.campaign{
		padding: 18% 0 18% 0;
		background: #ffe6e6 url("images/bg_camp.jpg") no-repeat 0 0;
		background-size: 100% auto;
	}
	.campaign h2{
		text-align: center;
		line-height: 120%;
		font-size: 6vw;
		margin-bottom: 5%;
		color: #00a5ff;

		font-weight: 500;
	}
	.campBox{
		width: 83%;
		margin: 0 auto;
		border-radius: 20px;
		padding: 5%;
		background: #fff;
		box-shadow: 10px 10px 0 rgba(0,0,0,.2);
	}

	.campBox ul{
		gap:10px;
		display: flex;
		flex-flow: column;
	}

	.campBox ul li{

	}
	.campBox ul li a{
		display: block;
	}
	.campBox ul li a img{
		width: 100%;
		height: auto;
		display: block;
	}






	.sns{
		padding: 10% 8% 10% 8%;
		background: #ffffff;
		position: relative;
	}
	.sns .snsChara{
		position: absolute;
		top: -40px;
		left: 10%;
		width: 20%;
		animation: updown2 2s ease-in-out infinite;
	}
	.sns .snsChara img{
		width: 100%;
		height: auto;
	}


	.snsTitle{
		text-align: center;
		margin-bottom: 5%;
	}
	.snsTitle h2{
		border-radius: 10px;
		color: #3bbaff;

		line-height: 100%;
		font-size: 6vw;
		display: inline-block;

		font-weight: 500;

		margin-bottom: 3%;

	}

	.snsTitle2Read{
		font-size: 3.8vw;
		line-height: 140%;
		text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;
	}




	.contact{
		padding: 10% 0 10% 0;
		background: #ffe6e6;
	}



	.contactTitle{
		text-align: center;
		margin-bottom: 5%;
	}
	.contactTitle h2{
		border-radius: 10px;
		color: #3bbaff;

		line-height: 100%;
		font-size: 6vw;
		display: inline-block;

		font-weight: 500;

		margin-bottom: 3%;
		text-shadow: 2px 2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,-2px -2px 0 #fff;

	}

	.contactTitle2Read{
		font-size: 3.8vw;
		line-height: 140%;

	}


	.contact ul{
		width: 86%;
		margin: 0 auto;
		display: flex;
		gap:2%;
	}
	.contact ul img{
		width: 100%;
		height: auto;

	}





	footer{
		background: #ffe6e6 url("images/foot_bg.png") no-repeat center bottom 0;
		background-size: 100% auto;
	}

	.footlogo{
		width: 48%;
		margin: 0 auto;
		padding: 8% 0 4% ;
		text-align: center;
	}
	.footlogo img{
		width: 100%;
		height: auto;
	}



}