
body {
  font-family: 'Noto Sans JP', sans-serif;
  overflow-x: hidden;
  color: #fff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.1em;
  background: url("../img/bg.jpg");
  background-size: contain;
}
.font-roboto {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
}
.font-mincho {
  font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.pc {
  display: block;
}
.sp {
  display: none;
}
a {
  color: #ffffff;
}
.fade-in {
  animation-name:fadeInAnime;
  animation-duration: 3s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-up {
  animation-name:fadeUpAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(7.32vw);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
strong {font-weight: bold;}

.bg-slider {
	background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment:fixed !important;
}

/* 共通タイトル */
.title-container {
  position: absolute;
  top: -5vw;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 51vw;
  height: 10vw;
  background-image: url(../img/bg-title.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.title-container .title-inner {
  text-align: center;
  color: #FFFFFF;
}
.title-container .title-inner h2 {
  font-size: 3.66vw;
}
.title-container .title-inner p {
  margin-top: 0.2vw;
  font-size: 1.32vw;
}

/* ヘッダー */
.pc-header {
  position: fixed;
  width: 100%;
  display: flex;
  height: 5.124vw;
  justify-content: space-between;
  align-items: center;
  background-color: #1C1C1C;
  box-shadow: 0 0.73vw 0.73vw 0 rgba(0,0,0,0.5);
  z-index: 100;
}
.pc-header .side-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pc-header .side-header ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 5.12vw;
}
.pc-header .side-header li {
  padding: 0 1.46vw;
}
.pc-header .side-header .globalnav li a {
  color: #fff;
  font-size: 1.46vw;
  transition: all 0.2s;
}
.pc-header .side-header .globalnav li a:hover {
  opacity: 0.4;
}
.pc-header .sns-link {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pc-header .sns-link p {
  font-size: 0.878vw;
  color: #fff;
}
.pc-header .sns-link ul {
  padding: 0 2.2vw 0 0.732vw;
}
.pc-header .sns-link ul li {
  width: 2.635vw;
  height: auto;
  padding: 0 0.658vw;
}
.pc-header .sns-link a {
  display: inline-block;
  transition: all 0.2s;
}
.pc-header .sns-link a:hover {
  opacity: 0.4;
}
.pc-header .sns-link img {
  width: 100%;
  height: auto;
}
.pc-header .langbuttons {
  width: 10%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.244vw;
  color: #fff;
  background-color: #818181;
}
.pc-header.up-move{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-7.32vw);
  }
}
.pc-header.down-move{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-7.32vw);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 言語切り替え */
.langbuttons a {
  cursor: pointer;
}
.langbuttons a:hover {
  text-decoration: underline;
}
.langbuttons a.on {
  text-decoration: underline;
}

/* メインビジュアル */
main {
  padding-top: 5.12vw;
}
.mainvisual {
  position: relative;
  background-image: url(../img/bg-mainvisual.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100vw;
  height: calc(100vh - 5.12vw);
  box-sizing: border-box;
}
.mainvisual.en {
  background-image: url(../img/bg-mainvisual_en.jpg);
}
.mainvisual .mvTitle {
  width: 38.07vw;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-delay: 2s;
}
.mainvisual .logo {
  position: absolute;
  top: 3vw;
  left: 1vw;
  width: 12vw;
  height: auto;
}
.mvLink {
  position: fixed;
  left: 2.93vw;
  bottom: 2.93vw;
}
.mvLink a {
  display: block;
  padding: 1.35vw 0;
  width: 10.98vw;
  text-align: center;
  font-size: 1.39vw;
  border-radius: 0.73vw;
  background-color: #D05A24;
}

/* お知らせ */
.news {
  padding: 5.86vw 0 ;
  background-color: #2B2B2B;
}
.l-contents .news .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0;
  width: 65.89%;
  background: none;
}
.news .title h2 {
  font-size: 2.049vw;
  color: #fff;
}
.news .title p {
  margin-top: 1.17vw;
  font-size: 1.098vw;
  color: #fff;
}
.news dl {
  width: 54.9vw;
}
.news dl dt,
.news dl dd {
  float: left;
  box-sizing: border-box;
}
.news dl dt {
  padding: 0 0 0 1.46vw;
  width: 8vw;
  clear: both;
  font-size: 1.32vw;
}
.news dl dd {
  padding: 0 3.66vw;
  width: calc(100% - 8vw);
  font-size: 1.32vw;
}
.news dl .news-item + .news-item dt,
.news dl .news-item + .news-item dd {
  border-top: 0.07vw dashed #fff;
}
.news dl .news-item dt {
  padding: 1.46vw 0 1.46vw 1.46vw;
}
.news dl .news-item:first-child dt {
  padding: 0 0 1.46vw 1.46vw;
}
.news dl .news-item dd {
  padding: 1.46vw 3.66vw;
  line-height: 1.7;
}
.news dl .news-item:first-child dd {
  padding: 0 3.66vw 1.46vw 3.66vw;
}
.news dl .news-item dd a {
  text-decoration: underline;
}

/* コンテンツラップ */
.l-contents {
  padding: 0 0 8.05vw;
}
.l-contents .inner {
  margin: 0 auto;
  padding: 10.25vw 11.27vw 8.78vw;
  width: 70.86vw;
  background-color: #170D05;
  background:rgba(0,0,0,0.7);
  box-sizing: border-box;
}
.l-contents section + section {
  margin-top: 19.77vw;
}
.l-contents section#about {
  margin-top: 12.74vw;
}
/* ABOUT */
#about h3 {
  font-size: 2.27vw;
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
}
#about h4 {
  margin-bottom: 2.93vw;
  color: #FFB100;
  font-size: 2.56vw;
}
#about .description {
  margin: 4.17vw auto 3.66vw;
  font-size: 1.46vw;
  line-height: 1.86;
  color: #fff;
}
#about .description .description-text {
  margin: 0 auto;
  width: 42.46vw;
}
#about .description p + p {
  margin-top: 6.22vw;
}
/* movie */
#about .movie-container {
  text-align: center;
  margin-top:100px;
}
#about .movie-container img {
  width: 100%;
  height: auto;
}
#about .movie-container {
  text-align: center;
}
#about .movie-container p {
  margin-top: 2.928vw;
  font-size: 0.732vw;
}
#movie {
  margin-top: -5vw;
  padding-top: 5vw;
}

/* プログラム */
#setlist {
  margin-top: -5vw;
  margin-bottom: 5vw;
  padding-top: 5vw;
  font-size: 1.76vw;
  text-align: center;
}
#setlist .setlist-list {
  margin: 0 auto 2.93vw;
}
#setlist .setlist-list li {
  margin-bottom: 1em;
}
#setlist .setlist-list span {
  display: block;
  margin-top: .5em;
  font-size: 1.32vw;
}
#setlist .note {
  font-size: 0.88vw;
}
#setlist .note li + li {
  margin-top: 1em;
}

/* スライダー */
.slider-container {
  margin-top: 8.052vw;
}
.slider-container h4 {
  font-size: 2.049vw;
  color: #fff;
  text-align: center;
}
.slider {
  margin: 2.928vw auto 0;
}
.slider img {
  width: 100%;
  height: auto;
}
.slick-prev,
.slick-next {
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  width: 3.66vw;
  height: 5.12vw;
  cursor: pointer;
  transition: all 0.2s;
  background-size: contain;
  z-index: 10;
}
.slick-prev:hover,
.slick-next:hover {
  opacity: 0.5;
}
.slick-prev {
  background-image: url(../img/arrow-slider-prev.png);
  left: -1.83vw;
}
.slick-next {
  background-image: url(../img/arrow-slider-next.png);
  right: -1.83vw;
}
.slick-dots {
  text-align:center;
  margin-top: 2.928vw;
}
.slick-dots li {
  display: inline-block;
  margin: 0 0.366vw;
}
.slick-dots button {
  color: transparent;
  schedule: none;
  width: 3.66vw;
  height: 0.292vw;
  display: block;
  background-color: #fff;
  border: none;
}
.slick-dots .slick-active button {
  background-color: #A65021;
}

/* MESSAGE */
#message .contents .message-list + .message-list {
  margin: 3.51vw auto 0;
}
#message .contents .name {
  display: block;
  margin: 0 auto;
  padding: 0.92vw 0;
  width: 46.85vw;
  background:#A65021;
  text-align: center;
  vertical-align: middle;
  font-size: 1.46vw;
}
#message .contents .text {
  margin: 3.51vw auto 0;
  width: 42.09vw;
  font-size: 1.17vw;
  line-height: 1.86;
}

/* schedule */
#schedule .live-title {
  margin-bottom: 1em;
  font-size: 4vw;
  line-height: 1.3;
  text-align: center;
  font-weight: bold;
}
#schedule .information-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 4vw;
  font-size: 2.2vw;
}
#schedule .information dt {
  margin-right: 1em;
  font-weight: bold;
}
#schedule .information dd {
  line-height: 1.6;
  text-align: center;
  font-weight: bold;
}
#schedule .information dd.en {
  font-size: 1.57vw;
}
#schedule .note {
  padding: 2.2vw;
  line-height: 2;
  border: 0.07vw solid #ffffff;
}

/* TICKET */
#ticket {
  font-size: 1.17vw;
}
#ticket a {
  color: #FFB100;
  text-decoration: underline;
}
#ticket .note {
  margin-top: 2.2vw;
  font-size: 0.95vw;
  line-height: 2;
}
#ticket dt {
  text-align: center;
  margin-bottom:1vw;
  font-weight: bold;
}
#ticket dd {
  text-align: center;
  font-size:3vw;
  margin-bottom:4vw;
  font-weight: bold;
}
#ticket .btn{
  display: block;
  padding: 3vw 1vw 3vw 1vw;
  margin: 0 auto 6vw auto;
  width: 34.7vw;
  text-align: center;
  color: #ffffff;
  background: #D23B0B;
  font-size: 1.3vw;
  position: relative;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
#ticket .btn:hover{
  background:#932A08;
}
#ticket .btn::after{
  content: '';
  border: 0;
  border-top: solid 0.15vw #fff;
  border-right: solid 0.15vw #fff;
  display: inline-block;
  width: 1.1vw;
  height: 1.1vw;
  position: absolute;
  top: 50%;
  right: 2vw;
  transform: translateY(-50%) rotate(45deg);
}
#ticket .ticket-contact ul{
  max-width: 43.92vw;
  margin:3vw auto 0 auto;
  line-height: 1.6;
}
#ticket .ticket-contact ul li{
  margin-bottom: 0.37vw;
}
#ticket h3 {
  line-height: 1.3;
  text-align: center;
}
#ticket h3.contents-title {
  margin-bottom: 3.66vw;
  padding: 1.32vw 0;
  font-size: 1.76vw;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  background: #FFB100;
}
#ticket .limited + .contents-table.performance {
  margin-top: 3.66vw;
  border-top: 1px solid #FFB100;
}
#ticket .limited + .contents-table.performance tr {
  padding: 3.66vw 0;
}
#ticket .contents-table tr {
  display: block;
  padding: 3.66vw 0;
  border-bottom: 1px solid #FFB100;
}
#ticket .contents-table tr:first-child {
  padding: 0 0 3.66vw;
}
#ticket .contents-table th {
  width: 9.88vw;
  font-size: 1.32vw;
  text-align: left;
  line-height: 1.5;
  color: #FFB100;
}
#ticket .contents-table td {
  line-height: 1.5;
}
#ticket .contents-table td .ticket-price,
#ticket .contents-table td .playguide-title {
  font-weight: bold;
  letter-spacing: 0.05em;
  font-size: 1.5vw;
}
#ticket .contents-table td .ticket-price span {
  font-size: 1vw;
}
#ticket .contents-table td .ticket-price {
  line-height: 2;
}
#ticket .contents-table td .playguide-title {
  line-height: 1.7;
}
#ticket .contactus td {
  vertical-align: middle;
}
#ticket .ticket-info-note {
  margin-top: 4.39vw;
}
#ticket .contents-table .play-guide table td {
  width: 40vw;
}
#ticket .contents-table .play-guide table td p {
  line-height: 1.7;
}
#ticket .contents-table .play-guide table td p.center {
  text-align: center;
}
#ticket .contents-table .play-guide table td p + p {
  margin-top: 1em;
}
.capcom-title {
  margin: 0.8em 0 1em;
  font-weight: bold;
  color: #A40002;
  text-align: center;
  line-height: 1.5;
  font-size: 1.8vw;
}
.capcom-title span {
  font-size: 1.4vw;
}
.capcom-description {
  margin-bottom: 1em;
}
.ticket-link {
  margin: 1.61vw 0 2.2vw;
}
.ticket-link a {
  display: inline-block;
  text-align: center;
  color: #ffffff;
  background: #FFB100;
}
#ticket .link-play-guide a {
  padding: 2.34vw 0;
  width: 30.75vw;
  line-height: 1;
  color: #ffffff;
  text-decoration: none;
  border-radius: 2.93vw;
  background-image: url(../img/arrow.svg);
  background-position: top 2.2vw right 1.24vw;
  background-repeat: no-repeat;
  background-size: 0.81vw 1.39vw;
}
.playguide-schedule {
  margin: 0.25em auto 0.5em;
  font-size: 1.76vw;
  line-height: 2;
}
.playguide-link {
  font-weight: bold;
  text-align: center;
}
.playguide-link-note,
.playguide-contact {
  font-size: 0.95vw;
  line-height: 2;
}
.playguide-link-note {
  margin-bottom: 1em;
}
.link-zaiko {
  padding: 2.93vw 0 0;
}
#ticket .link-zaiko a {
  display: block;
  margin: 0 auto;
  padding: 1.9vw 0;
  width: 22.84vw;
  font-size: 1.02vw;
  color: #ffffff;
  text-decoration: none;
  border-radius: 2.42vw;
}
.ticket-all{
  margin-top:0.5em;
}
.info {
  display: block;
  line-height: 1.5;
}
.info + .info {
  margin-top: 1.46vw;
}
.ticket-info {
  margin: 2vw auto 5vw auto;
}
.ticket-info .info + .info {
  margin-top: 1em;
}
.ticket-info .info-title {
  margin-right: 1em;
  padding-right: 3vw;
  font-size: 1.32vw;
  text-align: left;
}
.ticket-info .info-text {
  font-size: 1.02vw;
  font-weight: 500;
  line-height: 1.5;
}

#ticket h4 {
  margin: 2.93vw 0 1em;
  color: #FFB100;
  text-align: center;
  font-weight: bold;
  font-size: 1.76vw;
  letter-spacing: .15em;
}
#ticket h4 + p {
  margin-bottom: 2em;
  text-align: center;
}
#ticket .img-ticketSample {
  margin: 0 auto;
  width: 40%;
}

/* CAST */
#cast .cast-title {
  margin: 0 auto 3.51vw;
  padding: 1.46vw 0;
  width: 48.32vw;
  font-size: 1.61vw;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  background: #FFB100;
}
#cast .youtube {
  margin: 0 auto 7.32vw;
}
#cast .cast-title.capjams-title,
#cast .cast-title.guest-title {
  margin: 3.51vw auto;
}
#cast .cast-title.mc-title {
  margin: 5.71vw auto 3.51vw;
}
#cast .cast-title.mc-title,
#cast .cast-title.guest-title {
  font-size: 2vw;
}
#cast .cast-title img {
  margin-top: 1.46vw;
  width: 12.59vw;
}
#cast .capjams,
#cast .mc-detail,
#cast .guest-detail {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 3.66vw;
  width: 48.02vw;
  font-size: 0.95vw;
  line-height: 2;
}
#cast .capjams .capjams-img,
#cast .mc .mc-img,
#cast .guest .guest-img {
  flex-basis: 24.38vw;
}
#cast .capjams .capjams-text,
#cast .mc .mc-text,
#cast .guest .guest-text {
  flex-basis: 21.6vw;
}
#cast .mc .mc-text a,
#cast .guest .guest-text a {
  text-decoration: underline;
}
#cast .cast-item {
  padding: 2.2vw 0;
  text-align: center;
}
#cast .cast-item + .cast-item {
  border-top: 1px solid #FFB103;
}
#cast .cast-item .inner img {
  width: 24.89vw;
  height: auto;
}
#cast .mc-about,
#cast .guest-about {
  text-align: center;
}
#cast .cast-item .instrument,
#cast .mc .role,
#cast .guest .role {
  margin-bottom: 0.73vw;
  color: #FFB100;
  font-size: 1.68vw;
  font-weight: bold;
}
#cast .cast-item .name,
#cast .mc .name,
#cast .guest .name {
  font-size: 2.2vw;
  font-weight: bold;
}
#cast .mc .role,
#cast .mc .name,
#cast .guest .role,
#cast .guest .name {
  line-height: 1;
}
#cast .mc-about.en .name {
  margin: 0 0 2.34vw;
}
#cast .mc .job,
#cast .guest .job {
  margin: 1em 0 2.34vw;
}
#cast .cast-item .english-translation {
  font-size: 1.464vw;
  color: #fff;
}
#cast .inner-cast {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 3.51vw auto 0;
  width: 42.09vw;
}
#cast .inner-cast img {
  width: 17.57vw;
}
#cast .inner-cast .description {
  padding-left: 4.03vw;
  font-size: 0.95vw;
  line-height: 1.8;
}
#cast .notice-container {
  border: 0.219vw solid #a49453;
  border-image: linear-gradient(to right,  #a49453 0%,#ded1ab 18%,#ded1ab 50%,#ded1ab 82%,#a49453 100%);
  border-image-slice: 1;
  width: 73.2vw;
  margin: 6.588vw auto 0;
  padding: 0.366vw;
}
#cast .notice-container .inner {
  padding: 0.512vw;
}
#cast .notice-container .inner .cast-item {
  background: #a49453;
  background: -moz-linear-gradient(left,  #a49453 0%, #ded1ab 18%, #ded1ab 50%, #ded1ab 82%, #a49453 100%);
  background: -webkit-linear-gradient(left,  #a49453 0%,#ded1ab 18%,#ded1ab 50%,#ded1ab 82%,#a49453 100%);
  background: linear-gradient(to right,  #a49453 0%,#ded1ab 18%,#ded1ab 50%,#ded1ab 82%,#a49453 100%); 
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a49453', endColorstr='#a49453',GradientType=1 );
  padding: 2.196vw 0;
  text-align: center;
}
#cast .notice-container .inner .cast-item .title {
  font-size: 1.464vw;
}
#cast .notice-container .inner .cast-item .title span {
  font-size: 2.049vw;
}
#cast .notice-container .inner .cast-item .english-translation {
  font-size: 1.171vw;
}
#cast .comment {
  margin-top: 1em;
  line-height: 2;
}
#cast .commentBorder {
  padding: 1vw 1.8vw;
  border: 1px solid #ffffff;
  border-radius: 0.73vw;
}

/* Goods */
#goods .contents p {
  line-height: 1.6;
  text-align: center;
}
#goods .contents p.date {
  font-size: 2vw;
  font-weight: bold;
  margin: 30px 0 10px 0;
}
#goods .contents p.venue {
  font-size: 1.32vw;
}
#goods .contents p.copy {
  font-size: 1.2vw;
  margin: 0 0 30px 0;
  line-height: 2;
}
#goods .contents p.note {
  margin-top: 1em;
  font-size: 1vw;
}
#goods h3 {
  line-height: 1.3;
  text-align: center;
}
#goods h3.contents-title {
  padding: 0.88vw 0;
  font-size: 1.46vw;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  background: #FFB100;
}
#goods ul.goodslist{
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
#goods ul.goodslist li{
  width: 48%;
  margin-right:2%;
  margin-bottom:20px;
}
#goods ul.goodslist li:nth-child(2n){
  margin-right:0%;
}
#goods ul.goodslist li h3{
    text-align: left;
    font-size: 1.4vw;
  font-weight: bold;
    margin: 15px 0;
  text-align: center;
}
#goods ul.goodslist li .price{
    margin: 10px 0 0 0;
    font-size: 1.2vw;
}
/* #goods ul.goodslist li .goods_txt{
  font-size:1.2vw;
  margin: 10px 0;
  text-align: left;
} */
/* #goods ul.goodslist li .size{
    font-size: 1vw;
  margin: 10px 0;
} */

/* twitter */
#twitter .contents .twitter-timeline {
  margin: 0 auto;
}
#twitter .tag {
  margin-bottom: 30px;
  line-height: 1.7;
}

/* footer */
footer {
  padding: 6.59vw 0 2.2vw;
  color: #ffffff;
  background: #262626;
}
footer .company {
  text-align: center;
  line-height: 2;
}
footer .link-container {
  width: 69.83vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 7.32vw auto 0;
}
footer .link-container li {
  width: 33.82vw;
}
footer .link-container li img {
  width: 100%;
  height: auto;
}
footer .copyright {
  margin-top: 6.15vw;
  font-size: 0.878vw;
  text-align: center;
}

#page_top {
  position: fixed;
  right: 2.05vw;
  bottom: 2.05vw;
  transition: all 0.2s;
  text-align: center;
}
#page_top:hover {
  opacity: 0.5;
}
#page_top img {
  width: 6vw;
  height: auto;
}