@charset "utf-8";
/* * { border: 1px solid red;} */
*, *: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;
}
html { background: #e9542c;}
body {
	width: 100%;
 background: #e9542c;
 color: #fff;
 /* 	font-family: "Noto Sans JP"; */
 font-family: "Reddit Sans", "新ゴ M", "Shin Go Medium", Avenir, "Helvetica neue", Helvetica, 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
 text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6 {
 margin-bottom: 0.4em;
 font-size: 1.9rem;
 font-weight: bold;
 ;
}
body p {
 margin-bottom: 1em;
 font-size: 1.1rem;
 font-weight: bold;
 font-feature-settings: "pkna";
 text-align: justify;
 letter-spacing: .06em;
}
ul li {
 font-feature-settings: "palt";
 text-align: justify;
 letter-spacing: .06em;
 font-weight: 600;
}
ul.nolist li {
 list-style: none;
}
ul.center {
 display: inline-block;
 margin: auto;
}
h4 {
 margin: 1.3em 0 .4em;
 font-size: 1.5rem;
}
small, .small { font-size: .75em;}
strong { color: #fff;}
span, small, strong, em { display: inline-block;} 

/* ==========================================
	 画像
============================================= */
img {
 max-width: 100%;
 height: auto;
}
/* ==========================================
	 リンク
============================================= */
a {
 text-decoration: none;
 overflow: hidden;
 display: inline-block;
 max-width: auto;
 vertical-align: middle;
 word-break: break-all;
}
a:link    { color: #fff100;}
a:visited { color: #fff100;}
a:hover   { filter: brightness( 104% ) contrast( 106% ) ;	}
a:active  { color: #fff100;}
a, a img, a:hover, a:hover img { transition: 0.25s;}
a.anime, a.anime:hover { transition: 0.7s;}
/* a img:hover { filter: brightness(104%) contrast(106%) saturate(100%) ;} */

/* ==========================================
	 モーダル（.remodal)
============================================= */
body .remodal {}
body .remodal-overlay { background: rgba(0, 0, 0, 0.75);}
body .remodal.ticket_ex {
 padding: 0;
 max-width: 900px;
 background: none !important;
}
body .remodal .remodal-close {
 left: auto;
 right: 0;
 color: #fff;
 font-size: 2rem;
}

/* ==========================================
	 ローディング（.loading)
============================================= */
.loading {
	background-color: #e9542c;
  opacity:1;
  position: absolute;
  width:  100%;
  height: 10000%;
  top: 0px;
  left: 0px;
  z-index: 1000000000000;
}
.hide .loading {
  opacity: 0;
  height: 300%;
  pointer-events: none;
  transition: opacity 2350ms;
}



/* ==========================================
	 汎用クラス
============================================= */

.red { color:#d00; }

.inline { display: inline !important;}
.inlineblock { display: inline-block !important;}
.center { text-align: center !important;}
.right { text-align: right !important;}
.left { text-align: left !important;}
.nowrap, .nw {
 display: inline-block;
 white-space: nowrap;
 text-indent: 0;
}
.nobr { display: none;}
.hidden,.hdn { display: none !important;}
.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}
.mt90 { margin-top: 90px !important;}
.mt100 { margin-top: 100px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb70 { margin-bottom: 70px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb100 { margin-bottom: 100px !important;}
.pt3em { padding-top: 3em;}
.pt6em { padding-top: 6em;}
.pt9em { padding-top: 9em;}
.pb1em { padding-bottom: 1em;}
.pb2em { padding-bottom: 2em;}
.pb3em { padding-bottom: 3em;}
.fs { font-size: 86% !important;}
.normal { font-weight: normal;}
.tl { text-align: left;}
.tc { text-align: center;}
.pl1em { padding-left: 1em;}
.pc { display: block;}
.sp { display: none;}
img#main { width: 100%;}
.wrap {
 width: 100%;
 max-width: 800px;
 margin: auto;
}
main#top { padding-top: 30px;}

/* ================================
	スクロールフェイド 
================================ */
.fadein,
.fadeinA,
.fadeinB,
.fadein1,
.fadein2,
.fadein3,
.fadein4,
.fadein5,
.fadein6,
.fadein7,
.fadein8 {
	opacity : 0;
	transition : opacity 2.2s;
}
.fadein.active,
.fadeinA.active,
.fadeinB.active,
.fadein1.active,
.fadein2.active,
.fadein3.active,
.fadein4.active,
.fadein5.active,
.fadein6.active,
.fadein7.active,
.fadein8.active  { opacity : 1;}
.fade {
	opacity: 0;
	transition : opacity 2.2s;
}
.fade.fade_on { opacity: 1;}



/* ================================
	menuボタン
================================ */
.menu-sp {
 display: block;
 position: fixed;
 top: 5px;
 left: 5px;
 width: 50px;
 height: 50px;
 color: #fff;
 /*background-color:rgba(0,0,0,0.6);*/
 /*background:#EE5F9F;*/
 z-index: 10000;
}
.menu-sp:hover { cursor: pointer;}

/* ================================
	section基本構造
================================ */
main {
 padding: 3vh 5vw;
 overflow: hidden;
}
section.section {
 margin: auto;
 padding: 3vh 0;
 width: 100%;
 max-width: 900px;
 text-align: center;
 overflow: hidden;
}
section.section h2.title {
 position: relative;
 display: block;
 margin: 3em auto 2.4em;
 padding: 0.9em 2em;
 min-width: 120px;
 width: 88vw;
 max-width: 400px;
 color: #0687E2;/* 背景色：#e9542c,黄色：#ece61a */
 font-size: 26px;
 font-family: "新ゴ M", "Shin Go Medium";
 background: #f6d045;/* #2ce9b7 (青緑系)　#542ce9 (青紫系) */
 border-radius: 5px;
 text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.1);
/*  filter: drop-shadow(0px 3px 3px rgba(53, 34, 11,0.3)) ; */
}
section.section h2.title:before {
 content: "";
 position: absolute;
 top: 100%;
 left: 50%;
 margin-left: -15px;
 border: 15px solid transparent;
 border-top: 15px solid #f6d045;
}
section h4 {
 text-align: left;
}
section ul {
 padding: 0 1.2em 2em;
}
section ul li {
 list-style: disc;
}
/* ボタン
-------------------------------- */
section .btn {
 margin: 2em auto;
}
.main .section .btn a,
.main .section .btn .a {
 display: inline-block;
 margin: auto;
 padding: .8em 1.5em;
 width: 90%;
 max-width: 450px;
 text-indent: 0;
 color: #fff;
 font-size: 1.5rem;
 line-height: 1.25;
 text-align: center;
 background-color: #0687E2;/* #0687E2,#27b000 */
 border-radius: 5px;
 transition: 0.5s;
}
.main .section .btn .a {
	background-color: #0687e2;
 	box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.15);
}
.main .section .btn a:link,
.main .section .btn a:visited {
 box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.15);
}
.main .section .btn a:hover {
 box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.5);
 filter: brightness( 114% ) contrast( 116% ) ;	
}
.main .section .btn a small {
	display: inline-block;
	margin-top: 0px;
	font-size: .6em;
	line-height: 1.15;
}


/* scroll_easein.js
-------------------------------- */
.scroll_easein {
 opacity: 0;
 transition: all .7s ease-in;
}
.scroll_easein.show {
 opacity: 1;
 transform: none;
}
/* ================================
	sectionチラシ (.flyer)
================================ */
section.flyer {
 padding-top: 3vh;
 width: 100%;
 max-height: calc(100vh - 60px); /* 変数をサポートしていないブラウザのフォールバック */
 max-height: calc(var(--vh, 1vh) * 100 - 60px);
}
section.flyer h1 img {
 width: auto;
 max-width: auto;
 max-height: calc(100vh - 130px); /* 変数をサポートしていないブラウザのフォールバック */
 max-height: calc(var(--vh, 1vh) * 100 - 60px);
 box-shadow : 0px 0px 5px 0px rgba(0,0,0,0.3);

 
}
/* ================================
	sectionあらすじ (.story)
================================ */
section.story {}
section.story .copy {
	margin: .5em auto;
	font-size: 1.75rem;
	text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.15);
}
section.story p {
	margin: auto;
  width: 92%;
  max-width: 700px;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.65;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.15);

}
/* section.story p span {display: inline !important;} */

section.story p.catchphrase {
	margin: .75em auto;
	font-size: 1.8rem;
	line-height: 1.25;
		font-feature-settings: "pkna"; /* （仮名や仮名関連の字形セットをプロポーショナル字形に置き換える指定） */
		font-feature-settings: "pwid"; /* （プロポーショナル字形に置き換える指定） */	
		font-feature-settings: "palt"; /* （全角の幅で設定するようにデザインされた字形のスペースを、個々の横の幅に収まるように再調整する指定） */
		text-justify: inter-word;
		word-wrap: break-word;
		letter-spacing: .075em;
}

/* ================================
	section出演 (.cast)
================================ */
section.cast {
	max-width: 1200px;
}
section.cast ul {
 display: inline-block;
 margin: auto;
 padding: 0;
 max-width: 600px;
 text-align: center;
}
section.cast ul li {
 list-style: none;
 display: inline-block;
 margin-bottom: 1em;
 padding: 7px;
 width: 49%;
 text-align: center;
}
section.cast ul li h3 {
 font-size: 1.2rem;
 font-weight: bold;
}
/* ================================
	section演出 (.enshutsu)
================================ */
section.enshutsu {
 padding: 3vh 10px;
}
section.enshutsu figure img {
 max-width: 250px;
}
section.enshutsu h3 {
 font-size: 1.35rem;
 font-weight: bold;
}
/* ================================
	sectionお客様へ (.info)
================================ */
section.info .ticket_ex img {
 margin: auto;
 width: auto;
 max-width: 300px;
}
/* ================================
	section日時 (.date)
================================ */
section.date h3 {
 margin-bottom: 2em;
 font-size: 1.7rem;
 font-weight: 600;
 text-align: center;
 line-height: 1;
}
section.date h3 span.theater {
 margin-top: .3em;
}
section.date h3 strong {
	margin: 0 .1em;
 font-size: 1.6em;
 font-weight: 600;
}
section.date h3 small {
 display: inline-block;
 margin: 0 .2em;
 width: 30px;
 height: 30px;
 line-height: 32px;
 color: #e9542c;
 font-size: 1.2rem;
 border-radius: 50%;
 /* 	border: 1px solid #111; */
 background-color: #fff;
 vertical-align: 5px;
}
/* ================================
	sectionグッズ (.goods)
================================ */
section.goods {
	max-width: 1200px;
}
section.goods a:hover img { filter: brightness(102%) contrast(102%) saturate(100%);} 
section.goods a figcaption {
	display: block;
  margin: 0 auto 30px;
  padding: .8em 2em;
  width: 90%;
  max-width: 350px;
  text-indent: 0;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  background-color: #e04a21;
  border-radius: 30px;
  transition: 0.5s;
}
section.goods a:hover figcaption {
	filter: brightness( 104% ) contrast( 106% ) ;	
}
section.goods p.tofany {
	padding-bottom: 10px;
	position: relative;
}
section.goods p.tofany::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
    border-top-width: 15px;
    border-top-style: solid;
    border-top-color: transparent;
  border-top: 15px solid #e8374a;
}


@media only screen and (max-width:767px) {
 /* ================================
	タイムテーブル
================================ */
 .main .section .tablearea {
  margin: auto;
 }
 .main .section table.timetable {
  display: inline-block;
  margin: 0 auto !important;
  padding: 0;
  min-width: 335px;
  max-width: 880px;
  height: auto;
  vertical-align: top;
  /* 	background-color: rgba(255,255,255,.4); */
 }
 .main .section table.timetable thead {
  display: flex;
  align-items: center;
  float: left;
  overflow-x: scroll;
  overflow: hidden;
  width: 25%;
 }
 .main .section table.timetable thead tr { 
	 margin: 0 ;
	 width: 100%;
	}
 .main .section table.timetable thead tr th {
  display: block;
  padding: 0 ;
  width: 100%;
  min-width: 100%;
  max-width: 100px;
  height: 35px;
  color: #fff;
  font-size: 1.3rem;
  font-weight: normal;
  text-align: center;
  line-height: 35px;
  border-bottom: 1px solid #fff;
/*
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
*/
  white-space: nowrap;
/*   vertical-align: text-top; */
 }
 .main .section table.timetable thead tr th.month {
  font-size: 1.1rem;
  line-height: 35px;
  white-space: nowrap;
 }
  .main .section table.timetable thead tr th small.month {
	  vertical-align: top ;
  }
 .main .section table.timetable thead tr th.holy { color: #fff200;}
 .main .section table.timetable thead tr th.holy small.yobi { color: #fff200;}
 .main .section table.timetable thead tr th:nth-child(1) {
/*   border-top: none; */

 }
 .main .section table.timetable thead th small.yobi {
  display: inline-block;
  margin: 0 0 0 .2em;
  height: 20px;
  line-height: 20px;
  color: #fff;
  text-align: center;
 }
 .main .section table.timetable tbody {
  display: block;
  width: 75%;
  overflow-x: auto;
  overflow: hidden;
  white-space: nowrap;
 }
 .main .section table.timetable tbody tr {
  display: inline-block;
  margin: 0;
  width: 25%;
 }
 .main .section table.timetable tbody th, .main .section table.timetable tbody td {
  display: block;
  padding: 0 ;
  width: auto;
  max-width: 100%;
  height: 35px;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 35px;
 }
 .main .section table.timetable tbody th {
	font-size: 1.2rem;
	border-bottom: 1px solid #fff;
}
 .main .section table.timetable tbody td {
  position: relative;
  border-bottom: 1px solid #fff;
  font-size: 1.4rem;
 }
.main .section table.timetable tbody td.closed { font-size: 1rem;}
.main .section table.timetable tbody td.closed span {
	display: block;
	transform: translateX(30%);
}
 .main .section table.timetable tbody td.holy {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.4;
 }
 .main .section table.timetable tbody td .fas {
  font-size: 1.7rem;
 }
 .main .section table.timetable tbody td .text {
  font-size: 1.7rem;
  font-weight: bold;
 }
 .main .section table.timetable.timetable2 {
  padding: 0 20px;
 }
 .main .section table.timetable.timetable2 tr th:first-child {
  display: none;
 }
} /* タイムテーブル */
.main .section.date .attention {
 margin-top: .5em;
 text-align: center;
}
.main .section.date .attention ul { display: inline-block;}
.main .section.date .attention ul li {
 list-style: none;
 padding-left: 1.3em;
 font-size: .85rem;
 text-indent: -1.3em;
}
.main .section.date .attention ul li:before { content: "＊ ";}


/* 追加公演(class:line4  2023.11.10) */
.main .section table.timetable.line4 thead { width: 25%;}
.main .section table.timetable.line4 tbody { width: 75%;}
.main .section table.timetable.line4 tbody tr { width: 25%;}
.main .section table.timetable.line4 tbody td.add.stage {
  color: #d00;
  font-size: 1.55rem;
}


/* ================================
	sectionアフタートーク (.aftertalk)
================================ */
section.aftertalk .text {
 font-size: 1.2rem;
 text-align: center;
}
/* ================================
	sectionチケット (.ticket)
================================ */
section.ticket .sect {
	position: relative;
	margin: 0 auto 60px;
	padding: 3vmin;
	width: 100%;
	border: 2px solid #fff;
	border-radius: 30px;
}
section.ticket .sect h3 {
	position: absolute;
	top: 0px;
	left: 50%;
	right: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: inline-block;
	width: 83%;
	max-width: 310px;
	font-size: 2.1rem;
	font-weight: bold;
	background-color: #e9542c;
}
/*
section.ticket .sect h4 {
	display: inline-block;
	margin-top: 1em;
	text-align: center;
	line-height: 1.2;
}
section.ticket .sect h4 strong {
 display: inline-block;
 margin: 0 .1em;
 font-size: 1.85em;
}
section.ticket .sect h4 span { font-size: .85em;}
section.ticket .sect h4 small { font-size: .75em;}
*/

section.ticket .sect .price-list { margin: 1.5rem auto 2.5rem;}

section.ticket .sect dl.price dt {
	display: inline-block;
	font-size: 1.5rem;
}
section.ticket .sect dl.price dt strong {
 display: inline-block;
 margin: 0 .1em;
 font-size: 1.85em;
}
section.ticket .sect dl.price dd {
	display: inline-block;
	text-align: left;
}

section.ticket ul.aster {
 display: inline-block;
 padding-bottom: 0;
 text-align: center;
}
section.ticket ul.aster li {
 margin-bottom: .4em;
 padding-left: 1em;
 text-indent: -1em;
 list-style: none;
 font-size: .9rem;
 letter-spacing: 0.075em;
 line-height: 1.3;
 text-align: left;
}
section.ticket ul.aster li:before { content: "＊";}
section.ticket ul.attention li { text-align: center;}


/* U22チケット */
.u22 { margin: 1em auto 3em;}
.u22 h4 {
	font-size: 1.5rem;
	text-align: center;
}
.u22 ul {
	margin: auto;
	padding: .65em 1.2em ; 
	width: 96%;
	max-width: 700px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.u22 ul li {
	font-size: .9rem;
}



/* 発売時期 */
section.ticket ul.saletime {
 display: inline-block;
 padding: 0 1em;
 text-align: center;
}
section.ticket ul.saletime li {
	margin-bottom: 1.5em;
	padding: 10px 16px 12px;
	list-style: none;
	text-align: center;
	background-color: rgba(255, 255, 255, .25);
	border-radius: 8px;
	text-shadow : 0px 1px 0px rgba(0,0,0,0.25);
}
section.ticket ul.saletime li .period {
 margin: 0;
 padding: .46em 1em ;
 font-size: 1.2em;
 line-height: 1.1;
 border-bottom: 1px solid #fff;
}
section.ticket ul.saletime li p {
 display: block;
 margin: 0;
 padding-top: .3em;
 font-size: 1.2rem;
 text-align: center;
 line-height: 1.15;
}
section.ticket ul.saletime li p strong {
 font-size: 1.35em;
}
section.ticket ul.saletime li p small {
 display: inline-block;
 margin: 0 -.3em;
 font-size: .75em;
 text-align: center;
}
section.ticket ul.saletime li p small:before {content: "（";}
section.ticket ul.saletime li p small:after {content: "）";}

/* 追加公演(.add) */
section.ticket ul.add.saletime li  {
	text-shadow : 1px 1px 0px rgba(0,0,0,0.15);
}


small.yobi {
 display: inline-block;
 height: 20px;
 line-height: 21px;
 font-size: .56em !important;
 text-align: center;
}

/* チケットボタン */
section.ticket .shop {
	margin: 2em auto;
}
section.ticket .shop .btn { margin: 1.5em auto;}

/* 配信 */
section.ticket .sect p span.frame {
	padding: .3em 1em .25em;
	border: 2px solid #fff;
	border-radius: 50px;
	line-height: 1.1;
}
section.ticket .sect p span.frame small.yobi {
	margin: 0 -.2em;
	font-size: .8em !important;
}
section.ticket .sect.online p.small { font-size: .85rem;}
section.ticket .sect.online p.note {
	display: inline-block;
	margin: auto;
	padding: 1.3em;
	max-width: 560px;
	text-indent: -1.3em;
	text-align: left;
}
section.ticket .sect.online p.note span {
	display: inline;
}

/* ================================
	section 劇場 (.theater)
================================ */
section.theater h3 a {display: inline-block;}
section.theater h3 a:link,
section.theater h3 a:visited { color: #fff;}
section.theater h3 a:hover { color: #ff3860;}
section.theater h3 a:active { color: #ff3860; filter: brightness( 104% ) contrast( 106% ) ;	 }

section.theater address {
 display: inline-block;
 font-size: 1.25rem;
 font-style: normal;
 font-weight: bold;
 text-align: center;
}
section.theater address a:link,
section.theater address a:visited { color: #21a0fb;}
section.theater address a:hover { color: #ff3860;}
section.theater address a:active { color: #ff3860; filter: brightness( 104% ) contrast( 106% ) ;	 }



section.theater .tel {
 text-align: center;
}
section.theater .tel small {
 font-feature-settings: "palt";
 text-align: left;
 letter-spacing: .06em;
}
section.theater .route li {
 margin-bottom: .5em;
 font-size: .9em;
 text-align: center;
}
/* ================================
	section スタッフ (.staff)
================================ */
.main .credits p {
 margin: 0 .7em .5em;
 font-size: .85rem;
 line-height: 1.7;
 text-align: center;
}
.main .credits p strong {
 display: inline-block;
 font-size: 1.2em;
 margin-right: .8em;
}
/* ================================
	section YOUTUBE (.mov)
================================ */
section.mov .movarea {
 margin: 2em auto;
 width: 90%;
 max-width: 800px;
}
section.mov .movarea .youtube {
 position: relative;
 padding-top: 56.25%;
 height: 0;
 overflow: hidden;
}
section.mov .movarea .youtube iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100% !important;
}
/* ================================
	section メンバー (.member)
================================ */
.main .member p { margin: 3vh auto 2vh;}
.main .member p strong {
 display: inline-block;
 white-space: nowrap;
 margin: 0 0.7em;
}


/* ================================
	#footer declaration (.declaration)
================================ */
section.section.declaration {
	margin-bottom: 7vh;
}
.declaration p {
	margin-bottom: .53em;
	font-size: .86rem;
	letter-spacing: 0.07em;
	text-align: center;
}


/* ================================
	footer SNSarea (.snsarea)
================================ */
footer.snsarea {
 display: none;
 position: fixed;
 left: 0;
 bottom: -70px;
 padding: 0.5em;
 width: 100%;
 text-align: center;
 background-color: rgba(0, 0, 0, 0.6);
}
footer.snsarea a.tometronz {
 display: inline-block;
 font-size: 1.3rem;
 font-weight: 600;
 border: none;
 width: 62px;
 height: 54px;
 line-height: 43px;
}
footer.snsarea a.tometronz.metronz01 {
 color: #fff;
 background-color: #ee5f9f;
}
footer.snsarea a:hover {
 filter:
  brightness(109%) /* 輝度 */
  contrast(109%) /* コントラスト */
 ;
}
.type-1 span {
 transition: all 0.3s;
 transform: rotate(0deg);
 display: block;
 width: 40px;
 height: 2px;
 border-radius: 3px;
 background: #fff;
 transition: background 0.5s;
 position: relative;
 left: 5px;
 top: 18px;
}
.type-1 .top {
 transform: translateY(-8px);
}
.type-1 .bottom {
 transform: translateY(8px);
}
.type-1.is-open .middle {
 background: rgba(255, 255, 255, 0);
}
.type-1.is-open .top {
 transform: rotate(-45deg) translateY(0px);
}
.type-1.is-open .bottom {
 transform: rotate(45deg) translateY(0px);
}
.remodal-overlay {
 background: rgba(43, 46, 56, 0.2);
}
.basic th, .basic td {
 display: block;
 word-break: break-all;
}
.remodal {
 /*background:rgba(0,0,0,0.6) !important;*/
 background: rgba(17, 54, 141, 0.9) !important;
 color: #fff !important;
}
.nav-content a {
 text-align: center;
 display: block;
 padding: 10px 0px;
 color: #fff;
 font-size: 1.15rem;
 border-bottom: 1px solid rgba(255, 255, 255, 0.55);
}
.menu-c-sp {
 margin-top: 1.1em;
 padding: 1em 0;
}
.menu-c-sp li {
 width: 33.3333333333%;
 float: left;
}
.menu-c-sp.cat li {
 width: 100%;
 font-size: 12px
}
.menu-c-sp li a {
 display: inline-block;
 width: 100%;
 padding: 6px 3px;
 border: 1px solid #ccc;
 border-radius: 0;
}
.menu-c-sp li a.active {
 background-color: #B58E1A;
 color: #fff;
}
.menu-c-sp li a.tometronz {
 height: 100%;
 min-height: 54px;
 line-height: 40px;
 font-size: 1.5rem;
 border: none;
}
.menu-c-sp li a:hover {
 filter:
  brightness(109%) /* 輝度 */
  contrast(109%) /* コントラスト */
 ;
}
.menu-c-sp li a.tometronz.metronz01 {
 color: #fff;
 background-color: #ee5f9f;
}
@media only screen and (min-width: 768px) {
.nobr { display: inline-block;}

 /* ================================
	sectionチラシ (.flyer)
================================ */
 section.flyer {
	margin: auto;
  width: 100%;
  height: auto;
  max-height: 2000px;
 }
 section.flyer h1 img {
  width: 100%;
  max-width: 1076px;
  height: auto;
  max-height: 1600px;
 }
 
 
  /* ================================
	あらすじ (.story)
================================ */
 section.story p span {display: inline-block !important;}
 
 /* ================================
	section出演 (.cast)
================================ */
 section.cast ul {
  display: inline-block;
  margin: auto;
  padding: 0;
  max-width: 1100px;
  text-align: center;
 }
 section.cast ul li {
  list-style: none;
  display: inline-block;
  margin-bottom: 1em;
  padding: 7px;
  width: calc(33% - 14px);
  text-align: center;
 }
 section.cast ul li h3 {
  font-size: 1.35rem;
  font-weight: bold;
 }
 /* ================================
	section演出 (.enshutsu)
================================ */
 section.enshutsu .column.pict {
  max-width: 320px;
 }
 
  /* ================================
	値段
================================ */
 section.ticket .sect .price-list {
	display: grid;
	justify-content: center;
	gap: 0;
}
section.ticket .sect dl.price {
  margin: 0;
	width: max-content; 
}
section.ticket .sect dl.price > div {
	display: flex;
	align-items: baseline;
	gap: 0.5em;
}
 
 /* ================================
	タイムテーブル
================================ */
 /*
section.date .tablearea {
	margin: auto;
	padding: 20px 10px;
	max-width: 600px;
	background-color: rgba(255,255,255,.5);
}
*/
 section.date .timetable {
  margin: auto;
  padding: 3vmin;
  font-size: 2rem;
 }
 section.date .timetable th, section.date .timetable td {
  width: 120px;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #fff;
/*   border-left: 1px solid #fff; */
 }
/* section.date .timetable th, section.date .timetable td:last-child { border-right: 1px solid #fff;} */
section.date .timetable thead th { vertical-align: bottom;}
section.date .timetable th {
  width: 40px;
  line-height: 1;
  font-size: 1.45rem;
  font-weight: 500;
  text-align: center;
 }
 section.date .timetable th small.yobi {
  display: block;
  margin: 0 auto;
  height: 20px;
  line-height: 20px;
  color: #fff;
  font-size: .7rem !important;
  border-radius: 50%;
 }
section.date .timetable thead th {
	padding: .2em 0;
/* 	border-top: 1px solid #fff; */
}
section.date .timetable thead th.month {
	font-size: 1.3rem;
	vertical-align: middle;
}
section.date .timetable thead tr th.holy { color: #fff200;}
section.date .timetable thead tr th.holy small.yobi { color: #fff200;}
section.date .timetable tbody th {
	padding: .25em .2em;
	font-size: 1.23rem;
}
section.date .timetable tbody td {
	font-size: 1.15rem;
	line-height: 1.7;
}
section.date .timetable tbody td.closed {
	position: relative;
	font-size: 0.92rem;
	line-height: 1;
	border-bottom: none;
}
section.date .timetable tbody td.closed span {
	position: absolute;
	display: block;
	width: 100%;
	top: 20px;
}

section.date .timetable tbody .last td.closed { border-bottom: 1px solid #fff;}
.main section.date table.timetable.line4 tbody td.add.stage { font-size: 1.85rem;}
/*
section.date .timetable tbody td:before {
	content: " ";
	border-bottom: 1px solid #111;
}
*/
 /* ================================
	sectionチケット (.ticket)
================================ */

section.ticket ul.saletime li {
	display: block;
	margin-bottom: 1em;
	padding: 5px 35px 8px;
	min-width: 500px;
	border-radius: 50px;
}
section.ticket ul.saletime li .period {
	padding: 6px 0 0;
	font-size: 1.15em;
	line-height: 1.5;
	border: none;
}
 section.ticket ul.saletime li p {
  display: block;
  margin: 0;
  padding-top: 0;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.3;
 }
section.ticket ul.saletime li p strong { font-size: 1.35em;}
section.ticket ul.saletime li.twolines .period { float: none;}
section.ticket ul.saletime li.twolines p { padding: 0;} 
 
 /* チケットボタン */
section.ticket .shop .btn { margin: 1em auto;}
 
 /* ================================
	section劇場 (.theater)
================================ */
section.theater .map { text-align: center;}

 /* ================================
	section スタッフ (.staff)
================================ */
 .main .credits p {
  display: inline-block;
  white-space: nowrap;
  margin: 0 .4em 1em;
 }
 /* ================================
	footer SNSarea (.snsarea)
================================ */
 footer.snsarea.pc {
  display: block !important;
 }
}
@media only screen and (min-width: 940px) {
 /* ================================
	sectionアフタートーク (.aftertalk)
================================ */
 section.aftertalk ul li {
  display: inline-block;
  margin-bottom: 1.7em;
  list-style: none;
  width: 33.333333%;
 }
 section.aftertalk ul li a {
  margin: 0 4%;
 }
 /* ================================
	section出演 (.cast)
================================ */
 section.cast ul {
  display: inline-block;
  margin: auto;
  padding: 0;
  max-width: 1100px;
  text-align: center;
 }
 section.cast ul li {
  list-style: none;
  display: inline-block;
  margin-bottom: 1em;
  padding: 7px;
  width: calc(25% - 14px);
  text-align: center;
 }


}
/*
@media screen and (max-width:768px){
	.pc{display:none;}
	.sp{display:block;}
	
	.wrap{
		overflow:hidden;
		padding-left:15px;
		padding-right:15px;
	}

	.mov{
		padding:2em 0;
		width:100%;
	}
	.mov iframe{
		height:300px !important;
	}
	.c-inner{
		width:100%;
	}
	.sp-c{
		text-align:center;
	}
	.pt9em{padding-top:5em;}
	.teachers{
		padding-left:0;
	}
}
*/