@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.406%;
	width: 100%;
}

/* catch */
#catch{
	position: relative;
	margin: 0 auto;
	padding: 25px 0 35px 0;
	background: #FFEDFE;
	background: linear-gradient(45deg, rgba(182,220,255,1) 10%, rgba(254,255,245,1) 35%, rgba(255,237,254,1) 65%, rgba(185,182,229,1) 90%);
}
#catch .catchTxt img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 80px);
	max-width: 520px;
}
#catch .btnArea a span{
	position: relative;
	display: block;
	width: 100%;
}
#catch .btnArea a span::before{
	position: absolute;
	top:-15px;
	left: calc(-1em - 15px);
	width: 100%;
	height: calc(100% + 30px);
	display: block;
	content: '';
	background-image: url("../img/icon_ticket.png");
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: 0 0;
}

/* イベント詳細 */
#event{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	background: rgb(19,118,211);
	background: linear-gradient(180deg, rgba(19,118,211,1) 0%, rgba(32,67,132,1) 100%);
}
#event ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 980px;
	padding: 0;
}
#event ul li{
	position: relative;
	padding: 0;
	margin: 0 auto 15px auto;
	width: 100%
}
#event ul li .pointImg{
	position: relative;
	margin: 0;
	width: 50px;
}
#event ul li .pointTxt{
	position: relative;
	margin: 10px 0 0 0;
	width: calc(100% - 60px);
	color: #ffffff;
	font-size: .16rem;
}
#event ul li .pointTxt .ttl{
	font-size: .18rem;
	font-weight: 500;
	padding-bottom: 10px;
	color: #FAFF00;
}

#aboutgame{
	position: relative;
	margin:  0 auto;
	padding: 30px 0 15px 0;
	background-color: #ecedd9;
}
#aboutgame img{
	margin: 0 auto 15px auto;
	width: calc(100% - 40px);
	max-width: 380px;
	border-radius: 8px;
}

/* movielist */
#movielist{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #101022;
}
#movielist .movieBox{
	position: relative;
	/*padding: 0 0 0 20px;*/
}
#movielist .movieBox p{
	position: relative;
	margin: 10px 0 0 0;
	color: #ffffff;
}
#movielist .banner{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 40px);
	max-width: 480px;
}
.first .movieWrap{
	max-width: 420px;
	width: calc(100% - 40px);
}
#movielist .movieBox.first p{
	position: relative;
    margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 420px;
}

/* キャラクター */
#charactor{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
}
#charactor .list{
	position: relative;
	margin:0 auto;
	width: calc(100% - 40px);
	max-width: 520px;
	overflow: hidden;
	z-index: 10;
}
#charactor .list .btnChara{
	position: relative;
	width: calc(20% - 5px);
	margin: 0 2px;
	transform: translateY(35%);
	transition: all .3s ease-in;
	cursor: pointer;
}
#charactor .list .btnChara.disp, #charactor .list .btnChara:hover{transform: translateY(0);}
#charactor .chara{
	position: relative;
	margin:-5.7% auto 0 auto;
	padding: 0;
	width: 100%;
	max-width: 780px;
}
#charactor .chara .CharaData{
	position: relative;
	margin: 0 auto;
	padding: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-in;
}
#charactor .chara .CharaData img{vertical-align: top;}
#charactor .chara .CharaData.disp{opacity: 1;height: auto;}

/* ストーリー */
#story{
	position: relative;
	margin: 0 auto;
	padding:0 0 80px 0;
	background-image: url("../img/bg_story.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size:cover;
	text-align: center;
}
#story p{
	position: relative;
	margin:40px auto 0 auto;
	padding: 0;
	line-height: 2em;
	width: calc(100% - 40px);
}

/* プレイ形式 */
#play{
	position: relative;
	margin:  0 auto;
	padding: 30px 0;
	background-color: #2e2f67; 
	text-align: center;
	color: #ffffff;
}
#play .ttl{
	position: relative;
	margin: 10px auto 0 auto;
	display: inline-block;
	width: auto;
	padding:3px 2em;
	background-color: #ffffff;
	border-radius: 5px;
	color: #2e2f67;
	font-weight:700;
}
#play .lead{
	position: relative;
	margin: 20px auto 10px auto;
}
#play ul{
	position: relative;
	margin:0 auto;
	width: calc(80% - 20px);
	max-width: 800px;
}
#play ul li{
	position: relative;
	padding: 0;
	margin: 25px 10px 0 10px;
	width: calc(50% - 20px);
	max-width: 130px;
}
#play ul li p{
	position: relative;
	margin: 0 auto;
	font-size: .14rem;
	line-height: 1.6em;
	white-space: nowrap;
}
#play ul li p span{
	display: block;
	padding-top: 5px;
	color: #fffcaf;
}
#play ul li img{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 10px);
	max-width: 100px;
}

/* 参加方法 */
#howto{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
}
#howto ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 960px;
	text-align: center;
}
#howto ul li{
	position: relative;
	margin: 0 auto 25px auto;
	padding: 4px 0 15px 10px;
	border-radius: 5px;
}
#howto ul li:nth-child(1){background-color: #ba2e87;}
#howto ul li:nth-child(2){background-color: #355d94;}
#howto ul li:nth-child(3){background-color: #78942d;}
#howto ul li:nth-child(4){background-color: #8653b5;}
#howto ul li::after{
	position: absolute;
	bottom: -25px;
	left: 45px;
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 22.5px 0 22.5px;
}
#howto ul li:nth-child(1)::after{border-color: #ba2e87 transparent transparent transparent;}
#howto ul li:nth-child(2)::after{border-color: #355d94 transparent transparent transparent;}
#howto ul li:nth-child(3)::after{border-color: #78942d transparent transparent transparent;}
#howto ul li:nth-child(4)::after{display: none;}
#howto ul li .howtoImg{
	position: relative;
	width: calc(100% - 5px);
	margin: 0;
}
#howto ul li .howtoTxt{
	position: relative;
	width: calc(100% - 20px);
	margin: 0 0 0 2%;
	color:#ffffff;
	text-align: left;
}
#howto ul li .howtoTxt a{color: #ffffff;}
#howto .ticCaution{
	position: relative;
	margin: 45px auto 0 auto;
	border: solid 2px #183457;
	color: #183457;
	padding: 15px;
	width: calc(100% - 74px);
	max-width: 620px;
	border-radius: 5px;
}
#howto .ticCaution .ttl{
	position: relative;
	margin: 0 auto 20px auto;
	padding-bottom: 5px;
	border-bottom: solid 1px #183457;
	font-weight: 700;
	font-size: .15rem;
	text-align: center;
}


/* 販売 */
#ticket{
	position: relative;
	margin:0 auto;
	background-color: #541574;
	padding: 30px 0 40px 0;
}
/* 料金 */
#ticket .price{
	position: relative;
	margin: 0 auto;
	padding: 0 0 40px 0;
	text-align: center;
}
#ticket .ttl{
	position: relative;
	margin: 10px auto 0 auto;
	display: inline-block;
	width: auto;
	padding:3px 2em;
	background-color: #ffffff;
	border-radius: 5px;
	color: #541574;
	font-weight: 700;
}
#ticket .price .lead{
	position: relative;
	margin: 15px auto 0 auto;
	width: calc(100% - 40px);
	color: #ffffff;
}
#ticket .price ul {
	position: relative;
	width: 65%;
	max-width: 500px;
	margin: 30px auto 0 auto;
}
#ticket .price ul li{
	position: relative;
	margin: 0;
	width: calc(50% - 10px);
	color: #541574;
	background-color: #f5eafc;
	border-radius: 100px;
	font-weight: 700;
	cursor: pointer;
}
#ticket .price ul li.active{background-color: #b780c9;color: #ffffff;}
#ticket .price ul li.active::before{opacity: 0;}
#ticket .price ul li.active::after{
	position: absolute;
	bottom: -.7em;
	left: 0;
	content: '\025bc';
	display: block;
	width: 100%;
	height: 1em;
	color:  #b780c9;
	line-height: 1em;
	text-align: center;
}
#ticket .price ul li p{
	position: relative;
	padding: 3px 0;
	text-align: center;
	z-index: 12;
}
#ticket .priceBox{
	position: relative;
	margin: 0 auto 30px auto;
}
#ticket .priceBox .caution{
	position: relative;
	margin: 0 auto;
	font-weight: 700;
	font-size: .12rem;
}
#ticket .priceBox .table{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 40px);
	display: none;
}
#ticket .priceBox .table table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 780px;
	border-collapse: collapse !important;
	border-spacing:1px;
	border: solid 1px #541574;
}
#ticket .priceBox .table.active{display: block;}
#ticket .priceBox table th{
	width: 20%;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4em;
	padding: 5px;
	font-size: .13rem;
	border-right: solid 1px #541574;
	background-color: #b780c9;
	color: #ffffff;
}
#ticket .priceBox table th p{font-size: .10rem;}
#ticket .priceBox table td{
	width: 25%;
	margin: 10px;
	text-align: center;
	padding: 5px 0;
	font-size: .13rem;
	border-right: solid 1px #541574;
	vertical-align: middle;
	background-color: #ffffff;
}
#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 tbody tr:nth-child(even) td{background-color: #f8f8f4;}
#ticket .priceBox table tbody th{background-color: #f8f7e6;padding: 5px 3px; color: #183457;}
#ticket .priceBox table tbody tr:nth-child(even) th{background-color: #f1eec3;}
#ticket .tokutenTicket{
	position: relative;
	margin: 15px auto 40px auto;
	width: 100%;
}
#ticket .tokutenTicket table{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 780px;
}
#ticket .tokutenTicket th{background-color: #b780c9 !important; color: #ffffff !important;}
#ticket .ticCaution{
	position: relative;
	text-align: center;
}
#ticket .price .btn_ticcaution{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 80px);
	z-index: 1;
	cursor: pointer;
}
#ticket .price .btn_ticcaution.disp::after{transform: rotate(-180deg);}
#ticket .tokutenCaution{
	position: relative;
	margin: 0 auto;
	font-size: .13rem;
	line-height: 1.6em;
	width: calc(100% - 80px);
	max-width: 620px;
	padding: 0 20px;
	height: 0;
	overflow: hidden;
	transition: all .3s ease-out;
}
#ticket .tokutenCaution.disp{height: auto;padding: 30px 20px 20px 20px;border: solid 1px #541574;background-color: #ffffff; margin: -20px auto 0 auto;}
#ticket .tokutenCaution p{position: relative;padding-left: 1.2em;padding-top: 5px;text-align: left;}
#ticket .tokutenCaution p::before{
	position: absolute;
	content: '※';
	left: 0;
}
#ticket .price .tokuten{
	position: relative;
	margin: 50px auto 0 auto;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 20px;
	width: calc(100% - 80px);
}
#ticket .tokuten .tokutenImg{
	position: relative;
	margin: 0 auto;
	max-width: 500px;
}
#ticket .tokuten h3{
	position: relative;
	margin: 0 auto;
	padding: 0 0 10px 0;
	font-size: .22rem;
	font-weight: 700;
	color: #541574;
}
#ticket .tokuten h3 span{font-size: .14rem;}
#ticket .tokuten .ttl{
	position: relative;
	margin: 0 auto;
	padding: 10px 0;
	font-size: .17rem;
	font-weight: 700;
	border-radius: 0;
	width: 100%;
	border-bottom: solid 1px;
}
#ticket .tokuten .tokutenprice{
	position: relative;
	margin: 0 auto;
	font-size: .17rem;
	text-align: right;
	padding: 10px 10px 0 0;
}
#ticket .tokuten .tokutenprice span{font-size: .22rem;font-weight: 700;}
#ticket .tokuten .tokutenTxt{
	position: relative;
	margin: 30px auto 10px auto;
}
#ticket .tokuten .tokutenTxt p{text-align: left;}
#ticket .tokuten .tokutenTxt span{
	position: relative;
	display: inline-block;
	width: auto;
	margin-bottom: 5px;
	background:linear-gradient(transparent 73%,rgba(191,98,199,0.40) 73%);
	padding: 15px 2px 5px 2px;
	font-weight: 700;
	line-height: 1em;
}
#ticket .tokuten .tokutenCaution{
	position: relative;
	margin: 0 auto;
	font-size: .13rem;
	line-height: 1.6em;
	width: 100%;
	max-width: 620px;
	padding: 10px 0 0 0;
	height: auto;
}
#ticket .u22{
	position: relative;
	margin: 80px auto 20px auto;
	padding: 20px;
	max-width: 680px;
	border: solid 1px #ffffff;
	border-radius: 20px;
	width: calc(100% - 82px);
}
#ticket .u22 img{
	margin: -60px auto 0 auto;
	max-width: 120px;
	padding: 5px;
	width: calc(100% - 120px);
	background-color: #541574;
}
#ticket .u22 p{
	position: relative;
	margin: 20px auto 0 auto;
	text-align: left;
	color: #ffffff;
}
#ticket .u22 p a{color: #ffffff !important;}

/* schedule */
#schedule{
    position: relative;
    margin: 0 auto;
	padding: 30px 0;
	background: #FEFFF5;
	background: linear-gradient(45deg, rgba(182,220,255,1) 10%, rgba(254,255,245,1) 35%, rgba(255,237,254,1) 65%, rgba(185,182,229,1) 90%);
}
#schedule ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 960px;
}
#schedule ul li{
	position: relative;
	margin: 0 auto 20px auto;
	background-color: #ffffff;
	border-radius: 20px;
	box-shadow: -2px 4px 15px -8px rgba(0,0,0,0.6);
	padding:0;
}
#schedule ul li.soon{background-color: #EDEDED;}
#schedule ul li .areaWrap{
	position: relative;
	margin: 0 auto;
	padding: 0 0 15px 0;
	text-align: center;
}
#schedule ul li .area{
	position: relative;
	margin: 0 auto;
	padding: 10px 0;
	background-color: #df3b8c;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}
#schedule ul li.soon .area{background-color: #D593B4;}
#schedule ul li .areaImg{
	position: relative;
	margin: 0 auto;
}
#schedule ul li .areaImg img{
	height:22px;
	width: auto;
	margin:  0 auto;
}
#schedule ul li .areaImg p{
	position: relative;
	margin: 0 auto;
	padding-top: 5px;
	color: #ffffff;
}
#schedule ul li .area::after{
	position: absolute;
	content: '';
	display: block;
	bottom: -18px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 9px 0 9px;
	border-color: #df3b8c transparent transparent transparent;
}
#schedule ul li.soon .area::after{display: none;}
#schedule ul li .kikan{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
#schedule ul li.soon .kikan img{
	position: relative;
	margin: 0 auto; 
	padding: 20px 0 10px 0;
	width: 50%;
	min-width: 100px;
	max-width: 180px;
}
#schedule ul li .kikan .ttl {
	position: relative;
	margin: 18px auto 10px auto;
	width: auto;
	display: inline-block;
	background-color: #df3b8c;
	border-radius: 100px;
	padding: 2px 1em;
	color: #ffffff;
}
#schedule ul li .detail{
	position: relative;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .5s ease-out;
	font-size: .13rem;
}
#schedule ul li .detail.disp{height: auto;opacity: 1;padding: 0 0 15px 0;}
#schedule ul li .mapArea iframe{
	position: relative;
	max-width: 100%;
}
#schedule ul li .ttlS{
	position: relative;
	margin: 30px auto 10px auto;
	background-color: #541574;
	color: #ffffff;
	line-height: 1em;
	padding: 5px 0;
	font-size: .14rem;
	width: calc(100% - 40px);
	border-radius: 5px;
}
#schedule ul li ul.rTicket{width: 100%;}
#schedule ul li ul.rTicket li{margin: 0 auto 25px auto;box-shadow: none;}
#schedule ul li .rTicket .scraptantei {
	position: relative;
	margin: 10px auto 0 auto;
}
#schedule ul li .rTicket .scraptantei img{width: calc(100% - 60px);max-width: 320px;margin: 5px auto 0 auto;}
#schedule ul li .rTicket .ttl{
	color: #df3b8c;
	font-weight: 700;
	font-size: .14rem;
}
#schedule ul li .shop{
	position: relative;
	margin: 30px auto 0 auto;
}
/* チケットカレンダー */
.ticAPI{position: relative;margin: 0 auto;padding: 0;}
.ticAPI iframe{position: relative;margin: 0; padding: 0; width: 100%; height: 450px;}
#ticket_api{margin: 0;padding: 0;color: #333333;width: 100%; background-color: #df3b8c;}
.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:#333333;}
.ticketWrap .naviBox ul li.cr .scheduleBox {background: #541574; color:#ffffff !important;}
.ticketWrap .naviBox ul li.cr .scheduleBox span span{color:#333333 !important;}
.ticketWrap .detailsWrap {padding-top: 20px;}
.ticketWrap .detailsBox .tit {background-color: #ffe3f1;font-size: .14rem !important;color:#000000 !important;}
.ticketWrap .detailsBox .tit p{margin: 0 !important;}
.ticketWrap .detailsBox .tit01 {font-size: .18rem !important;}
.ticketWrap .detailsBox .details h4 {margin: 30px 0; color:#333333 !important;border-bottom: 2px solid #333333; background-image: none;font-size: .13rem !important;text-align: center;font-weight: 700;}
.ticketWrap .detailsBox .details a.scrap {color: #541574; font-size: .12rem;font-weight: normal;}
.ticketWrap .detailsBox .details a.scrap:after {border-top: solid 1px #541574;border-right: solid 1px #541574; width: 5px; height: 5px;margin: -3px 0 0 0px;}
.ticketWrap .detailsBox .details ul li {margin-bottom: 10px !important;margin-right: 10px !important;}
.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;}

#schedule .more{
	position: relative;
	margin: 50px auto 40px auto;
	width: 50%;
	min-width: 100px;
	max-width: 160px;
}

/* グッズ */
#goods{
	position: relative;
	margin: 0 auto;
	padding:30px 0;
}
#goods ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
	max-width: 960px;
}
#goods ul li{
	position: relative;
	margin: 0 auto 50px auto;
	width: 100%;
	max-width: 360px;
}
#goods ul li .goodsImg{
	position: relative;
	margin: 0 auto;
	min-width: 140px;
	max-width: 360px;
	cursor: pointer;
}
#goods ul li .goodsS{
	position: relative;
	border-bottom:solid 1px;
	margin: 15px auto;
	padding-bottom: 5px;
}
#goods ul li .goodsS .price{
	position: relative;
	margin: 0;
	padding: 0;
	text-align: right;
	color: #df3b8c;
	font-weight: 700;
	width: 7em;
}
#goods ul li .goodsS .price span{font-size: .24rem;}
#goods ul li .goodsS .spec{
	position: relative;
	margin: 0;
	padding: 0;
	width: calc(100% - 7em - 10px);
}
#goods ul li .goodsS .spec p{font-size: .14rem;line-height: 1.4em;}
#goods .postcard{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 60px);
	max-width: 600px;
	border: solid 2px #89B2DD;
	padding: 20px 10px;
	border-radius: 20px;
}
#goods .postcard p.lead{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px)
}
#goods .postcard p.lead span{
	font-size: .18rem;
	font-weight: 700;
	color: #df3b8c;
}
#goods .postcard img{
	position: relative;
	margin: 10px auto 0 auto;
}
#goods .postcard .caution{position: relative;}
#goods .postcard .caution p{
	position: relative;
	padding-left: 1.15em;
	margin-top: 5px;
}
#goods .postcard .caution p::before{
	position: absolute;
	top:0;
	left: 0;
	content: '※';
}

/* covid19 */
#covid19{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #2e2f67;
	color: #ffffff;
	text-align: center;
}
#covid19 a:link, #covid19 a:visited{color: #ffffff;}

/* FAQ */
#precautions{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 30px 0;
	text-align: center;
	background-color: #ecedd9;
}
#precautions a{
	position: relative;
	margin: 0 auto 5px auto;
	display: block;
	width: calc(100% - 40px);
	max-width: 680px;
}

/* ニュース */
#news{
    position: relative;
	margin: 0 auto;
	padding: 30px 0 50px 0;
	background-image: url("../img/bg_story.png");
	background-repeat: repeat;
	background-position: 50% 50%;
	background-size: 100% auto;
}
#news .newsWrap{position: relative;}
#news .newsWrap .contetsWrap{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 720px;
	border: solid 2px #000443;
	border-radius: 20px;
	background-color: #ffffff;
}
#news .newsBox{
	position: relative;
	margin: 0 auto;
	padding: 20px 15px 20px 20px;
}
#news .newsBox ul{
	position: relative;
	margin:0 auto;
	width: 100%;
	/*height: 160px;*/
	height: 100px;
    overflow: hidden;
	z-index: 80;
}
#news .newsBox ul li{
	position: relative;
	margin:0 auto 10px auto;
    padding: 0 0 5px 0;
	border-bottom: solid 1px #d4c4db;
	line-height: 1.4em;
}
#news .newsBox ul li p.date{
	color: #b929bb;
	font-size: .13rem;
}


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

	/* catch */
	#catch{padding: 50px 0;}
	#catch .catchTxt img{margin: 0 auto 60px auto;}
	#catch .btnArea a span::before{
		top:-20px;
		height: calc(100% + 40px);
	}

	/* イベント詳細 */
	#event{padding: 60px 0;}
	#event ul li{
		margin: 0 5px;
		width: calc(33% - 10px);
	}
	#event ul li .pointImg{width: 60px;}
	#event ul li .pointTxt{
		margin: 15px 0 0 0;
		width: calc(100% - 70px);
		font-size: .18rem;
	}

	#aboutgame{padding: 60px 0;}
	#aboutgame img{
		margin: 0 20px;
		max-width: 380px;
	}

	/* movielist */
	#movielist{padding: 60px 0;}

	/* キャラクター */
	#charactor{padding: 60px 0;}
	#charactor .list .btnChara{transform: translateY(37%);}
	#charactor .chara{margin:-5px auto 0 auto;}

	/* ストーリー */
	#story{
		padding:0 0 80px 0;
		background-position: 50% 50%;
	}
	#story::after{
		position: absolute;
		top: 0;
		left: 0;
		height: 100px;
		width: 100%;
		content: '';
		display: block;
		background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
		background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
		background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	}
	#story p{
		margin:60px auto 0 auto;
		line-height: 2.4em;
		font-size: .17rem;
	}

	/* プレイ形式 */
	#play{padding: 60px 0;}
	#play .ttl{
		font-size: .18rem;
		margin: 10px auto 0 auto;
		padding:5px 2em;
	}
	#play ul li{margin: 45px 10px 0 10px;}
	#play ul li p{font-size: .16rem;}


	/* 参加方法 */
	#howto{padding: 60px 0;}
	#howto ul{margin: 30px auto 0 auto;}
	#howto ul li{
		border-radius: 10px;
		width: calc(50% - 40px);
	}

	#howto ul li::after{
		bottom: 50%;
		left: 100%;
		transform: translateY(-20%);
		border-width: 22.5px 0 22.5px 25px;
	}
	#howto ul li:nth-child(1)::after{border-color: transparent transparent transparent #ba2e87;}
	#howto ul li:nth-child(2)::after{border-color: transparent transparent transparent #355d94;}
	#howto ul li:nth-child(3)::after{border-color: transparent transparent transparent #78942d;}
	#howto .ticCaution{
		margin: 45px auto 60px auto;
		color: #183457;
		padding: 30px;
		border-radius: 10px;
	}
	#howto .ticCaution .ttl{font-size: .18rem;}

	/* 販売 */
	#ticket{padding: 60px 0;}
	/* 料金 */
	#ticket .price{
		padding: 0 0 40px 0;
	}
	#ticket .ttl{
		margin: 10px auto 0 auto;
		padding:5px 2em;
		font-size: .18rem;
	}
	#ticket .price ul {margin: 40px auto 0 auto;}
	#ticket .price ul li p{padding: 5px 0;}
	#ticket .priceBox{margin: 0 auto 50px auto;}
	#ticket .priceBox .caution{font-size: .14rem;}
	#ticket .priceBox .table{margin: 15px auto 0 auto;}
	#ticket .priceBox table th{
		line-height: 1.6em;
		padding: 15px;
		font-size: .16rem;
	}
	#ticket .priceBox table th p{font-size: .12rem;}

	#ticket .priceBox table td{
		padding: 15px 0;
		font-size: .16rem;
	}
	#ticket .priceBox table td span{font-size: .24rem;}
	#ticket .priceBox table td p{font-size: .14rem;line-height: 1.6em;}
	#ticket .priceBox table tbody th{padding: 15px 3px; }
	#ticket .tokutenTicket{margin: 25px auto 50px auto;}
	#ticket .tokutenCaution{
		font-size: .14rem;
		padding: 0 30px;
	}
	#ticket .tokutenCaution.disp{padding: 40px 30px 30px 30px;}
	#ticket .price .tokuten{
		margin: 80px auto 0 auto;
		padding: 40px;
		max-width: 680px;
	}
	#ticket .tokuten h3{
		padding: 0 0 20px 0;
		font-size: .34rem;
		line-height: 1em;
	}
	#ticket .tokuten h3 span{font-size: .20rem;}
	#ticket .tokuten .tokutenImg img{margin: 0 auto;}
	#ticket .tokuten .ttl{
		padding: 20px 0;
		font-size: .20rem;
	}
	#ticket .tokuten .tokutenprice{
		font-size: .16rem;
		padding: 10px 30px 0 0;
	}
	#ticket .tokuten .tokutenprice span{font-size: .24rem;}
	#ticket .tokuten .tokutenTxt p{text-align: center;}
	#ticket .tokuten .tokutenCaution{
		font-size: .14rem;
		max-width: 640px;
		padding: 10px 20px 0 20px;
	}
	#ticket .u22{
		margin: 100px auto 20px auto;
		padding: 40px;
	}
	
	/* schedule */
	#schedule{padding: 60px 0;}
	#schedule ul li{margin: 0 auto 40px auto;}
	#schedule ul li .area{padding: 15px 0;}
	#schedule ul li .areaImg img{height:26px;}
	#schedule ul li .area::after{
		bottom: -30px;
		border-width: 30px 15px 0 15px;
		font-size: .18rem;
	}
	#schedule ul li .kikan .ttl {
		margin: 30px auto 10px auto;
		padding: 5px 4em;
	}
	#schedule ul li .detail{font-size: .16rem;}
	#schedule ul li .detail.disp{padding: 0 0 30px 0;}
	#schedule ul li .ttlS{
		margin: 30px auto 20px auto;
		padding: 10px 0;
		font-size: .16rem;
		width: calc(100% - 80px);
		border-radius: 10px;
	}
	#schedule ul li ul.rTicket li{margin: 0 auto 40px auto;}
	#schedule ul li .rTicket .ttl{font-size: .16rem;}
	#schedule ul li.soon .kikan img{padding: 40px 0 30px 0;}

	/* グッズ */
	#goods{padding:60px 0;}
	#goods ul li .goodsS .spec p{font-size: .15rem;line-height: 1.4em;}
	#goods ul li{margin: 0 25px 80px 25px;}
	#goods .postcard{padding: 40px;}
	#goods .postcard p.lead{
		text-align: center;
		font-size: .18rem;
	}
	#goods .postcard p.lead span{font-size: .26rem;}
	#goods .postcard img{margin: 20px auto 10px auto;}

	/* ニュース */
	#news{padding: 60px 0 100px 0;}
	#news .newsBox{padding: 40px 30px 40px 40px;}
	#news .newsBox ul{/*height: 200px;*/height: 120px;}
	#news .newsBox ul li p.date{font-size: .14rem;}

}