@charset "utf-8";

.bgWave{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height:80px;
}
.bgWave svg{height: 100%;width: 100%;}

/* ヘッダー */
header{
	position: relative;
	margin: 0 auto ;
	display: block;
	width: 100%;
}
header #keyvisual{
	position: relative;
	margin: 0 auto ;
	display: block;
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	width: 100%;
	padding-top: 141.40625%;
}
header .play{
	position: relative;
	margin: 0 auto;
	padding: 5px 0 3px 0;
	background-color: #E32B38;
	text-align: center;
	font-weight: 600;
	line-height: .22rem;
}
header .play a{color: #ffffff;}
header .play span{font-size: .22rem;font-weight: 700;color: #FFD439;}

/* photo */
#photo{
	position: relative;
	margin:  0 auto;
	padding: 7px 0;
	background: rgb(142,55,127);
	background: linear-gradient(90deg, rgba(142,55,127,1) 0%, rgba(57,82,218,1) 25%, rgba(238,24,30,1) 50%, rgba(245,97,26,1) 75%, rgba(111,63,155,1) 100%);
}
#photo .photoWrap{
	position: relative;
	margin: 0 auto ;
	padding: 0;
}
.splide__list {height: auto;}

/* catch */
#catch{
	position: relative;
	margin: 0 auto;
	padding: 25px 0 80px 0;
	background-image: url("../img/dot.png");
	background-repeat: repeat;
	background-position: 0 0;
	background-size: 100px auto;
}
#catch .catchBg01{
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 50px;
}
#catch .catchBg01 .ani{
	background-image: url("../img/catchlight.png");
	background-position: 50% 100%;
	background-size: 180px auto;
}
#catch .catchTxt{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width:600px;
	transform: translateX(5px);
}
#catch .catchTxt img{margin: 0 auto;z-index: 11;}
.icon01{
	position: absolute;
	top:-40px;
	left: 0px;
	width: 38px;
}
.icon02{
	position: absolute;
	bottom:-5px;
	right: -15px;
	width: 40px;
}

/* chapter */
#chapter{
	position: relative;
	margin: 20px auto;
}
#chapter .chapTxt{
	position: relative;
	margin: 0 auto;
	padding: 30px 20px;
	width: calc(100% - 70px);
	max-width: 700px;
	border: solid 2px #c4bdcb;
	background-color: rgba(30,24,1,.5);
}
#chapter .chapTxt p{text-align: center;}
#chapter .bg{
	position: absolute;
	top: 5px;
	left: 0;
	width: 100%;
	height: 0;
	background-image: url("../img/bg_chapter.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 100% auto;
	padding-top: 113.676%;
}
.icon23{
	position: absolute;
	bottom:15px;
	left: -10px;
	width: 35px;
}

/* cm */
#cm{
	position: relative;
	margin: -20px auto 0 auto;
	padding: 0 0 70px 0;
}
#cm h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#cm .movieWrap{
	margin: 10px auto 0 auto;
	width: calc(100% - 36px);
	border: solid 3px #000000;
	box-shadow: -3px 3px 0px 1px #4e0b9a, 3px -3px 0px 1px #8c3d12;
}
#cm .bgWave{
	height: 84px;
	padding-top: 10px;
	background: rgb(0,0,0);
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(40,36,61,1) 100%);
}


/* ポイント */
#point{
	position: relative;
	margin: 0 auto;
}
#point h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#point ul{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 30px);
	gap: 20px 0;
}
#point ul li{
	position: relative;
	margin: 0;
	width: 100%;
	max-width: 400px;
}
#point ul li .pointTxt{
	position: relative;
	margin:  -7px auto 0 auto;
	gap: 0 10px; 
}
#point ul li .ttl{
	position: relative;
	margin: 0;
	width: 90%;
	max-width: 501px;
}
#point ul li:nth-child(2) .ttl{margin: 0 0 0 auto;}
#point ul li .Img{
	position: relative;
	margin:0;
	width: calc(100% - 50px);
	max-width: 470px;
}
#point ul li:nth-child(2) .pointTxt{flex-direction:row-reverse;}
#point ul li .txt{
	position: relative;
	margin: 1em 0 0 0;
	width: calc(100% - 20px);
	font-size: .13rem;
}
#point ul li .txt .fontSmall{padding-top: 10px;}
#point ul li .txt .btnArea{
	position: relative;
	margin:  10px auto;
	text-align: center;
}
#point ul li .txt .btnArea .button{
	position: relative;
	margin: 0 auto;
	display:block;
	padding: 5px 30px;
	background-color: #824890;
	color: #ffffff;
	transition: all .3s ease-out;
}
#point ul li .txt .btnArea .button:hover{background-color: #D1A452;}
#point ul li .txt .btnArea .button::after{
	position: absolute;
	top:50%;
	right: 10px;
	transform: translateY(-50%);
	display: block;
	content: '';
	width: 12px;
	height: 18px;
	background-image: url("../img/arrow2.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
#point .game{
	position: relative;
	margin: 30px auto 20px auto;
	padding: 20px;
	width: calc(100% - 80px);
	max-width: 630px;
	border: solid 1px #E3D6AC ;
}
#point .game ul{margin: 0 auto; width: calc(100% - 20px);}
#point .game ul li {position: relative;width: 100%;}
#point .game ul li  .icons{position: relative; gap: 20px;}
#point .game ul li  .icons .Img{
	position: relative;
	margin: 0;
	width: 40px;
}
#point .game ul li  .icons .txt{
	position: relative;
	margin: 0;
	width: calc(100% - 60px);
}
#point .game ul li span{
	position:relative;
	font-weight: 600;
	display: block;
	color: #F5611A;
}
#point .game .btn_gameCaution{
	position: relative;
	margin: 30px auto 0 auto;
	background-color: #D1A452;
	color: #ffffff;
	text-align: center;
	padding: 5px 30px;
	cursor: pointer;
	transition: all .3s ease-out;
}
#point .game .btn_gameCaution:hover{background-color: #824890;}
#point .game .btn_gameCaution::after{
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 12px;
	content: '';
	display: block;
	background-image: url("../img/arrow2.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}
#point .game .btn_gameCaution.disp::after{transform: translateY(-50%) rotate(-180deg);}
#point .game .cautionWrap{
	position: relative;
	margin: 0 auto;
	font-size: .13rem;
	line-height: 1.6em;
	padding:10px;
	text-align: left;
	display: none;
	border-left: solid 1px #D1A452;
	border-right: solid 1px #D1A452;
	border-bottom: solid 1px #D1A452;
}
#point .game .cautionWrap p{
	position: relative;
	padding-left: 1.2em;
}
#point .game .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#point .game .cautionWrap p .pd10{display: block; padding-top: 10px;}
.icon03{
	position: absolute;
	top:-35px;
	left: calc(50% - 60px);
	transform: translateX(-50%);
	width: 48px;
}

/* ストーリー */
 #story{
	 position: relative;
	 margin: 0 auto;
	 background: #32093F;
	 background: linear-gradient(90deg, #000028 0%, #32093F 50%, #260101 100%);
}
#story .storyWrap{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 30px 0;
	background-image: url("../img/bg_dot.png"), url("../img/dot.png"), url("../img/bg_story.png");
	background-position: 0 0, 0 0, 0 calc(100% - 60px);
	background-repeat:repeat-x, repeat, no-repeat;
	background-size: auto 230px, 100px auto, 100% auto;
}
#story h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#story .storyTxt{
	position: relative;
	margin: 5px auto 0 auto;
	text-align: center;
	max-width: 400px;
}
#story .storyTxt p{
	position: relative;
	margin: 0 auto;
	padding-top: 20px;
	line-height: 2.2em;
	font-weight: 600;
	z-index: 200;
	text-shadow: 
    #000000 2px 0px,  #000000 -2px 0px,
    #000000 0px -2px, #000000 0px 2px,
    #000000 2px 2px , #000000 -2px 2px,
    #000000 2px -2px, #000000 -2px -2px,
    #000000 1px 2px,  #000000 -1px 2px,
    #000000 1px -2px, #000000 -1px -2px,
    #000000 2px 1px,  #000000 -2px 1px,
    #000000 2px -1px, #000000 -2px -1px;
}
#story .storyTxt p.txt01{
	margin: 0 auto -10px auto;
	padding-top: 0;
	width: calc(100% - 25px);
	max-width: 601px;
}
#story .storyTxt .txt02{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 65px);
	max-width: 493px;
}
#story .storyTxt .iconTxtx01, #story .storyTxt .iconTxtx02{position: relative;}
#story .storyTxt .txtMore{
	position: relative;
	margin: 0 auto 40px auto;
	height: 18em;
	overflow: hidden;
	transition: all .3s ease-out;
}
#story .storyTxt .txtMore .blurTxt.disp{
	position: relative;
	color: transparent;
	text-shadow: 0 0 3px rgba(255,255,255,0.3);
}
#story .storyTxt .moreTxt{
	position: absolute;
	bottom: 0;
	padding: 1em 0;
	width: 100%;
	z-index: 1000;
	transition: all .3s ease-out;
	cursor: pointer;
}
#story .storyTxt .moreTxt p{position: relative;text-align: center;font-weight: 500;padding-top: 0;}
#story .storyTxt .moreTxt p::after{
	position: absolute;
	top: 50%;
	left: calc(50% + 2.8em);
	content: '▼';
	transform: translate(-50%, -50%) scale(1, .7);
	font-size: 70%;
	z-index: 1001;
}
#story .storyTxt .moreTxt.disp p::after{content: '▲';}
#story .storyTxt .txtMore.disp{height: auto;overflow: visible;padding-bottom: 4em;margin: 0 auto 30px auto;}

#story .chapterS{
	position: relative;
	margin: 0 auto;
	padding: 0 0 70px 0;
	background-image: url("../img/dot.png");
	background-position: 0 0;
	background-repeat:repeat;
	background-size: 100px auto;
}
#story .chapterS .chapterWrap{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 30px 0;
}
#story .chapterS .chapterWrap .chBox .playMovieWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 315px;
	border: solid 3px #dbb469;
	background-color: #000000;
	overflow: hidden;
}
#story .chapterS .chapterWrap .chBox .playMovieWrap .movieArea{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 177.777%
}
.movieArea iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}
#story .chapterS .chapterWrap .chBox .playMovieWrap .movieArea.soon{
	background-image: url("../img/bg_soon.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
#story .chapterS .chapterWrap .chBox .playMovieWrap .movieArea.soon iframe{opacity: 0;}
#story .chapterS .chList{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 30px);
	gap:20px 10px;
}
#story .chapterS .chList li{
	position: relative;
	margin: 0;
	width: calc(33.3333% - 10px);
	max-width: 120px;
	background-color: #000000;
	border: solid 1px #dbb469;
	padding: 20px 0;
}
#story .chapterS .chList li.soon{background-color: #898989;border: solid 1px #D7D7D1;}
#story .chapterS .chList li.new::after, #story .chapterS .chList li.newL::after{
	position: absolute;
	top: -20px;
	right: -10px;
	width: 60px;
	height: 35px;
	content: '';
	display: block;
	background-image: url("../img/icon_new.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
#story .chapterS .chList li:hover{
	cursor: pointer;
	transform: scale(1.02,1.02);
	transition: all .3s ease-out;
}

.icon07{
	position: absolute;
	top:40px;
	left: calc(50% + 70px);
	transform: translateX(-50%);
	width: 76px;
}
.icon08{
	position: absolute;
	top:10px;
	left: calc(50% + 95px);
	transform: translateX(-50%);
	width: 30px;
}
.icon09{
	position: absolute;
	top:-5px;
	right: 30%;
	width: 25px;
	opacity: 0;
}
.icon09.disp{opacity: 1;}
.icon10{
	position: absolute;
	top:5px;
	right: -3px;
	width: 120px;
	opacity: 0;
}
.icon10.disp{opacity: 1;}
.icon11{
	position: absolute;
	top:72%;
	left: 2px;
	width: 65px;
	opacity: 0;
}
.icon11.disp{opacity: 1;}
.icon12{
	position: absolute;
	top:46%;
	left: 30px;
	width: 25px;
	opacity: 0;
}
.icon12.disp{opacity: 1;}
.icon13{
	position: absolute;
	top:87%;
	left: 48px;
	width: 15px;
}
.icon14{
	position: absolute;
	bottom:45px;
	left: 15px;
	width: 40px;
}
.icon16{
	position: absolute;
	bottom:8px;
	right: -14px;
	width: 48px;
}
.icon26{
	position: absolute;
	top:-20px;
	left: 20%;
	width: 38px;
}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 40px 0;
}
#howto h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#howto .howtoWrap{position: relative;}
#howto .howtoWrap ul{
	position: relative;
	margin:20px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 1200px;
}
#howto .howtoWrap ul li{
	position: relative;
	margin: 0;
}
#howto .howtoWrap .txtWrap{
	position: relative;
	height: calc(100% - 8px);
	margin: 10px auto 0 auto;
	padding: 4px;
	background: #DF6144;
	background: linear-gradient(139deg, #8A3278 0%, #3951D9 23%, #E32B38 52%, #DF6144 74%, #7B4594 100%);
}
#howto .howtoWrap .txtInner{
	position: relative;
	width: calc(100% - 30px);
	height: calc(100% - 41px);
	margin: 0 auto;
	padding: 15px;
	background-color: #ffffff;
}
#howto .howtoWrap .Img{
	position: relative;
	margin: 0 auto;
	width: 90%;
}
#howto .howtoWrap .no{
	position: absolute;
	top:0;
	left: 15px;
	width: 24%;
	z-index: 300;
}
#howto .howtoWrap p{
	position: relative;
	margin: 0 auto;
	padding: 10px 0;
	color: #000000;
}

#howto .howtoWrap .btnArea{
	position: relative;
	margin:  10px auto 0 auto;
	text-align: center;
}
#howto .howtoWrap .btnArea .button{
	position: relative;
	margin: 0 auto;
	display:block;
	padding: 5px 30px;
	border-radius: 100px;
	background-color: #000000;
	color: #ffffff;
}
#howto .howtoWrap .btnArea .button::after{
	position: absolute;
	top:50%;
	right: 10px;
	transform: translateY(-50%);
	display: block;
	content: '';
	width: 12px;
	height: 18px;
	background-image: url("../img/arrow2.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
#howto .howtoWrap .btnArea .button:hover{background-color: #ddb469;}
#howto .howtoWrap .cautionWrap{
	position: relative;
	margin: 0 auto;
}
#howto .howtoWrap .cautionWrap p{padding: 0 0 5px 1.2em;line-height: 1.4em;}
#howto .howtoWrap .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
#howto .howtoWrap .slick-slide{margin: 0 10px !important;}
#howto .howtoWrap .slick-track {display: flex;}
#howto .howtoWrap .slick-slide {height:auto !important;}
#howto .howtoWrap #arrowsH{
	position: absolute;
	display: block;
	top: 34%;
	left: 3px;
	text-align: center;
	width: calc(100% - 6px);
	height: 25px;
	z-index: 1000;
}
#howto .howtoWrap .slide-arrow{
    position: absolute;
	top:0;
	display: block;
	width: 55px;
	height: auto;
}
#howto .howtoWrap .prev-arrow{transform: scale(-1, 1);left: 0;cursor: pointer;}
#howto .howtoWrap .next-arrow{right: 0;cursor: pointer;}
#howto .howtoWrap .slick-disabled{display: none !important;}
.icon05{
	position: absolute;
	top:-7px;
	left: calc(50% - 90px);
	transform: translateX(-50%);
	width: 32px;
}
.icon06{
	position: absolute;
	top:0;
	left: calc(50% - 50px);
	transform: translateX(-50%);
	width: 28px;
}

#europe{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 120px 0;
	background-color: #021325;
	background-image: url("../img/bg_dotGreen.png");
	background-position: 0 0;
	background-repeat:repeat-x;
	background-size: auto 230px;
}
#europe h3{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#europe .ImgE{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 56px);
	max-width: 586px;
}
#europe .TxtEWrap{
	position: relative;
	margin: 15px auto 0 auto;
	background-image:  url("../img/bg_europe.png");
	background-position: 50% 0;
	background-repeat:no-repeat;
	background-size: 100% auto;
	transition: all .3s ease-out;
}
#europe .TxtE{
	position: relative;
	margin: 0 auto;
}
#europe .TxtE p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 50px);
	max-width: 960px;
}
#europe .btnArea{
	position: relative;
	margin:  20px auto 0 auto;
	width: calc(100% - 100px);
	max-width: 380px;
	text-align: center;
}
#europe .btnArea .button{
	position: relative;
	margin: 0 auto;
	display:block;
	padding: 8px 20px;
	border-radius: 100px;
	background-color: #ffffff;
	color: #000000;
	font-weight: 600;
}
#europe .btnArea .button:hover{background-color: #ddb469;}
#europe .btnArea .button::after{
	position: absolute;
	top:50%;
	right: 10px;
	transform: translateY(-50%);
	display: block;
	content: '';
	width: 14px;
	height: 12px;
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
#europe .comE{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 60px);
	max-width: 960px;
}
#europe .comE h4{
	position: relative;
	margin: 0 auto 10px auto;
	text-align: center;
}
#europe .comE h4 span{
	border: solid 1px #ffffff;
	padding: 2px 10px;
	font-size: .12rem;
}
#europe .comment{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 50px);
	max-width: 960px;
	padding: 25px 0;
	background-color: #000000;
	border-radius: 7px;
}
#europe .comment h4{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 50px);
}
#europe .comment h4 img{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 500px;
}
#europe .comment .ImgD{
	position: relative;
	margin: 15px auto 0 auto;
	width: 100%;
}
#europe .comment .ImgD img{
	position: relative;
	margin: 0 auto;
	width: 50%;
	max-width: 260px;
}
#europe .comment .ImgD p{
	position: relative;
	margin: 10px auto 0 auto;
	text-align: center;
	color: #dbb469;
	font-weight: 700;
	font-size: .16rem;
}
#europe .comment .ImgD p span{
	font-size: 76%;
	font-weight: 500;
	display: block;
}
#europe .comment .TxtD{
	position: relative;
	margin: 25px auto 0 auto;
	width: calc(100% - 40px);
	height:8em;
	overflow: hidden;
	transition: all .3s ease-out;
}
#europe .comment .TxtD::after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 6em;
	z-index: 40;
	display: block;
	content: '';
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%);
}
#europe .comment .TxtD.disp{height: auto;padding-bottom: 3em;}
#europe .comment .TxtD.disp::after{display: none;}
#europe .comment .moreTxt{
	position: absolute;
	bottom: 0;
	padding: 4em 0 0 0;
	width: 100%;
	z-index: 41;
	transition: all .3s ease-out;
	cursor: pointer;
}
#europe .moreTxt p{position: relative;text-align: center;font-weight: 500;}
#europe .moreTxt p::after{
	position: absolute;
	top: 50%;
	left: calc(50% + 2.8em);
	content: '▼';
	transform: translate(-50%, -50%) scale(1, .7);
	font-size: 70%;
	z-index: 42;
}
#europe .moreTxt.disp p::after{content: '▲';}
.icon04{
	position: absolute;
	top:10px;
	right: 15px;
	width: 48px;
}

/* voice */
#voice{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 60px 0;
	background-color: #032540;
}
#voice .bgGra{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}
#voice .bgWave.topBg{
	top: 0;
	bottom: auto;
	transform: scale(-1, -1);
}
#voice h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
	z-index: 101;
}
#voice ul{margin:20px auto 0 auto;align-items: stretch;}
#voice ul li{
	position: relative;
	margin: 0;
	padding: 0;
}
#voice ul li .vioceWrap{
	position: relative;
	margin: 0 auto;
	padding: 30px 20px;
	height: calc(100% - 60px);
	background-color: #ffffff;
}
#voice ul li .vioceWrap .iconV01{
	position: absolute;
	bottom:70px;
	right:10px;
	width: 48px;
}
#voice ul li .vioceWrap .iconV02{
	position: absolute;
	bottom:70px;
	right: 10px;
	width: 76px;
}
#voice ul li .vioceWrap .iconV03{
	position: absolute;
	bottom:90px;
	right: 20px;
	width: 30px;
}
#voice ul li .vioceWrap .iconV04{
	position: absolute;
	bottom:135px;
	right: 45px;
	width: 32px;
}
#voice ul li .vioceWrap .iconV05{
	position: absolute;
	bottom:126px;
	right: 10px;
	width: 28px;
}
#voice ul li .vioceWrap .iconV06{
	position: absolute;
	bottom:80px;
	right: 20px;
	width: 42px;
}
#voice ul li .vioceWrap .iconV07{
	position: absolute;
	bottom:75px;
	right: 15px;
	width: 58px;
}
#voice ul li .vioceWrap .iconV08{
	position: absolute;
	bottom:75px;
	right: 18px;
	width: 48px;
}
#voice p{
	position: relative;
	margin: 0 auto;
	height: 100%;
	background-image: linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 100% 2.5em;
  line-height: 2.5em;
  padding-bottom: 1px;
	color: #000000;
}
#voice span.name{color: #f44043;}
#voice .slick-slide{margin: 0 0 0 20px !important;}
#voice .slick-slide:last-child{margin: 0 10px !important;}
#voice .slick-track {display: flex;}
#voice .slick-slide {height: auto !important;}
.dots-class .slick-dots {
	position: relative;
  text-align: center;
	z-index: 100;
}
.dots-class .slick-dots li {
	position: relative;
  display: inline-block;
	margin-right: 10px !important;
}
.dots-class .slick-dots button {
	position: relative;
  display: block;
  width: 8px;
    height: 8px;
    background-color: transparent;
    border: 1px solid #ddb469;
	background: #4F4023;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .5s ease;
}
.dots-class .slick-dots .slick-active button {
  background: #ddb469;
}
.dots-class .slick-dots button::before{display: none;}
.icon25{
	position: absolute;
	top:10px;
	left: calc(50% + 70px);
	width: 52px;
}

/* special */
#special {
	position: relative;
	margin: 0 auto;
	padding: 40px 0 80px 0;
	background-color: #28062c;
	background-image: url("../img/bg_dotPurple.png");
	background-position: 0 calc(100% + 80px);
	background-repeat:repeat-x;
	background-size: auto 230px;
}
#special .bgGra{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}
#special .bgWave.topBg{
	top: 0;
	bottom: auto;
	transform: scale(-1, -1);
}
#special h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#special .banner{
	position: relative;
	margin:15px auto 0 auto;
	max-width: 1200px;
}
#special .banner ul{
	position: relative;
	width: calc(100% - 50px);
	margin:0 auto;
	gap:15px 10px;
}
#special .banner ul li img{border: solid 1px #525252;}
#special .banner ul li p{
	position: relative;
	padding: 5px 0;
	text-align: center;
}
#special .banner .slick-slide{margin: 0 10px !important;}
#special .banner .slick-track {display: flex;}
#special .banner .slick-slide {height:auto !important;}
#special .banner #arrowsB{
	position: absolute;
	display: block;
	top: calc(50% - 10px);
	left: 1px;
	text-align: center;
	width: calc(100% - 2px);
	height: 22px;
}
#special .banner .slide-arrow{
    position: absolute;
	top:0;
	display: block;
	width: 37px;
	height: auto;
}
#special .banner .prev-arrow{transform: scale(-1, 1);left: 0;cursor: pointer;}
#special .banner .next-arrow{right: 0;cursor: pointer;}
#special .banner .slick-disabled{display: none !important;}
.icon15{
	position: absolute;
	top:5px;
	left: calc(50% - 70px);
	transform: translateX(-50%);
	width: 43px;
}

/* fes */
#fes{
	position: relative;
	margin: 0 auto;
	padding: 80px 0 80px 0;
	background-color: #28062c;
	background-image: url("../img/bg_dotPurple.png");
	background-position: 0 calc(100% + 80px);
	background-repeat:repeat-x;
	background-size: auto 230px;
}
#fes .bgWave.topBg{
	top: 0;
	bottom: auto;
	transform: scale(-1, -1);
}
#fes h2{
	position: relative;
	margin: -30px auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#fes p{
	position: relative;
	margin: 0 auto;
	text-align: center;
	color: #000000;
	font-weight: 700;
	text-shadow: 
    #ffffff 2px 0px,  #ffffff -2px 0px,
    #ffffff 0px -2px, #ffffff 0px 2px,
    #ffffff 2px 2px , #ffffff -2px 2px,
    #ffffff 2px -2px, #ffffff -2px -2px,
    #ffffff 1px 2px,  #ffffff -1px 2px,
    #ffffff 1px -2px, #ffffff -1px -2px,
    #ffffff 2px 1px,  #ffffff -2px 1px,
    #ffffff 2px -1px, #ffffff -2px -1px;
}
#fes .fesTxt{
	position: relative;
	margin: 0 auto;
}
#fes .fesBnr{
	position: relative;
	margin: 10px auto 0 auto;
	display: block;
	width: calc(100% - 30px);
	max-width: 580px;
}

/* 販売 */
#ticket{
	position: relative;
	margin:0 auto;
	text-align: center;
	font-size: .15rem;
	padding: 0 0 50px 0;
}
#ticket h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#ticket h3{
	position: relative;
	margin: 0 auto 15px auto;
	width: 48%;
	max-width: 290px;
}
#ticket h3.kikan{margin: 15px auto;}
/* 発売日 */
#ticket .release{
	position: relative;
	margin: 45px auto 0 auto;
}
#ticket .release h4{
	position: relative;
	margin:  10px auto;
	font-weight: 700;
	color: #ddb469;
}
#ticket .release ul{position: relative;}
#ticket .release ul.pd40{padding-bottom: 40px;}
#ticket .release ul li{
	position: relative;
	width: calc(100% - 30px);
	font-size: min(4vw, .16rem);
	margin: 0 auto 45px auto;
}
#ticket .release ul li:last-child{margin: 0 auto;}
#ticket .release .typeTxt{
	position: relative;
	margin:  0 auto 15px auto;
	padding: 7px 0;
	background-color: #ffffff;
	color: #824890;
	font-size: .14rem;
	font-weight: 600;
	line-height: 1em;
}
#ticket .scraptanteidan{position: relative;}
#ticket .scraptantei p{
	padding: 20px 0 0 0;
	font-size: min(3.5vw, .14rem);
}
#ticket .scraptantei img{
	width: calc(100% - 30px);
	margin: 0 auto;
	max-width: 320px;
}
/* 料金 */
#ticket .price{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 0 0;
}
#ticket .price ul.ticketP {
	position: relative;
	width: calc(100% - 120px);
	max-width: 600px;
	margin: 0 auto;
}
#ticket .price ul.ticketP li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
	color: #824890;
	background-color: #eee7f0;
	border-radius: 100px;
	font-weight: 500;
	cursor: pointer;
}
#ticket .price ul.ticketP li.active{background-color: #824890;color: #ffffff;}
#ticket .price ul.ticketP li.active::after{
	position: absolute;
	bottom: -.7em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	height: 1em;
	color: #824890;
	line-height: 1em;
	text-align: center;
}
#ticket .price ul.ticketP li p{
	position: relative;
	padding: 2px 0;
	text-align: center;
}
#ticket .priceBox{
	position: relative;
	margin: 0 auto;
}
#ticket .priceBox .table{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 40px);
	display: none;
	color: #000000;
}
#ticket .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #824890;
}
#ticket .priceBox .table.active{display: block;}
#ticket .priceBox .table table.ttable{margin: 10px auto 0 auto;}
#ticket .priceBox table th{
	position: relative;
	width: 22%;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 7px 2px;
	font-size: .12rem;
	border-right: solid 1px #824890;
	background-color: #ffb72d;
}
#ticket .priceBox table td{
	position: relative;
	width: 38%;
	margin: 10px;
	text-align: center;
	padding: 10px 0;
	font-size: .12rem;
	border-right: solid 1px #824890;
	border-top: solid 1px #824890;
	vertical-align: middle;
	background-color: #ffffff;
}
#ticket .priceBox .price02 table td{width: 20%;}
#ticket .priceBox table td span{font-size: .18rem;font-weight: 700;}
#ticket .priceBox table td p{font-size: .12rem;line-height: 1.4em;}
#ticket .priceBox table thead th{border-top: solid 1px #824890;padding: 5px 0; color: #ffffff;}
#ticket .priceBox table tbody th{background-color: #fdf7c3;border-top: solid 1px #824890;padding: 10px 2px; color: #824890;height: calc(2.8em + 10px) !important;}
#ticket .priceBox table thead th span, #ticket .priceBox table tbody th span{font-size: .10rem;}
#ticket .priceBox table td.gray{background-color: #E6E6E6;padding: 0 5px;}

#ticket .ticCautionWrap{
	position: relative;
	margin: 20px auto;
	width: calc(100% - 40px);
	max-width: 620px;
}
#ticket .tokuten .ticCautionWrap{width: calc(100% - 20px);}
#ticket .ticCautionWrap .btn_ticCaution{
	position: relative;
	margin: 0 auto;
	background-color: #824890;
	color: #ffffff;
	text-align: center;
	padding: 5px 30px;
	cursor: pointer;
	transition: all .3s ease-out;
}
#ticket .ticCautionWrap .btn_ticCaution:hover{background-color: #ddb469;}
#ticket .ticCautionWrap .btn_ticCaution::after{
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 12px;
	content: '';
	display: block;
	background-image: url("../img/arrow2.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}
#ticket .ticCautionWrap .btn_ticCaution.disp::after{transform: translateY(-50%) rotate(-180deg);}
#ticket .ticCaution{
	position: relative;
	margin: 0 auto;
	font-size: .13rem;
	line-height: 1.6em;
	padding:10px;
	text-align: left;
	/*display: none;*/
	border-left: solid 1px #824890;
	border-right: solid 1px #824890;
	border-bottom: solid 1px #824890;
}
#ticket .ticCaution p{position: relative;padding-left: 1.2em;padding-bottom: 5px;text-align: left;}
#ticket .ticCaution p::before{
	position: absolute;
	content: '・';
	left: 0;
}

.ucampaign{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 40px);
	max-width: 800px;
}

#ticket .u22, #ticket .forkids{
	position: relative;
	margin: 50px auto 10px auto;
	width: calc(100% - 40px);
	max-width: 800px;
	background-color: #ffffff;
}
#ticket .u22 .ttlU22, #ticket .forkids .ttlKids{
	position: relative;
	margin: 0 auto;
	width: 120px;
	transform: translateY(-25px);
}
#ticket .forkids .ttlKids{transform: translateY(-45px);width: 220px;}
#ticket .u22 .u22Txt, #ticket .forkids .kidsTxt{
	position: relative;
	margin: -10px auto 0 auto;
	padding: 0 20px 20px 20px;
	color: #000000;
	text-align: left;
}
#ticket .forkids .kidsTxt{margin: -30px auto 0 auto;}
.icon17{
	position: absolute;
	top:-25px;
	left: calc(50% - 100px);
	transform: translateX(-50%);
	width: 34px;
}
.icon18{
	position: absolute;
	top:-65px;
	right:20px;
	width: 38px;
}

/* schedule */
#schedule{
    position: relative;
    margin: 0 auto;
}
#schedule h3{
	position: relative;
	margin: 0 auto 15px auto;
	width: 48%;
	max-width: 290px;
}
#schedule ul.areaList{
	position: relative;
	margin:0 auto;
	width: calc(100% - 30px);
	max-width: 960px;
}
#schedule ul  li.contents{
	position: relative;
	margin: 0 auto 30px auto;
	padding: 3px;
	background: #DF6144;
	background: linear-gradient(139deg, #8A3278 0%, #3951D9 23%, #E32B38 52%, #DF6144 74%, #7B4594 100%);
}

#schedule ul li .areaWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background-color: #ffffff;
}
#schedule ul li .area{
	position: relative;
	margin: 0 auto;
	padding:0;
}
#schedule ul li .area .shopname{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	padding-top: 25px;
}
#schedule ul li .area .shopname p{
	position: relative;
	font-weight: 700;
	color: #f44043;
	font-size: .16rem;
}
#schedule ul li .area .kikan{
	position: relative;
	margin: 0 auto;
	color: #f44043;
	font-size: .13rem;
	font-weight: 600;
	width: calc(100% - 10px);
}

#schedule ul li .detail{
	position: relative;
	height: 0;
	overflow: hidden;
	color: #000000;
	 transition: all .8s ease-out;
}
#schedule ul li .detail.disp{height: auto;padding-bottom: 20px;}
#schedule ul li .detail .shopTxt{
	position: relative;
	margin: 0 auto 5px auto;
	font-size: .15rem;
}
#schedule ul li .detail .areaTxt{font-size: 90%;line-height: 1.4em;}
#schedule ul li .detail .map{
	position: relative;
	margin: 8px auto 0 auto;
	width: calc(100% - 40px);
	height: 200px;
	border: solid 3px #ef6318;
}
#schedule ul li .detail .map iframe{max-width: 100%;height: 100%;}
#schedule ul li .ttlS{
	position: relative;
	margin: 0 auto 10px auto;
	width: 12em;
	padding: 5px 0;
	font-weight: 700;
	line-height: 1em;
	color: #ffffff;
	background-color: #3551d3;
}
#schedule ul li .ttlS.sAccess, #schedule ul li .ttlS.ticketBuy{margin: 25px auto 10px auto;}
#schedule ul li .ttlS.contact{margin: 45px auto 10px auto;}
#schedule ul li .detail p.areaTxt{padding: 0 10px;font-size: .14rem;}
#schedule ul li .detail p.areaTxt.contact{padding: 0 10px 30px 10px;}
#schedule ul li .btn_sAccess, #schedule ul li .link_sAccess{
	position: relative;
	margin:  10px auto 0 auto;
	display: block;
	padding: 5px 0;
	color: #ffffff;
	cursor: pointer;
	background-color: #000000;
}
#schedule ul li .btn_sAccess.accessClose{background-color: #cacaca;color: #000000;}
#schedule ul li .btn_sAccess::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	width: 13px;
	height: 13px;
	content: '';
	background-image: url("../img/arrow2.png");
	background-position: 0 0;
	background-repeat:no-repeat;
	background-size: contain;
	transition: all .3s ease-out;
}
#schedule ul li .btn_sAccess.accessClose::after{background-image: url("../img/arrow.png");transform:translateY(-50%) rotate(-90deg);}
#schedule ul li .detail .button{
	width: calc(100% - 2em - 20px);
	font-size: .13rem;
}
#schedule .morePlace{
	position: relative;
	margin: 30px auto;
	text-align: center;
	font-size: .13rem;
	line-height: 1.6em;
}

/* チケットカレンダー */
.sTicket ul li{background-image: none !important;}
.ticAPI{position: relative;margin: 0 auto;width: 100%;padding: 0;}
.ticket_api{margin: 0;padding: 0;color: #000000;width: 100%; background-color: #313131;}
.ticketWrap{ margin: 0 auto; background-color: transparent !important;  padding:20px 0 0 0; font-size: .12rem !important; }
.ticketWrap .swiper-wrapper{padding: 0;}
.ticketWrap .naviBox {margin:  0 53px 0 53px;}
.ticketWrap .naviBox .prevBtn{top: 20px;left: 0; background-color: #ffffff; opacity: 1;}
.ticketWrap .naviBox .nextBtn{top: 20px;right: 0; background-color: #ffffff; opacity: 1;}
.ticketWrap .naviBox .prevBtn:hover, .ticketWrap .naviBox .nextBtn:hover{opacity: 1;}
.ticketWrap .naviBox ul li{margin: 0 1px !important;}
.ticketWrap .naviBox ul li .scheduleBox{color:#000000;}
.ticketWrap .naviBox ul li.cr .scheduleBox {background: #3551d3; color:#ffffff !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#ffffff !important;}
.ticketWrap .detailsWrap {padding-top: 20px;min-height: 190px;}
.ticketWrap .detailsBox .tit {background-color: #824890;font-size: .14rem !important;color:#ffffff !important;}
.ticketWrap .detailsBox .tit p{margin: 0 !important;}
.ticketWrap .detailsBox .tit01 {font-size: .18rem !important;}
.ticketWrap .detailsBox .details h4 {margin: 30px 0; color:#000000 !important;border-bottom: 2px solid #000000; background-image: none;font-size: .13rem !important;text-align: center;font-weight: 700;}
.ticketWrap .detailsBox .details a.scrap {color: #3551d3; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #3551d3;border-right: solid 1px #3551d3; width: 5px; height: 5px;margin: -3px 0 0 0px;}
.ticketWrap .detailsBox .details ul li .scheduleBox.present {background: #ffffff; border: solid 1px #b3b3b3;color: #2a2a2a;}
.ticketWrap .detailsBox .details ul li .scheduleBox.sold {background: #b3b3b3; color:#969696; border: solid 1px #b3b3b3;}
.ticketWrap .detailsBox .details ul li .scheduleBox.few {background: #fbfdc2; border: solid 1px #b3b3b3;color: #2a2a2a;}
.ticket_api .note {margin: 0 auto !important;color:#232323; padding: 20px; background-color: #ffffff;}
.ticket_api .note a {color:#cf1009;}
.ticketWrap .detailsBox .details .ticketBox .ticketItem p {color:#232323;}
.ticketWrap .detailsBox .details ul li .scheduleBox .time {font-size: .13rem;}
.ticketWrap .detailsBox .details ul li .scheduleBox .state {font-size: .12rem;}


/* GOODS/FOOD */
#goods{
	position: relative;
	margin: 0 auto;
	padding: 60px 0 1px 0;
	background-color: #032540;
}
#food{
	position: relative;
	margin: 0 auto;
	padding: 100px 0 50px 0;
	background-color: #032540;
	background-image: url("../img/bg_dot01.png");
	background-position: 0 calc(100% + 20px);
	background-repeat:repeat-x;
	background-size: auto 230px;
}
#goods .bgWave.topBg{
	top: 0;
	bottom: auto;
	transform: scale(-1, -1);
}
#goods .bgGra{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}
#goods h2, #food h2{
	position: relative;
	margin: 0 auto 15px auto;
	width: 100%;
	max-width: 640px;
	z-index: 100;
}
#goods ul, #food ul{
	position: relative;
	margin: 15px auto 25px auto;
	width: calc(100% - 40px);
	max-width: 1200px;
	gap:30px 10px;
}
#goods ul li, #food ul li{
	position: relative;
	margin: 0;
	max-width: 370px;
}
#goods ul li.soon{
	width:calc(100% - 80px);
	max-width: 540px;
	padding: 40px 0;
}
#goods ul li .Img, #food ul li .Img{
	position: relative;
	margin: 0 auto;
	width: 100%;
	padding-bottom: 10px;
	border-bottom: solid 2px #dbb469;
}
#goods ul li .price, #food ul li .price{
	position: relative;
	margin: 0 auto;
	padding: 10px 0 0 0;
	text-align: center;
}
#goods ul li .price span, #food ul li .price span{
	font-weight: 600;
	color: #dbb469;
	font-size: .20rem;
}
#goods ul li .spec, #food ul li .spec{
	position: relative;
	margin: 0 auto;
	padding: 10px 0 20px 0;
	font-size: .13rem;
}
#goods ul li .spec p, #food ul li .spec p{
	position: relative;
	width: 100%;
}
#goods ul li .spec .title span, #food ul li .spec .title span{
	background-color: #dbb469;
	border-radius: 100px;
	padding: 0 1em;
	color: #032540;
	font-weight: 600;
}
#goods .cautionWrap, #food .cautionWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 960px;
}
#goods ul li .cautionWrap{margin: 10px auto 0 auto; width: 100%;}
#goods .cautionWrap p, #food .cautionWrap p{
	position: relative;
	padding-left: 1.2em;
	line-height: 1.6em;
}
#goods .cautionWrap p::before, #food .cautionWrap p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}
.icon19{
	position: absolute;
	top:15px;
	left: 62%;
	width: 38px;
}
.icon20{
	position: absolute;
	top:65px;
	left: 68%;
	width: 24px;
}
.icon24{
	position: absolute;
	top:75px;
	left: 32%;
	width: 30px;
}

/* FAQ */
#precautions{
	position: relative;
	margin: 0 auto;
}
#precautions .cautionWrap{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 30px);
	max-width: 960px;
	background-color: #eda421;
}
#precautions .cautionWrap .ttl{
	position: relative;
	margin: 0 auto;
	padding: 15px 0;
	text-align: center;
	cursor: pointer;
}
#precautions .cautionWrap .ttl img{
	position: relative;
	margin: 0 auto;
	width: 64%;
	max-width: 300px;
}
#precautions .ttl::after{
	position: absolute;
	top:50%;
	right: 10px;
	content: '';
	display: block;
	transition: all .3s ease-out;
	transform: translateY(-50%);
	height: 20px;
	width: 14px;
	background-image: url("../img/arrow2.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}
#precautions .ttl.disp::after{transform: translateY(-50%) rotate(-180deg);}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
	z-index: 9;
	color: #000000;
}
#precautions .CatTtl{
	position: relative;
	margin: 0 auto;
	padding: 3px 10px;
	width: calc(100% - 45px);
	max-width: 800px;
	background-color: #ffffff;
	text-align: center;
	font-size: .15rem;
	font-weight: 600;
}
#precautions .CatTtl.marginTop{margin: 20px auto 0 auto;}
#precautions  #limitlist .CatTtl{margin: 30px auto 15px auto;}
#precautions .faqWrap.disp{height: auto !important;padding: 20px 0; margin: 0 auto; }
#precautions .faqWrap dl{position: relative;}
#precautions .faqWrap dl dd{padding: 15px 0;}
#precautions #faq.faqWrap dl dd{padding: 5px 0 0 0;}
#precautions .faqWrap dl dd p, #precautions .faqWrap dl dd div{
	position: relative;
	width: calc(100% - 45px);
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: .8em;
	text-align: left;
	line-height: 1.5em;
}
#precautions .faqWrap dl dd .title{
	position: relative;
	width: calc(100% - 50px);
	margin: 5px auto 0 auto;
	text-align: left;
	font-weight: bold;
}
#precautions #cautionlist.faqWrap dl dd p, #precautions #faq.faqWrap dl dt p, #precautions #faq.faqWrap dl dd p, #precautions #limitlist dd p, #precautions .attWrap p{padding-left: 1.2em;}
#precautions #faq.faqWrap dl dt p{
	position: relative;
	color: #ffffff;
	font-size: .14rem;
	font-weight: 500;
	text-align: left;
	margin: 0 auto;
	width: calc(100% - 50px);
	max-width: 800px;
	line-height: 1.6em;
}
#precautions #cautionlist.faqWrap dl dd p::before, #precautions #faq.faqWrap dl dt p::before, #precautions #faq.faqWrap dl dd p::before, #precautions #limitlist dd p::before, #precautions .attWrap p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#precautions #faq.faqWrap dl dt p::before{content: 'Q.';}
#precautions #faq.faqWrap dl dd p::before{content: 'A.';}
#precautions .attWrap{margin: 0 auto 10px auto; width: calc(100% - 1.5em) !important;transform: translateX(.5em);}
#precautions .attWrap p::before{content: '※' !important;}
#precautions .attWrap p{font-size: 88% !important;padding-bottom: .2em !important;}

#precautions #limitlist .lead{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 50px);
	max-width: 800px;
}
#precautions  #limitlist dl{margin: 0 auto;width: calc(100% - 20px);}

/* ニュース */
#news{
    position:relative;
	margin: 0 auto;
	padding: 50px 0 120px 0;
	background-color: #1a0002;
	background-image:  url("../img/dot.png"), url("../img/bg_news.png");
	background-position:0 0, 50% 20px;
	background-repeat: repeat, no-repeat;
	background-size: 100px auto, 100% auto;
}
#news h2{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
	z-index: 40;
}
#news h2 img{
	position: relative;
	transform: translateY(20px);
}
#news .bgWave.topBg{
	top: 0;
	bottom: auto;
	transform: scale(-1, -1);
}
#news .newsWrap{position: relative;}
#news .newsWrap .contetsWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 700px;
	background-color: rgba(29,2,3,.5);
	border: solid 2px #c4bdcb;
}
#news .newsBox{
	position: relative;
	margin: 0 auto;
	padding: 40px 5px 20px 20px;
}
#news .newsBox ul{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 160px;
    overflow: hidden;
	z-index: 80;
}
#news .newsBox ul li{
	position: relative;
	margin:0 auto 10px auto;
    padding: 0 0 5px 0;
	line-height: 1.4em;
}
#news .newsBox ul li p.date{
	color: #eda421;
	width: 100%;
}
#news .newsBox ul li a.text, #news .newsBox ul li p.text{ width: 100%;color: #ffffff !important;}
#news .newsBox ul li a.text:hover{color: #ffffff !important;}

#news .links{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 40px);
}
#news .links ul{
	position: relative;
	margin: 0 auto;
	gap:10px;
}
#news .links ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
}
.icon21{
	position: absolute;
	top:20px;
	left: 68%;
	width: 14px;
	z-index: 81;
}
.icon22{
	position: absolute;
	top:55px;
	left: 74%;
	width: 29px;
	z-index: 82;
}

/* ----- pc ----- */
@media screen and (min-width: 641px) {
	
	.bgWave{height:110px;}

	/* ヘッダー */
	header #keyvisual{
		background-image: url("../img/main_pc.jpg");
		padding-top:54.25%;
	}
	header .play{
		padding: 10px 0 5px 0;
		line-height: .32rem;
		font-size: .20rem;
	}
	header .play span{font-size: .32rem;}

	
	/* photo */
	#photo{padding: 9px 0;}

	/* catch */
	#catch{
		padding: 50px 0 110px 0;
		background-size: 120px auto;
	}
	#catch .catchBg01{
		width: 100%;
		height: 110px;
	}
	#catch .catchBg01 .ani{
		background-image: url("../img/catchlight_pc.png");
		background-size: 306px auto;
	}
	#catch .catchTxt{
		max-width:1086px;
		transform: translateX(0);
	}
	.icon01{
		top:-60px;
		left: 22%;
		width: 58px;
	}
	.icon02{
		bottom:25px;
		right: -30px;
		width: 78px;
	}

	/* chapter */
	#chapter{margin: 30px auto 0 auto;}
	#chapter .chapTxt{padding: 50px 20px;}
	#chapter .chapTxt p{font-size: .18rem;line-height: 2em;}
	#chapter .bg{
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: min(100%, 1000px);/* cm追加時削除*/
		/*width: min(100%, 1400px);*/
		background-image: url("../img/bg_chapter_pc.png");
		background-size: contain;
		padding-top: 60.58%;
	}
	.icon23{
		bottom:38px;
		left: -32px;
		width: 69px;
	}

	/* cm */
	#cm{padding: 0 0 150px 0;}
	#cm .movieWrap{
		margin: 25px auto 0 auto;
		box-shadow: -5px 5px 0px 1px #4e0b9a, 5px -5px 0px 1px #8c3d12;
	}
	#cm .bgWave{height: 110px;}


	/* ポイント */
	#point ul{
		margin: 25px auto 0 auto;
		gap:  30px 10px;
	}
	#point ul li{max-width: 380px;}
	#point ul li:nth-child(2) .ttl{margin: 0;}
	#point ul li:nth-child(2) .pointTxt{flex-direction:row;}
	#point ul li .txt{
		margin: 1em 0 0 0;
		font-size: .14rem;
		width: calc(100% - 50px);
	}
	#point .game{
		margin: 70px auto 50px auto;
		padding: 30px 60px;
	}
	#point .game ul{width: calc(100% - 50px);gap:30px 10px;}
	#point .game ul li {width: calc(50% - 10px);max-width: calc(50% - 10px);}
	#point .game ul li  .icons .Img{
		margin: 0;
		width: 60px;
	}
	#point .game ul li  .icons .txt{
		margin: 0;
		width: calc(100% - 80px);
	}
	#point .game .btn_gameCaution{
		margin: 50px auto 0 auto;
		padding:5px 30px;
		font-size: .15rem;
	}
	#point .game .btn_gameCaution::after{
		right: 15px;
		width: 16px;
		height: 18px;
	}
	#point .game .cautionWrap{
		font-size: .15rem;
		line-height: 1.6em;
		padding:20px;
	}
	.icon03{
		top:-65px;
		left: calc(50% - 90px);
		width: 83px;
	}

	/* ストーリー */
	#story .storyWrap{
		padding: 120px 0 60px 0;
		background-image: url("../img/bg_dot.png"), url("../img/dot.png"), url("../img/bg_story_pc.png");
		background-position: 0 0, 0 0, 0 calc(100% - 60px);
		background-size: auto 350px, 120px auto, 100% auto;
	}
	#story .storyTxt{
		margin: 0 auto;
		max-width: 960px;
	}
	#story .storyTxt .txtMore{
		margin: 0 auto 80px auto;
		padding-bottom: 3em;
	}
	#story .storyTxt p{
		font-size: .18rem;
		line-height: 2.4em;
	}
	#story .storyTxt p.txt01{
		margin: 0 auto -10px auto;
		max-width: 599px;
	}
	#story .storyTxt .txt02{
		margin: 25px auto 0 auto;
		max-width: 493px;
	}
	#story .storyTxt .txtMore.disp{padding-bottom: 5em;margin: 0 auto 40px auto;}
	
	#story .chapterS{
		padding: 0 0 110px 0;
		background-size: 120px auto;
	}
	#story .chapterS .chapterWrap{max-width: 620px;}
	#story .chapterS .chapterWrap .chBox{
		position: relative;
		gap: 0 30px;
	}
	#story .chapterS .chapterWrap .chBox .playMovieWrap{
		margin: 0;
		width: calc(50% - 30px);
	}
	#story .chapterS .chList{
		margin: 0;
		width: calc(50% - 30px);
		max-width: 240px;
		gap:15px 10px;
	}
	#story .chapterS .chList li{
		margin: 0;
		width: calc(50% - 10px);
	}
	#story .chapterS .chList li.new::after, #story .chapterS .chList li.newL::after{
		top: -15px;
		right: -25px;
		width: 60px;
		height: 35px;
	}
	#story .chapterS .chList li.newL::after{right: calc(100% - 40px);}
	
	.icon07{
		top:90px;
		left: calc(50% + 160px);
		width: 147px;
	}
	.icon08{
		top:40px;
		left: calc(50% + 215px);
		width: 49px;
	}
	.icon09{
		top:-20px;
		right: 22%;
		width: 42px;
	}
	.icon10{
		top:-40px;
		right:-10%;
		width: 289px;
	}
	.icon11{
		top:72%;
		left: 2px;
		width: 123px;
	}
	.icon12{
		top:38%;
		left: 40px;
		width: 42px;
	}
	.icon13{
		top:98%;
		left: 90px;
		width: 25px;
	}
	.icon14{
		bottom:85px;
		left: 115px;
		width: 71px;
	}
	.icon16{
		bottom:12px;
		right: -20px;
		width: 84px;
	}

	/* 参加方法 */
	#howto{
		padding: 50px 0 80px 0;
		background-position: 0 calc(100% + 80px);
		background-size: auto 350px;
	}
	#howto .howtoWrap ul{margin:25px auto 0 auto;}
	#howto .howtoWrap .txtWrap{
		height: calc(100% - 6px);
		padding: 3px;
	}
	#howto .howtoWrap .txtInner{height: calc(100% - 56px);padding: 15px 15px 30px 15px;}
	#howto .howtoWrap p{padding: 20px 10px 10px 10px;}
	#howto .howtoWrap .btnArea{margin:  20px auto 0 auto;}
	.icon05{
		top:-30px;
		left: calc(50% - 180px);
		width: 58px;
	}
	.icon06{
		top:-2px;
		left: calc(50% - 95px);
		width: 44px;
	}
	.icon26{
		top:-24px;
		left: calc(50% - 195px);
		width: 64px;
	}

	#europe{
		padding: 120px 0 120px 0;
		background-image:  url("../img/bg_europe_pc.png"), url("../img/bg_dotGreen.png");
		background-size:  min(100%, 1100px) auto, auto 350px;
		background-position: 50% 220px, 0 0;
		background-repeat: no-repeat, repeat-x;
	}
	#europe .TxtEWrap{
		margin: 30px auto 0 auto;
		background-image:  none;
	}
	#europe .ImgE{margin: 15px auto 0 auto;}
	#europe .btnArea{margin:  50px auto 0 auto;}
	#europe .btnArea .button{padding: 10px 30px;}
	#europe .btnArea .button::after{
		right: 15px;
		width: 20px;
		height: 18px;
	}
	#europe .comE{margin: 60px auto 0 auto;}
	#europe .comE h4{margin: 0 auto 20px auto;}
	#europe .comE h4 span{
		padding: 5px 30px;
		font-size: .14rem;
	}
	#europe .comment{
		margin: 60px auto 0 auto;
		padding: 60px;
		max-width: 840px;
		border-radius: 10px;
	}
	#europe .comment .flexbox{flex-direction:row-reverse;}
	#europe .comment h4 {margin: 0 0 40px 0;}
	#europe .comment h4 img{margin: 0;}
	#europe .comment .ImgD{
		margin: 0;
		width: 40%;
	}
	#europe .comment .ImgD img{width: 65%;}
	#europe .comment .ImgD p{
		margin: 20px auto 0 auto;
		font-size: .24rem;
	}
	#europe .comment .ImgD p span{font-size: 54%;}
	#europe .comment .TxtD{
		margin: 0;
		width: calc(60% - 60px);
		height:auto;
	}
	#europe .comment .TxtD::after, #europe .comment .moreTxt{display: none;}
	.icon04{
		top:35px;
		left: calc(50% + 245px);
		transform: translateX(-50%);
		right: auto;
		width: 93px;
	}
	
	/* voice */
	#voice{
		padding: 50px 0 120px 0;
		background-position: 0 calc(100% + 80px);
		background-size: auto 350px;
	}
	#voice .vioceWrap ul{margin:25px auto 0 auto;}
	#voice ul li .vioceWrap{
		padding: 40px 30px;
		height: calc(100% - 80px);
	}
	#voice ul li .vioceWrap .iconV01{
		bottom:125px;
		right: 26px;
		width: 68px;
	}
	#voice ul li .vioceWrap .iconV02{
		bottom:90px;
		width: 96px;
	}
	#voice ul li .vioceWrap .iconV03{
		bottom:120px;
		width: 40px;
	}
	#voice ul li .vioceWrap .iconV04{
		right: 50px;
		width: 42px;
	}
	#voice ul li .vioceWrap .iconV05{
		right: 10px;
		width: 38px;
	}
	#voice ul li .vioceWrap .iconV06{
		bottom:90px;
		right: 50px;
		width: 56px;
	}
	#voice ul li .vioceWrap .iconV07{
		bottom:95px;
		right: 40px;
		width: 63px;
	}
	#voice ul li .vioceWrap .iconV08{
		bottom:75px;
		right: 38px;
		width: 58px;
	}
	#voice p .name{font-size: .14rem;}
	.icon25{
		top:5px;
		left: calc(50% + 120px);
		width: 80px;
	}

	/* special */
	#special {
		margin: 0 auto;
		padding: 30px 0 160px 0;
		background-position: 0 calc(100% + 80px);
		background-size: auto 350px;
	}
	#special .banner{margin:30px auto 0 auto;}
	#special .banner #arrowsB{
		left: -22px;
		top: calc(50% - 17px);
		width: calc(100% + 44px);
		height: 35px;
	}
	#special .banner .slide-arrow{width: 55px;}
	.icon15{
		top:-25px;
		left: calc(50% - 160px);
		width: 80px;
	}

	/* fes */
	#fes{
		padding: 40px 0 100px 0;
		background-position: 0 calc(100% + 80px);
		background-size: auto 350px;
	}
	#fes h2{margin: -20px auto 10px auto;}
	#fes p{
		padding: 20px 0 10px 0;
		font-size: .18rem;
		line-height: 1.8em;
	}
	#fes .fesBnr{margin: 5px auto 0 auto;}

	/* 販売 */
	#ticket{
		font-size: .16rem;
		padding: 0 0 20px 0;
	}
	#ticket h3{
		margin: 0 auto 20px auto;
		max-width: 220px;
	}
	#ticket h3.kikan{margin: 30px auto 20px auto;}
	/* 発売日 */
	#ticket .release{margin: 50px auto 0 auto;}
	#ticket .release ul li{
		max-width: 580px;
		margin: 0 auto 60px auto;
	}
	#ticket .release ul li:last-child{margin: 0 auto;}
	#ticket .release .typeTxt{
		margin:  0 auto 20px auto;
		padding: 12px 0;
		font-size: .16rem;
		line-height: 1em;
	}
	#ticket .scraptantei p{padding: 25px 0 0 0;}
	/* 料金 */
	#ticket .price{padding: 50px 0 0 0;}
	#ticket .price ul.ticketP {max-width: 480px;}
	#ticket .price ul.ticketP li{width: calc(50% - 15px);}
	#ticket .price ul.ticketP li p{padding: 10px 0;}

	#ticket .priceBox .table{
		margin: 15px auto 0 auto;
		max-width: 800px;
	}
	#ticket .priceBox table th{
		line-height: 1.4em;
		padding:10px 5px;
		font-size: .16rem;
	}
	#ticket .priceBox table td{
		padding: 10px 0;
		font-size: .16rem;
	}
	#ticket .priceBox .price02 table th{width: 15%;}
	#ticket .priceBox .price02 table td{width: 30%;}
	#ticket .priceBox table td span{font-size: .24rem;}
	#ticket .priceBox table td p{font-size: .14rem;}
	#ticket .priceBox table thead th{padding: 10px 0; }
	#ticket .priceBox table tbody th{bpadding: 10px 5px; color: #824890;}

	#ticket .ticCautionWrap{
		margin: 50px auto;
		max-width: 800px;
	}
	#ticket .ticCautionWrap .btn_ticCaution{padding: 15px 30px;}
	#ticket .ticCautionWrap .btn_ticCaution::after{
		right: 15px;
		width: 18px;
		height: 20px;
	}
	#ticket .ticCaution{
		font-size: .16rem;
		line-height: 1.6em;
		padding:20px;
	}
	
	.ucampaign{margin:30px auto 50px auto;}

	#ticket .u22, #ticket .forkids{margin: 70px auto 10px auto;}
	#ticket .u22 .u22Txt, #ticket .forkids .kidsTxt{padding: 0 40px 40px 40px;}
	.icon17{
		top:-45px;
		left: calc(50% - 260px);
		width: 59px;
	}
	.icon18{
		top:-130px;
		left: calc(50% + 470px);
		transform: translateX(-50%);
		right:auto;
		width: 62px;
	}

	/* schedule */
	#schedule ul  li.contents{margin: 0 auto 40px auto;}
	#schedule ul li .area .shopname{padding-top: 40px;}
	#schedule ul li .area .shopname p{
		padding-bottom: 10px;
		font-size: .24rem;
	}
	#schedule ul li .area .kikan{font-size: .18rem;}
	#schedule ul li .detail .shopTxt{
		margin: 0 auto 15px auto;
		font-size: .16rem;
	}
	#schedule ul li .detail .map{
		margin: 25px auto 0 auto;
		max-width: 700px;
		height: 400px;
	}
	#schedule ul li .ttlS{
		margin: 10px auto 15px auto;
		padding: 5px 0;
		width: 320px;
	}
	#schedule ul li .ttlS.sAccess, #schedule ul li .ttlS.ticketBuy{margin:35px auto 15px auto;}
	#schedule ul li .ttlS.contact{margin: 55px auto 15px auto;}
	#schedule ul li .btn_sAccess, #schedule ul li .link_sAccess{
		margin:  30px auto 0 auto;
		padding: 8px 0;
	}
	#schedule ul li .btn_sAccess::after, #schedule ul li .link_sAccess::after{
		right: 20px;
		width: 18px;
		height: 18px;
	}
	#schedule ul li .detail .button{font-size: .16rem;}
	#schedule .morePlace{
		margin: 50px auto;
		font-size: .16rem;
		line-height: 1.6em;
	}
	
	/* GOODS */
	#goods{padding: 90px 0 0 0;}
	#food{
		padding: 110px 0 90px 0;
		background-position: 0 calc(100% + 20px);
		background-size: auto 350px;
	}
	#goods h2, #food h2{margin: 0 auto 30px auto;}
	#goods ul{gap: 60px 45px;margin: 15px auto 45px auto;}
	#food ul{margin: 15px auto 30px auto;}
	#goods ul li.soon{
		max-width: 448px;
		padding: 90px 0;
	}
	#goods ul li .price, #food ul li .price{padding: 15px 0 0 0;}
	#goods ul li .price span, #food ul li .price span{font-size: .24rem;}
	#goods ul li .spec, #food ul li .spec{
		padding: 20px 0 25px 0;
		font-size: .14rem;
	}
	#goods ul li .spec p.title, #food ul li .spec p.title{width: 5em;}
	#goods ul li .spec p.text, #food ul li .spec p.text{width: calc(100% - 5em - 5px);}
	#goods .cautionWrap, #food .cautionWrap{text-align: center;}
	#goods ul li .cautionWrap{text-align: left;}
	#goods .cautionWrap p, #food .cautionWrap p{
		display: inline-block;
		width: auto;
	}
	#goods ul li .cautionWrap p{display: block;}
	.icon19{
		top:15px;
		left: calc(50% + 85px);
		transform: translateX(-50%);
		width: 62px;
	}
	.icon20{
		top:85px;
		left: calc(50% + 125px);
		transform: translateX(-50%);
		width: 38px;
	}
	.icon24{
		top:65px;
		left: calc(50% - 95px);
		transform: translateX(-50%);
		width: 47px;
	}

	/* FAQ */
	#precautions .cautionWrap{margin: 0 auto 30px auto;}
	#precautions .cautionWrap .ttl{padding: 20px 0;}
	#precautions .ttl::after{
		right: 20px;
		height: 26px;
		width: 24px;
	}
	#precautions .CatTtl{
		padding: 5px 10px;
		font-size: .18rem;
	}
	#precautions .CatTtl.marginTop{margin: 40px auto 0 auto;}
	#precautions  #limitlist .CatTtl{margin: 50px auto 15px auto;}
	#precautions #faq.faqWrap dl dt p{font-size: .16rem;}
	#precautions .attWrap{width: calc(100% - 1em) !important;transform: translateX(0);}

	/* ニュース */
	#news{
		padding: 90px 0 180px 0;
		background-image:  url("../img/dot.png"), url("../img/bg_news_pc.png");
		background-size: 120px auto,  min(100%, 1100px);
	}
	#news h2 img{transform: translateY(30px);}
	#news .newsWrap .contetsWrap{max-width: 960px;}
	#news .newsBox{padding: 60px 40px 40px 40px;}
	#news .newsBox ul{height: 140px;}
	#news .newsBox ul li p.date{width: 6em;}
	#news .newsBox ul li a.text, #news .newsBox ul li p.text{ width: calc(100% - 6em);}

	#news .links{
		margin: 50px auto 0 auto;
		max-width: 960px;
	}
	#news .links ul li{width: calc(25% - 10px);}
	.icon21{
		top:20px;
		left: calc(50% + 220px);
		transform: translateX(-50%);
		width: 26px;
	}
	.icon22{
		top:95px;
		left: calc(50% + 250px);
		transform: translateX(-50%);
		width: 57px;
	}
}

/* ----- special ----- */
@media screen and (min-width: 641px) and (max-width: 1240px){
	#special .banner #arrowsB{
		left: 0;
		top: calc(50% - 13px);
		width: 100%;
		height: 25px;
	}
	#special .banner .slide-arrow{width: 45px;}
}