@charset "UTF-8";
@import url(base.css);
.colGold { color: #daa93e; }

a:link, a:visited { color: #333; text-decoration: none; }

.taC { text-align: center !important; }

.taR { text-align: right !important; }

.taL { text-align: left !important; }

.ticketBtn { text-align: center; }
.ticketBtn a { display: inline-block; background: #a92b2b; color: #FFF; font-size: 20px; padding: 10px 50px; border-radius: 5px; }

@media screen and (min-width: 641px) { .sp { display: none; } }
.modalInner p { margin-bottom: 15px; }

.modalInner a { text-decoration: underline; }

/*-------------------------------------------------
	++ BASE
-------------------------------------------------*/
body { background: #FFF url("../img/bg_white.jpg") center top repeat; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; color: #231815; }

img { display: block; }

#container { margin: 0 auto; text-align: center; position: relative; min-width: 1000px; overflow-x: hidden; }

.cInner { display: block; clear: both; width: 1000px; margin: 0 auto; text-align: center; position: relative; letter-spacing: 1px; }

.csnB { position: relative; }
.csnB:after { content: ""; display: block; background: url("../img/csn.png") center top repeat-x; width: 100%; height: 110px; position: absolute; bottom: -55px; left: 0; z-index: 1; }

/*-------------------------------------------------
	++ COMMON
-------------------------------------------------*/
.section { position: relative; padding: 100px 0; }
.section .secHead { margin-bottom: 20px; }
.section .secHead h2 img { margin: 0 auto; text-align: center; }

/*-------------------------------------------------
	++ HEAD
-------------------------------------------------*/
#header { width: 100%; height: 60px; background-color: #FFF; }
#header h1 { float: left; }
#header .link { float: right; padding: 15px; margin-top: 5px; font-family: 'Arial','游ゴシック体','YuGothic','游ゴシック','Yu Gothic','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif; }
#header .link span { display: none; }
#header .link a { background-color: #9F291A; color: #FFF; font-size: 16px; padding: 5px 10px; }
#header .goods { float: right; width: 170px; border: 1px solid #CCC; margin-top: 10px;
  margin-right:10px; }
#header .goods img { width: 100%; height: auto; }

/*-------------------------------------------------
	++ MAIN
-------------------------------------------------*/
#menu { width: 100%; background: #231815; min-height: 54px; z-index: 9999; }
#menu ul { display: inline-block; margin: 0 auto; text-align: center; position: relative; font-size: 0; line-height: 0; }
#menu ul li { display: inline-block; position: relative; padding: 8px 5px 5px 5px; }
#menu ul li img { display: block; }
#menu ul li.goods { display: none; }
#menu.move { width: 100%; height: 54px; background: rgba(35, 24, 21, 0.75); position: fixed; top: 0; left: 0; }

#main { padding: 0 0 55px 0; }
#main:after { content: ""; display: block; width: 100%; height: 9px; background: url("../img/bg_white_bottom.png") center bottom repeat-x; background-size: auto 9px; position: absolute; bottom: -9px; left: 0; z-index: 1; }
#main .cInner { width: 100%; }
#main .cInner img { width: 100%; height: auto; margin: 0 auto; text-align: center; }
#main .title { margin-bottom: 55px; }
#main .mainDate .ename { font-size: 30px; line-height: 140%; position: relative; }
#main .mainDate .ename:before, #main .mainDate .ename:after { content: ""; display: inline-block; width: 62px; height: 1px; background-color: #231815; margin: 10px 20px; }
#main .mainDate .jname { font-size: 24px; }
#main .mainDate .date { font-size: 26px; }
#main .mainDate .date span { font-size: 33px; font-weight: 500; }
#main .mainDate .place { font-size: 26px; font-weight: 500; }
#main .mainDate .ticketBtn { margin-top: 50px; }

@media screen and (min-width: 1400px) { #main .cInner { width: 1400px; } }
/*-------------------------------------------------
	++ CONTENTS
-------------------------------------------------*/
#news { background: url("../img/bg_brown.jpg") center top repeat; padding-top: 140px; }
#news:before { content: ""; display: block; width: 100%; height: 93px; background: url("../img/bg_main_wave.png") center top no-repeat; position: absolute; top: 0; left: 0; }
#news .entryList { display: block; margin: 10px auto; text-align: center; background-color: #FFF; width: 800px; padding: 10px; }
#news .entryList ul li { text-align: left; padding: 10px 0; color: #231815; }
#news .entryList ul li .date { margin-right: 15px; }
#news .entryList ul li a { color: #231815; }
#news .link { margin: 30px 0 70px 0; }
#news .link a { display: inline-block; background-color: #cea319; color: #433a35; padding: 10px 30px; border-radius: 5px; }

#introOuter { padding-top: 100px; position: relative; }
#introOuter:before { content: ""; display: block; width: 100%; height: 262px; background: url("../img/intro_top.png") center top no-repeat; position: absolute; top: 0; left: 0; z-index: 1; }

#intro .text { font-size: 18px; line-height: 34px; text-align: center; }

#genesis { background: url("../img/bg_dbrown.jpg") center top repeat; color: #FFF; width: 840px; margin: 0 auto; text-align: center; padding: 40px; position: relative; z-index: 1; }
#genesis:before, #genesis:after { display: block; content: ""; width: 100%; height: 250px; position: absolute; top: 0; left: 0; z-index: 1; background: url("../img/genesis_brush.png") center top no-repeat; background-size: 100% auto; }
#genesis:after { top: auto; bottom: 0; transform: rotate(180deg); }
#genesis h2 { position: relative; z-index: 2; border-bottom: 1px solid #FFF; padding-bottom: 30px; margin-bottom: 30px; }
#genesis .genesisDetail { position: relative; z-index: 2; }
#genesis .genesisDetail .gntext { font-size: 18px; font-weight: 300; line-height: 36px; margin-bottom: 40px; }
#genesis .genesisDetail .gntext strong { text-decoration: underline; }

#story { padding: 60px 0 280px 0; }
#story .text { font-size: 18px; line-height: 34px; text-align: center; }
#story .text .lead { font-size: 20px; font-weight: 500; color: #FFF; background: url("../img/bg_brown.jpg") center top repeat; padding: 0 10px; }

#member { background: url("../img/bg_orange.jpg") center top repeat; padding-bottom: 0; }
#member .memberInner { padding-bottom: 185px; position: relative; }
#member .memberInner:after { content: ""; display: block; width: 318px; height: 209px; background: url("../img/member_bottom_light.png") center bottom no-repeat; position: absolute; bottom: -44px; right: 0; z-index: 1; }
#member:before { content: ""; display: block; width: 100%; height: 340px; background: url("../img/story_bottom.png") center bottom no-repeat; position: absolute; top: -260px; left: 0; }
#member:after { content: ""; display: block; width: 100%; height: 20px; background: url("../img/member_bottom.png") center bottom repeat-x; background-size: auto 20px; position: absolute; bottom: -10px; left: 0; z-index: 1; }

#cast { margin-bottom: 30px; }

#music { margin-bottom: 30px; }

.photoPnl { margin: 0 auto; text-align: center; }
.photoPnl ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; }
.photoPnl ul li { width: 200px; margin: 0 15px 30px 15px; }

#staff .staffList { font-size: 20px; }
#staff .staffList dl dt { width: 50%; float: left; text-align: right; padding-right: 10px; }
#staff .staffList dl dd { width: 50%; float: left; text-align: left; padding-left: 10px; }

#ticket { padding-top: 55px; background: url("../img/bg_white.jpg") center top repeat; }
#ticket .ticketWrap { margin-bottom: 40px; text-align: left; }
#ticket .ticketWrap h2 { text-align: center; margin: 0 auto 30px auto; font-size: 24px; }
#ticket .ticketWrap table { width: 100%; border: 1px solid #231815; color: #FFF; margin-bottom: 20px; }
#ticket .ticketWrap table caption { display: none; }
#ticket .ticketWrap table th, #ticket .ticketWrap table td { border: 1px solid #231815; padding: 10px; background-color: #262020; }
#ticket .ticketWrap table th { font-size: 16px; text-align: center; width: 30%; }
#ticket .ticketWrap table td.ptn { text-align: center; width: 30%; }
#ticket .ticketWrap table td.guest { text-align: left; width: 40%; }
#ticket .ticketWrap .att { margin-bottom: 10px; }
#ticket .ticketWrap .infoText { position: relative; margin-bottom: 30px; }
#ticket .ticketWrap .infoText h3 { background-color: #cea319; color: #231815; padding: 2px 10px; margin-bottom: 10px; }
#ticket .ticketWrap .infoText h3 .infospace { display: inline-block; width: 22rem; height: 1rem; }
#ticket .ticketWrap .infoText a { text-decoration: underline; }
#ticket .ticketWrap .infoText a:hover { text-decoration: none; }
#ticket .ticketWrap .infoText span { font-size: 14px; }
#ticket .ticketWrap .covidInfo { background-color: rgba(255, 255, 255, 0.25); position: relative; margin-bottom: 30px; padding: 20px; }
#ticket .ticketWrap .covidInfo h3 { margin-bottom: 10px; }
#ticket .ticketWrap .ticketBtn { margin-bottom: 30px; }
#ticket iframe { margin-top: 50px; }

#footer { background: url("../img/bg_brown.jpg") center top repeat; color: #FFF; padding-top: 30px; }
#footer .copyright { padding: 10px 0; font-size: 12px; }

/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#spCover { display: none; }

#pageTop { position: fixed; bottom: 40px; right: 40px; z-index: 9999; }

/*-------------------------------------------------
	++ SP
-------------------------------------------------*/
@media screen and (max-width: 640px) { .img100 { width: 100%; height: auto; }
  /*------------------------------------------------- ++ BASE -------------------------------------------------*/
  .pc { display: none; }
  #container { min-width: 100%; }
  .cInner { width: 100%; padding: 0 3vw; }
  .ticketBtn a { font-size: 4vw; padding: 1vw 7vw; }
  /*------------------------------------------------- ++ COMMON -------------------------------------------------*/
  .section { padding: 10vw 0; }
  .section .secHead { margin-bottom: 5vw; padding: 0 15vw; }
  /*------------------------------------------------- ++ HEAD -------------------------------------------------*/
  #header { width: 100%; height: 10vw; background-color: #FFF; position: relative; z-index: 10; }
  #header h1 { margin: 0 auto; text-align: center; width: 60%; max-height: 10vw; float: none; }
  #header h1 img { display: block; width: auto; max-height: 10vw; margin: 0 auto; text-align: center; }
  #header .link { float: none; margin-top: 0; position: absolute; top: 2.2vw; right: 2.2vw; background-color: #9F291A; color: #FFF; padding: 0.5vw; border-radius: 3px; line-height: 100%; font-family: 'Arial','游ゴシック体','YuGothic','游ゴシック','Yu Gothic','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif; }
  #header .link span, #header .link a { height: 5vw !important; padding: 0 1vw; }
  #header .link span { display: inline-block; }
  #header .link span img { display: inline-block; height: 3vw; width: auto; }
  #header .link a { display: none; color: #FFF; padding: 0 2vw; }
  #menu { width: 100%; position: fixed; top: 0; left: 0; z-index: 20; min-height: auto; }
  #menu .cInner { padding: 0; }
  #menu .menuBtn { display: block; background: url(../img/burger.png) center top no-repeat; background-size: 8vw; width: 8vw; height: 8vw; position: fixed; top: 12vw; right: 2vw; z-index: 1; }
  #menu .menuBtn.current { background: url(../img/burger_close.png) center top no-repeat; background-size: 8vw; }
  #menu ul { display: none; border-top: 1px solid #999; padding-top: 22vw; background-color: rgba(0, 0, 0, 0.9); }
  #menu ul li { width: 100%; border-bottom: 1px solid #999; }
  #menu ul li:nth-of-type(1) { border-top: 1px solid #999; }
  #menu ul li.goods { display: block; }
  #menu ul li img { display: block; margin: 0 auto; text-align: center; width: auto; height: 8vw; }
  #menu ul li a, #menu ul li span { display: block; font-family: "Arial"; color: #FFF; padding: 3vw 10vw; line-height: 1; text-shadow: 0 0 5px rgba(0, 0, 0, 0.7); }
  #menu ul li span img { opacity: 0.2; }
  #menu ul li.goods img { height: 10vw; }
  #menu.first { display: none; }
  /*------------------------------------------------- ++ MAIN -------------------------------------------------*/
  #main { padding: 0 0 7vw 0; }
  #main .cInner { padding: 0; }
  #main:after { height: 3vw; background-size: auto 3vw; bottom: -2vw; }
  #main .title { padding-top: 0; margin-bottom: 5vw; }
  #main .mainDate .ename { font-size: 5vw; position: relative; }
  #main .mainDate .ename:before, #main .mainDate .ename:after { width: 15vw; height: 1px; margin: 2vw 3vw; }
  #main .mainDate .jname { font-size: 5vw; }
  #main .mainDate .date { font-size: 5vw; }
  #main .mainDate .date span { font-size: 6vw; font-weight: 700; }
  #main .mainDate .place { font-size: 5vw; font-weight: 500; }
  #main .mainDate .ticketBtn { margin-top: 5vw; }
  /*------------------------------------------------- ++ CONTENTS -------------------------------------------------*/
  #news { padding-top: 13vw; }
  #news:before { height: 10vw; background-size: auto 10vw; top: 2vw; }
  #news .entryList { margin: 3vw auto; padding: 3vw; width: 100%; }
  #news .entryList ul li { padding: 0 0 3vw 0; color: #231815; }
  #news .entryList ul li:nth-last-of-type(1) { padding-bottom: 0; }
  #news .entryList ul li .date { margin-right: 3vw; }
  #news .link { margin: 5vw 0 10vw 0; }
  #news .link a { padding: 3vw 10vw; }
  #introOuter { padding-top: 18vw; position: relative; }
  #introOuter:before { height: 30vw; background-size: 100% auto; }
  #intro { padding-bottom: 20vw; }
  #intro .text { font-size: 3.6vw; line-height: 180%; }
  #genesis { width: 90%; margin-bottom: 10vw; padding: 8vw 5vw; }
  #genesis h2 { padding-bottom: 3vw; margin-bottom: 3vw; font-size: 5vw; }
  #genesis .genesisDetail .gntext { font-size: 3.6vw; line-height: 180%; margin-bottom: 5vw; }
  #story { padding-top: 20vw; padding-bottom: 30vw; }
  #story .text { font-size: 3.6vw; line-height: 180%; }
  #story .text .lead { font-size: 4.4vw; color: #FFF; padding: 1vw 0; line-height: 220%; }
  #member .memberInner { padding-bottom: 25vw; }
  #member .memberInner:after { width: 46vw; height: 30vw; background-size: auto 100%; bottom: -5vw; right: -12vw; }
  #member:before { height: 35vw; background-size: 100% auto; top: -27vw; }
  #member:after { height: 4vw; background-size: auto 4vw; bottom: -2vw; }
  #cast { margin-bottom: 10vw; }
  #music { margin-bottom: 10vw; }
  .photoPnl { margin: 0 auto; text-align: center; }
  .photoPnl ul li { width: 40%; margin: 0 3% 3vw 3%; }
  #staff .staffList { font-size: 4vw; }
  #staff .staffList dl dt { padding-right: 3vw; }
  #staff .staffList dl dd { padding-left: 3vw; }
  .youtube { margin-top: 10vw; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
  .youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  #ticket { padding: 5vw 3vw 3vw 3vw; }
  #ticket .ticketWrap { margin-bottom: 7vw; }
  #ticket .ticketWrap h2 { margin: 5vw auto; font-size: 3.6vw; }
  #ticket .ticketWrap table { margin-bottom: 5vw; font-size: 3.6vw; }
  #ticket .ticketWrap table caption { display: table-caption; background-color: #cea319; color: #231815; width: 100%; padding: 1vw 3vw; font-size: 3.6vw; font-weight: bold; }
  #ticket .ticketWrap table tr { border-bottom: 1px solid #e2e2e3; }
  #ticket .ticketWrap table th, #ticket .ticketWrap table td { padding: 2vw; }
  #ticket .ticketWrap table th { display: none; }
  #ticket .ticketWrap table td.ptn { display: block; width: 100%; }
  #ticket .ticketWrap table td.guest { display: block; text-align: center; width: 100%; }
  #ticket .ticketWrap .att { margin-bottom: 3vw; }
  #ticket .ticketWrap .infoText { margin-bottom: 5vw; }
  #ticket .ticketWrap .infoText h3 { background-color: #cea319; color: #231815; padding: 1vw 3vw; margin-bottom: 3vw; font-size: 3.6vw; }
  #ticket .ticketWrap .infoText span { font-size: 85%; }
  #ticket .ticketWrap .infoText.mt60 { margin-top: 5vw; }
  #ticket .ticketWrap .covidInfo { margin-bottom: 30px; padding: 3vw; font-size: 3.2vw; }
  #ticket .ticketWrap .covidInfo h3 { margin-bottom: 3vw; font-size: 3.6vw; }
  #ticket .ticketWrap .ticketBtn { margin-bottom: 5vw; }
  #ticket iframe { width: 96%; height: 70vw; margin: 0 auto; text-align: center; }
  #footer { font-size: 77%; }
  #footer .cInner { padding: 10vw 5vw 5vw 5vw; }
  #footer .copyright { padding: 3vw 0; }
  /*------------------------------------------------- ++ FOOTER -------------------------------------------------*/
  #pageTop { bottom: 5vw; right: 5vw; width: 10vw; z-index: 18; }
  #pageTop img { display: block; width: 100%; height: auto; }
  #spCover { display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 19; } }
