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: 13px;
line-height:1.8em;
letter-spacing: 0;
margin: 0;
}


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

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

.no-wrap { display: inline-block;}
.no-space{ letter-spacing: -0.1vw;}

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

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

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


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

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

main

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

#topAll{
width: 100%;
margin: 0 auto;
position: relative;
}

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

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

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

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

#roadshow{
background: url("../images/top/roadshow.png") no-repeat center;
background-size: contain;
width: 39%; height: 16.7%;
position: absolute;
top: 63%; left: 55.5%;
z-index: 2;
}

#minamiza{
background: url("../images/top/minamiza.png") no-repeat center;
background-size: contain;
width: 10%; height: 5%;
position: absolute;
top: 82%; left: 70%;
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: 380px; height: 215px;
margin: 30px 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: 340px; height: 57px;
margin: 20px auto 44px;
}


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

content

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

#content{
width: 85%; max-width: 1100px;
margin: 0 auto;
position: relative;
}

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

#about_m{
width: 100%;
padding: 30px 0 0;
text-align: center;
font-size: 20px;
font-weight: 700;
color: #000;
line-height: 1.6em;
letter-spacing: 1px;
border-top: 3px double #5cc2d0;
}

.aboutTxt{
width: 100%;
padding: 30px 0 0;
border-top: 3px double #5cc2d0;
margin-top: 30px;
}

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

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


.commentBox{
width: 1040px;
padding: 30px;
border: 3px double #5cc2d0;
text-align: left;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.commentImg{
width: 18%;
pointer-events: none;
}

.commentTxt{
width: 77%;
line-height: 1.8em;
}

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

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

ticket

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

.ticketBox{
width: 1040px;
padding: 30px;
border: 3px double #5cc2d0;
text-align: left;
position: relative;
}

.ticketBox a{ text-decoration: underline;}

.ticketNM{
font-size: 120%; 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.8;
background: #b9b9b9;
}

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

.ticketTxt{
width: 100%;
line-height: 1.8em;
font-size: 12px;
}

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


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

footer

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

footer{
width: 100%;
padding: 40px 0 50px;
text-align: center;
border-top: 2px solid #5cc2d0;
}

#snsArea{
width: 100%; height: 30px;
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 30px;
margin: 0 5px;
line-height: 30px;
border-radius: 15px;
text-indent: 15px;
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: 13px;
color: #5cc2d0;
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;
}
