@charset "utf-8";
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
#loading{
	background: #fff;
	position: fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index: 9999;
}
::selection {
	background: #000;
	color: #fff;
}
::-moz-selection {
    background: #000;
    color:#fff;
}
* {
	outline:none;
}
html{overflow: auto!important}
body {
	font-family: "Yu Gothic", YuGothic, sans-serif;
	font-weight: 500;
	font-size: 20px;
    letter-spacing: 0.02em;
	color: #000;
	background-color: #fff;
    word-break: break-all;
    overflow: hidden;
}
a { color: #b12828; }
a:hover { text-decoration: none; }
.sp{ display: block; }
.pc{ display: none; }
#fullWrap { width: 640px;margin:0 auto; }

/* ▼HEADER▼ --------------------------------- 
-------------------------------------------------*/

header{
    background: url(../images/sp/top_img.jpg) no-repeat center top;
    height: 756px;
    position: relative;
    z-index: 1;
}
header h1{
    position: absolute;
    width: 156px;
    height: 83px;
    left: 0;
    right: 0;
    top: 248px;
    margin: auto;
}
header #topTxt{
    position: absolute;
    background: url(../images/sp/title.png) no-repeat center top;
    height: 411px;
    width: 640px;
    left: 0;
    right: 0;
    top: 343px;
    margin: auto;
}

/* ▼CONTENTS▼ --------------------------------- 
-------------------------------------------------*/

#contWrap{
    background: url(../images/pc/bg_ptn.png) repeat;
    position: relative;
    padding-top: 50px;
    padding-bottom: 10px;
    z-index: 3;
}
#inWrap > dl > dt {
    font-family: 'Noto Serif JP', serif;
    color: #b12828;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    position: relative;
    margin-bottom: 80px;
}
#inWrap > dl > dt:before{
    content: "";
    background: url(../images/pc/under_img01.png) no-repeat;
    position: absolute;
    width: 131px;
    height: 18px;
    margin: auto;
    top: 48px;
    left: 0;
    right: 0;
}
#inWrap > dl > dd{
    margin-bottom: 60px;
    font-size: 22px;
    font-weight: bold;
    color: #000;
    text-align: center;
}
#inWrap > dl > dd ul.start{
    margin-top: 20px;
}
#inWrap > dl > dd ul#castList01,
#inWrap > dl > dd ul#castList02{
    width: 100%;
    padding-left: 8px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}
#inWrap > dl > dd ul#castList01 li,
#inWrap > dl > dd ul#castList02 li{
    margin: 0 10px 20px;
}
.fontS{
    font-size: 14px;
}
#inWrap > dl > dt.ticket{
    color: #000;
}
#inWrap > dl > dt.ticket:before {
    content: "";
    background: url(../images/pc/under_img02.png) no-repeat;
    position: absolute;
    width: 131px;
    height: 18px;
    margin: auto;
    top: 48px;
    left: 0;
    right: 0;
}
#inWrap > dl > dd.ticketBox > h3{
    font-weight: bold;
    color: #b12828;
    margin-bottom: 36px;
}
#inWrap > dl > dd.ticketBox > p{
    margin-bottom: 60px;
}
#inWrap > dl > dd ul#ticketList{
    padding: 0 20px;
}
#inWrap > dl > dd ul#ticketList li{
    margin-bottom: 40px;
    width: 100%;
    position: relative;
    border: 2px solid #c2a120;
    background: #f5f1e1;
    box-sizing: border-box;
    padding: 42px 45px 25px;
}
#inWrap > dl > dd ul#ticketList li:before{
    content: "";
    position: absolute;
    background: url(../images/pc/list_bg_ptn.png) repeat;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border: 1px solid #c2a120;
    z-index: 0;
    left: 3px;
    top: 3px;
}
#inWrap > dl > dd ul#ticketList li >h3{
    position: absolute;
    width: 258px;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 1;
    top: -18px;
    
}
#inWrap > dl > dd ul#ticketList li > dl{
    z-index: 1;
    position: relative;
    font-size: 22px;
    text-align: left;
}
#inWrap > dl > dd ul#ticketList li > dl > dd a{
    color: #b12828 !important;
}
#inWrap > dl > dd ul#ticketList li > dl > dt:after{
    content: "：";
}
#inWrap > dl > dd ul#ticketList li > dl > dt:not(:first-of-type),
#inWrap > dl > dd ul#ticketList li > dl > dd:not(:first-of-type){
    font-size: 20px;
}
#inWrap > dl > dd ul#ticketList li > dl > dt,
#inWrap > dl > dd ul#ticketList li > dl > dd{
    float: left;
    margin-bottom: 20px;
}
#inWrap > dl > dd ul#ticketList li > dl > dd:first-of-type{
    width: 100%;
}
#inWrap > dl > dd ul#ticketList li > dl > dd:not(:first-of-type){
    width: 360px;
}
#inWrap > dl > dd ul#ticketList li > dl > dt:not(:first-of-type){
    width: calc(100% - 360px);
}
ul#caution {
    text-align: left;
    font-size: 20px;
    font-weight: 400;
    padding: 0 20px;
}
ul#caution li {
    margin-bottom: 14px;
}
.infoBox{
    margin-bottom: 40px;
}
.infoBox > h3{
    font-weight: bold;
    color: #b12828;
    margin-bottom: 10px;
}
ul.infoList li{
    margin-bottom: 30px;
}
#sps{
    margin-bottom: 80px;
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    color: #000;
}
ul#eventList li{
    margin-bottom: 20px;
}
ul#eventList li:before{
    content: url(../../images/nav_listpoint.png);
    margin-right: 8px;
    vertical-align: middle;
}
ul#eventList {
    text-align: left;
    width: 490px;
    margin: 0 auto;
}
.eventListAdd{
    text-align: left !important;
    display: block;
    margin-left: 103px;
    margin-top: 28px;
    font-size: 14px;
}
#eventCaution{
    width: 356px;
    height: 50px;
    line-height: 50px;
    margin: 30px auto 0;
}
#eventCaution > a{
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50px;
    text-decoration: none;
    transition: .3s ease;
}

/* ▼FOOTER▼ --------------------------------- 
-------------------------------------------------*/

footer{
    height: 437px;
    position: relative;
    margin-top: 74px;
}
footer:after{
    content: "";
    background: url(../images/sp/foot_bg.jpg) no-repeat center top;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 0;
}
footer #footerIn{
    position: relative;
}
footer #footerIn:before{
    content: "";
    background: url(../images/sp/foot_img.png) no-repeat;
    width: 262px;
    height: 217px;
    position: absolute;
    top: -171px;
    left: 169px;
    z-index: 1;
    pointer-events: none;
}
footer #footerIn #backTop{
    padding-top: 70px;
    position: relative;
    z-index: 3;
}
footer #footerIn #backTop a{
    display: block;
    width: 300px;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
    border:2px solid #000;
    background: #f5f1e1;
    color: #000;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    margin: 0 auto 70px;
}
footer #footerIn small{
    display: block;
    text-align: center;
    font-size: 12px;
    color: #000;
    font-weight: bold;
    position: relative;
    z-index: 3;
}

/*--GOODS--*/

ul.goodsList{
    width: 626px;
    margin: 0 auto 40px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
ul.goodsList li{
    margin-right: 10px;
    margin-bottom: 10px;
}
ul.goodsList li:nth-child(2n){
    margin-right: 0;
}
#goodsModal{
    position: fixed;
    overflow-y: scroll;
    z-index: 14000;
    top: 0;
    left: 0;
    background: #b12828;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    display: none;
}
#goodsModalIn{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap; 
    flex-wrap: wrap;
    height: auto;
    margin: auto;
    min-height: 100%;
    position: relative;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.goodsDetail{
    padding: 30px 0;
    display: none;
}
.goodsDetail > h3{
    background: #e3c314;
    width: 580px;
    border-radius: 100px;
    text-align: center;
    padding: 10px 0;
    font-size: 23px;
    font-weight: bold;
    color: #b12828;
    margin-bottom: 30px;
    line-height: 28px;
}
.imgArea{
    width: 428px;
    margin: 0 auto 30px;
    display: block;
}
.txtArea{
    width: 580px;
    margin: 0 auto;
    color: #fff;
    font-size: 20px;
    line-height: 38px;
}
.closeBtn {
    width: 83px;
    height: 83px;
    margin: 20px auto 0;
}
.closeBtn a{
    display: block;
    width: 100%;
    height: 100%;
}
.goodsCaution{
    text-align: left;
}
.goodsCaution > section:first-of-type{
    text-align: center;
    margin-bottom: 50px;
}
.goodsCaution > section:last-of-type{
    padding: 0 30px 0;
}
.goodsCaution > section:last-of-type > ul li{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 14px;
}
.goodsCaution > section:last-of-type > h3{
    font-weight: 16px;
    margin-bottom: 10px;
}
.goodsCaution > section > h3{
    color: #b12828;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 18px;
}
.goodsCaution > section > p{
    font-weight: bold;
    font-size: 20px;
}