@charset "utf-8";

/* ヘッダー */
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: contain;
	padding-top: 141.51%;
	width: 100%;
}

/* catch */
#catch{
	position: relative;
	padding: 25px 0;
	background-image: url("../img/bg_catch.jpg");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size:  100% auto;
	overflow: hidden;
	background-color: #222047;
	text-align: center;
}
#catch.pages{
	background-image: none;
	border-bottom: solid 2px #ff6f61;
	padding: 0;
}
#catch.pages .logo{
	position: relative;
	margin: 5px auto;
	height: 40px;
	width: auto;
}
#catch .catchTxt{
	position: relative;
	margin: 0 0 0 auto;
	width: calc(100% - 10px);
}
#catch p{
	position: relative;
	margin: 10px auto 20px auto;
	width: calc(100% - 40px);
	text-align: center;
	font-weight: 900;
	color: #ffffff;
	font-size: .16rem;
	line-height:1.8em;
	letter-spacing: .05em;
	text-shadow: -1px -1px 0px #222047, -1px 0px 0px #222047, -1px 1px 0px  #222047, 0px -1px 0px  #222047, 0px -1px 0px  #222047, 0px 1px 0px  #222047, 1px -1px 0px  #222047, 1px 0px 0px  #222047,  1px 1px 0px  #222047;
}
#catch p.about{
	position: relative;
	margin: 10px auto 0 auto;
	color: #fffab4;
	width: calc(100% - 10px);
	text-align: center;
	font-size: .16rem;
	line-height: 1.8em;
	letter-spacing: -.05em;
}
#catch a{display: inline;}
#catch a img{
	position: relative;
	margin: 30px auto 10px auto;
	width: calc(100% - 40px);
	display: inline-block;
}
#catch .eventtic{
	position: relative;
	margin: 40px auto 0 auto;
}
#catch .eventtic p{
	font-size: .14rem;
	letter-spacing: normal;
	margin: 0 auto;
}
#catch .eventtic a img{
	margin:5px auto;
	width: calc(100% - 80px);
}
#catch .eventtic a{color: #ffffff; text-decoration: underline;}

/* イベント詳細 */
#event{
	position: relative;
	margin: 0 auto;
}
#event h2{margin: -4% auto 0 auto;}
#event h3 span{padding: 3px 1em;}
#event ul{
	position: relative;
	margin: 0 auto;
	padding: 0;
}
#event ul li{
	position: relative;
	padding: 0;
	margin: 20px auto;
}
#event ul li .pointImg{
	position: relative;
	margin: 0 0 0 auto;
	width: calc(100% - 20px);
}
#event ul li:nth-child(2) .pointImg{margin: 0;}
#event ul li .pointTxt{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 40px);
}

/* プレイ形式 */
#play{
	position: relative;
	margin:  20px auto 40px auto;
}
#play ul{
	position: relative;
	margin:0 auto;
	width: calc(100% - 40px);
}
#play ul li{
	position: relative;
	padding: 0;
	margin: 0 15px 25px 0;
	width: calc(33% - 10px);
	
}
#play ul li:nth-child(3){margin: 0 0 25px 0;}
#play ul li p{
	position: relative;
	margin: -15px auto 0 auto;
	text-align: center;
	font-size: .16rem;
	line-height: 1.3em;
}
#play ul li p span{
	font-size: .13rem;
	font-style: italic;
	letter-spacing: .2em;
	padding-left:.2em;
	font-weight: 900;
}
#play ul li:nth-child(1) p span{color: #D04709;}
#play ul li:nth-child(2) p span{color: #006dfc;}
#play ul li:nth-child(3) p span{color: #97802C;}
#play ul li:nth-child(4) p span{color: #AB1FC6;}
#play ul li:nth-child(5) p span{color: #4E9F28;}
#play ul li p .caution{display: block;text-align: left;letter-spacing: normal;font-style: normal;color: #222047 !important;font-weight: normal;font-size: .12rem;}

#event h3.cm{
	position: relative;
	margin: 20px auto 10px auto;
	font-size: .24rem;
	font-style: italic;
	text-align: center;
	font-weight: 900;
}
#event .movieWrap{ margin: 0 auto 50px auto;}
/* CM */
#cm{
	position: relative;
	margin: 20px auto 0 auto;
	background-color: #222047;
	padding: 0;
}
#cm .special{
	position: relative;
	margin: 0 auto;
	padding-bottom: 10px;
}
#cm .special h2{transform: translateY(-12%);}
#cm h3.cm img{
	position: relative;
	margin: 0 auto 10px auto;
	width: 12%;
	height: auto;
}
#cm .song{
	position: relative;
	margin: 0 auto;
	width: 100%;
	overflow: hidden;
	color: #ffffff;
}
#cm .song h3{
	position: relative;
	margin: 0;
	width: calc(100% - 100px);
	transform: translateX(-10px);
}
#cm .song h4{
	position: relative;
	margin: 0 auto 15px;;
	width: calc(100% - 40px);
	font-size: .18rem;
	font-style: italic;
	text-align: center;
	padding-bottom: 10px;
	color: #D5F8FE;
	border-bottom: dashed 1px #D5F8FE;
}
#cm .song .lead{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
#cm .song .songMore{
	position: relative;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
}
#cm .song .songMore.disp{height: auto;}
#cm .song .btn_song{
	position: relative;
	margin: 30px auto;
	width: calc(100% - 40px);
	text-align: center;
}
#cm .song .btn_song .button.disp::after{transform: scale(1, -1);}
#cm .song .songWrap{
	position: relative;
	margin: 30px auto 0 auto;
	width: calc(100% - 40px);
}
#cm .song .songWrap .songImg, #cm .song .songWrap .songTxt, #cm .song .songWrap .songCom{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
}
#cm .song .songWrap .songCom{width: 100%;}
#cm .song .songWrap .songTxt .name{
	font-size: .20rem; 
	font-style: italic;
	letter-spacing: .2em;
	line-height: 1em;
}
#cm .song .songWrap .songTxt .name span{font-size: .14rem; letter-spacing: normal;display: block;}
#cm .song .songWrap .songTxt p{font-size: .13rem;line-height: 1.4em;}
#cm .song .songWrap .songTxt a{color: #ffffff;text-decoration: underline;}
#cm .song .songWrap .ttl{
	position: relative;
	margin: 10px 0;
	font-size: .12rem;
	background-color: #4B4B6D;
	padding: 0 0 0 5px;
	line-height: 20px;
	 font-style: italic;
}

/* 感想 */
#cm h3.review img{
	position: relative;
	margin: 60px auto 10px auto;
	width: 60%;
	height: auto;
}
#cm h3.review.pre img{margin: 0 auto 10px auto;}
#review{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 20% 0;
	background-image: url("../img/bg_review.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size:100%  auto;
}
#review::before{
	position: absolute;
	top:70%;
	left: 4px;
	content: '';
	display: block;
	width: 22%;
	height: 70px;
	background-image: url("../img/reviewCaution.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size:contain;
}
#review .ttl{
	position: relative;
	width: calc(100% - 40px);
	margin: 0 auto;
}
#review .txt{
	position: relative;
	width: calc(100% - 120px);
	margin: 20px auto 0 auto;
}

/* ストーリー */
#story{
	position: relative;
	margin:-15px auto 0 auto;
}
#story .storyWrap{
	position: relative;
	margin: -40px auto 0 auto;
	padding:15px 0 40px 0;
	background-image: url("../img/bg_story.png");
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size:100% auto;
}
#story .storyWrap::after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50px;
	display: block;
	content: '';
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}
#story p{
	position: relative;
	margin:20px auto 0 auto;
	padding: 0;
	line-height: 1.8em;
	text-align: center;
	font-weight: 900;
	text-shadow: -1px -1px 2px #ffffff, -1px 0px 2px #ffffff, -1px 1px 2px  #ffffff, 0px -1px 2px  #ffffff, 0px -1px 2px  #ffffff, 0px 1px 2px  #ffffff, 1px -1px 2px  #ffffff, 1px 0px 2px  #ffffff,  1px 1px 2px  #ffffff;
}

/* キャラクター */
#charactor{
	position: relative;
	margin: 30px auto 0 auto;
}
#charactor .chara{
	position: relative;
	margin:0 auto;
	padding: 0 0 80px 0;
	width: 100%;
	background-image: url("../img/bg_chara01.png"), url("../img/bg_chara02.png");
	background-repeat: no-repeat, no-repeat;
	background-position:50% 10px, 50% 100%;
	background-size: 100% auto, 100% auto;
	z-index: 1;
}
#charactor::after{
	position: absolute;
	display: block;
	content: '';
	top: 120px;
	left: 0;
	width: 100%;
	height: calc(100% - 240px);
	background-color: #fbeccc;
}
#charactor h4{
	position: relative;
	margin: 20px auto 0 auto;
}
#charactor h4 img{
	position: relative;
	margin: 0 auto;
	height: 18px;
	width: auto;
}
#charactor h4.chara03 img{height: 14px;}
#charactor .chara .chara01{
    position: relative;
    width: calc(100% - 20px);
    margin: 0 0 40px 0 ;
}
#charactor .chara .chara01.pre{
    position: relative;
    width: calc(100% - 70px);
    margin: 0 0 40px 0 ;
}
#charactor .chara .chara02{
    position: relative;
    margin: -20px 0 0 0;
	padding: 15px 0 55px 0;
	background-image: url("../img/bg_chara03.png");
	background-repeat: no-repeat;
	background-position:50% 0;
	background-size: 100% auto;
}
#charactor .chara .chara02 picture{
    position: relative;
	display: block;
    width: calc(100% - 2px);
    margin: 0;
}
#charactor .cv{
	position: relative;
	margin:10px auto 0 auto ;
	text-align: center;
}
#charactor .cv div{
	position: relative;
	width: calc(100% - 40px);
	margin:5px auto 0 auto ;
	text-align: right;
	font-size: .12rem;
}
#charactor .cv ul{
	position: relative;
	width: calc(100% - 40px);
	max-width: 400px;
	margin:  0 auto;
}
#charactor .cv ul li{
	position: relative;
	margin: 20px 5px 0 5px;
	width: calc(33% - 10px);
}
#charactor .box{
	position: relative;
	width: calc(50% - 20px);
	margin: 5px 0 0 10px;
}
#charactor .box.right{margin: 5px 10px 0 0 ;}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding-bottom: 50px;
	background-image :
    repeating-linear-gradient(to bottom,          /* 横線 */
       transparent 16px,
       #f0f0f0 17px,  #f0f0f0 17px,
       transparent 18px,  transparent 33px, 
       #f0f0f0 34px,  #f0f0f0 34px,
       transparent 35px,  transparent 50px, 
       #f0f0f0 51px,  #f0f0f0 51px,
       transparent 52px,  transparent 67px, 
       #f0f0f0 68px,  #f0f0f0 68px,
       transparent 69px,  transparent 84px, 
       #f0f0f0 85px,  #f0f0f0 85px),
    repeating-linear-gradient(to right,          /* 縦線 */
       transparent 16px,
       #f0f0f0 17px,  #f0f0f0 17px,
       transparent 18px,  transparent 33px, 
       #f0f0f0 34px,  #f0f0f0 34px,
       transparent 35px,  transparent 50px, 
       #f0f0f0 51px,  #f0f0f0 51px,
       transparent 52px,  transparent 67px, 
       #f0f0f0 68px,  #f0f0f0 68px,
       transparent 69px,  transparent 84px, 
       #f0f0f0 85px,  #f0f0f0 85px);
}
#howto ul{
	position: relative;
	margin: 0 auto;
}
#howto ul li{
	position: relative;
	margin: 40px  auto 0 auto;
}
#howto ul li .howtoTtl{
	position: relative;
	width: calc(100% - 40px);
	margin: 0 auto;
}
#howto ul li .howtoTtl p{
	position: relative;
	padding: 15px 0;
	border-left: solid 10px #bef0f2;
	text-align: center;
	font-weight: 900;
	font-size: .17rem;
	color: #ff6f61;
}
#howto ul li .howtTxt{
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-size: .14rem;
	font-weight: 900;
}
#howto ul li .howtTxt a.button{margin: 10px auto 0 auto;}
#howto #check{margin: 70px auto 0 auto;}
#howto .check{
	position: relative;
	width: calc(100% - 40px);
	margin: 30px auto 0 auto;
}
#howto .check li{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
}
#howto .check li .checkImg{
	position: relative;
	width: 100px;
}
#howto .check li .checkTxt{
	position: relative;
	width: calc(100% - 120px);
	line-height: 1.6em;
}
#howto .check li .checkTxt img{
	height: 20px;
	width: auto;
	padding-bottom: 10px;
}
#howto h4{
	position: relative;
	margin: 20px auto 10px auto;
	color: #118ab2;
	font-weight: 900;
	text-align: center;
}
#howto table{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	border: solid 1px #000000;
	border-collapse: collapse;
	font-size: .13rem;
	line-height: 1.3em;
	background-color: #ffffff;
}
#howto table thead{
	position: relative;
	background-color: #006dfc;
	color: #ffffff;
	width: 100%;
}
#howto table th{
	position: relative;
	width: 20%;
	padding: 7px 5px;
	border: solid 1px #000000;
	vertical-align: middle;
	text-align: center;
}
#howto table td{
	position: relative;
	padding: 10px 5px;
	border: solid 1px #000000;
	vertical-align: middle;
	text-align: center;
}
#howto table td:first-child{width: 32%;}
#howto .checkBtn{
	position: relative;
	margin: 0 auto;
	padding-top: 50px;
	text-align: center;
}
#howto .checkBtn .button::after{transform: rotate(-90deg);}

/* 販売 */
#ticket{
	position: relative;
	margin:0 auto;
}
#ticket h2{margin: -4% auto 0 auto;}
#ticket .release ul.ticdate{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 20px 0 120px 0;
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position:50% 0;
	background-image: url("../img/bg_review_pc.png");
}
#ticket .release ul.ticdate li{
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-size: .14rem;
	line-height: 1.6em;
	padding: 20px;
	color: #ffffff;
}
#ticket .release ul li .ttlS{
	position: relative;
	margin: 0 auto 10px auto;
	padding-bottom: 2px;
	display: inline-block;
}
#ticket .release ul li .ttlS::before{
	position: absolute;
	bottom: -2px;
	left: 0;
	background-color: #E9FF00;
	content: '';
	display: block;
	width: 100%;
	height: 3px;
}
#ticket .release ul li .ttlS span{
	font-weight:900;
	padding-bottom: 15px;
	color: #E9FF00;
	position: relative;
	z-index: 1;
}
#ticket .release ul li p{padding-top: 10px;}
#ticket .release .scraptantei{
	position: relative;
	margin: 20px auto 0 auto;
	display: block;
	text-align: center;
	font-size: .13rem;
	width: calc(100% - 40px);
	max-width: 320px;
}


/* 料金 */
#ticket .price ul{
	position: relative;
	margin: 15px auto 0 auto;
	padding: 80px 0 140px 0;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position:0 0;
	background-image: url("../img/bg_release.png");
}
#ticket .price ul li{
	position: relative;
	text-align: center;
	font-size: .14rem;
	line-height: 1.6em;
	padding: 35px 20px;
	background-color: #ffffff;
	border: solid 1px #000000;
	margin: 0 auto;
	transform: translateX(-15px);
	width: calc(100% - 120px);
}
#ticket .price ul li:nth-child(2){
	margin: 30px auto 0 auto;
	transform: translateX(15px);
	width: calc(100% - 110px);
}
#ticket .price ul li::before{
	position: absolute;
	display: block;
	width: 100%;
	height: 20px;
	content: '';
	top:-10px;
	left: 0;
	background-image: url("../img/pinR01.png"), url("../img/pinR02.png");
	background-repeat: no-repeat, no-repeat;
	background-size: auto 22px, auto 22px;
	background-position:10px 0, calc(100% - 10px) 0;
}
#ticket .price ul li .caution{
	position: relative;
	margin: 20px auto 0 auto;
}
#ticket .price ul li .caution p{
	position: relative;
	text-align: left;
	padding-left: 1.1em;
}
#ticket .price ul li .caution p::before{
	position: absolute;
	content: '※';
	left: 0;
}
#ticket .price ul li .productImg{
	position: relative;
	margin: 0 auto 20px auto;
	max-width: 420px;
	box-shadow: -6px 6px 12px -9px rgba(0,0,0,0.6);
}
#ticket .price ul li .ttlS{
	position: relative;
	margin: 0 auto 10px auto;
	padding-bottom: 2px;
	display: inline-block;
}
#ticket .price ul .ttlS::before{
	position: absolute;
	bottom: 5px;
	left: 0;
	background-color: #b1e4f3;
	content: '';
	display: block;
	width: 100%;
	height: 7px;
}
#ticket .price ul .ttlS span{
	font-weight:900;
	font-size: .16rem;
	padding-bottom: 15px;
	color: #ff6f61;
	position: relative;
	z-index: 1;
}
#ticket .price .pricelist{
	position: relative;
	margin: 20px auto;
	background-color: #F6FFD7;
	padding: 10px;
}
#ticket .price .pricelist span{font-size: .24rem;font-weight: 900;padding: 5px 0;display: block;line-height: 1.4em;}
#ticket .price .eventPrice{
	position: relative;
	margin: 0 auto;
	font-size: .12rem;
}
#ticket .price .eventPrice span{font-size: .15rem;font-weight: 900;padding: 5px 0;display: block;line-height: 1.4em;}
#ticket .price .eventPrice span .priceN{font-size: .24rem;display: inline;line-height: 1.8em;}
#ticket .price .button{
	margin: 25px auto 0 auto;
	padding: 6px 2em;
	display: block;
	width: calc(100% - 80px);
	font-size: .16rem;
}
#ticket .price .button::after{transform: rotate(-90deg);}
#ticket .tokutenCaution{
	position: relative;
	margin: -10px auto 0 auto;
	font-size: .13rem;
	line-height: 1.4em;
	width: calc(100% - 40px);
}
#ticket .tokutenCaution .ttl{
	position: relative;
	margin: 0 auto 10px auto;
	font-weight: 900;
	font-size: .14rem;
	border-bottom: dotted 1px;
	padding-bottom: 5px;
	text-align: center;
}
#ticket .tokutenCaution .ttl.padding{padding-top: 30px;}
#ticket .tokutenCaution p{padding-left: 1.2em;padding-top: 5px;text-align: left;}
#ticket .tokutenCaution p::before{
	position: absolute;
	content: '※';
	left: 0;
}
#ticket .tokutenCaution a{text-decoration: underline;}

/* グッズ */
#goods{
	position: relative;
	margin: 0 auto;
	padding: 40px 0;
}
#goods ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
#goods ul li .ttl{
	position: relative;
	width: calc(100% - 20px);
	text-align: center;
	margin: 0 0 0 20px;
	padding: 14px 0 10px 0;
	font-size: .18rem;
	font-weight: 900;
	background-repeat: no-repeat;
	background-size: contain;
	background-position:50% 100%;
	background-image: url("../img/ttl_goodsset.png");
}
#goods ul li .goodsImg{
	position: relative;
	margin: 15px auto;
	width: calc(100% - 20px);
}
#goods ul li .goodsprice{
	position: relative;
	margin: 10px auto 20px auto;
}
#goods ul li .goodsprice span{font-size: .22rem;font-weight: 900;}
#goods .goodsShop{
	position: relative;
	margin: 0 auto 30px auto;
	text-align: center;
}
#goods .goodsShop .button{
	font-weight: 900;
	padding: 6px 2em;
	display: block;
	width: calc(100% - 150px);
	font-size: .18rem;
}
#goods .goodsShop .button::after{transform: rotate(-90deg);}
#goods .goodsCaution{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 80px);
	border: solid 1px ;
	padding: 20px;
}
#goods .goodsCaution p{position: relative;padding-left: 1.2em;padding-top: 5px;text-align: left;}
#goods .goodsCaution p::before{
	position: absolute;
	content: '※';
	left: 0;
}
#goods .goodsCaution a{text-decoration: underline;}

#goods .shop{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 60px);
	display: block;
	text-align: center;
	border: solid 1px #222047;
	padding: 10px;
	border-radius: 10px;
	background-color: #BB73A7;
	color: #ffffff;
	line-height: 1.6em;
	transition: all .3s ease-out;
}
#goods .shop span{
	position: relative;
	font-size: .17rem;
}

/* test */
#test{
	position: relative;
	margin: 0 auto;
	padding-bottom:50px;
}
#test .check{
	position: relative;
	margin: 0 auto 20px auto;
	width: calc(100% - 40px);
}
#test .lead{
	position: relative;
	margin: 0 auto;
}
#test #err{
	position: relative;
	margin: 30px auto 0 auto;
	text-align: center;
	color: #EB0003;
}
#test .chackList{
	position: relative;
	margin: 10px auto 0 auto;
	border: solid 1px;
	padding: 10px;
	font-size: .13rem;
	background-color: #FFFCF4;
}
#test ul{
	position: relative;
	margin: 20px auto 0 auto;
}
#test ul li{
	position: relative;
	margin:  0 auto;
	width: 15em;
	padding: 10px 0;
	border-radius: 10px;
	background-color: #006dfc;
	border: solid 1px #006dfc;
	color: #ffffff;
	text-align: center;
	font-weight: 900;
	transition: all .3s ease-out;
}
#test ul li.soundOn{background-color: #ff6f61;}
#test ul li:hover{cursor: pointer;background-color: #ffffff; color: #006dfc;}
#test ul li::after{
	position: absolute;
	top:50%;
	right: 10px;
	content: '\025b6';
	display: block;
	width: 1em;
	height: auto;
	transform: translateY(-50%);
}

/* FAQ */
#precautions{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#precautions .cautionWrap{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 40px);
	border: solid 1px #222047;
	padding: 8px;
}
#precautions .ttl{
	position: relative;
	margin: 0 auto;
	padding: 20px 0;
}

#precautions .ttl.cautionlist, #precautions #cautionlist.faqWrap{background-color: #d0e3fb;}
#precautions .ttl.limitlist, #precautions #limit.faqWrap{background-color: #fbd4d0;}
#precautions .ttl img{
	margin: 0 auto;
	height: 22px;
	width: auto;
}
#precautions .ttl.cautionlist{margin: 0 auto;}
#precautions .ttl::before{
	position: absolute;
	top:0;
	left: 0;
	width: 15px;
	height: 15px;
	display: block;
	content: '';
}
#precautions .ttl.cautionlist::before{background-color: #222047;}
#precautions .ttl.limitlist::before{background-color: #bc2111;}
#precautions .ttl::after{
	position: absolute;
	top:0;
	right: 25px;
	width: 30px;
	height: 100%;
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 50% 50%;
	transition: all .3s ease-out;
}
#precautions .ttl.disp::after{transform: rotate(180deg);}
#precautions .ttl.cautionlist::after{background-image: url("../img/arrow01.png");}
#precautions .ttl.limitlist::after{background-image: url("../img/arrow02.png");}
#precautions .faqWrap{
	position: relative;
	margin: 0 auto;
	padding: 0 10px;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
}
#precautions .faqWrap::before{
	position: absolute;
	top:0;
	left: 10px;
	width: calc(100% - 20px);
	height: 1px;
	background-color: #222047;
	display: block;
	content: '';
}
#precautions .faqWrap.disp{height: auto !important;padding: 25px 10px;; margin: 0 auto; }
#precautions .faqWrap dl{position: relative;}
#precautions .faqWrap dl dt{
	color: #006dfc;
	font-weight: 900;
	font-size: .16rem;
}
#precautions .faqWrap dl dd{padding: 15px 0 30px 0;}
#precautions .faqWrap dl dd p{
	position: relative;
	padding-bottom: .8em;
	text-align: left;
	line-height: 1.5em;
}
#precautions #cautionlist.faqWrap dl dd p{padding-left: 1.2em;}
#precautions #cautionlist.faqWrap dl dd p::before{
	position: absolute;
	content: '・';
	left: 0;
}
#precautions .faqWrap dl dd a{text-decoration: underline;}
#precautions .faqWrap dl dd .caution{
	line-height: 1.4em;
	display: block;
	padding: 5px 0 0 0;
	text-align: left;
}
#precautions #limitlist dt{
	font-size: .13rem;
	width: calc(40% - 32px);
	padding: 15px;
	background-color: #ff6f61;
	border-bottom: solid 1px #222047;
	color: #ffffff;
}
#precautions #limitlist dd{
	font-size: .12rem;
	width: calc(60% - 32px);
	padding: 15px;
	border-bottom: solid 1px #222047;
	background-color: #ffffff;
	text-align: left;
}
#precautions #limitlist dd .large{font-size: .14rem;padding-bottom: 5px;}
#precautions #limitlist dt.border, #precautions #limitlist dd.border{border-bottom: none;}

.contact{
	position: relative;
	margin: 60px auto 0 auto;
	width: calc(100% - 80px);
}
.contact a{
	position: relative;
	display: block;
	text-align: center;
	border: solid 1px #43A2BB;
	padding: 10px;
	border-radius: 10px;
	background-color: #43A2BB;
	color: #ffffff;
	line-height: 1.6em;
	transition: all .3s ease-out;
}
.contact a::after{
	position: absolute;
	top:0;
	right: 15px;
	display: block;
	content: '';
	width: 12px;
	height: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position:0 50%;
	background-image: url("../img/arrow.png");
	transform: rotate(-90deg);
}

/* ----- pc ----- */
@media screen and (min-width: 641px) {
	
	/* ヘッダー */
	header #keyvisual{
		background-image: url("../img/main_pc.jpg");
		padding-top: 55.25%;
	}

	/* catch */
	#catch{
		padding: 30px 0;
		background-size:  auto auto;
	}
	#catch .catchTxt{margin: 0 auto;  max-width: 960px;}
	#catch .catchTxt img{margin: 0 0 0 auto;}
	#catch p{
		margin: 40px auto 80px auto;
		font-size: .18rem;
		line-height:1.8em;
		letter-spacing: .05em;
		text-shadow: -1px -1px 2px #222047, -1px 0px 2px #222047, -1px 1px 2px  #222047, 0px -1px 2px  #222047, 0px -1px 2px  #222047, 0px 1px 2px  #222047, 1px -1px 2px  #222047, 1px 0px 2px  #222047,  1px 1px 2px  #222047;
	}
	#catch p.about{
		margin: 40px auto 0 auto;
		font-size: .20rem;
		letter-spacing: normal;
	}
	#catch a img{
		position: relative;
		margin: 40px auto 10px auto;
		max-width: 420px;
	}
	#catch .eventtic{margin: 50px auto 10px auto;}
	#catch .eventtic p{font-size: .16rem;}
	#catch .eventtic a img{width: 380px;}


	/* イベント詳細 */
	#event h2{margin: -19px auto 0 auto;}
	#event h3 span{padding: 10px 0;width: 560px;}
	#event ul{max-width: 1080px;margin: 40px auto 0 auto;}
	#event ul li{
		margin: 0 10px;
		max-width: 340px;
		min-width: 290px;
		width: calc(33.33% - 20px);
	}
	#event ul li .pointImg{
		margin: 0;
		width: 100%;
	}
	#event ul li .pointTxt{
		margin: 20px auto 0 auto;
		width: calc(100% - 20px);
	}

	/* プレイ形式 */
	#play{margin: 0 auto 80px auto;}
	#play ul li{
		margin: 0;
		max-width: 180px;
		min-width: 120px;
		width: calc(20% - 10px);
	}
	#play ul li:nth-child(3){margin: 0;}
	#play ul li p span{font-size: .15rem;}
	#play ul li p .caution{font-size: .13rem;}
	#play ul li img{max-width: 115px;margin: 0 auto;}

	#event h3.cm{
		margin: 60px auto 10px auto;
		font-size: .32rem;
	}
	#event .movieWrap{ margin: 0 auto60px auto;}
	/* CM */
	#cm{
		margin: 70px auto 0 auto;
		padding: 50px 0 0 0;
	}
	#cm .special h2{margin: -68px auto 0 auto; transform: translateY(0);}
	#cm .special{padding-bottom: 0;}
	#cm h3.cm img{
		margin:0 auto 20px auto;
		max-width: 50px;
	}

	#cm .song h3{
		margin: 0 auto;
		max-width: 740px;
	}
	#cm .song h3 img{
		position: relative;
		margin: 0;
		max-width: 320px;
	}
	#cm .song h4{
		margin: 0 auto 20px;
		max-width: 620px;
		font-size: .23rem;
	}
	#cm .song .lead{max-width: 620px;}

	#cm .song .btn_song{margin: 10px auto;}
	#cm .song .btn_song .button{
		width: auto;
		padding: 6px 4em;
	}
	#cm .song .songWrap{
		margin: 40px auto 50px auto;
		max-width: 600px;
	}
	#cm .song .songWrap .songImg{max-width: 200px;}
	#cm .song .songWrap .songTxt{max-width: 360px;}
	#cm .song .songWrap .songCom{width: 100%;}
	#cm .song .songWrap .songTxt .name{font-size: .26rem; }
	#cm .song .songWrap .songTxt p{font-size: .14rem;line-height: 1.4em;}
	#cm .song .songWrap .ttl{
		margin: 20px 0;
		font-size: .13rem;
		padding: 0 0 0 8px;
		line-height: 25px;
	}

	/* 感想 */
	#cm h3.review img{
		margin: 80px auto 0 auto;
		max-width: 280px;
	}
	#cm h3.review.pre img{margin: 0 auto;}

	#review{
		margin: 20px auto 0 auto;
		padding: 40px 0 120px 0;
		background-image: url("../img/bg_review_pc.png");
		background-size:760px  auto;
	}
	#review .ttl{
		max-width: 370px;
		margin: 0 auto;
	}
	#review .txt{
		max-width:276px;
		margin: 35px auto 0 auto;
	}
	#review::before{
		top:56%;
		left: 50%;
		transform: translate(237px);
		width: 100px;
		height: 60px;
	}

	/* ストーリー */
	#story{margin: -18px auto 0 auto;}
	#story .storyWrap{
		margin: -60px auto 0 auto;
		padding: 40px 0 60px 0;
		background-image: url("../img/bg_story_pc.png");
		background-position: 50% 0;
		background-size:contain;
		max-width: 1200px;
	}
	#story p{
		margin:30px auto 0 auto;
		line-height: 2.3em;
		text-shadow: -1px -1px 4px #ffffff, -1px 0px 4px #ffffff, -1px 1px 4px  #ffffff, 0px -1px 4px  #ffffff, 0px -1px 4px  #ffffff, 0px 1px 4px  #ffffff, 1px -1px 4px  #ffffff, 1px 0px 4px  #ffffff,  1px 1px 4px  #ffffff;
	}

	/* キャラクター */
	#charactor{margin: 70px auto 0 auto;}
	#charactor .chara{
		padding: 0 0 150px 0;
		background-image: url("../img/bg_chara01_pc.png"), url("../img/bg_chara03_pc.png"), url("../img/bg_chara02_pc.png");
		background-repeat: no-repeat, no-repeat, no-repeat;
		background-position:0 10px, 50% 492px, 0 100%;
		background-size: 100% auto, auto auto, 100% auto;
	}
	#charactor::after{
		top: 180px;
		height: calc(100% - 320px);
	}
	#charactor h4{margin: 40px auto 0 auto;}
	#charactor h4 img{
		max-height: 22px;
		width: auto;
	}
	#charactor h4.chara03 img{height: 15px;}
	#charactor .chara .chara01{
		max-width: 520px;
		margin: 5px auto 90px auto;
		transform: translateX(-90px);
	}
	#charactor .chara .chara01.pre{
	   	max-width: 384px;
		margin: 5px auto 60px auto;
		transform: translateX(-40px);
	}
	#charactor .chara .chara02{
		padding: 20px 0 90px 0;
		background-image:none;
	}
	#charactor .chara .chara02 picture{
		max-width: 803px;
		margin: 0 auto;
	}
	#charactor .box{
		width: calc(50% - 30px);
		margin: 5px 0 0 15px;
	}
	#charactor .box.right{margin: 5px 15px 0 0 ;font-size: .14rem;}
	#charactor .cv div{
		font-size: .14rem;
		text-align: center;
		margin: 20px auto 0 auto;
	}
	#charactor .cv ul{max-width: 540px;}
	#charactor .cv ul li{
		margin: 20px 10px 0 10px;
		width: calc(25% - 20px);
	}


	/* 参加方法 */
	#howto{padding-bottom: 90px;}
	#howto ul {max-width: 960px;}
	#howto ul li{
		margin: 50px  5px 0 5px;
		max-width: 317px;
		width: calc(33.33% - 10px);
	}
	#howto ul li .howtoTtl{width:100%;}
	#howto ul li .howtoTtl p{
		padding: 20px 0;
		font-size: .18rem;
	}
	#howto ul li .howtTxt{
		font-size: .16rem;
		padding: 0 10px;
	}
	#howto ul li .howtTxt p{text-align: left;}
	#howto ul li .howtTxt a.button{margin: 20px auto 0 auto;width: calc(100% - 20px);padding: 7px 0;}
	#howto #check{margin: 90px auto 0 auto;}
	#howto .check{
		max-width: 920px;
		margin: 40px auto 0 auto;
	}
	#howto .check li{
		margin: 0 10px;
		max-width: 270px;
		width: calc(33.33% - 20px);
	}
	#howto .check li .checkImg{margin: 0 auto 20px auto;}
	#howto .check li .checkTxt{width: 100%;}
	#howto .check li .checkTxt img{height: 25px;}
	#howto h4{margin: 60px auto 20px auto;font-size: .18rem;}
	#howto table{
		max-width:800px;
		font-size: .16rem;
		line-height: 1.5em;
	}
	#howto table th{width: 24%;}
	#howto table td{
		padding: 12px 5px;
	}
	#howto table td:first-child{width: 30%;}
	#howto table tbody td{padding: 20px 5px;}
	#howto .checkBtn{padding-top: 80px;}
	#howto .checkBtn .button{
		width: auto;
		padding: 8px 6em;
	}
	
	/* 販売 */
	#ticket h2{margin: -19px auto 0 auto;}
	#ticket .release ul.ticdate{
		margin: 30px auto 50px auto;
		width: 100%;
		padding: 20px 0 120px 0;
		background-image: url("../img/bg_review_pc.png");
		background-position: 50% 0;
		background-size: auto 100%;
	}
	#ticket .release ul.ticdate li{
		font-size: .16rem;
		line-height: 1.6em;
		padding: 20px 0;
	}
	#ticket .release ul.ticdate li h4{
		font-size: .18rem;
		padding-bottom: 10px;
	}
	#ticket .release ul li .ttlS{
		margin: 0 auto 20px auto;
		padding-bottom: 3px;
		font-size: .17rem;
	}
	#ticket .release ul li .ttlS::before{height: 3px;}
	#ticket .release .scraptantei{font-size: .14rem;}
	#ticket .release .scraptantei img{margin: 10px auto 0 auto;}

	
	/* 料金 */
	#ticket .price ul{
		margin: 20px auto 0 auto;
		background-size: 100% 100%;
		background-position:50% 0;
		max-width: 680px;
		background-image: url("../img/bg_release_pc.png");
	}
	#ticket .price ul li{
		font-size: .16rem;
		max-width:460px;
	}
	#ticket .price ul li::before{
		height: 24px;
		background-size: auto 24px, auto 24px;
	}
	#ticket .price ul .ttlS span{font-size: .22rem;}
	#ticket .price .pricelist span{font-size: .26rem;}
	#ticket .price .eventPrice{font-size: .14rem;}
	#ticket .price .eventPrice span{font-size: .17rem;}

	#ticket .price .button{
		margin: 35px auto 0 auto;
		width: calc(100% - 150px);
		font-size: .20rem;
	}
	#ticket .tokutenCaution{
		margin: -10px auto 0 auto;
		font-size: .14rem;
		max-width:620px;
	}

	/* グッズ */
	#goods ul{max-width:800px;}
	#goods ul li .ttl{
		margin: 0 auto;
		padding: 24px 0 20px 0;
		font-size: .24rem;
		background-position:50% 100%;
	}
	#goods ul li .goodsImg{
		margin: 25px auto;
		max-width:500px;
	}
	#goods ul li .goodsprice{margin: 20px auto 40px auto;}
	#goods ul li .goodsprice span{font-size: .28rem;}
	#goods .goodsShop{
		margin: 0 auto 50px auto;
		max-width:420px;
	}
	#goods .goodsShop .button{font-size: .20rem;}
	#goods .goodsCaution{max-width:720px;}
	#goods .shop{
		margin: 60px auto 30px auto;
		padding: 15px;
		max-width:730px;
	}
	#goods .shop span{font-size: .19rem;}

	/* test */
	#test{padding-bottom:80px;}
	#test .check{max-width: 600px;}
	#test .chackList{
		margin: 10px auto 0 auto;
		padding: 20px;
		font-size: .16rem;
		max-width: 400px;
	}
	#test ul{margin: 40px auto 0 auto;}
	#test ul li{
		width: 20em;
		padding: 15px 0;
	}
	
	/* FAQ */
	#precautions .cautionWrap{
		margin: 0 auto 40px auto;
		max-width: 944px;
		padding: 8px;
	}
	#precautions .ttl{padding: 25px 0;}
	#precautions .ttl img{
		height: 28px;
		width: auto;
	}
	#precautions .ttl.cautionlist{margin: 0 auto;}
	#precautions .ttl::before{
		width: 25px;
		height: 25px;
	}
	#precautions .ttl::after{right: 50px;}
	#precautions .faqWrap{padding: 0 50px;}
	#precautions .faqWrap::before{
		left: 50%;
		max-width: 840px;
		transform: translateX(-50%);
	}
	#precautions .faqWrap.disp{height: auto !important;padding: 10px 50px 30px 50px; }
	#precautions #limit.faqWrap.disp{padding: 70px 50px 50px 50px; }
	#precautions .faqWrap dl dt{font-size: .18rem;padding: 30px 0 0 0;}
	#precautions .faqWrap dl dd{padding: 20px 0 20px 0;}
	#precautions #limitlist{max-width: 720px;}
	#precautions #limitlist dt{
		font-size: .16rem;
		max-width: 240px;
		width: calc(30% - 30px);
		line-height: 1.5em;
	}
	#precautions #limitlist dd{
		font-size: .14rem;
		max-width: 330px;
		width: calc(70% - 120px);
		padding: 15px 60px;
	}
	#precautions #limitlist dd .large{font-size: .16rem;padding-bottom: 5px;}
	
	.contact{
		margin: 80px auto 0 auto;
		max-width: 400px;
		font-size: .18rem;
	}
	.contact a{padding: 15px 0;}
	.contact a::after{
		right: 25px;
		width: 15px;
	}
	.contact a:hover{background-color: #ffffff;color: #43A2BB;}

}