/* hide
------------------------------------------------*/
.sp_hide {
  display: block !important;
}
@media (max-width: 950px) {
  .sp_hide {
    display: none !important;
  }
}

.pc_hide {
  display: none !important;
}
@media (max-width: 950px) {
  .pc_hide {
    display: block !important;
  }
}

/* color import setting
------------------------------------*/
/* color setting
------------------------------------*/
/* main visual setting
------------------------------------*/
#mainVisual {
  position: relative;
  background-image: url("../../img/bg_main_pc.webp");
  background-position: calc(50% - 385px) 0;
  background-size: auto 100%;
  background-repeat: repeat-x;
  width: 100%;
  max-height: 1110px;
  max-height: 1245px;

}
#mainVisual::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 19px;
}
#mainVisual .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  padding: 150px 0 160px;
  width: 76.667%;
  max-width: 1150px;
}
#mainVisual .inner h1 {
  width: 48.695%;
  max-width: 560px;
}
#mainVisual .inner h1 figure {
  display: block;
  margin: 0;
  width: 90.178%;
  max-width: 505px;
}
#mainVisual .inner > picture {
  width: 43.478%;
  max-width: 500px;
}
#mainVisual .inner p {
  background: #0b0c16;
  margin: 40px auto 0;
  padding: 20px 25px;
  width: 90.434%;
  line-height: 1.5;
  word-break: break-all;
  font-weight: 500;
  font-family: "Noto Sans Serif", serif;
  font-size: 19px;
  color: #fff;
}
#mainVisual .inner p strong {
  display: block;
  padding: 15px 0 0;
  text-align: right;
  font-size: 120%;
}

/* introduction setting
------------------------------------*/
#introduction {
  position: relative;
  background: #111;
}
#introduction::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 19px;
}
#introduction #movieIntro {
  background: url("../../img/bg_movie_pc.webp") center bottom/cover no-repeat;
  width: 100%;
}
#introduction #movieIntro iframe {
  display: block;
  margin: 0 auto;
  padding: 130px 0 0;
  width: 960px;
  height: 540px;
}
#introduction .inner {
  margin: 0 auto;
  padding: 100px 0 135px;
  width: 70.833%;
  max-width: 1020px;
}
#introduction .inner h2 {
  margin: 0 auto 60px;
  width: 53.235%;
}
#introduction .inner p {
  margin: 0 0 60px;
  word-break: break-all;
  line-height: 1.8;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#introduction .inner article {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  background: #292929;
  padding: 60px 2.45% 25px 4.901%;
  padding: 40px 2.45% 0px 4.901%;
}
#introduction .inner article p {
   margin: 0 0 45px;
}

#introduction .inner article h3 {
  margin: 0 0 30px;
  width: 100%;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 30px;
}
#introduction .inner article figure {
  margin: -100px 0 0;
  margin: 0px 0 0;
  width: 25.4%;
}
#introduction .inner article p {
  word-break: break-all;
  width: 72.6%;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: 16px;
}

/* cast setting
------------------------------------*/
#cast {
  position: relative;
  background: url("../../img/bg_cast_pc.webp") center 0/cover no-repeat;
  padding: 160px 0 350px;
  width: 100%;
}
#cast::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: url("../../img/img_cont-end-parts.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 439px;
}
#cast .inner {
  margin: 0 auto;
  width: 83.333%;
  max-width: 1200px;
}
#cast .inner h2 {
  margin: 0 auto 60px;
  width: 15.333%;
}
#cast .inner > ul > li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 45px 0;
}
#cast .inner > ul > li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/100% 100% no-repeat;
  width: 100%;
  height: 10px;
}
#cast .inner > ul > li h3 {
  width: 22.5%;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: 900;
  font-size: 24px;
}
#cast .inner > ul > li h3 figure {
  display: block;
  margin: 0 0 20px;
  aspect-ratio: 3 / 4;
}
#cast .inner > ul > li h3 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
#cast .inner > ul > li h3 small {
  font-size: 20px;
}
#cast .inner > ul > li ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 50px;
  width: 71.667%;
}
#cast .inner > ul > li ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0;
  width: 50%;
}
#cast .inner > ul > li ul li figure {
  display: block;
  width: 37.2%;
  aspect-ratio: 3 / 4;
}
#cast .inner > ul > li ul li figure img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
#cast .inner > ul > li ul li article {
  display: block;
  width: 58.3%;
}
#cast .inner > ul > li ul li article h4 {
  margin: 10px 0 25px;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 24px;
}
#cast .inner > ul > li ul li article h4 small {
  display: block;
  margin: 10px 0 0;
  font-size: 12px;
}
#cast .inner > ul > li ul li article dl dt {
  border-radius: 12px;
  background: #fff;
  margin: 0 0 10px;
  width: 78px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  font-weight: 700;
  font-size: 14px;
  color: #1b2382;
}
#cast .inner > ul > li ul li article dl dd table th {
  display: inline-block;
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 22px;
}
#cast .inner > ul > li ul li article dl dd table td.dayOfWeek {
  padding: 0 10px 10px 0;
  font-size: 12px;
}
#cast .inner > ul > li ul li article dl dd table td.dayAndNight span {
  display: inline-block;
  box-sizing: border-box;
  border-radius: 2px;
  border: 1px solid #fff;
  margin: -5px 10px 10px 0;
  width: 22px;
  height: 22px;
  line-height: 20px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
}
#cast .inner #ensembleCast {
  margin: 0 auto;
  width: 62.5%;
  margin-bottom: 40px;

}
#cast .inner #ensembleCast h2 {
  margin: 0 auto 80px;
  width: 39.067%;
}
#cast .inner #ensembleCast ul {
  display: flex;
  justify-content: center;
}
#cast .inner #ensembleCast ul li {
  margin: 0 6%;
  margin: 0 3%;
  margin: 0 0;
  width: 21.333%;
  margin-right: 7%;
  text-align: center;
}
#cast .inner #ensembleCast ul .ensembleCast_last {
  margin-right: 0;
}

#cast .inner #ensembleCast ul li picture {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin: 0 15%;
  margin: 0 0;

}
#cast .inner #ensembleCast ul li picture img {
  width: 100%;
  height: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}
#cast .inner #ensembleCast ul li p {
  margin: 10px 0 0;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 24px;
  width: 130%;
  width: 100%;
}
#cast .inner #ensembleCast ul li p small {
  margin: 10px 0 0;
  font-size: 12px;
}
/* story setting
------------------------------------*/
#story {
  position: relative;
  background: #111;
  padding: 50px 0 70px;
  width: 100%;
}
#story .inner {
  margin: 0 auto;
  width: 83.333%;
  max-width: 1200px;
}
#story .inner h2 {
  margin: 0 auto 60px;
  width: 18.25%;
}
#story .inner article {
  display: flex;
  justify-content: space-between;
  margin: 0 0 80px;
}
#story .inner article p {
  margin: 0 0 0 5%;
  width: 56.667%;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-size: 20px;
}
#story .inner article p span {
  text-decoration: line-through;
  text-decoration-thickness: from-font;

}

#story .inner article figure {
  width: 31.667%;
  aspect-ratio: 38 / 37;
}
#story .inner article figure img {
  width: 100%;
  object-fit: cover;
  object-position: center;
}
#story .inner article + article {
  flex-flow: row-reverse;
  margin: 0 0 80px;
}
#story .inner article + article p {
  margin: 0 5% 0 0;
}
#story .inner article + article figure {
  aspect-ratio: 38 / 33;
}

/* schedule setting
------------------------------------*/
#schedule {
  position: relative;
  background: url("../../img/bg_schedule.webp") center 0/100% auto no-repeat;
  padding: 150px 0 180px;
  width: 100%;
}
#schedule::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 19px;
}
#schedule .inner {
  margin: 0 auto;
  width: 72%;
  max-width: 1080px;
}
#schedule .inner h2 {
  margin: 0 auto 60px;
  width: 25%;
}
#schedule .inner #scheduleTable {
  margin: 0 0 170px;
}
#schedule .inner #scheduleTable table {
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%;
  text-align: center;
  font-size: 18px;
}
#schedule .inner #scheduleTable table caption {
  margin: 15px 0 0;
  caption-side: bottom;
  text-align: left;
  font-size: 14px;
}
#schedule .inner #scheduleTable table thead tr th {
  position: relative;
  padding: 0 0 10px;
  line-height: 1.2;
  vertical-align: middle;
  letter-spacing: 0.05em;
}
#schedule .inner #scheduleTable table thead tr th:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -2px;
  background: #292929;
  width: 2px;
  height: 100%;
}
#schedule .inner #scheduleTable table thead tr th small {
  font-size: 14px;
}
#schedule .inner #scheduleTable table tbody tr th {
  background: rgba(255, 255, 255, 0.2);
  padding: 20px 0;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
#schedule .inner #scheduleTable table tbody tr th p {
  display: flex;
  justify-content: center;
}
#schedule .inner #scheduleTable table tbody tr th p em {
  display: block;
  width: 120px;
  text-align: left;
}
#schedule .inner #scheduleTable table tbody tr th p em small {
  font-size: 14px;
}
#schedule .inner #scheduleTable table tbody tr th p strong {
  display: block;
  width: 70px;
}
#schedule .inner #scheduleTable table tbody tr td {
  background: rgba(255, 255, 255, 0.2);
  padding: 20px 0;
  width: 14.5%;
}
#schedule .inner #scheduleTable table tbody tr:nth-child(2n) th {
  background: rgba(255, 255, 255, 0.1);
}
#schedule .inner #scheduleTable table tbody tr:nth-child(2n) td {
  background: rgba(255, 255, 255, 0.1);
}
#schedule .inner article {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#schedule .inner article h3 {
  margin: 0 0 80px;
  width: 100%;
  text-align: center;
}
#schedule .inner article h3 img {
  width: 10.74%;
}
#schedule .inner article iframe {
  width: 48.148%;
  aspect-ratio: 520 / 340;
}
#schedule .inner article p {
  width: 46.296%;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 18px;
}
#schedule .inner article p em {
  display: block;
  margin: 0 0 20px;
  font-weight: 900;
  font-size: 28px;
}
#schedule .inner article p a {
  position: relative;
  display: block;
  box-sizing: border-box;
  background: #c80015;
  border-radius: 20px;
  margin: 30px 0 0;
  padding: 0 10px 0 0;
  width: 145px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  font-size: 16px;
}
#schedule .inner article p a::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 42%;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 4px;
  height: 4px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ticket setting
------------------------------------*/
#ticket {
  position: relative;
  background: url("../../img/bg_ticket_pc.webp") center 0/cover no-repeat;
  padding: 150px 0 130px;
  width: 100%;
}
#ticket::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 19px;
}
#ticket .inner {
  margin: 0 auto;
  width: 83.333%;
  max-width: 1200px;
}
#ticket .inner #ticketInfo {
  position: relative;
  margin: 0 0 110px;
  margin: 0 0 0px;
  padding: 0 0 110px;
}
#ticket .inner #ticketInfo::after {
  content: "";
  display: block;
  display: none;
  position: absolute;
  bottom: -5px;
  left: 0;
  z-index: 1;
  background: url("../../img/line_pc.webp") 0 0/100% 100% no-repeat;
  width: 100%;
  height: 10px;
}
#ticket .inner #ticketInfo h2 {
  margin: 0 auto 60px;
  width: 23.667%;
}
#ticket .inner #ticketInfo dl {
  display: flex;
  align-items: baseline;
  margin: 0 auto;
  width: 77.5%;
}
#ticket .inner #ticketInfo dl dt {
  box-sizing: border-box;
  padding: 0 0 0 3.225%;
  width: 23.655%;
  letter-spacing: 0.05em;
  font-size: 20px;
}
#ticket .inner #ticketInfo dl dd {
  width: 76.345%;
  font-size: 36px;
  letter-spacing: 0.1em;
}
#ticket .inner #ticketInfo dl dd span {
  font-size: 20px;
}
#ticket .inner #ticketInfo dl dd small {
  font-size: 16px;
}
#ticket .inner #ticketInfo dl + dl {
  border-top: 1px solid #fff;
  margin: 35px auto 40px;
  padding: 30px 0 0;
}
#ticket .inner #ticketInfo dl + dl dd ul li {
  margin: 0 0 10px;
  margin: 0 0 25px;
  letter-spacing: 0.07em;
  font-size: 24px;
  line-height: normal;
}
#ticket .inner #ticketInfo dl + dl dd ul li em {
  position: relative;
  top: -3px;
  display: inline-block;
  border: 1px solid #555;
  margin: 0 10px 0 0;
  width: 70px;
  height: 25px;
  line-height: 23px;
  text-align: center;
  letter-spacing: 0.02em;
  font-size: 14px;
}
#ticket .inner #ticketInfo dl + dl dd ul li span {
  font-size: 18px;
}
#ticket .inner #ticketInfo dl + dl dd ul li small {
  font-size: 16px;
}
#ticket .inner #ticketInfo article {
  box-sizing: border-box;
  background: #0b0c16;
  margin: 0 auto;
  padding: 30px 3.225%;
  width: 77.5%;
}
#ticket .inner #ticketInfo article h3 {
  position: relative;
  margin: 0 auto 20px;
  width: 38%;
  text-align: center;
  line-height: 20px;
  font-size: 20px;
}
#ticket .inner #ticketInfo article h3::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 0;
  display: block;
  background: #555;
  width: 100%;
  height: 1px;
}
#ticket .inner #ticketInfo article h3 span {
  position: relative;
  z-index: 1;
  display: inline-block;
  background: #0b0c16;
  padding: 0 20px;
  letter-spacing: 0.05em;
}
#ticket .inner #ticketInfo article p {
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-size: 14px;
}
#ticket .inner #ticketInfo ul li a {
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.7);
  background: #c80015;
  border-radius: 40px;
  margin: 60px auto 0;
  padding: 0 15px 0 0;
  width: 400px;
  height: 80px;
  line-height: 76px;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#ticket .inner #ticketInfo ul li a::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 42%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#ticket .inner #streamingTicketInfo h2 {
  margin: 0 auto 60px;
  width: 31.75%;
}
#ticket .inner #streamingTicketInfo > ul {
  margin: 0 auto;
  width: 86.667%;
}
#ticket .inner #streamingTicketInfo > ul > li {
  background: rgba(0, 0, 0, 0.5);
  margin: 0 0 55px;
}
#ticket .inner #streamingTicketInfo > ul > li h3 {
  background: #fff;
  margin: 0 0 30px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 24px;
  color: #1b2382;
}
#ticket .inner #streamingTicketInfo > ul > li h4 {
  margin: 0 0 20px;
  text-align: center;
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 44px;
  color: #fff;
}
#ticket .inner #streamingTicketInfo > ul > li h4 span {
  font-size: 20px;
}
#ticket .inner #streamingTicketInfo > ul > li h4 small {
  font-size: 24px;
}
#ticket .inner #streamingTicketInfo > ul > li ul {
  margin: 0 auto;
  padding: 0 0 55px;
  width: 89.423%;
}
#ticket .inner #streamingTicketInfo > ul > li ul li {
  display: flex;
  margin: 0 0 30px;
  padding: 24px 0 0;
  letter-spacing: 0.07em;
  font-weight: 700;
  font-size: 24px;
}
#ticket .inner #streamingTicketInfo > ul > li ul li:not(:last-child) {
  border-top: 1px solid #555;
}
#ticket .inner #streamingTicketInfo > ul > li ul li em {
  display: block;
  margin: 0 0 0 2.688%;
  width: 25.268%;
  line-height: 1.8;
  font-size: 20px;
}
#ticket .inner #streamingTicketInfo > ul > li ul li p {
  width: 71.5%;
  line-height: 1.5;
}
#ticket .inner #streamingTicketInfo > ul > li ul li p span {
  font-size: 20px;
}
#ticket .inner #streamingTicketInfo > ul > li ul li p small {
  font-size: 16px;
}
#ticket .inner #streamingTicketInfo > ul > li ul li a {
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.7);
  background: #c80015;
  border-radius: 40px;
  margin: 0 auto;
  padding: 0 15px 0 0;
  width: 400px;
  height: 80px;
  line-height: 76px;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#ticket .inner #streamingTicketInfo > ul > li ul li a::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 42%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* goods setting
------------------------------------*/
#goods {
  position: relative;
  padding: 160px 0 150px;
  width: 100%;
}
#goods::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  background: url("../../img/img_cont-end-parts2.webp") 0 0/cover no-repeat;
  width: 100%;
  height: 439px;
}
#goods .inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 83.333%;
  max-width: 1200px;
}
#goods .inner h2 {
  margin: 0 auto 60px;
  width: 19.416%;
}
#goods .inner ul > li {
  display: flex;
  justify-content: space-between;
  margin: 0 0 55px;
}
#goods .inner ul > li figure {
  width: 33.3%;
}
#goods .inner ul > li article {
  position: relative;
  width: 63.3%;
}
#goods .inner ul > li article h3 {
  border-bottom: 1px solid #555;
  margin: 0 0 20px;
  padding: 20px 0;
  letter-spacing: 0.08em;
  font-weight: 900;
  font-size: 24px;
}
#goods .inner ul > li article em {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  background: #1b2382;
  padding: 0 20px;
  height: 50px;
  line-height: 50px;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#goods .inner ul > li article em span {
  font-size: 18px;
}
#goods .inner ul > li article em small {
  font-size: 14px;
}
#goods .inner ul > li article p {
  width: 71.5%;
  line-height: 1.8;
  font-size: 16px;
  color: #999;
}
#goods .inner ul > li a {
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.7);
  background: #c80015;
  border-radius: 40px;
  margin: 0 auto;
  padding: 0 15px 0 0;
  width: 400px;
  height: 80px;
  line-height: 76px;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#goods .inner ul > li a::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 42%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* others setting
------------------------------------*/
#others {
  position: relative;
  background: #1b2382 url("../../img/bg_other_pc.webp") center bottom/100% auto no-repeat;
  padding: 0 0 150px;
  width: 100%;
}
#others .inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 69.033%;
  max-width: 1020px;
}
#others .inner > p {
  margin: 0 auto 150px;
  width: 450px;
  line-height: 2.0;
  letter-spacing: 0.05em;
  font-size: 16px;
}

#others .inner .staff_title{
    font-size: 18px;
    text-align: center;
    margin: 0 auto 10px;
}
#others .inner .staff_title_top{
    padding-top: 80px;
}
#others .inner .original_text{
    font-size: 30px;
    text-align: center;
    width: 800px;
    width: 80%;
    margin: 0 auto 80px;
    line-height: 50px;
}
#others .inner .original_text span{
    font-size: 18px;
}


#others .inner .staff_text{
    font-size: 30px;
    text-align: center;
    width: 800px;
    width: 80%;
    margin: 0 auto 80px;
}
#others .inner .staff_text2{
    font-size: 18px;
    text-align: center;
    width: 800px;
    width: 80%;
    margin: 0 auto 80px;
}

#others .inner .staff_text_last{
    padding-bottom: 80px;
}
#others .inner .original {
  padding-top: 80px;
  margin: 0px auto 45px;
  width: 19.2%;
}
#others .inner .staff {
  margin: 0 auto 50px;
  width: 20.8%;
}

#others .inner #guideline {
  margin: 0 auto 150px;
}
#others .inner #guideline h2 {
  margin: 0 auto 60px;
  width: 28.627%;
}
#others .inner #guideline article {
  box-sizing: border-box;
  background: #0b0c16;
  margin: 0 0 60px;
  padding: 35px 40px 40px;
  height: 400px;
  overflow: scroll;
  white-space: nowrap;
}
#others .inner #guideline article p {
  margin: 0 0 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-size: 14px;
}
#others .inner #guideline ul li a {
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.7);
  background: #c80015;
  border-radius: 40px;
  margin: 0 auto;
  padding: 10px 15px 0 0;
  width: 400px;
  height: 80px;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#others .inner #guideline ul li a::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 42%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


#others .inner #guideline article h3{
  font-size: 14px;
  line-height: 1.8;
}

#others .inner #guideline article ul{
  margin: 0 0px 30px 7px;
  list-style: square;
  padding-left: 17px;
}

#others .inner #guideline article ul li {
  margin: 0 0 0;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-size: 14px;
}


#others .inner #sponsor {
  margin: 0 auto 150px;
}
#others .inner #sponsor h2 {
  margin: 0 auto 60px;
  width: 22.941%;
}
#others .inner #sponsor ul {
  display: flex;
  justify-content: center;
}
#others .inner #sponsor ul li {
  margin: 0 1.47%;
  width: 24.509%;
}
#others .inner #organizer {
  margin: 0 auto 150px;
}
#others .inner #organizer h2 {
  margin: 0 auto 60px;
  width: 11.764%;
}
#others .inner #organizer ul {
  display: flex;
  justify-content: center;
}
#others .inner #organizer ul li {
  margin: 0 1.47%;
  width: 24.509%;
}
#others .inner #contact h2 {
  margin: 0 auto 60px;
  width: 28.529%;
}
#others .inner #contact ul li a {
  position: relative;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.7);
  background: #c80015;
  border-radius: 40px;
  margin: 0 auto;
  padding: 0 15px 0 0;
  width: 400px;
  height: 80px;
  line-height: 76px;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 24px;
}
#others .inner #contact ul li a::after {
  content: '';
  position: absolute;
  right: 30px;
  top: 42%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#others .inner #contact .contact_title{
  font-size: 30px;
  text-align: center;
  margin-bottom: 30px;
}
#others .inner #contact .contact_text{
  font-size: 15px;
  text-align: center;
  margin-bottom: 60px;
  text-align: left;
  line-height: normal;
}
#others .inner #contact .contact_note{
  margin: 0 auto;
  width: 300px;
}
#others .inner #contact .contact_img{
  width: 300px;
  margin: 0 auto;
  margin-bottom: 10px;
}

@media screen and (max-width: 960px) {
  #introduction #movieIntro iframe {
    padding: 20vw 0 0;
    width: 92vw;
    height: 52vw;
  }
}


/* ------------------------------------------------------------------------
	Ajustment For Small PC Window 
------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------
	Ajustment For Smart Phone 
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* main visual setting
  ------------------------------------*/
  #mainVisual {
    position: relative;
    background: url("../../img/bg_main_sp.webp") center center/cover no-repeat;
    width: 100%;
    max-height: inherit;
  }
  #mainVisual::before {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #mainVisual .inner {
    padding: 13.0666667vw 0 20vw;
    width: 100%;
  }
  #mainVisual .inner h1 {
    margin: 0 auto;
    width: 81.466667vw;
    max-width: 81.466667vw;
  }
  #mainVisual .inner p {
    box-sizing: border-box;
    margin: 8vw auto 0;
    padding: 3.7333vw 4.6666667vw;
    width: 86.666667vw;
    line-height: 1.8;
    font-size: 3.2vw;
  }
  #mainVisual .inner p strong {
    padding: 15px 0 0;
  }

  /* introduction setting
  ------------------------------------*/
  #introduction {
    position: relative;
    background: #111;
  }
  #introduction::before {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #introduction #movieIntro iframe {
    padding: 20vw 0 0;
    width: 92vw;
    height: 52vw;
  }
  #introduction .inner {
    padding: 25.333333vw 0 16vw;
    width: 86.666667vw;
  }
  #introduction .inner h2 {
    margin: 0 auto 8.6666667vw;
    width: 72.4vw;
  }
  #introduction .inner p {
    margin: 0 0 8.6666667vw;
    font-size: 3.733333vw;
  }
  #introduction .inner article {
    display: block;
    padding: 9.2vw 4.6666667vw 6.6666667vw;
  }
  #introduction .inner article h3 {
    margin: 0 0 4vw;
    text-align: center;
    font-size: 4.8vw;
  }
  #introduction .inner article figure {
    margin: 0 auto 6.6666667vw;
    width: 53.333333vw;
  }
  #introduction .inner article p {
    margin: 0;
    width: 100%;
    font-size: 2.933333vw;
  }

  /* cast setting
  ------------------------------------*/
  #cast {
    background: url("../../img/bg_cast_sp.webp") center 0/cover no-repeat;
    padding: 20vw 0 24vw;
    padding: 20vw 0 44vw;
  }
  #cast::after {
    bottom: -0.2666667vw;
    background: url("../../img/img_cont-end-parts.webp") 0 0/100% 100% no-repeat;
    height: 58.533333vw;
  }
  #cast .inner {
    width: 92vw;
  }
  #cast .inner h2 {
    margin: 0 auto;
    width: 30vw;
  }
  #cast .inner > ul > li {
    display: block;
    padding: 12vw 0 8vw;
  }
  #cast .inner > ul > li:not(:last-child)::after {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #cast .inner > ul > li h3 {
    margin: 0 0 12vw;
    width: 100%;
    font-size: 6.4vw;
  }
  #cast .inner > ul > li h3 figure {
    margin: 0 auto 2.666667vw;
    width: 48vw;
  }
  #cast .inner > ul > li h3 small {
    font-size: 4.8vw;
  }
  #cast .inner > ul > li ul {
    display: block;
    margin: 0 auto;
    width: 86.666667vw;
  }
  #cast .inner > ul > li ul li {
    margin: 0 0 4vw;
    width: 100%;
  }
  #cast .inner > ul > li ul li figure {
    width: 32vw;
  }
  #cast .inner > ul > li ul li article {
    width: 49.333333vw;
  }
  #cast .inner > ul > li ul li article h4 {
    margin: 1.2vw 0 5.2vw;
    font-size: 5.3333333vw;
  }
  #cast .inner > ul > li ul li article h4 small {
    margin: 2.4vw 0 0;
    font-size: 3.2vw;
  }
  #cast .inner > ul > li ul li article dl dt {
    border-radius: 2.666667vw;
    margin: 0 0 2.666667vw;
    width: 17.333333vw;
    height: 5.3333333vw;
    line-height: 5.3333333vw;
    font-size: 3.2vw;
  }
  #cast .inner > ul > li ul li article dl dd table th {
    margin: 0 0 3.2vw;
    font-size: 4.8vw;
  }
  #cast .inner > ul > li ul li article dl dd table td.dayOfWeek {
    padding: 0 4vw 3.2vw 0;
    font-size: 2.666667vw;
  }
  #cast .inner > ul > li ul li article dl dd table td.dayAndNight span {
    border-radius: 0.5333333vw;
    border: 0.26667vw solid #fff;
    margin: -1.3333333vw 2.666667vw 2.666667vw 0;
    width: 4.8vw;
    height: 4.8vw;
    line-height: 4.2666667vw;
    font-size: 3.2vw;
  }
  #cast .inner #ensembleCast {
    margin: 12vw auto 0;
    width: 83%;
  }
  #cast .inner #ensembleCast h2 {
    margin: 0 auto 10.666667vw;
    width: 48vw;
  }
  #cast .inner #ensembleCast ul {
    flex-wrap: wrap;
  }
  #cast .inner #ensembleCast ul li {
    margin: 0;
    width: 50%;
    text-align: center;
  }
  #cast .inner #ensembleCast ul li picture {
    margin: 0;
    display: block;
    aspect-ratio: auto;
  }
  #cast .inner #ensembleCast ul li picture img {
    margin: 0 auto;
    width: 32vw;
    width: 28vw;
    height: auto;
  }
  #cast .inner #ensembleCast ul li p {
    margin: 10px 0 4vw;
    font-size: 5.3333333vw;
    width: 100%;
  }
  #cast .inner #ensembleCast ul li p small {
    margin: 2.4vw 0 0;
    font-size: 3.2vw;
 }

  /* story setting
  ------------------------------------*/
  #story {
    padding: 20vw 0;
  }
  #story .inner {
    width: 86.666667vw;
  }
  #story .inner h2 {
    margin: 0 auto 8vw;
    width: 37.333333vw;
  }
  #story .inner article {
    display: block;
    margin: 0 0 80px;
  }
  #story .inner article p {
    margin: 0;
    width: 100%;
    font-size: 3.733333vw;
  }
  #story .inner article figure {
    margin: 12vw auto 0;
    width: 73.333333vw;
  }
  #story .inner article + article {
    margin: 0;
  }
  #story .inner article + article p {
    margin: 0;
  }
  #story .inner article + article figure {
    aspect-ratio: 38 / 33;
  }

  /* schedule setting
  ------------------------------------*/
  #schedule {
    padding: 20vw 0;
    width: 100vw;
  }
  #schedule::after {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #schedule .inner {
    margin: 0 auto;
    width: 86.666667vw;
  }
  #schedule .inner h2 {
    margin: 0 auto 10.666667vw;
    width: 45.066667vw;
  }
  #schedule .inner #scheduleTable {
    margin: 0 0 20vw -1.3333333vw;
    width: 94.666667vw;
    overflow-x: scroll;
    overflow-y: hidden;
  }
  #schedule .inner #scheduleTable table {
    border-spacing: 0.5333333vw;
    margin: 0 5.3333333vw 0 0;
    font-size: 3.733333vw;
  }
  #schedule .inner #scheduleTable table caption {
    margin: 3.2vw 0 0;
    font-size: 3.2vw;
  }
  #schedule .inner #scheduleTable table thead tr th {
    padding: 0 4.8vw 2vw;
    width: 28vw;
    white-space: nowrap;
  }
  #schedule .inner #scheduleTable table thead tr th:not(:first-child)::before {
    left: -0.5333333vw;
    width: 0.5333333vw;
  }
  #schedule .inner #scheduleTable table thead tr th small {
    font-size: 2.666667vw;
  }
  #schedule .inner #scheduleTable table tbody tr th {
    padding: 2.4vw 3.2vw;
  }
  #schedule .inner #scheduleTable table tbody tr th p {
    display: block;
  }
  #schedule .inner #scheduleTable table tbody tr th p em {
    width: 100%;
    text-align: center;
    white-space: nowrap;
  }
  #schedule .inner #scheduleTable table tbody tr th p em small {
    font-size: 2.666667vw;
  }
  #schedule .inner #scheduleTable table tbody tr th p strong {
    margin: 1.3333333vw 0 0;
    width: 100%;
    white-space: nowrap;
    text-align: center;
  }
  #schedule .inner #scheduleTable table tbody tr td {
    padding: 2.4vw 4.8vw;
    white-space: nowrap;
    vertical-align: middle;
  }
  #schedule .inner article {
    display: block;
  }
  #schedule .inner article h3 {
    margin: 0 0 10.666667vw;
  }
  #schedule .inner article h3 img {
    width: 18.133333vw;
  }
  #schedule .inner article iframe {
    margin: 0 0 6.4vw;
    width: 100%;
  }
  #schedule .inner article p {
    width: 100%;
    line-height: 1.8;
    font-size: 3.733333vw;
  }
  #schedule .inner article p em {
    margin: 0 0 4vw;
    font-size: 4.8vw;
  }
  #schedule .inner article p a {
    border-radius: 4vw;
    margin: 5.3333333vw 0 0;
    padding: 0 3.2vw 0 0;
    width: 29.333333vw;
    height: 8vw;
    line-height: 8vw;
    font-size: 3.2vw;
  }
  #schedule .inner article p a::after {
    right: 3.2vw;
    border-top: 0.26667vw solid #fff;
    border-right: 0.26667vw solid #fff;
    width: 0.8vw;
    height: 0.8vw;
  }

  /* ticket setting
  ------------------------------------*/
  #ticket {
    background: url("../../img/bg_ticket_sp.webp") center 0/cover no-repeat;
    padding: 20vw 0 17.333333vw;
    width: 100%;
  }
  #ticket::after {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #ticket .inner {
    width: 100%;
  }
  #ticket .inner #ticketInfo {
    margin: 0 auto 12vw;
    padding: 0 0 12vw;
    width: 86.666667vw;
  }
  #ticket .inner #ticketInfo::after {
    bottom: -1.0666667vw;
    background: url("../../img/line_sp.webp") 0 0/cover no-repeat;
    height: 2.2666667vw;
  }
  #ticket .inner #ticketInfo h2 {
    margin: 0 auto 11.333333vw;
    width: 47.466667vw;
  }
  #ticket .inner #ticketInfo dl {
    display: block;
    width: 86.666667vw;
    text-align: center;
  }
  #ticket .inner #ticketInfo dl dt {
    border-radius: 4vw;
    background: #0b0c16;
    margin: 0 auto 4.2666667vw;
    padding: 0;
    width: 38.666667vw;
    height: 8vw;
    line-height: 8vw;
    font-size: 3.733333vw;
    color: #fff;
  }
  #ticket .inner #ticketInfo dl dd {
    width: 100%;
    font-size: 8vw;
  }
  #ticket .inner #ticketInfo dl dd span {
    font-size: 4.8vw;
  }
  #ticket .inner #ticketInfo dl dd small {
    font-size: 3.2vw;
  }
  #ticket .inner #ticketInfo dl + dl {
    border-top: 0.26667vw solid #fff;
    margin: 8vw auto;
    padding: 8vw 0 0;
  }
  #ticket .inner #ticketInfo dl + dl dd ul li {
    position: relative;
    margin: 0 0 5.3333333vw 3.333333vw;
    margin: 0 0 5.3333333vw 0.333333vw;
    padding: 0 0 0 14vw;
    padding: 0 0 0 0;
    line-height: 1.25;
    line-height: 1.5;
    font-size: 5.6vw;
    text-align: left;
  }
  #ticket .inner #ticketInfo dl + dl dd ul li em {
    box-sizing: border-box;
    /* position: absolute; */
    /* top: 1.5333vw; */
    left: 0;
    border: 0.26667vw solid #555;
    margin: 0 2vw 0 0;
    padding: 1.12vw 0 0;
    padding: 0.6vw 0 0;
    width: 12vw;
    height: 12vw;
    width: 17vw;
    height: 7vw;
    text-align: center;
    line-height: 1.4;
    font-size: 3.2vw;
    font-size: 3.6vw;

  }
  #ticket .inner #ticketInfo dl + dl dd ul li span {
    font-size: 4.2666667vw;
  }
  #ticket .inner #ticketInfo dl + dl dd ul li .ticket_space {
    padding-left: 20.5vw
  }

  #ticket .inner #ticketInfo dl + dl dd ul li small {
    font-size: 3.2vw;
  }
  #ticket .inner #ticketInfo article {
    padding: 5.3333333vw 4.8vw;
    width: 100%;
  }
  #ticket .inner #ticketInfo article h3 {
    margin: 0 auto 3.2vw;
    width: 50.933333vw;
    line-height: 3.733333vw;
    font-size: 3.733333vw;
  }
  #ticket .inner #ticketInfo article h3::after {
    height: 0.2666667vw;
  }
  #ticket .inner #ticketInfo article h3 span {
    padding: 0 3.733333vw;
  }
  #ticket .inner #ticketInfo article p {
    font-size: 3.2vw;
  }
  #ticket .inner #ticketInfo ul li a {
    box-shadow: 0 0.53333vw 0.53333vw 0 rgba(0, 0, 0, 0.7);
    border-radius: 7.3333333vw;
    margin: 8vw auto 0;
    padding: 0 2.666667vw 0 0;
    width: 76vw;
    height: 14.666667vw;
    line-height: 13.333vw;
    font-size: 4.8vw;
  }
  #ticket .inner #ticketInfo ul li a::after {
    right: 5.3333333vw;
    border-top: 0.4vw solid #fff;
    border-right: 0.4vw solid #fff;
    width: 1.6vw;
    height: 1.6vw;
  }
  #ticket .inner #streamingTicketInfo h2 {
    margin: 0 auto 10.666667vw;
    width: 65.333333vw;
  }
  #ticket .inner #streamingTicketInfo > ul {
    width: 93.333333vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li {
    margin: 0 0 9.2vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li h3 {
    margin: 0 0 7.2vw;
    height: 10.666667vw;
    line-height: 10.666667vw;
    font-size: 4.8vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li h4 {
    margin: 0 0 6vw;
    font-size: 8vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li h4 span {
    font-size: 3.2vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li h4 small {
    font-size: 4.8vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul {
    padding: 0 0 8.8vw;
    width: 86.666667vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 5.3333333vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li:not(:last-child) {
    border-top: 0.26667vw solid #555;
    margin: 0 0 8vw;
    padding: 7.2vw 0 0;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li em {
    display: block;
    border-radius: 4vw;
    background: #1b2382;
    margin: 0 auto 4vw;
    width: 38.666667vw;
    height: 8vw;
    line-height: 8vw;
    text-align: center;
    font-size: 3.733333vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li p {
    width: 100%;
    line-height: 1.5;
    text-align: center;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li p span {
    font-size: 3.733333vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li p small {
    font-size: 3.2vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li a {
    box-shadow: 0 0.53333vw 0.53333vw 0 rgba(0, 0, 0, 0.7);
    border-radius: 7.3333333vw;
    margin: 0 auto;
    padding: 0 2.666667vw 0 0;
    width: 76vw;
    height: 14.666667vw;
    line-height: 13.333vw;
    font-size: 4.8vw;
  }
  #ticket .inner #streamingTicketInfo > ul > li ul li a::after {
    right: 5.3333333vw;
    border-top: 0.4vw solid #fff;
    border-right: 0.4vw solid #fff;
    width: 1.6vw;
    height: 1.6vw;
  }

  /* goods setting
  ------------------------------------*/
  #goods {
    padding: 18vw 0 24vw;
  }
  #goods::after {
    bottom: -0.2666667vw;
    background: url("../../img/img_cont-end-parts2.webp") 0 0/100% 100% no-repeat;
    height: 58.533333vw;
  }
  #goods .inner {
    width: 86.666667vw;
  }
  #goods .inner h2 {
    margin: 0 auto 11.333333vw;
    width: 39.6vw;
  }
  #goods .inner ul > li {
    display: block;
    margin: 12vw 0 0;
    padding: 0;
  }
  #goods .inner ul > li:not(:last-child) {
    border-top: 0.26667vw solid #555;
    padding: 12vw 0 0;
  }
  #goods .inner ul > li:first-child {
    border-top: none;
    margin: 0;
    padding: 0;
  }
  #goods .inner ul > li figure {
    width: 100%;
  }
  #goods .inner ul > li article {
    position: relative;
    width: 100%;
  }
  #goods .inner ul > li article h3 {
    border-bottom: none;
    margin: 0 0 4vw;
    padding: 4vw 0 0;
    font-size: 5.3333333vw;
  }
  #goods .inner ul > li article em {
    position: relative;
    box-sizing: border-box;
    margin: 0 0 4.8vw;
    padding: 0 2.666667vw;
    width: 100%;
    height: 9.3333333vw;
    line-height: 9.3333333vw;
    text-align: right;
    font-size: 5.3333333vw;
  }
  #goods .inner ul > li article em span {
    font-size: 3.733333vw;
  }
  #goods .inner ul > li article em small {
    font-size: 3.2vw;
  }
  #goods .inner ul > li article p {
    width: 100%;
    font-size: 3.733333vw;
  }
  #goods .inner ul > li a {
    box-shadow: 0 0.53333vw 0.53333vw 0 rgba(0, 0, 0, 0.7);
    border-radius: 7.3333333vw;
    margin: 0 auto;
    padding: 0 2.666667vw 0 0;
    width: 76vw;
    height: 14.666667vw;
    line-height: 13.333vw;
    font-size: 4.8vw;
  }
  #goods .inner ul > li a::after {
    right: 5.3333333vw;
    border-top: 0.4vw solid #fff;
    border-right: 0.4vw solid #fff;
    width: 1.6vw;
    height: 1.6vw;
  }

  /* others setting
  ------------------------------------*/
  #others {
    background: #1b2382 url("../../img/bg_other_sp.webp") center bottom/100% auto no-repeat;
    padding: 0 0 24vw;
    width: 100%;
  }
  #others .inner {
    width: 93.333333vw;
  }
  #others .inner > p {
    margin: 0 auto 22vw;
    width: 90%;
    line-height: 2.0;
    font-size: 3vw;
  }

  #others .inner .original_text{
    width: 100%;
    font-size: 8vw;
    margin: 0 auto 20vw;
    line-height: 13.5vw;

  }


  #others .inner .staff_title{
    font-size: 9vw;
    font-size: 4.8vw;
  }
  #others .inner .staff_title_top{
    padding-top: 16vw;
  }

  #others .inner .staff_text{
    font-size: 5vw;
    font-size: 5.99vw;
    width: 100%;
    margin: 0 auto 15vw;
  }
  #others .inner .staff_text_last{
    padding-bottom: 16vw;
  }
  #others .inner .original {
    padding-top: 20vw;
    margin: 0 auto 12vw;
    width: 35.2vw;
  }
  #others .inner .staff {
    margin: 0 auto 12vw;
    width: 37.2vw;
  }

  #others .inner #guideline {
    margin: 0 auto 22vw;
    width: 86.666667vw;
  }
  #others .inner #guideline h2 {
    margin: 0 auto 12vw;
    width: 47.2vw;
  }
  #others .inner #guideline article {
    margin: 0 0 12vw;
    padding: 4.6666667vw;
    height: 96vw;
  }
  #others .inner #guideline article p {
    margin: 0 0 4.6666667vw;
    line-height: 1.8;
    font-size: 3.2vw;
  }
  #others .inner #guideline ul li a {
    box-shadow: 0 0.53333vw 0.53333vw 0 rgba(0, 0, 0, 0.7);
    border-radius: 7.3333333vw;
    margin: 0 auto;
    padding: 1.2vw 2.666667vw 0 0;
    width: 76vw;
    height: 14.666667vw;
    line-height: 1.2;
    font-size: 4.8vw;
  }
  #others .inner #guideline ul li a::after {
    right: 5.3333333vw;
    border-top: 0.4vw solid #fff;
    border-right: 0.4vw solid #fff;
    width: 1.6vw;
    height: 1.6vw;
  }
  #others .inner #sponsor {
    margin: 0 auto 12vw;
  }
  #others .inner #sponsor h2 {
    margin: 0 auto 12vw;
    width: 39.6vw;
  }
  #others .inner #sponsor ul {
    flex-wrap: wrap;
  }
  #others .inner #sponsor ul li {
    margin: 0 3.333333vw 6.6666667vw;
    width: 40vw;
  }
  #others .inner #organizer {
    margin: 0 auto 12vw;
  }
  #others .inner #organizer h2 {
    margin: 0 auto 12vw;
    width: 20vw;
  }
  #others .inner #organizer ul li {
    margin: 0 3.333333vw;
    width: 40vw;
  }
  #others .inner #contact h2 {
    margin: 0 auto 12vw;
    width: 46.4vw;
  }
  #others .inner #contact ul li a {
    box-shadow: 0 0.53333vw 0.53333vw 0 rgba(0, 0, 0, 0.7);
    border-radius: 7.3333333vw;
    margin: 0 auto;
    padding: 0 2.666667vw 0 0;
    width: 76vw;
    height: 14.666667vw;
    line-height: 13.333vw;
    font-size: 4.8vw;
  }
  #others .inner #contact ul li a::after {
    right: 5.3333333vw;
    border-top: 0.4vw solid #fff;
    border-right: 0.4vw solid #fff;
    width: 1.6vw;
    height: 1.6vw;
  }

  #others .inner #contact .contact_title{
    font-size: 5.7vw;
    margin-bottom: 7vw;
  }
  #others .inner #contact .contact_text{
    font-size: 4.6vw;
    margin-bottom: 18vw;
  }
  #others .inner #contact .contact_note{
    width: 100%;
  }
  #others .inner #contact .contact_img{
    width: 100%;
    margin-bottom: 4vw;
  }

}
