@charset "UTF-8";
/****************************************

          RESET

*****************************************/
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
}
html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    line-height: 1.4;
}

* {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
article,
aside,
footer,
header,
nav,
section,
main {
    display: block;
}

* {
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: inherit;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

ol,
ul {
    list-style: none;
}

img,
video {
    max-width: 100%;
}

img {
    border-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    cont
}
[hidden] {
    display: none !important;
}

[disabled] {
    cursor: not-allowed;
}

:focus:not(:focus-visible) {
    outline: none;
}
.sr-only {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    left: -9999px;
    top: -9999px;
}
p {
    text-align: justify;
    text-justify: inter-ideograph;        
}
br.brsp {
    display:none;   
}
@media (max-width: 767px) {
br.brsp {
    display:block;   
}
}
/****************************************

          General Setting

*****************************************/
body {
	margin:0;
	padding:0;
    font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.6;
	font-weight:400;
    background: #fff; 
    background-size:100% auto;
    
	color:#000;
}
.allwrap {

    padding-top:30px;
}
img.responsiveimg {
	width:100%;
	height:auto;	
}
a {text-decoration: underline; color: #fa1e28;}
a:link {color: #fa1e28;}
a:hover {color: #000;text-decoration: none;}
a:visited {color: #fa1e28;}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

html br.clear {
	height:0px;
	clear:both;
	display: hidden;
	line-height:0;
	font-size:0px;
	zoom:1;
}
 .flex-nowrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;	    
} 
.flex-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;		
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;	           
} 
.effect-fade {
    visibility:hidden;
    transform : translate(0, 50px);
    transition : all 800ms;
}

.effect-fade.effect-scroll {
    visibility:visible;
    transform : translate(0, 0);
}
  
/* --------------------------------------------------- side menu */
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 98;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
    overflow: hidden;
    width: 60px;
    height: 100vh;
    background: none;
    background-size: 100vw 100vh;
    transition: .6s ease;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.side-open header {
	width:100%;
	background:none;
}
.l-toggle {
	position:relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 30px 0;
	width:100%;
	cursor: pointer;
	text-align:center;
	-ms-flex-flow: column nowrap;

	    flex-flow: column nowrap;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
.menu-btn span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 20px;
	height: 2px;
	background:#fff;
	transition: .6s ease;
}
.menu-btn .top {
	-ms-transform: translate(0px, -5px) rotate(0);
	    transform: translate(0px, -5px) rotate(0);
	-ms-transform-origin: center center;
	    transform-origin: center center;
}
.side-open .menu-btn .top {
	width: 22px;
	-ms-transform: translate(-2px, 0) rotate(45deg);
	    transform: translate(-2px, 0) rotate(45deg);
}
.menu-btn .middle {
	-ms-transform: translate(0px, 0px) rotate(0);
	    transform: translate(0px, 0px) rotate(0);
	-ms-transform-origin: center center;
	    transform-origin: center center;
}
.side-open .menu-btn .middle {
	width: 20px;
	-ms-transform: translate(-10px, 0px) rotate(0);
	    transform: translate(-10px, 0px) rotate(0);
	opacity:0;
}
.menu-btn .bottom {
	-ms-transform: translate(0px, 5px) rotate(0);
	    transform: translate(0px, 5px) rotate(0);
	-ms-transform-origin: center center;
	    transform-origin: center center;
}
.side-open .menu-btn .bottom {
	width: 22px;
	-ms-transform: translate(-2px, 0) rotate(-45deg);
	    transform: translate(-2px, 0) rotate(-45deg);
}
.menu {
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	height:100vh;
	background:rgba(0,0,0,.7);
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: hidden;
	opacity: 0;
	-moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;		
}
.side-open .menu-btn {
	background:none;	
}
.side-open .menu-btn span {
    background-color: #f4b3c1;
}
.side-open .menu {
	position:absolute;
	width: 30%;
	height:100vh;
	overflow-x:hidden;
	overflow-y:auto;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
	-moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;		
}

.menu ul {
	width:100vw;
	text-align:center;
	margin:60px 0;
}

.menu li {
	opacity: 0;
}
.menu li a {
	display:block;	
}

.menu li a span {
	display:block;
	text-indent:-9999px;	
}

.side-open .menu li {
	opacity: 1;
}

.side-open .menu li:nth-child(1) {
	-webkit-transition: opacity 1s ease .5s;
	transition: opacity 1s ease .5s;
}

.side-open .menu li:nth-child(2) {
	-webkit-transition: opacity 1s ease .6s;
	transition: opacity 1s ease .6s;
}

.side-open .menu li:nth-child(3) {
	-webkit-transition: opacity 1s ease .7s;
	transition: opacity 1s ease .7s;
}

.side-open .menu li:nth-child(4) {
	-webkit-transition: opacity 1s ease .8s;
	transition: opacity 1s ease .8s;
}

.side-open .menu li:nth-child(5) {
	-webkit-transition: opacity 1s ease .9s;
	transition: opacity 1s ease .9s;
}
.side-open .menu li:nth-child(6) {
	-webkit-transition: opacity 1s ease 1s;
	transition: opacity 1s ease 1s;
}
.side-open .menu li:nth-child(7) {
	-webkit-transition: opacity 1s ease 1.1s;
	transition: opacity 1s ease 1.1s;
}

.menu li a {
	display: block;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.menu li a:hover {
	color: #999;
}
.menu ul {
	width:100%;
	text-align:center;
	margin:0;
}
.menu li a, .menu li span {
	display:block;	
	margin:5px auto;
	padding:15px 0;
    font-size:2rem; 	
}
.menu li span {
    color:#555;  	
}


/* --------------------------------------------------- menu-btn */
.menu-btn {
	background:url(img/headerbg.jpg) repeat-y top left;
	background-size:100% auto;
	position: relative;
	z-index: 99;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 60px;
	height: 100vh;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-align: center;
	align-items: center;
}
.menu-btn span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    margin: 30px 20px;
    width: 20px;
    height: 2px;
    background-color: #333;
    transition: .6s ease;
	color: #fff;    
}

@-webkit-keyframes anim {
	0% {-webkit-transform:translateY(0px);transform:translateY(0px);}
	50% {-webkit-transform:translateY(-5px);transform:translateY(-5px);}
	100% {-webkit-transform:translateY(0px);transform:translateY(0px);}
}

@keyframes anim {
	0% {-webkit-transform:translateY(0px);transform:translateY(0px);}
	50% {-webkit-transform:translateY(-5px);transform:translateY(-5px);}
	100% {-webkit-transform:translateY(0px);transform:translateY(0px);}
}
h1.title {
    opacity:0; 
}
@media all and (-ms-high-contrast: none){
h1.title {
    opacity:1; 
    margin-bottom:15px;  
}    
}
nav.navpc {
	transition:all .3s;
}
nav.navpc ul {
	width:80%;
	margin:0 auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;		
}
nav.navpc ul li {
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
	padding:2rem;    
}
nav.navpc ul li a {
    color:#fa1e28;
    width:100%;
    text-align:center;
    display:block;
    font-size:2.6rem;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.1rem;
    font-family: 'Gochi Hand', cursive;
}
nav.navpc ul li a:hover {
    color:#1a85df;
}
.navpc.is-fixed {
	position:fixed;
	top:0;
	margin:0;
	padding:0;
	z-index:2;
	background:#fff;
	width:100%;
	box-shadow:0 0 3px rgba(0,0,0,.3);
}
nav.navpc.is-fixed ul {
	padding:10px 30px;	
}
nav.navpc.is-fixed ul li {
    padding:0 1.8rem;
}   
nav.navpc.is-fixed ul li a {
    font-size:2rem;
    display:block;
}
nav.navpc.is-fixed ul li a img {
    height:30px;
    width:auto;
}   
nav.navpc.is-fixed ul li span {
    font-size:1.6rem;
    display:block;    
}
.sectionbox {
	padding:30px 0 0;	
}

/* CONTENTS */
h2.heading {
    font-size:4rem;
    color:#fa1e28;
    margin:10rem 0 2.5rem;
    text-align:center;
    font-weight:700;
    letter-spacing:.1rem;
    font-family: 'Gochi Hand', cursive;
}
.section {
   height: auto;
   position:relative;
}
.section_red {
    background:#fa1e28;
}
.section_yel {
    background:#1a85df;
}
.section_red h2.heading {
    color:#fff;
}
.section_yel h2.heading {
    color:#fff;
}
img.balloon {
    position:absolute;
    z-index:1;
    top:0;
}
.balloon {
	-webkit-animation-name:balloon;
	-webkit-animation-duration:2s;
	-webkit-animation-iteration-count:infinite;
	/*-webkit-animation-direction:alternate;*/
	-webkit-animation-timing-function:ease;
	
	-moz-animation-name:balloon;
	-moz-animation-duration:2s;
	-moz-animation-iteration-count:infinite;
	/*-moz-animation-direction:alternate;*/
	-moz-animation-timing-function:ease;
}
@-webkit-keyframes balloon {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -10px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes balloon {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -10px);}
	100% {-moz-transform:translate(0, 0);}
}
.contents {
    background:#fff;
    padding:60px 60px 30px;
    border-radius:55px;
    margin:0 0 10rem 0;
    font-size:1.4rem;
}
.contents h3 {
    color:#fa1e28;
    display:block;
    font-size:1.6rem;
    margin:0 0 1rem;
    font-weight:700;
    font-feature-settings: "palt" 1;
}
.contents h3.ticketborder {
    border-top:3px dotted #fa1e28;
    padding-top:3rem;
    margin-top:3rem;
}
.contents p {
    font-weight:700;
    margin-bottom:3rem;
    font-feature-settings: "palt" 1;
    overflow-wrap: break-word;
}
.contents p.notice {
    font-size:1.2rem;
    margin:3rem 0;
    font-weight:400;
}
.contents p.btn {
    padding:3rem 0 0;
    margin:0;
    width:100%;
}
.contents p.btn a {
    display:inline-block;
    margin:0 auto;
    padding:1.5rem 6rem;
    background:#fa1e28;
    font-size:2.5rem;
    color:#fff;
    text-decoration:none;
    transition:all .3s;
    border-radius:3rem;
    border:3px solid #fa1e28;
}
.contents p.btn a:hover {
    border:3px solid #fa1e28;
    background:#fff;
    color:#fa1e28;
}
.coming {
    justify-content:center;
    align-items:center;
    font-size:2rem;
    font-family: 'Spartan', sans-serif;      
}
.castlist {
    justify-content:space-between;
    margin-bottom:30px;
}
.castlist li {
    width:calc(100% / 2 - 30px);
}  
.castlist li img {
    border-radius:3rem;
}
.castlist li h3 {
    text-align:center;
    margin:0;
}
.castlist li h3 img {
    width:80%;
    height:auto;
    margin:-6rem auto 0;
    border-radius:0;
}
footer {
    text-align:center;
    font-size:1.2rem;
    padding:30px;
}
footer a:link, footer a:visited {
    color:#fa1e28;
    text-decoration:none;
}
footer a:hover, footer a:focus {
    color:#fff;
    text-decoration:underline;
}
.onair img {
	float:right;
	width:200px;
	height:auto;
}
.onair {
	width:100%;
	border-top:1px solid #ccc;
	padding-top:15px;
	margin-top:15px;
}
.onair h3 {
	margin:.5rem 0;
	line-height:1.6;
}
@media (max-width: 1200px) {

}
@media (max-width: 1016px) {

}
@media (max-width: 992px) {

}
@media (max-width: 767px) {
.onair img {
	float:none;
	width:100%;
	margin:1rem 0;
	height:auto;
}
nav.navpc ul {
    width: 100%;
    padding: 1rem 1.5rem;    
}
nav.navpc ul li {
    width:calc(100% / 5 - 10px);
    padding:0;
}
nav.navpc ul li.sns {
    width:calc(100% / 5 / 2 - 10px);    
}
nav.navpc ul li.sns a i {
    font-size:1.6rem;
}
nav.navpc ul li a {
    font-size: 1.6rem;  
}
nav.navpc.is-fixed ul {
    padding: 1rem 1.5rem;
}
nav.navpc.is-fixed ul li {
    padding: 0;
}
nav.navpc.is-fixed ul li a {
    font-size: 2rem;  
    display:block;
}
h2.heading {
    font-size: 2.6rem;
    color: #fa1e28;
    margin: 2.5rem 0;
    text-align: center;
    font-weight: 700;
    letter-spacing: .1rem;
}
h2.heading.notice {
    font-size: 1.6rem;
}
.contents {
    background: #fff;
    padding: 30px 30px 3rem;
    border-radius: 30px;
    margin: 0 15px 5rem;
    font-size: 1.4rem;
}
.contents p.notice {
    margin: 3rem 0 0;
}
.castlist li {
    width: calc(100% / 2 - 10px);
}
.castlist {
    justify-content: space-between;
    margin-bottom: 0;
}
.contents.coming p {
    margin-bottom: 0;
}
.castlist li h3 img {
    width: 100%;
    height: auto;
    margin: -3rem auto 0;
    border-radius: 0;
}
.contents p.btn a {
    width:100%;
    display: block;
    margin: 0 auto;
    padding: 1.5rem;
    background: #fa1e28;
    font-size: 1.6rem;
    color: #fff;
    text-decoration: none;
    transition: all .3s;
    border-radius: 3rem;
    border: 3px solid #fa1e28;
}
}
/* YouTube */
.YouTube  {
    overflow: hidden;
    position: relative;
    /* paddingで高さを出している */
    height: 0;
    padding-top:30px;
    padding-bottom:56.25%;
    margin-top:0;
    border:3px solid #f8f8f8;
}
.YouTube iframe,
.YouTube object,
.YouTube embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* Google Map */
.GoogleMap {
    overflow: hidden;
    position: relative;
    margin:15px 0 0;
    /* paddingで高さを出している */
    height: 0;
    padding-bottom: 45%;
}
.GoogleMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.ticketdetail {justify-content:space-between;margin-bottom:30px;}.ticketdetail li{width:calc(100% / 3 - 15px);margin-top:30px;}.ticketdetail li a.btn {margin:15px 0 10px;}.ticketdetail li h3.ticketdetailtitle {text-align:left;font-weight:700;font-size: 1.8rem;color: #009ee6;}.ticketdetail li p{border-top:1px dotted #ccc;border-bottom:1px dotted #ccc;padding:10px 0;margin:10px 0 0;font-size:1.4rem;}.gallery {margin:60px 0 0;}ul.gallerylist{justify-content:space-between;}ul.gallerylist li {width:calc(100% / 6 - 15px);}.sectionnoborder {border:none;}
@media(max-width:1200px) {a.btn {font-size:1.6rem;}}
@media(max-width:767px) {.ticketcap span.red{display:block;}.ticketdetail li a.btn {padding:15px;margin: 10px 0 5px;}.ticketdetail li{width:100%;margin:0 0 15px;}ul.gallerylist{justify-content:center;padding:15px 15px 5px;}ul.gallerylist li {width:calc(100% / 3 - 10px);margin:0 5px 10px;}}.sectionnoborder {padding-bottom:30px;}.gallery {}

span.sold {
    text-decoration:line-through;
    color:#aaa;
}
span.red {
    color:#fa1e28;
    padding-left:.5rem;
}
.infobox {
    justify-content:space-between;
}
.left, .right {
    width:calc(100% / 2 - 15px);
}
.oversea {
    border-top:3px dotted #eee;
    padding-top:3rem;
    margin-top:3rem;
}
.ticketlist a, a.btnbnr {
    display:inline-block;
    width:300px;
    max-width:100%;
    padding:0 0 .5rem;
    border:3px solid #fa1e28;
    border-radius:20px;
    margin-right:3rem;
    background:#fa1e28;
    color:#fff;
    text-align:center;
    text-decoration:none;
}
.ticketlist a img, a.btnbnr img {
    border-radius:20px 20px 0 0;
    border:3px solid #fa1e28;
}

/* twitter */
.TwitterWidget iframe#twitter-widget-0 {
    width:100% !important;
}
.goodslist {
    justify-content:space-between;
    margin-bottom: 30px;
}
.goodslist li {
    width:100%;
}
img.notsale {
    margin-top:1rem;
}
.goodslist h3 {
    line-height:2.4rem;
}
.goodslist a.btn {
    background:#fa1e28;
    padding:1.5rem;
    text-align:center;
    display:block;
    color:#fff;
    margin-top:1.5rem;
}
@media(max-width:767px) {
.left, .right {
    width:100%;
}
.ticketlist a, a.btnbnr {
    display:inline-block;
    width:100%;
    max-width:100%;
    padding:0 0 .5rem;
    border:3px solid #fa1e28;
    border-radius:20px;
    margin-right:0;
    margin-bottom:1rem;
    background:#fa1e28;
    color:#fff;
    text-align:center;
    text-decoration:none;
}
.goodslist {
    margin-bottom: 0;
}
.goodslist li {
    width:100%;
}
img.notsale {
    width:100%;
}
}