@charset "utf-8";

/**************** FONT ****************/

@font-face {
	font-family: 'shippori';
	src: url('fonts/shippori.eot'); /* IE9 Compat Modes */
	src: url('fonts/shippori.eot?#iefix') format('embedded-opentype'), /* eof - IE6-IE8 */
	     url('fonts/shippori.woff') format('woff'), /* woff - Modern Browsers */
	     url('fonts/shippori.ttf')  format('truetype'), /* ttf - Safari, Android, iOS */
	     url('fonts/shippori.svg#svgFontName') format('svg'); /* svg - Legacy iOS */
}
/**************** FONT ****************/
body {
	z-index: -999;
	height: 100%;
	overflow: scroll;
	
/*	background-size: auto 15.7%;*/
/*	background-image:url(../images/main/bg_top.png);*/
	}
#footer {
	    font-family: 'Anton', sans-serif;
		text-align:center;
	}

.simg{
   padding-top:10px;
   }

footer {
	text-align:center;
	 background: #f6237c;

	}
footer .bar {
	}
	
footer a {
	text-decoration:none;
	color:#000;
	}

/**************** PC ****************/

/* PC用 */


@media screen and (min-width:1030px){

/**************** BACKGROUND ****************/
.bg{
 position:relative;
 background: #f6237c;
 z-index:1;
 overflow: hidden;
 }
/**************** BACKGROUND ****************/

/**************** HEADER ****************/
#header{
 text-align:center;
 background: url(../img/back.png) no-repeat center;
 position:relative;
 width: 1080px;
 padding:50px auto;
  margin:0 auto;
 }
.main{
 margin:70px 200px 20px 0px;
 }
.logo{
 margin-top:-1100px;
 margin-left: 600px;
}
.text{
 margin-top:-150px;
 text-align: right;
 margin-right:50px;
 margin-bottom: 50px;
}
#header #sns { position:absolute; padding:0; margin-top:-65.5em; right: 35.2em; z-index:999;}
#header #sns p { float:none;  left:1.6em;}

/**************** HEADER ****************/

/**************** MENU ****************/
.navbase{
 background: url(../img/navbase.png);
 background-position: calc(50% + 46px) 0;
 width: 100%;
 text-align: center;
}
.nav{
 width: 1030px;
 text-align: center;
 margin: 0 auto; 
 
}

.navbutton{
 display: inline-block;
 text-align: center;
 margin-left:-21px;
}
.navbutton a{
 text-decoration: none;
 display: block;
 color: #000;
 }
.navbutton a:visited{
 color: #000;
}
.navbutton a:hover{
 opacity:0.5;
 }
.navbutton span{
 display: block;
 font-size: 12px;
 } 
/**************** MENU ****************/

/**************** CONTAINTS ****************/
[data-ruby] {
    position: relative;
    bottom:0.1em;
}
[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1.2em;
    left: -2em;
    right: 0;
    margin: auto;
    font-size: 0.5em;
    width:10em;
    letter-spacing: -2.5px;
}
.wrap{
 width: 100%;
 margin: 0 auto;
 text-align: center;
 
 }
.container{
 width: 1080px;
 margin: 0 auto;
 text-align:center;
 padding:50px 0;
 }
 .h1{
letter-spacing: -1px;
 font-size: 25px;
 font-weight: bold;
  color: #fff;
  text-shadow:2px 2px 0 #f6237c, -2px -2px 0 #f6237c,
              -2px 2px 0 #f6237c, 2px -2px 0 #f6237c,
              0px 2px 0 #f6237c,  0-2px 0 #f6237c,
              -2px 0 0 #f6237c, 2px 0 0 #f6237c;
               clear:both;

}

 
.intro01{
 width:1000px;
 height: 630px;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/pakuso.png) no-repeat ;
 background-position: bottom -20px left 0%;
 background-size: 40% auto;
 z-index:2;
}
.intro01::before{
position:relative;
  content:"";
border-style: solid;
border-width: 50vh 0 45vh 280vh;
border-color: transparent transparent transparent #f3ab11;
z-index:-1;
left:-50%;
top: 800px;
}

.intro01 p{
 width: 60%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 float: right;
 padding: 0.5em 1em;
    margin-top: 100px;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.intro02{
 width:1000px;
 margin: 0 auto;
 padding: 30px 0;
 height:630px;
 clear:both;
 margin-top: -190px;
  background: url(../img/cheshi.png) no-repeat ;
 background-position: bottom 0px right 0%;
 background-size: 40% auto;

}

.intro02 p{
 width: 60%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 float: left;
 padding: 0.5em 1em;
    margin-top: 70px;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.intro03{
 width:1000px;
 height: 580px;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/fanjon.png) no-repeat ;
 background-position: bottom -20px left 0%;
 background-size: 39% auto;
 margin-top:-190px;
}
.intro04{
 width:1000px;
 margin: 0 auto;
 padding: 30px 0;
 height:630px;
 clear:both;
 margin-top: -190px;
  background: url(../img/min.png) no-repeat ;
 background-position: top 30px right 0;
 background-size: 38% auto;

}

.intro04 p{
 width: 58%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 float: left;
 padding: 0.5em 1em;
    margin-top: 70px;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.intro03 p{
 width: 62%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 float: right;
 padding: 0.5em 1em;
    margin-top: 70px;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}
#story::before{
position:relative;
  content:"";
border-style: solid;
border-width: 60vh 0 85vh 280vh;
border-color: transparent transparent transparent #f3ab11;
z-index:-3;
left:-50%;
top: 400px;
}

/**************** STORY ****************/
.title{
 font-size: 30px;
 font-weight: bold;
  color: #fff;
  text-shadow:2px 2px 0 #f6237c, -2px -2px 0 #f6237c,
              -2px 2px 0 #f6237c, 2px -2px 0 #f6237c,
              0px 2px 0 #f6237c,  0-2px 0 #f6237c,
              -2px 0 0 #f6237c, 2px 0 0 #f6237c;
}

/* commonBox ------ */
.tab-box dt{
    font-size: 25px;
    font-weight: bold;
    color: #fff; 
 margin:20px auto;

    }
.tab-box dd{
    font-size: 18px;
    margin: 0px 0;
    color: #fff;
    font-weight: bold;

 }
.tab-content.buttonarea{
 width:1080px;
 padding: 0 30px;
 margin:0 auto;
}

label img{
 margin-left: -32px;
   cursor:pointer;
}
.tab-wrap{
}
.tab-box {
  clear:both;
  padding-top:30px;
  position:relative;
  z-index: 10;
  }


.tab-content {
  width: 100%;
  }

.tab-content input[type="radio"] {
  display: none;
}


.tab-content label:nth-of-type(1),
.tab-content label:nth-of-type(9){
  margin: 0 0 20px 0;
}
 

.tab-content input[type=radio]:checked + label {
  opacity: 0.5;
  }


.tab-content > .tab-box > div {
  display: none;
}

#tab1:checked ~ .tab-box > #tabView1 { display: block; }
#tab2:checked ~ .tab-box > #tabView2 { display: block; }
#tab3:checked ~ .tab-box > #tabView3 { display: block; }
#tab4:checked ~ .tab-box > #tabView4 { display: block; }
#tab5:checked ~ .tab-box > #tabView5 { display: block; }
#tab6:checked ~ .tab-box > #tabView6 { display: block; }
#tab7:checked ~ .tab-box > #tabView7 { display: block; }
#tab8:checked ~ .tab-box > #tabView8 { display: block; }
#tab9:checked ~ .tab-box > #tabView9 { display: block; }
#tab10:checked ~ .tab-box > #tabView10 { display: block; }
#tab11:checked ~ .tab-box > #tabView11 { display: block; }
#tab12:checked ~ .tab-box > #tabView12 { display: block; }
#tab13:checked ~ .tab-box > #tabView13 { display: block; }
#tab14:checked ~ .tab-box > #tabView14 { display: block; }
#tab15:checked ~ .tab-box > #tabView15 { display: block; }
#tab16:checked ~ .tab-box > #tabView16 { display: block; }
#tab17:checked ~ .tab-box > #tabView17 { display: block; }
#tab18:checked ~ .tab-box > #tabView18 { display: block; }
#tab19:checked ~ .tab-box > #tabView19 { display: block; }
#tab20:checked ~ .tab-box > #tabView20 { display: block; }

.slidwrap img{
 display: block;
 margin: 0 auto;
 width: 800px;
 padding-left:40px;
}


/**************** STORY ****************/
/**************** CHART ****************/
.chart img{
 width: 950px;
 margin-top: 30px;
 }
/**************** CHART ****************/
.cast::before{
position:relative;
  content:"";
border-style: solid;
border-width: 50vh 0 45vh 280vh;
border-color: transparent transparent transparent #f3ab11;
z-index:-3;
left:-50%;
top: 300px;
}
/**************** CAST&STAFF ****************/
.cast{
 width:1080px;
 margin: 0 auto;
 }
.cast img{
 margin:10px; 
}

.cast p{
 margin:20px auto;
 color: #2f2e2e;
 font-size: 20px;
 font-weight: bold;
}



/**************** CAST&STAFF ****************/
/**************** CONTAINTS ****************/
}  
/**************** PC ****************/

/**************** MOBILE ****************/

/* モニター幅768px以下 */

/**************** MOBILE ****************/

@media screen and (max-width:1029px), print{

/**************** BACKGROUND ****************/
.bg{
 background: #f6237c;
 z-index:1;
 text-align:center;
 overflow:hidden;
 }
 
.simg{
 width:90%;
}

/**************** BACKGROUND ****************/
.title{
 font-size: 20px;
 font-weight: bold;
  color: #fff;
  text-shadow:2px 2px 0 #f6237c, -2px -2px 0 #f6237c,
              -2px 2px 0 #f6237c, 2px -2px 0 #f6237c,
              0px 2px 0 #f6237c,  0-2px 0 #f6237c,
              -2px 0 0 #f6237c, 2px 0 0 #f6237c;
}

/**************** HEADER ****************/
#header{
 text-align:center;
 }
.main{
 width:90%;
 padding:10px;
 }

.logo{
 display: block;
 width:50%;
 margin-top:-50px;
 margin: 0 auto;

}
.text img{
 text-align: center;
 width:90%;
 margin: 0 auto;
}
.text img#zimaku{
 width:40%;
}

.schedule{
 width: 80%;
 text-align:center;
 }
#header #sns { position:absolute; padding:0; margin-top:-65.5em; right: 35.2em; z-index:999;}
#header #sns p { float:none;  left:1.6em;}

/**************** HEADER ****************/
/**************** MENU ****************/
.navbase{
 background: rgba(240,244,136,0.5);
 width: 100%;
 text-align: center;
}
.nav{
 width: 100%;
 text-align: center;
 margin: 0 auto;
}

.navbutton{
 width: 100%;
 text-align: center;
  margin: 0 auto;
 display: inline-block;
 text-align: center;
 font-size: 18px;
 font-family: "shippori";
 font-weight: bold;
 border-bottom: solid 1px #bdb76b;
}
.navbutton a{
 text-decoration: none;
 display: block;
 margin:5px 40px;
 color: #000;
 }
.navbutton a:visited{
 color: #000;
}
.navbutton a:hover{
 color: #9acd32;
 }
.navbutton span{
 display: block;
 font-size: 12px;
 } 
/**************** MENU ****************/

  
/**************** CONTAINTS ****************/

.wrap{
 width: 100%;
 margin: 0 auto;
 text-align: center;
 
 }
.container{
 width: 95%;
 margin: 0 auto;
 padding: 50px 0;
 }
.container2{
 width: 95%;
 margin: 0 auto;
 padding: 50px 0;
 }
 
 
 .h1{
margin-top: -5.0em;
letter-spacing: -1px;
 font-size: 1.5em;
 font-weight: bold;
  color: #fff;
  text-shadow:2px 2px 0 #f6237c, -2px -2px 0 #f6237c,
              -2px 2px 0 #f6237c, 2px -2px 0 #f6237c,
              0px 2px 0 #f6237c,  0-2px 0 #f6237c,
              -2px 0 0 #f6237c, 2px 0 0 #f6237c;
               clear:both;

}

.intro01::before{
  content:"";
border-style: solid;
border-width: 50vh 0 45vh 280vh;
border-color: transparent transparent transparent #f3ab11;
position:relative;
z-index: -3;
left:-50%;
top: 1000px;
}

 
.intro01{
 position:relative;
 z-index: 5;
 width:100%;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/pakuso.png) no-repeat ;
 background-position:left 50% top 10% ;
 background-size: 80%;
 margin-top:5em;
}
.intro01::before{
  content:"";
border-style: solid;
border-width: 50vh 0 45vh 280vh;
border-color: transparent transparent transparent #f3ab11;
position:relative;
z-index: -3;
left:-50%;
top: 1000px;
}

.intro01 p{
 width: 90%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 margin: 0 auto;
 padding: 0.5em 1em;
 margin-top: 90%;
 font-weight: bold;
 background: #c2089d;
 border: solid 3px #fff;/*線*/
 border-radius: 10px;/*角の丸み*/
 z-index:5;
}
.intro02{
position:relative;
 z-index:50;

 width:100%;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/cheshi.png) no-repeat ;
 background-position:left 50% top 10% ;
 background-size: 80%;
position:relative;
 z-index:50;
 margin-top:5em;
}
.intro02 p{
 width: 90%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 margin: 0 auto;
 padding: 0.5em 1em;
    margin-top: 90%;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
         z-index:5;

    border-radius: 10px;/*角の丸み*/
}
.intro03{
 width:100%;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/fanjon.png) no-repeat ;
 background-position:left 50% top 10% ;
 background-size: 80%;
 z-index:5;
 margin-top:5em;
}

.intro03 p{
 width: 90%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 margin: 0 auto;
 padding: 0.5em 1em;
    margin-top: 93%;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}

.intro04{
 width:100%;
 margin: 0 auto;
 padding: 30px 0;
 background: url(../img/min.png) no-repeat ;
 background-position:left 50% top 0% ;
 background-size: 80%;
 z-index:2;
 margin-top:5em;
}

.intro04 p{
 width: 90%;
 font-size: 16px;
 color: #fff;
 text-align: center;
 margin: 0 auto;
 padding: 0.5em 1em;
    margin-top: 90%;
    font-weight: bold;
    background: #c2089d;
    border: solid 3px #fff;/*線*/
    border-radius: 10px;/*角の丸み*/
}

#story{
position:relative;
z-index: 50;
}

#story::before{
position:relative;
z-index: 1;
  content:"";
border-style: solid;
border-width: 60vh 0 85vh 280vh;
border-color: transparent transparent transparent #f3ab11;
z-index:-3;
left:-50%;
top: 400px;
}


/**************** STORY ****************/

/* commonBox ------ */
.tab-box dt{
    font-size: 18px;
    font-weight: bold;
    color: #fff; 
 margin:20px auto;

    }
.tab-box dd{
   color:#fff;
   font-weight:bold;
    font-size: 14px;
    margin: 10px auto;
 }
.tab-content.buttonarea{
 width:100%;
 margin:0 auto;
}
.tab-wrap{
 padding-bottom:100px;

}
.tab-box {
  clear:both;
  padding-top:30px;
  }

.tab-content {
  width: 100%;
  }

.tab-content input[type="radio"] {
  display: none;
}

.tab-content label:nth-of-type(1),
.tab-content label:nth-of-type(9){
  margin: 0 0 20px 0;
}
 

.tab-content input[type=radio]:checked + label {
  opacity: 0.5;
  }


.tab-content > .tab-box > div {
  display: none;
}

#tab1:checked ~ .tab-box > #tabView1 { display: block; }
#tab2:checked ~ .tab-box > #tabView2 { display: block; }
#tab3:checked ~ .tab-box > #tabView3 { display: block; }
#tab4:checked ~ .tab-box > #tabView4 { display: block; }
#tab5:checked ~ .tab-box > #tabView5 { display: block; }
#tab6:checked ~ .tab-box > #tabView6 { display: block; }
#tab7:checked ~ .tab-box > #tabView7 { display: block; }
#tab8:checked ~ .tab-box > #tabView8 { display: block; }
#tab9:checked ~ .tab-box > #tabView9 { display: block; }
#tab10:checked ~ .tab-box > #tabView10 { display: block; }
#tab11:checked ~ .tab-box > #tabView11 { display: block; }
#tab12:checked ~ .tab-box > #tabView12 { display: block; }
#tab13:checked ~ .tab-box > #tabView13 { display: block; }
#tab14:checked ~ .tab-box > #tabView14 { display: block; }
#tab15:checked ~ .tab-box > #tabView15 { display: block; }
#tab16:checked ~ .tab-box > #tabView16 { display: block; }
#tab17:checked ~ .tab-box > #tabView17 { display: block; }
#tab18:checked ~ .tab-box > #tabView18 { display: block; }
#tab19:checked ~ .tab-box > #tabView19 { display: block; }
#tab20:checked ~ .tab-box > #tabView20 { display: block; }
.swiper-slide img{
 display: block;
 margin: 0 auto;
}
.swiper-wrapper{
 width:100%;
 margin: 0 auto;
}

.tab-wrap{
  width: 100%;
  margin-bottom:-50px;
}
.tab-box dl{
  width: 90%;
  margin:20px auto 20px auto ;
}
.swiper-wrapper{
  width: 100%;
}
.swiper-wrapper img{
  width: 100%;

}

.tab-content label:nth-of-type(1),
.tab-content label:nth-of-type(5),
.tab-content label:nth-of-type(9),
.tab-content label:nth-of-type(13){
  margin: 0 0 10px 20px;
}
.slidwrap img{
 display: block;
 margin: 0 auto;
 width:100%;
 padding-left:0px;
}
/**************** STORY ****************/

/**************** CHART ****************/
.chart{
 position:relative;
 z-index: 50;
}

.chart img{
 width: 100%;
 margin-top: 30px;
 }
/**************** CHART ****************/

/**************** CAST&STAFF ****************/
.cast{
 width:100%;
 padding:10px;
 }
.cast img{
 width:90%;
 margin: 10px auto;
 }

.cast p{
 margin:10px auto;
 color: #2f2e2e;
 font-size: 15px;
 font-weight: bold;
}
#cast{
 position:relative;
 z-index: 5;
}

#cast::before{
position:relative;
  content:"";
border-style: solid;
border-width: 50vh 0 45vh 280vh;
border-color: transparent transparent transparent #f3ab11;
z-index:-1;
left:-50%;
top: 300px;
}
/**************** CAST&STAFF ****************/

}  

