body {
background: #fff;
color: #515151;
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-weight: 500;
font-style: normal;
width: 100%;
height:100%;
font-size: 12px;
line-height:1.8em;
letter-spacing: 0;
margin: 0;
}


#wrap{
width: 100%; height: 100%;
position: relative;
}

a:hover {opacity:1;} 

.sp{ display: block;}
.pc{ display: none;}
.fontS{ font-size: 80%;}
.txtGreen{ color: #2cb2bd;}

.no-wrap { display: inline-block;}
.no-space{ letter-spacing: -2px;}


@keyframes  fadeanm {
0% {opacity: 0;}
100% {opacity: 1;}
}

@keyframes  scaleanm {
0% { transform: scale(1.5,1.5); opacity: 0;}
100% { transform: scale(1,1); opacity: 1;}
}

@keyframes  slideanm {
0% { transform: translateY(100%); opacity: 1;}
100% { transform: translateY(0); opacity: 1;}
}

.linkLabel{
margin-top:-60px;
padding-top:60px;
text-indent: -99999px;
}

.warningfontL{
padding-left: 1em;
text-indent: -1em;
margin-top: 0.2em;
}

.warningfontS{
font-size: 80%;
line-height: 1.5em;
padding-left: 1em;
text-indent: -1em;
margin: 0.1em 0 0.2em;
}

[data-ruby] {
    position: relative;
}
[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
	width: 180%;
	text-align: center;
    top: -1.8em;
    left: -40%;
    right: 0;
    margin: 0 auto;
    font-size: 0.6em;
	letter-spacing: 0;
}


/*---------------------------------------------

main

----------------------------------------------*/

#topAll{
width: 100%;
line-height: 0;
position: relative;
}

#main{
background: #fff;
width: 100%;
position: relative;
overflow: hidden;
margin: 62px 0 0;
}

#main:before{
content:"";
display: block;
padding-top: 208%;
}

#mainImg{
background: url("../images/top/main_sp.jpg") no-repeat center;
background-size: cover;
width: 100%; height: 52.8%;
position: absolute;
top: 0; left: 0;
z-index: 1;
}

#logo{
background: url("../images/top/logo.png") no-repeat center;
background-size: contain;
width: 100%; height: 25.4%;
position: absolute;
top: 51%; left: 0;
z-index: 2;
}

#roadshow{
background: url("../images/top/roadshow.png") no-repeat center;
background-size: contain;
width: 100%; height: 9.5%;
position: absolute;
top: 79%; left: 0;
z-index: 2;
}

#minamiza{
background: url("../images/top/minamiza.png") no-repeat center;
background-size: contain;
width: 27%; height: 5%;
position: absolute;
top: 90%; left: 36.5%;
z-index: 2;
}


/*---------------------------------------------

header

----------------------------------------------*/

header{ width: 100%; padding-top: 62px;}

#logo_s{
background: url("../images/top/logo.png") no-repeat center;
background-size: contain;
width: 210px; height: 120px;
margin: 20px auto;
}

#logo_s a{
width: 100%; height: 100%;
display: block;
}

#m_about{ background: url("../images/about/m_about.png") no-repeat center;}
#m_ticket{ background: url("../images/ticket/m_ticket.png") no-repeat center;}
#m_about,#m_ticket{ 
background-size: contain;
width: 240px; height: 40px;
margin: 20px auto 35px;
}


/*---------------------------------------------

content

----------------------------------------------*/

#content{
width: 100%;
position: relative;
}

#contentAll{
width: 100%;
margin: 0 auto 40px;
}

#about_m{
width: 90%;
padding: 20px 0 0;
text-align: center;
font-size: 14px;
font-weight: 700;
color: #000;
line-height: 1.6em;
border-top: 3px double #5cc2d0;
margin: 0 auto;
}

.aboutTxt{
width: 90%;
padding: 20px 0 0;
border-top: 3px double #5cc2d0;
margin: 20px auto 0;
line-height: 1.8em;
}

#aboutPoster{
background: url("../images/top/main_sp.jpg") no-repeat center;
background-size: contain;
width: 100%;
margin: 10px 0;
position: relative;
}

#aboutPoster:before{
content:"";
display: block;
padding-top: 110%;
}

.commentBox{
width: 90%;
padding: 10px;
margin: 0 auto;
border: 3px double #5cc2d0;
text-align: left;
}

.commentImg{
width: 180px;
margin: 10px auto;
pointer-events: none;
}

.commentTxt{
width: 95%;
margin: 0 auto;
line-height: 1.8em;
}

.commentNM{
width: 100%;
font-size: 120%; line-height: 1.5em;
font-weight: 700;
color: #2cb2bd;
margin-bottom: 0.2em;
padding-left: 1em;
text-indent: -1em;
}

/*---------------------------------------------

ticket

----------------------------------------------*/

.ticketBox{
width: 80%;
padding: 15px;
border: 3px double #5cc2d0;
text-align: left;
position: relative;
margin: 0 auto;
line-height: 1.6em;
}

.ticketBox a{ text-decoration: underline;}

.ticketNM{
font-size: 110%; line-height: 1.5em;
font-weight: 700;
color: #2cb2bd;
margin-bottom: 0.2em;
}

.ticketCSall{
position: relative;
width: 100%;
}

.ticketCS{
width: 100%; height: 100%;
position: absolute;
top: 0; left: 0;
z-index: 10;
opacity: 0.9;
background: #b9b9b9;
}

.ticketCStxt{
width: 100%;
position: absolute;
top: 50%; transform: translateY(-50%);
font-size: 13px;
font-weight: 700;
color: #fff;
z-index: 11;
text-align: center;
pointer-events: none;
}

.ticketTxt{
width: 86%;
margin: 0 auto;
line-height: 1.6em;
font-size: 11px;
}

.ticketImg{
width: 100%;
margin: 1em 0;
pointer-events: none;
line-height: 0;
}

/*---------------------------------------------

footer

----------------------------------------------*/

footer{
width: 100%;
padding: 30px 0 80px;
text-align: center;
border-top: 2px solid #1bbfca;
}

#snsArea{
width: 100%;
margin: 0 auto 20px;
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.snsBtn{
background: #5cc2d0 url("../images/sns/mark_x.png") no-repeat left 10px top 50%;
background-size: auto 60%;
padding: 0 20px;
margin: 0 0 10px;
line-height: 30px;
border-radius: 15px;
text-indent: 15px;
font-size: 12px;
font-weight: 600;
}

.snsBtn a{ 
width: 100%; height: 100%;
display: block;
color: #fff;
}

#shareM{
width: 15%; line-height: 2.5em;
margin: 0 auto;
font-size: 11px;
color: #1bbfca;
font-weight: 600;
letter-spacing: 1px;
}

#sharearea{
width: 100%; height: 40px;
margin: 0 auto 20px;
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

#shareX{ background: url("../images/sns/i_x.png") no-repeat center;}
#shareLINE{ background: url("../images/sns/i_line.png") no-repeat center;}
#shareFB{ background: url("../images/sns/i_fb.png") no-repeat center;}
#shareX,#shareLINE,#shareFB{
background-size: contain;
width: 40px; height: 40px;
transition: all 0.3s ease;
text-indent: -99999px;
overflow: hidden;
margin: 0 2px;
}

#shareX a,#shareLINE a,#shareFB a{
width: 100%; height: 100%;
display: block;
}

#shareX:hover,#shareLINE:hover,#shareFB:hover{
opacity: 0.7;
cursor: pointer;
}

#copyright{
background-size: contain;
width: 100%; height: 10px;
margin: 40px auto 0;
text-align: center;
font-size: 10px;
}

#btnpagetop{
background: #1bbfca;
width: 60px; height: 60px;
line-height: 60px;
text-align: center;
position: fixed;
bottom: 7px; right: 7px;
z-index: 15;
font-size: 20px;
transition: all .3s;
border-radius: 30px;
color: #fff;
}

#btnpagetop a{
width: 100%;
height: 100%;
display: block;
text-decoration: none;
color: #fff;
}

#btnpagetop:hover{
opacity: 0.7;
cursor: pointer;
}

