html {
   font-size: 15px;
   height: 100%;
   min-height: 100%;
   width: 100%;
}

body {
   background: #13155b;
   color: #fff;
   font-family: ReplicaNormal, "Noto Sans JP", "ヒラギノ角ゴシック",
      "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
   font-size: 1rem;
   font-weight: 400;
   height: 100%;
   line-height: 1.7;
   overflow-x: hidden;
   position: relative;
   width: 100%;
}

main,
section,
article,
div {
   position: relative;
}

*,
*:before,
*:after {
   box-sizing: border-box;
   scroll-behavior: unset;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd {
   margin: 0;
   padding: 0;
}

a {
   color: inherit;
   text-decoration: none;
}

a:focus {
   outline: none;
}

ul,
ol,
li {
   list-style: none;
}

button {
   background: transparent;
   border: none;
   cursor: pointer;
   padding: 0;
}

dt {
   font-weight: normal;
}

em {
   font-style: normal;
}

.dn {
   display: none;
}

img {
   display: block;
   height: auto;
   object-fit: contain;
   width: 100%;
}

.is-pc {
   display: block;
}

.is-tb {
   display: none;
}

.is-sp {
   display: none;
}

/*=================
汎用
=================*/
.flex {
   display: flex;
}
/* 後で直す */
.relative {
   position: relative;
}
/* リストのアイコン */
ul.c-attention li {
   padding-left: 1rem;
}
ul.c-attention li:before {
   content: "※";
   display: inline-block;
   width: 1rem;
   margin-left: -1rem;
}

.s-staff_inner {
   padding-left: 20vw;
}

/* 協賛と協力の画像 */
.s-staff_more_kyousan-img {
   height: 40px;
   width: auto;
   padding-right: 36px;
}
.s-staff_more_kyouryoku-img {
   height: 40px;
   width: auto;
}
.c-ai_base {
   display: flex;
   align-items: baseline;
}
.s-schedule_tokyo_more button {
   width: 260px;
}
/* アイコンの配置 */
.s-introduction_story {
   position: relative;
}
/* 一般発売日アイコン */
.s-ticket_heading_release {
   width: 273px;
   position: absolute;
   right: 145px;
   top: 46px;
}
/* PC中 1081px~1280px */
@media screen and (max-width: 1280px) {
   /* 一般発売日アイコン */
   .s-ticket_heading_release {
      width: 273px;
      position: absolute;
      right: 50px;
      top: 46px;
   }
}

/* PC小 836px~1080px */
@media screen and (max-width: 1080px) {
   .s-staff_inner {
      padding-left: 15vw;
   }
   .s-ticket_heading_release {
      right: 0px;
   }
}

/* PCのみ */
@media screen and (min-width: 836px) {
   .c-inner {
      /* background-color: rgb(8, 53, 53); 後で消す */
      width: 80vw;
      margin-left: auto;
      margin-right: auto;
   }
   .c-headingTitle {
      font-size: 2.7rem;
      line-height: 48px;
      color: #fff100;
      text-align: center;
      padding-top: 100px; /* 仮 */
   }
   .pc_flex {
      display: flex;
   }
   /* イントロダクション */
   .s-introduction_story_heading {
      font-size: 2.1rem;
      color: #fff100;
      text-align: center;
      padding-top: 176px;
      position: relative;
      z-index: 50;
   }
   .s-introduction_story_heading-icon {
      width: 100px;
      position: absolute;
      left: -15px;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      z-index: 10;
      top: 107px;
   }
   .s-introduction_story_description {
      font-size: 1.3rem;
      text-align: center;
      line-height: 40px;
      margin-top: 26px;
      margin-bottom: 120px;
   }
   .s-introduction_about {
      width: 680px;
      margin-left: auto;
      margin-right: auto;
      align-items: center;
   }

   .s-introduction_about_heading {
      font-size: 1.4rem;
      color: #fff100;
      position: absolute;
      left: 20px;
      top: 58px;
      z-index: 50;
   }
   .s-introduction_about_heading-icon {
      width: 128px;
      z-index: 10;
   }
   .s-introduction_about_detail {
      padding-left: 8px;
      line-height: 24px;
   }

   /* スタッフ */
   .s-staff_heading {
      font-size: 2.7rem;
      text-align: center;
      color: #fff100;
      padding-top: 100px; /* 仮 */
   }
   .s-staff_description {
      padding-top: 46px;
      line-height: 30px;
      padding-bottom: 50px;
   }
   .s-staff_detail {
      line-height: 20px;
   }
   .s-staff_kansyu {
      padding-top: 50px;
      padding-bottom: 23px;
   }

   /* スケジュール */
   .c-scheduleIcon {
      width: 60px;
   }
   .s-schedule_tokyo {
      padding-top: 61px;
      width: 40vw;
      min-width: 420px;
      margin-left: auto;
      margin-right: auto;
   }
   .s-schedule_hyogo {
      width: 40vw;
      min-width: 420px;
      margin-left: auto;
      margin-right: auto;
   }
   .s-schedule_tokyo_heading,
   .s-schedule_hyogo_heading {
      margin-left: -106px;
   }
   .s-schedule_tokyo_heading_title,
   .s-schedule_hyogo_heading_title {
      font-size: 1.4rem;
      color: #fff100;
      margin-left: -1vw;
   }
   .s-schedule_tokyo_period,
   .s-schedule_hyogo_period {
      font-size: 1.5rem;
      /* letter-spacing: 5px;  フォント変えたら解消される？spには記述なし*/
      padding-top: 50px;
      padding-bottom: 30px;
   }
   .s-schedule_tokyo_period span,
   .s-schedule_hyogo_period span {
      font-size: 2.7rem;
   }
   .s-schedule_tokyo_location_theater,
   .s-schedule_hyogo_location_theater {
      font-size: 2.1rem;
      padding-top: 10px;
      padding-bottom: 37px;
   }
   .s-schedule_hyogo_location_theater img {
      width: 358px;
   }
   .s-schedule_tokyo_location_access,
   .s-schedule_hyogo_location_access {
      font-weight: bold;
      padding-top: 37px;
      padding-bottom: 5px;
   }
   .s-schedule_tokyo_more,
   .s-schedule_hyogo_more {
      padding-top: 30px;
      padding-bottom: 50px;
   }
   .s-schedule_tokyo_more button {
      margin-right: 15px;
   }
   .s-schedule_tokyo_timetable {
      width: 56vw;
   }
   .s-schedule_hyogo_timetable {
      width: 40vw;
   }
   .s-schedule_tokyo_attention li,
   .s-schedule_hyogo_attention li {
      padding-top: 6px;
   }
   .s-schedule_tokyo_attention li:first-child,
   .s-schedule_hyogo_attention li:first-child {
      padding-top: 24px;
   }

   /* チケット */
   .s-ticket {
      /* font-size: 0.86rem; */
   }
   .s-ticket_heading_title {
      padding-top: 200px;
   }
   .s-ticket_heading_detail {
      font-weight: bold;
      text-align: center;
      line-height: 19px;
      padding-top: 5px;
   }
   .s-ticket_heading_price {
      font-size: 1.6rem;
      font-weight: bold;
      justify-content: center;
      padding-top: 110px;
   }
   .s-ticket_heading_price span {
      font-size: 2.4rem;
      font-weight: bold;
   }
   .s-ticket_heading_price_adult {
      padding-right: 87px;
   }
   .s-ticket_heading_attention {
      padding-top: 30px;
      padding-bottom: 100px;
      width: 40vw;
      min-width: 420px;
      margin-left: auto;
      margin-right: auto;
   }

   .c-ticket_subject {
      width: 40vw;
      min-width: 420px;
      margin-left: auto;
      margin-right: auto;
      /* margin-left: 20vw;
      margin-right: 20vw; */
   }
   /* .s-ticket_handling {
      margin-top: 100px;
   }
   .s-ticket_info {
      margin-top: 70px;
   }
 */
   .c-ticketIcon {
      width: 50px;
   }
   .c-ticketItem {
      margin-left: -106px;
   }

   .c-ticketHeadword {
      font-size: 1.4rem;
      color: #fff100;
   }

   .s-ticket_handling_pc_flex {
      display: flex;
      flex-wrap: wrap;
   }
   .s-ticket_handling_subtitle {
      font-size: 1.6rem;
   }
   .s-ticket_handling_pc_flex {
      align-items: baseline;
      padding-top: 40px;
      padding-bottom: 26px;
   }
   .s-ticket_handling_detail {
      font-size: 1.2rem;
   }
   .s-ticket_handling_detail span {
      font-size: 0.86rem;
   }
   .s-ticket_handling_url {
      font-size: 1.2rem;
      padding-bottom: 30px;
   }
   .s-ticket_handling_attention li {
      padding-bottom: 5px;
   }
   .s-ticket_info,
   .s-ticket_resale,
   .s-ticket_precautions {
      padding-top: 100px; /* 仮 */
   }
   .s-ticket_contact_heading {
      padding-top: 70px;
      padding-bottom: 45px;
   }
   .s-ticket_contact_description_pc_flex {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      line-height: normal;
      padding-bottom: 48px;
   }
   .s-ticket_contact_description_pc_flex_name {
      font-size: 1.4rem;
      padding-right: 50px;
   }
   .s-ticket_contact_description_pc_flex_tel {
      font-size: 1.2rem;
   }
   .s-ticket_contact_important,
   .s-ticket_contact_fryer {
      width: 400px;
   }
   .s-ticket_contact_important {
      padding-bottom: 45px;
   }
}

/* 以下SP */
/* タブレット〜モバイル大 481px~835px */
@media screen and (max-width: 835px) {
   .is-pc {
      display: none;
   }

   .is-tb {
      display: block;
   }
   .is-sp {
      display: block;
   }

   .c-inner {
      /* background-color: rgb(2, 21, 50); 後で消す */
      width: 420px;
      margin-left: auto;
      margin-right: auto;
   }

   .c-headingTitle {
      font-size: 1.4rem;
      line-height: 24px;
      color: #fff100;
      text-align: center;
      padding-top: 100px; /* 仮 */
   }
   /* イントロダクション */
   .s-introduction_story_heading {
      font-size: 1.1rem;
      color: #fff100;
      text-align: center;
      padding-top: 100px;
      position: relative;
      z-index: 50;
      padding-bottom: 30px;
   }
   .s-introduction_story_heading-icon {
      width: 80px;
      position: absolute;
      left: -15px;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      z-index: 10;
      top: 37px;
   }

   .s-introduction_story_description {
      font-size: 1rem;
      text-align: center;
      line-height: 28px;
      margin-top: 30px;
      margin-bottom: 100px;
   }
   .s-introduction_about {
      align-items: flex-start;
      width: 100%;
   }

   .s-introduction_about_heading {
      font-size: 1.1rem;
      color: #fff100;
      position: absolute;
      left: 5px;
      top: 25px;
      z-index: 50;
   }
   .s-introduction_about_heading-icon {
      width: 70px;
      z-index: 10;
   }
   .s-introduction_about_detail {
      padding-left: 8px;
      font-size: 0.86rem;
      line-height: 19px;
   }

   /* スタッフ */
   .s-staff {
      font-size: 0.86rem;
   }
   .s-staff_inner {
      padding-left: 0;
   }
   .s-staff_heading {
      font-size: 1.4rem;
      text-align: center;
      color: #fff100;
      padding-top: 100px; /* 仮 */
   }
   .s-staff_description {
      padding-top: 58px;
      line-height: 24px;
      padding-bottom: 30px;
   }
   .s-staff_detail {
      line-height: 21px;
   }
   .s-staff_kansyu {
      padding-top: 30px;
      padding-bottom: 20px;
   }
   .s-staff_more_kyouryoku {
      padding-top: 20px;
   }

   /* スケジュール */
   .c-scheduleIcon {
      width: 40px;
      position: absolute;
      bottom: 7px;
      left: -40px;
      top: -20px;
   }
   .s-schedule_tokyo,
   .s-schedule_hyogo {
      width: 78.4vw;
      max-width: 340px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 71px;
   }
   .s-schedule_tokyo_heading_title,
   .s-schedule_hyogo_heading_title {
      color: #fff100;
      margin-left: -1vw;
   }

   .s-schedule_tokyo_period,
   .s-schedule_hyogo_period {
      padding-top: 25px;
      padding-bottom: 20px;
   }

   .s-schedule_tokyo_period span,
   .s-schedule_hyogo_period span {
      font-size: 1.4rem;
   }
   .s-schedule_tokyo_location_theater,
   .s-schedule_hyogo_location_theater {
      font-size: 1.5rem;
      padding-top: 5px;
      padding-bottom: 36px;
   }
   .s-schedule_hyogo_location_theater img {
      width: 280px;
   }

   .s-schedule_tokyo_location_add,
   .s-schedule_hyogo_location_add,
   .s-schedule_tokyo_location_train,
   .s-schedule_hyogo_location_train {
      font-size: 0.86rem;
   }
   .s-schedule_tokyo_location_access,
   .s-schedule_hyogo_location_access {
      font-size: 0.86rem;
      padding-top: 36px;
      padding-bottom: 5px;
   }
   .s-schedule_tokyo_more,
   .s-schedule_hyogo_more {
      padding-top: 18px;
      padding-bottom: 50px;
   }
   .s-schedule_tokyo_more button,
   .s-schedule_hyogo_more button {
      display: block;
      margin-bottom: 18px;
   }
   .s-schedule_tokyo_timetable {
      width: 90%;
   }
   .s-schedule_hyogo_timetable {
      width: 86%;
   }
   .s-schedule_tokyo_attention li,
   .s-schedule_hyogo_attention li {
      padding-top: 5px;
   }
   .s-schedule_tokyo_attention li:first-child,
   .s-schedule_hyogo_attention li:first-child {
      padding-top: 25px;
   }

   /* チケット */
   .s-ticket {
      font-size: 0.73rem;
   }
   .s-ticket_heading_title {
      padding-top: 100px;
   }
   .s-ticket_heading_detail {
      font-size: 0.66rem;
      font-weight: bold;
      text-align: center;
      line-height: 15px;
   }
   .s-ticket_heading_release {
      width: 125px;
      position: absolute;
      right: 0px;
      top: 90px;
   }
   .s-ticket_heading_price {
      font-size: 1rem;
      font-weight: bold;
      text-align: center;
      padding-top: 65px;
   }
   .s-ticket_heading_price span {
      font-size: 1.5rem;
   }
   .s-ticket_heading_attention {
      padding-top: 25px;
      padding-bottom: 24px;
      width: 78.4vw;
      max-width: 340px;
      margin-left: auto;
      margin-right: auto;
   }
   .c-ticket_subject {
      width: 78.4vw;
      max-width: 340px;
      margin-left: auto;
      margin-right: auto;
      /* margin-left: 20vw;
      margin-right: 20vw; */
   }

   .c-ticketIcon {
      width: 35px;
   }
   .c-ticketItem {
      margin-left: -40px;
   }
   .c-ticketHeadword {
      font-size: 1rem;
      color: #fff100;
   }
   .s-ticket_handling_subtitle {
      font-size: 1.2rem;
      padding-bottom: 5px;
   }
   .s-ticket_handling_pc_flex {
      padding-top: 25px;
      padding-bottom: 10px;
   }
   .s-ticket_handling_detail {
      font-size: 1rem;
   }
   .s-ticket_handling_detail span {
      font-size: 0.73rem;
   }
   .s-ticket_handling_url {
      font-size: 1rem;
      padding-bottom: 25px;
   }
   .s-ticket_handling_attention li {
      padding-bottom: 4px;
   }
   .s-ticket_info,
   .s-ticket_resale,
   .s-ticket_precautions {
      padding-top: 100px; /* 仮 */
   }
   .s-ticket_contact_heading {
      padding-top: 36px;
      padding-bottom: 25px;
   }
   .s-ticket_contact_description_pc_flex_name {
      font-size: 1.2rem;
      line-height: normal;
   }
   .s-ticket_contact_description_pc_flex_tel {
      font-size: 1rem;
      line-height: normal;
      padding-top: 25px;
      padding-bottom: 25px;
   }
   .s-ticket_contact_description_pc_flex_tel span {
      font-size: 0.66rem;
   }
   .s-ticket_contact_important,
   .s-ticket_contact_fryer {
      width: 76vw;
      max-width: 285px;
   }
   .s-ticket_contact_important {
      padding-bottom: 30px;
   }
}

/* モバイル 375px~480px */
@media screen and (max-width: 480px) {
}

/* モバイル小（最小320px） ~480px */
@media screen and (max-width: 480px) {
   .s-introduction_story_description {
      font-size: 0.9rem;
   }
   .c-inner {
      width: 95vw;
      max-width: 420px;
   }
   .c-scheduleIcon {
      left: -8.45vw;
   }

   .s-schedule_tokyo,
   .s-schedule_hyogo {
      margin-left: 8.3vw;
   }
   .s-ticket_heading_release {
      width: 100px;
   }
   .c-ticketItem {
      margin-left: -7vw;
   }
}
