html {
  /* viewport 375px のとき font-size 10px */
  font-size: calc(100vw * 10 / 375);
}
#wrapper {
  padding-top: 0;
  overflow-x: hidden;
}
.inner {
  margin: 0 auto;
  width: 90%;
}
/**********************************************************
 * ヘッダー
 **********************************************************/
.header_sp {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.666vw 12.66vw 12vw;
  width: 100%;
  color: #ffffff;
  overflow-y: auto;
  background: linear-gradient(0deg, #004354, #002f3b 39%, #004354);
  z-index: 10;
}
.header_sp.active {
  display: inline-block;
}
.header_sp .inner {
  text-align: center;
}
.header_sp .sns-link ul li {
  width: 9.33vw;
  height: auto;
}
.header_sp .globalnav {
  margin-top: 8vw;
}
.header_sp .globalnav li {
  padding: 5.33vw 0;
  border-top: 1px solid #D0D0D0;
}
.header_sp .globalnav li:last-of-type {
  border-bottom: 1px solid #D0D0D0;
}
.header_sp .globalnav li a {
  text-decoration: none;
  font-size: 2.0rem;
  color: #fff;
}
.header_sp .sns-link, .header_sp .sns-link ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header_sp .sns-link {
  gap: 0 4vw;
  margin-top: 8vw;
}
.header_sp .sns-link p {
  font-size: 1.1rem;
}
.header_sp .sns-link ul {
  gap: 0 4vw;
}
/* ハンバーガーメニュー */
.openbtn-container {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 11;
}
.openbtn {
  position: relative;
  width: 13.333vw;
  height: 13.333vw;
  background: linear-gradient(0deg, #004354, #002f3b 39%, #004354);
  ;
  cursor: pointer;
}
.openbtn span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 0.5333vw;
  background: #fff;
  width: 7.466vw;
}
.openbtn span:nth-of-type(1) {
  top: 4vw;
}
.openbtn span:nth-of-type(2) {
  top: 6.4vw;
}
.openbtn span:nth-of-type(3) {
  bottom: 4vw;
}
.openbtn.active span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
/* 言語切り替え */
.langbuttons {
  margin-top: 13.333vw;
}
/**********************************************************
 * キービジュアル
 **********************************************************/
.img_kv {
  width: 100%;
}
/**********************************************************
 * 概要
 **********************************************************/
#about {
  padding: 12vw 0 16vw;
}
#about .decoration_about_01 {
  top: 2.2vw;
  left: 19vw;
  width: 8vw;
}
#about .decoration_about_02 {
  top: 9vw;
  left: 4vw;
  width: 12vw;
}
#about .decoration_about_03 {
  right: 8vw;
  width: 11vw;
}
#about .decoration_about_04 {
  top: 220vw;
  right: 5vw;
  width: 11vw;
}
#about h2 {
  font-size: 2.0rem;
  margin-bottom: 5vw;
  text-align: center;
}
#about .description {
  padding: 0 10px;
  text-align: left;
}
#about .description p {
  font-size: 1.4rem;
  line-height: 2.5rem;
}
/**********************************************************
 * お知らせ
 **********************************************************/
#news {
  padding: 6vw 0;
}
#news .flex {
  flex-direction: column;
  gap: 3vw;
  padding: 0;
}
#news h2 {
  text-align: center;
}
#news h2 .en {
  font-size: 2.4rem;
}
#news h2 .ja {
  font-size: 1.2rem;
  margin-top: .5em;
}
#news dl {
  font-size: 1.3rem;
}
/**********************************************************
 * セクションタイトル共通
 **********************************************************/
.title_section {
  width: 77vw;
  height: 22vw;
  padding: 8vw 6.5vw 0;
}
.title_section .ja {
  font-size: 1.3rem;
  margin-bottom: .4em;
}
.title_section .en {
  font-size: 1.5rem;
}
/**********************************************************
 * チケット
 **********************************************************/
#ticket {
  padding: 6vw 0 6vw;
}
#ticket .box_ticket {
  padding: 4vw 6vw;
}
#ticket .price dl div dt {
  font-size: 1.8rem;
}
#ticket .price dl div dd {
  font-size: 2.2rem;
}
#ticket .price p {
  font-size: 1.3rem;
  margin-top: 1em;
}
#ticket .note_ticket {
  font-size: 1.3rem;
  margin-top: 4vw;
}
#ticket .playguide {
  width: 100%;
  margin: 4vw auto 0;
  padding: 6vw 4vw;
  border-image-slice: 60 fill;
  border-image-width: 30px;
}
#ticket .playguide .title_playguide .en {
  font-size: 2.2rem;
}
#ticket .playguide .title_playguide .ja {
  font-size: 1.3rem;
  margin-top: .8em;
}
#ticket .playguide dl {
  font-size: 1.2rem;
  margin-top: 4vw;
}
#ticket .playguide dl div {
	display: block;
}
#ticket .playguide dl div dt {
  width: 100%;
  text-align: center;
}
#ticket .playguide dl div dd {
  width: 100%;
  text-align: center;
}
#ticket .scroll {
  overflow-x: scroll;
}
#ticket .table_schedule thead th {
  text-align: left;
  font-size: 1.2rem;
  padding: .5em 1.2rem;
}
#ticket .table_schedule tbody {
  font-size: 1.2rem;
}
#ticket .table_schedule tbody th, #ticket .table_schedule tbody td {
  padding: 1rem 1.2rem;
}
/**********************************************************
 * プログラム
 **********************************************************/
#program {
  padding: 6vw 0 10vw;
}
#program .box_program {
  padding: 8vw 4vw;
}
#program .box_program dl div {
  margin-bottom: 4vw;
}
#program .box_program dl dt {
  font-size: 1.3rem;
}
#program .box_program dl dd {
  font-size: 1.2rem;
  line-height: 1.4;
}
#program .box_program p {
  font-size: 1.3rem;
}
/**********************************************************
 * キャスト
 **********************************************************/
#cast {
  padding: 6vw 0 24vw;
}
#cast .note_cast {
  font-size: 1.3rem;
}
#cast .cast_category {
  font-size: min(1.7rem, 24px);
  padding: 10px;
  margin: 20px 0 10px;
}
#cast p.name {
  font-size: min(2.2rem, 20px);
  line-height: 1.4;
}
#cast .list_cast li {
  flex-direction: column;
  align-items: center;
  gap: 3vw;
  margin-top: 12vw;
}
#cast .list_cast li .image {
  width: 50vw;
}
#cast .list_cast li .text .title_profile {
  margin-bottom: 3vw;
  padding-bottom: 3vw;
}
#cast .list_cast li .text .title_profile .en {
  font-size: 1.3rem;
}
#cast .list_cast li .text .title_profile .ja {
  font-size: 2.2rem;
  margin-top: .5em;
}
#cast .list_cast li .text p {
  font-size: 1.4rem;
  line-height: 1.75;
}
/**********************************************************
 * フッター
 **********************************************************/
footer .footer_top {
  padding: 6vw 0;
}
footer .footer_top .decoration_footer_top_01 {
  top: 1.5vw;
  left: 2vw;
  width: 8vw;
}
footer .footer_top .decoration_footer_top_02 {
  top: 19vw;
  right: 3vw;
  width: 9vw;
}
footer .footer_top p {
  font-size: 1.2rem;
	padding:0 15vw;
	text-align: left;
}
footer .footer_top p strong {
    min-height: 40px;
    display: inline-block;
}
footer .footer_top p img {
  margin: 5px 0;
  max-height: 32px;
  vertical-align: middle;
}
footer .footer_top .note_guideline {
  font-size: 0.9rem;
}
footer .footer_bottom {
  padding: 4vw 0 5vw;
}
footer .footer_bottom .logo {
  gap: 6vw;
}
footer .footer_top p img.promax {
    max-width: 80px;
}
footer .footer_bottom .logo img {
  height: 8vw;
}
footer .footer_bottom p.copyright{
  font-size: 0.9rem;
}