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

/* catch */
#catch{
	position: relative;
	padding: 25px 0;
	background-image: url("../img/bg_catch.png");
	background-repeat: repeat;
	background-position: 50% 0;
	background-size:  600px auto;
	overflow: hidden;
	text-align: center;
	z-index: 9;
}
#catch.pages{
	background-image: none;
	background-color: #222047;
	border-bottom: solid 2px #e3c812;
	padding: 0;
}
#catch.pages .logo{
	position: relative;
	margin: 5px auto;
	height: 40px;
	width: auto;
}
#catch .catchTxt{
	position: relative;
	margin: 0 0 10px auto;
	width: calc(100% - 5px);
}
#catch p{
	position: relative;
	margin: 20px auto 0 auto;
	width: calc(100% - 40px);
	text-align: center;
	line-height:1.8em;
	font-weight: 700;
	font-size: .14rem;
	letter-spacing: .05em;
	text-shadow: -1px -1px 0px #ffffff, -1px 0px 0px #ffffff, -1px 1px 0px  #ffffff, 0px -1px 0px  #ffffff, 0px -1px 0px  #ffffff, 0px 1px 0px  #ffffff, 1px -1px 0px  #ffffff, 1px 0px 0px  #ffffff,  1px 1px 0px  #ffffff;
}
#catch p.about{
	position: relative;
	margin: 10px auto 0 auto;
	color: #101c02;
	width: calc(100% - 10px);
	text-align: center;
	font-size: .16rem;
	font-weight: 900;
	line-height: 1.8em;
	letter-spacing: -.05em;
}

/* about */
#about{
	position: relative;
	margin:-15px auto 0 auto;
	padding-bottom: 150px;
	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);
}
#about ul{
	position: relative;
	margin: 0 auto;
}
#about ul li{
	position: relative;
	margin: 10px auto 20px 0;
	width: calc(100% - 20px);
	padding: 30px 0;
	text-align: center;
}
#about ul li p{
	position: relative;
	padding: 30px 50px 0 50px;
	transform: translateX(15px);
	width: calc(100% - 120px);
	font-size: .14rem;
	font-weight: 500;
}
#about ul li p.ttl{
	transform: translateX(0);
	width: 100%;
	font-size: .19rem;
	font-weight: 900;
	font-style: italic;
	padding: 0;
}
#about ul li:nth-child(2) p{transform: translateX(-5px);}
#about ul li:nth-child(1){background-color: #72CCDE;}
#about ul li:nth-child(2){background-color: #fce783;margin: 10px 0 20px auto;}
#about ul li:nth-child(3){background-color: #c8e1fc;}
#about ul li:nth-child(1) p{text-shadow: -1px -1px 0px #72CCDE, -1px 0px 0px #72CCDE, -1px 1px 0px  #72CCDE, 0px -1px 0px  #72CCDE, 0px -1px 0px  #72CCDE, 0px 1px 0px  #72CCDE, 1px -1px 0px  #72CCDE, 1px 0px 0px  #72CCDE,  1px 1px 0px  #72CCDE;}
#about ul li:nth-child(2) p{text-shadow: -1px -1px 0px #fce783, -1px 0px 0px #fce783, -1px 1px 0px  #fce783, 0px -1px 0px  #fce783, 0px -1px 0px  #fce783, 0px 1px 0px  #fce783, 1px -1px 0px  #fce783, 1px 0px 0px  #fce783,  1px 1px 0px  #fce783;}
#about ul li:nth-child(3) p{text-shadow: -1px -1px 0px #c8e1fc, -1px 0px 0px #c8e1fc, -1px 1px 0px  #c8e1fc, 0px -1px 0px  #c8e1fc, 0px -1px 0px  #c8e1fc, 0px 1px 0px  #c8e1fc, 1px -1px 0px  #c8e1fc, 1px 0px 0px  #c8e1fc,  1px 1px 0px  #c8e1fc;}
#about ul li::before{
	position: absolute;
	bottom: 0;
	left: -5px;
	width: calc(100% + 30px);
	height: calc(100% + 50px);
	display: block;
	content: '';
	background-repeat: no-repeat, no-repeat;
	background-position: 0 100%, 100% 100%;
	background-size: 100px auto, 100px auto;
}
#about ul li:nth-child(1)::before{background-image: url("../img/cast06.png"), url("../img/cast02.png");}
#about ul li:nth-child(2)::before{background-image: url("../img/cast05.png"), url("../img/cast04.png");left: -25px;}
#about ul li:nth-child(3)::before{background-image: url("../img/cast03.png"), url("../img/cast01.png");}

/* Check */
#check{
	position: relative;
	margin: -80px auto 0 auto;
	background-image: url("../img/bg_check.png");
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size:2100px auto;
	padding:0 0 20px 0;
}
#check h2{transform: translateY(-60px);}
#check .comment{
	position: relative;
	margin: 0 auto;
}
#check .comment::after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background-color: #50bcbd;
	display: block;
	content: '';
}
#check .comment h3 span{
	position: relative;
	margin: 0 auto;
	display: inline-block;
	width: auto;
	min-width: 140px;
	padding: 3px 3em;
	text-align: center;
	background-color: #ffffff;
	color: #101c02;
	font-size: .15rem;
	font-weight: 900;
	z-index: 4;
}
#check .comment p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	padding: 20px 0 0 0;
	z-index: 2;
}
#check h3 img{
	position: relative;
	margin: 20px auto 10px auto;
	width: 60%;
	height: auto;
}
#check .checkWrap{
	position: relative;
	margin: -30px auto 0 auto;
	padding:  0 0 40px 0;
	background-color: #50bcbd;
	z-index: 3;
}
#check .checkTxt{
	position: relative;
	margin: 30px auto  0 auto;
	padding: 20px;
	width: calc(100% - 80px);
	background-color: #FDFFE8;
}
#check .ttl{
	position: relative;
	margin: -30px 0 0 0;
	transform: translateX(-40px);
	width: 200px;
}
#check .Img{
	position: relative;
	margin: 10px auto 20px auto;
	width: calc(100% - 60px);
	max-width: 320px;
}
#check .txt{
	position: relative;
	margin: 0 auto;
}
#check .txt .M01{
	position: relative;
	font-size: .20rem;
	font-style: italic;
	padding-bottom: 15px;
	font-weight: 700;
	color: #136A9A;
}
#check .txt .caution{
	position: relative;
	padding-left: 1.2em;
}
#check .txt .caution::before{
	position: absolute;
	top:10px;
	left: 0;
	content: '※';
	display: block;
}

/* CM */
#cm{
	position: relative;
	margin: -20px auto 0 auto;
	background-color: #222047;
	padding: 0 0 20px 0;
	z-index: 10;
}
#cm .special{
	position: relative;
	margin: 0 auto;
	padding-bottom: 10px;
}
#cm .special h2{transform: translateY(-12%);}
#cm .movieWrap{ margin: 0 auto 50px auto;}

/* イベント詳細 */
#event{
	position: relative;
	margin: 0 auto;
	padding-bottom: 40px;
}
#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: 500;
}
#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: 500;
}

/* ストーリー */
#story{
	position: relative;
	margin:-15px auto 0 auto;
}
#story .storyWrap{
	position: relative;
	margin: -120px auto 0 auto;
	padding:110px 0 140px 0;
	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);
}
#story p{
	position: relative;
	margin:20px auto 0 auto;
	padding: 0;
	line-height: 1.8em;
	text-align: center;
	font-weight: 500;
	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: -70px auto 0 auto;
}
#charactor .chara{
	position: relative;
	margin:0 auto;
	padding: 0 0 60px 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 h3{
	position: relative;
	margin: 0 auto;
}
#charactor .chara .chara01{
    position: relative;
    margin:  10px auto 0 auto;
	width: calc(100% - 30px);
}
#charactor .chara .chara02{
    position: relative;
    margin: 0 auto;
	padding: 10px 0 35px 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;
}

/* 参加方法 */
#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 #92EAFF;
	text-align: center;
	font-weight: 700;
	font-size: .17rem;
	color: #309BC5;
}
#howto ul li .howtTxt{
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-size: .14rem;
	font-weight: 500;
}
#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: 500;
	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: #cb9429;
	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: 0 auto 60px auto;
	padding: 0;
}
#ticket .release ul.ticdate li{
	position: relative;
	margin: 0 auto;
	text-align: center;
	font-size: .14rem;
	line-height: 1.6em;
	padding: 20px;
}
#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: #F8FD65;
	content: '';
	display: block;
	width: 100%;
	height: 3px;
}
#ticket .release ul li .ttlS span{
	font-weight:700;
	padding-bottom: 15px;
	color: #35A5C3;
	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;*/
	margin: 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: 10px 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: #F8FD65;
	content: '';
	display: block;
	width: 100%;
	height: 7px;
}
#ticket .price ul .ttlS span{
	font-weight:700;
	font-size: .16rem;
	padding-bottom: 15px;
	color: #107995;
	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: 500;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: 500;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: 500;
	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;}
#ticket .pkg{
	position: relative;
	margin: 20px auto 0 auto;
	color: #C10003;
	text-align: left;
	font-size: .13rem;
}
#ticket .pkg p{padding-bottom: 12px;}
#ticket .pkg .strong{
	text-align: center;
	border-bottom: solid 1px;
	padding-bottom: 3px;
	margin-bottom: 5px;
}

/* 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: #ff6f61;
	border: solid 1px #ff6f61;
	color: #ffffff;
	text-align: center;
	font-weight: 500;
	transition: all .3s ease-out;
}
#test ul li.soundOn{background-color: #ff6f61;}
#test ul li:hover{cursor: pointer;background-color: #ffffff; color: #ff6f61;}
#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: 20px auto 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: #b1e0ec;}
#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: #4ca1c1;}
#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: #3258AB;
	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: #3258AB;
	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 #cautionlist.faqWrap dl dd p.question::before{content: 'Q.';}
#precautions #cautionlist.faqWrap dl dd p.answer::before{content: 'A.';}
#precautions #cautionlist.faqWrap dl dd p.question{color: #08779A;font-weight: 700;padding-bottom:.5em;}
#precautions #cautionlist.faqWrap dl dd p.answer{padding-bottom: 1.2em;}
#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);
}

.whitetails{
	position: relative;
	margin: 60px auto 0 auto;
	width: calc(100% - 60px);
}
.whitetails a{
	position: relative;
	margin: 0 auto 20px auto;
	display: block;
	text-align: center;
	transition: all .3s ease-out;
}
.whitetails a.tower{
	width: calc(100% - 80px);
	max-width: 320px;
	border: solid 2px #38455F;
}

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

	/* catch */
	#catch{
		padding: 30px 0 50px 0;
		background-size:  auto auto;
	}
	#catch .catchTxt{margin: 0 auto;  max-width: 960px;}
	#catch .catchTxt img{margin: 0 auto;}
	#catch p{
		margin: 40px auto 80px auto;
		line-height:1.8em;
		letter-spacing: .05em;
		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;
	}
	#catch p.about{
		margin: 40px auto 0 auto;
		letter-spacing: normal;
		font-size: .28rem;
	}

	/* about */
	#about{
		position: relative;
		margin: 0 auto;
		padding-bottom: 190px;
	}
	#about ul{	max-width: 990px;}
	#about ul li{
		margin: 50px auto 0 0;
		width: 100%;
		padding: 50px 0;
	}
	#about ul li p{
		padding: 50px 50px 0 50px;
		transform: translateX(0);
		font-size: .24rem;
		line-height: 1.8em;
	}
	#about ul li p.ttl{
		transform: translateX(0);
		font-size: .34rem;
		line-height: 1.4em;
	}
	#about ul li:nth-child(2) p{transform: translateX(0);}
	#about ul li:nth-child(2){margin: 50px 50px 0 50px;}
	#about ul li::before{
		left: -25px;
		width: calc(100% + 50px);
		height: calc(100% + 50px);
		background-size: 140px auto, 140px auto;
	}
	#about ul li:nth-child(2)::before{left: 0;}
	#about ul li:nth-child(3)::before{left: -40px;width: calc(100% + 80px);}

	/* Check */
	#check{
		margin: -180px auto 0 auto;
		background-size:3000px auto;
		padding:130px 0 0 0;
	}

	#check .comment::after{height: 50px;}
	#check .comment h3 span{font-size: .18rem;}
	#check .comment p{
		max-width: 700px;
		padding: 20px 0 0 0;
	}
	#check h3 img{
		margin: 40px auto 10px auto;
		max-width: 260px;
	}
	#check .checkWrap{padding:  0 0 60px 0;}
	#check .checkTxt{
		margin: 0 15px;
		padding: 30px;
		width: calc(33.33% - 100px);
		max-width: 310px;
	}
	#check .ttl{
		margin: -40px 0 0 0;
		transform: translateX(-50px);
		width: 230px;
	}
	#check .Img{
		margin: 10px auto 20px auto;
		width:100%;
		max-width: 240px;
	}
	#check .txt .M01{
		font-size: .22rem;
		padding-bottom: 20px;
	}
	
	/* イベント詳細 */
	#event{padding-bottom: 80px;}
	#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;
	}

	/* ストーリー */
	#story{margin: -18px auto 0 auto;}
	#story .storyWrap{
		margin: -160px auto 0 auto;
		padding: 140px 0 160px 0;
	}
	#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: -100px auto 0 auto;}
	#charactor .chara{
		padding: 0 0 110px 0;
		background-image: url("../img/bg_chara03_pc.png"), url("../img/bg_chara01_pc.png"), url("../img/bg_chara02_pc.png");
		background-repeat: no-repeat, no-repeat, no-repeat;
		background-position:50% 15px, 0 25px, 0 100%;
		background-size: auto auto, 100% auto, 100% auto;
	}
	#charactor::after{
		top: 180px;
		height: calc(100% - 320px);
	}
	#charactor h3{margin: -30px auto -20px auto;}
	#charactor .chara .chara01{
		max-width:420px;
		margin: 30px auto 0 auto;
	}
	#charactor .chara .chara02{
		padding: 0 0 60px 0;
		max-width:860px;
		background-image:none;
	}
	#charactor .chara .chara02 picture{
		max-width:860px;
		margin: 0 auto;
	}
	
	/* 参加方法 */
	#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: 0 auto 80px auto;
		width: 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;
		padding-bottom: 150px;
		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: 25px auto 0 auto;
		width: calc(100% - 150px);
		font-size: .20rem;
	}
	#ticket .tokutenCaution{
		margin: -10px auto 0 auto;
		font-size: .14rem;
		max-width:620px;
	}
	#ticket .pkg{
		margin: 30px auto 0 auto;
		font-size: .14rem;
	}
	#ticket .pkg p{padding-bottom: 12px;}
	#ticket .pkg .strong{
		padding-bottom: 5px;
		margin-bottom: 12px;
	}

	/* FAQ */
	#precautions{margin: 40px auto 0 auto;}
	#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;}
	
	
	/* 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;
	}
	
	.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;}
	
	.whitetails{
		margin: 80px auto 0 auto;
		max-width: 960px;
	}
	.whitetails a{max-width: 400px; margin: 0 10px;}
	.whitetails a:hover{opacity: .7;}
	.whitetails a.tower{
		margin: 30px 0 0 0;
		max-width: 300px;
	}

}
