@charset "UTF-8";

body {
  min-width: 100%;
}
.inner {
  width: 100%;
  max-width: 100%;
  padding: 0 4.5vw;
}
.title_section {
  margin-bottom: 1.3em;
  font-size: 5.867vw;
}

.copyright {
  font-size: 3.2vw;
}

/**********************************************************
 * header
 **********************************************************/
header {
  height: 0;
  padding: 0;
}
header nav {
  display: none;
}
header nav.active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #4f7989;
}
header nav.active ul {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  flex-direction: column;
  align-items: center;
  gap: 10vw 0;
  width: 100%;
}
header nav li,
header nav li:last-child {
  border: none;
}
header nav a {
  width: 100%;
  height: auto;
}
.menu_trigger {
  position: fixed;
  top: 0;
  right: 0;
}
.menu_trigger .menu_line {
  position: relative;
  width: 13.333vw;
  height: 13.333vw;
  background-color: #00103f;
  cursor: pointer;
}
.menu_trigger .menu_line span {
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 7.466vw;
  height: 0.5333vw;
  background: #fff;
  transition: all .4s;
}
.menu_trigger .menu_line span:nth-of-type(1) {
  top:4vw;
}
.menu_trigger .menu_line span:nth-of-type(2) {
  top:6.4vw;
}
.menu_trigger .menu_line span:nth-of-type(3) {
  bottom: 4vw;
}
.menu_trigger.active span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.menu_trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu_trigger.active span:nth-of-type(3) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

/**********************************************************
 * TOP
 **********************************************************/
#top .inner {
  padding: 0;
}
#top img {
  width: auto;
}

/**********************************************************
 * ABOUT
 **********************************************************/
#about {
  padding: 10vw 0;
}
#about .title_section-sub {
  font-size: 4.267vw;
}
#about .about_box {
  flex-direction: column;
  gap: 8vw;
}
#about .about_box + .about_box {
  margin-top: 8vw;
}
#about .about_img {
  flex: 0 1 auto;
}
#about .about_img img {
  order: 1;
}
#about .about_text {
  order: 2;
  padding-left: 0;
  font-size: 3.733vw;
}
#about .about_box:nth-child(even) .about_text {
  padding-right: 0;
}

/**********************************************************
 * OUTLINE
 **********************************************************/
#outline {
  padding: 10vw 0;
}
#outline .title_content {
  margin-bottom: 8vw;
  font-size: 5.333vw;
  line-height: 1.3;
}
#outline .title_content_sub {
  font-size: 4.267vw;
}
#outline .outline_date {
  margin-bottom: 8vw;
  font-size: 5.333vw;
}
#outline .outline_date .date {
  font-size: 6.933vw;
}
#outline .outline_date .add,
#outline .outline_date .soldout {
  padding: 0.8vw 2.133vw 1.067vw;
  font-size: 3.2vw;
}
#outline .outline_cast {
  font-size: 3.733vw;
}

/**********************************************************
 * TICKET
 **********************************************************/
#ticket {
  padding: 10vw 0;
  font-size: 3.733vw;
}
#ticket .price {
  margin-bottom: 13.333vw;
}
#ticket .price_text {
  font-size: 5.333vw;
}
#ticket .price_text span {
  display: block;
}
#ticket .price_text span + span {
  margin: .5em 0 0;
}
#ticket .price_note {
  font-size: 3.2vw;
}
#ticket .map {
  margin-bottom: 13.333vw;
}
#ticket .buttom_map {
  padding: 1.333vw 3.2vw 1.867vw;
  font-size: 3.733vw;
}
#ticket .buttom_map span {
  font-size: 2.933vw;
}
#ticket .advance,
#ticket .general {
  margin-bottom: 13.333vw;
}
#ticket .title_content {
  font-size: 4.267vw;
}
#ticket .advance .text_content {
  text-align: left;
}
#ticket .advance .lottery {
  padding: 2.133vw 0;
}
#ticket .advance_note {
  font-size: 3.2vw;
  line-height: 1.3;
}

/**********************************************************
 * scene
 **********************************************************/
.scene {
  gap: 1.6vw;
  flex-wrap: wrap;
  padding: 10vw 4.5vw;
}
.scene_item {
  width: calc(50% - 0.8vw);
}
.scene_item img {
  width: 100%;
}

/**********************************************************
 * info
 **********************************************************/
.info {
  padding: 10vw 4.5vw;
}
.info .info-inner {
  flex-direction: column;
  gap: 10vw;
}
.info .movie-info_title {
  gap: 2.667vw;
  margin-bottom: 4vw;
  font-size: 5.333vw;
}
.info .films-screening {
  margin-bottom: 8vw;
}
.info .movie-title {
  font-size: 4.8vw;
}
.info .films-screening_text {
  margin-bottom: 4vw;
  font-size: 4.267vw;
}
.info .films-screening_cast {
  font-size: 3.733vw;
}
.info .running-time_text {
  font-size: 4.267vw;
  line-height: 1.3;
}
.info .running-time_text span {
  font-size: 3.2vw;
}
.info .story {
  padding: 5.333vw;
  max-width: 100%;
}
.info .story_title {
  margin-bottom: 4vw;
  font-size: 5.333vw;
}
.info .story_text {
  font-size: 3.733vw;
}

/**********************************************************
 * シネマ・コンサートとは…
 **********************************************************/
#description::before,
#description::after {
  height: 2.667vw;
}
#description .box {
  width: 100%;
  padding: 10vw 4.5vw;
}
#description .box .title_description {
  font-size: 4.267vw;
}
#description .box p {
  font-size: 3.733vw;
}

/**********************************************************
 * CAST
 **********************************************************/
#cast {
  padding: 10vw 0;
}
#cast .list_cast .list_cast_item {
  flex-direction: column;
  gap: 8vw;
}
#cast .list_cast_item + .list_cast_item {
  margin-top: 10vw;
}
#cast .list_cast .cast_info {
  flex: 0 1 auto;
  text-align: center;
}
#cast .list_cast .name {
  font-size: 5.333vw;
}
#cast .list_cast .name span {
  font-size: 3.733vw;
}
#cast .list_cast .cast_text {
  font-size: 3.733vw;
}
#cast .cast_link {
  flex-direction: column;
  gap: .5em;
}
#cast .sns_list {
  gap: 4vw;
}
#cast .sns_list .facebook img {
  width: 4vw;
}
#cast .sns_list .x img {
  width: 3.733vw;
}
#cast .sns_list .instagram img {
  width: 4.267vw;
}
#cast .sns_list .youtube img {
  width: 6.133vw;
}

/**********************************************************
 * 最新作
 **********************************************************/
.new-movie {
  padding: 10vw 4.5vw;
}
.new-movie_box {
  padding: 4vw;
}
.new-movie .new-movie_title {
  font-size: 4.267vw;
}
.new-movie .new-movie_name {
  font-size: 4.8vw;
}
.new-movie .distribution {
  font-size: 3.2vw;
}
.new-movie_text {
  font-size: 3.733vw;
  text-align: left;
}
.new-movie .official {
  font-size: 3.733vw;
  line-height: 1.5;
}

/**********************************************************
 * footer
 **********************************************************/
footer {
  padding: 10vw 4.5vw;
}
footer .organizer {
  font-size: 4.267vw;
  line-height: 1.5;
}
footer .copyright {
  text-align: left;
}