@charset "UTF-8";
/* ------------------------------------------------------------
*
main
*
------------------------------------------------------------ */
.trailer_base {
  display: none; }

#main {
  position: relative;
  margin-top: -1.3rem;
  width: 100%;
  background-color: #fff; }
  #main .pic_full {
    text-align: center; }
    #main .pic_full img {
      width: 100%; }

.bnr {
  margin-top: 1.9rem; }
  .bnr .desc {
    margin: 0 auto; }
  .bnr p a {
    display: block;
    padding: .8rem 0;
    border-radius: 5px;
    background: #C3141C;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1.5; }
    .bnr p a:hover {
      opacity: .7; }
  .bnr .bnr2 a {
    background: #61ABBE; }
  .bnr .bnr2 a {
    background: #57A9BE; }

.sns {
  margin: 0 auto;
  padding-top: 1.4rem;
  width: 100px;
  	/*
      width: ($sns_width * $sns_quantity) + (($sns_margin * 7) * $sns_quantity);
  	*/
  overflow: hidden; }
  .sns li {
    float: left;
    margin: 0 26px;
    width: 40px;
    text-align: center; }
    .sns li a {
      color: #C3141C;
      font-size: 40px; }
      .sns li a i {
        vertical-align: middle; }
    .sns li.mail {
      width: auto; }
      .sns li.mail a {
        text-decoration: none; }
        .sns li.mail a span {
          padding-left: 1.3rem;
          font-size: .9rem;
          font-weight: bold;
          vertical-align: middle; }
        .sns li.mail a:hover span {
          opacity: .6; }

.popup {
  padding-top: 2.5rem;
  text-align: center; }
  .popup a {
    display: inline-flex;
    margin: 0 auto;
    padding-top: .1rem;
    width: 150px;
    height: 36px;
    border: 1px solid #C3141C;
    border-radius: 5px;
    color: #C3141C;
    text-decoration: none;
    vertical-align: middle;
    justify-content: center;
    align-items: center; }
    .popup a:hover {
      opacity: .6; }

.th {
  padding: 1.5rem 0 .7rem;
  color: #333;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5; }
  .th .actors {
    padding-bottom: 1.8rem;
    color: #333;
    text-align: center;
    font-weight: normal; }
    .th .actors .main {
      font-size: 1.4rem;
      line-height: 1.6; }
    .th .actors .name {
      font-size: .8rem;
      line-height: 2; }
    .th .actors .support {
      font-size: 1.1rem;
      line-height: 2.1; }
    .th .actors .staff {
      font-size: .9rem;
      line-height: 1.8; }
      .th .actors .staff span {
        font-size: .75rem; }
  .th p {
    padding-bottom: 1.4rem; }
    .th p span {
      font-size: .67em;
      line-height: 2.1; }
    .th p.billing {
      padding-bottom: 1.6rem;
      font-size: .63rem;
      font-weight: normal;
      line-height: 1.6; }
    .th p.theatre {
      line-height: 1.4; }

#inline img {
  width: 100%;
  height: auto; }

.trailer {
  display: none; }

#sponser {
  display: none; }

/* ------------------------------------------------------------
*
content
*
------------------------------------------------------------ */
.font2 {
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif"; }

.bg_fix {
  position: relative;
  z-index: -10; }

.section {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  overflow: hidden; }
  .section .tit_wrap {
    position: relative; }
  .section .title {
    padding-top: 3.3rem;
    font-size: 3.13rem;
    line-height: 1.12;
    font-family: "Quattrocento", serif;
    font-weight: bold; }
  .section .title_jp {
    margin: 1rem 0 4.2rem;
    font-size: .95em; }
  .section .sub_tit {
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.4; }
  .section .copy {
    position: relative;
    margin-bottom: 1.5rem;
    font-size: 1.6em;
    line-height: 1.4; }
  .section .s_copy {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
    line-height: 1.6; }
  .section .desc {
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.9;
    letter-spacing: .2px; }
    .section .desc h4 {
      margin: 6.5rem 0 1rem;
      font-size: 1.6rem;
      line-height: 1.4; }
    .section .desc p {
      margin-bottom: 1.8rem; }
    .section .desc .name {
      margin-bottom: .6rem;
      font-size: 1.4em; }
      .section .desc .name span {
        padding-right: 1.3rem;
        font-size: .7em; }
    .section .desc .profile {
      margin-bottom: 1rem;
      font-size: .9em; }
    .section .desc .pic {
      margin-bottom: 1rem; }
    .section .desc .comment {
      font-size: .9em; }
    .section .desc b {
      font-weight: bold; }

#intro::before, #staff::before {
  content: "";
  position: absolute;
  left: 0;
  width: 400px;
  height: 267px;
  background-image: url(../img/sec_bg_01.jpg);
  background-repeat: no-repeat;
  background-size: 100%; }

#cast::before {
  content: "";
  position: absolute;
  right: 0;
  width: 480px;
  height: 463px;
  background-image: url(../img/sec_bg_02.jpg);
  background-repeat: no-repeat;
  background-size: 100%; }

.section_bg {
  width: 100%;
  height: 582px; }

.sect_cont {
  padding-bottom: 9rem; }

.fl_left {
  float: left; }

.fl_right {
  float: right; }

.block:after {
  content: "";
  display: block;
  clear: both; }

.link_btn {
  margin-top: 1.9rem;
  text-align: center;
  font-size: 1rem; }
  .link_btn a {
    display: block;
    padding: 1rem;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none; }

.comment_t {
  margin: 1.5rem 0 .3rem;
  padding: 0 0 .2rem 1rem;
  width: 7em;
  background-color: #333;
  color: #fff;
  font-size: .9em; }

/* --------------------------------
*
trailer_wrap
*
---------------------------------- */
.trailer_wrap {
  background-color: #000; }

/* --------------------------------
*
banner
*
---------------------------------- */
#banner {
  margin-bottom: 0 0 .6rem;
  padding: 2rem 0;
  text-align: center; }
  #banner p {
    margin: 0 auto 1.3rem;
    width: 710px;
    background-color: #C3141C; }
    #banner p a {
      display: block;
      padding: 1.3rem 0;
      color: #fff;
      text-decoration: none;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1.3; }
      #banner p a span {
        font-size: 1.2rem; }
      #banner p a:hover {
        background-color: #600; }

/* --------------------------------
*
intro
*
---------------------------------- */
#intro {
  background-color: #fff;
  color: #333; }

/* --------------------------------
*
story
*
---------------------------------- */
#story {
  background-color: #C3141C;
  color: #fff; }

/* --------------------------------
*
cast
*
---------------------------------- */
#cast {
  background-color: #fff;
  color: #333; }
  #cast .block {
    padding-bottom: 6.5rem; }
    #cast .block:last-child {
      padding-bottom: 0; }
    #cast .block .p_name {
      color: #C3141C;
      text-align: center;
      line-height: 1.3; }
      #cast .block .p_name .pic {
        margin: 0 auto 1rem;
        width: 246px; }
        #cast .block .p_name .pic img {
          height: 246px; }
      #cast .block .p_name .name {
        font-size: 1.6em;
        font-weight: bold; }
      #cast .block .p_name .name_furi {
        font-size: 1rem; }
    #cast .block .desc .sub_tit {
      margin-bottom: .8rem; }

_:-ms-lang(x), #cast .block .p_name .pic img {
  height: auto; }

/* --------------------------------
*
staff
*
---------------------------------- */
#staff {
  background-color: #fff;
  color: #333; }
  #staff .block {
    padding-bottom: 6.7rem; }
    #staff .block:last-child {
      padding-bottom: 0; }
    #staff .block .p_name .pic {
      width: 246px; }
      #staff .block .p_name .pic img {
        height: 246px;
        border-radius: 50%; }
    #staff .block .p_name .name {
      margin-bottom: 1rem;
      color: #C3141C;
      text-align: center;
      font-size: 1.6em;
      font-weight: bold;
      line-height: 1.2; }
    #staff .block .desc .sub_tit {
      margin-bottom: .8rem; }

/* --------------------------------
*
theater
*
---------------------------------- */
#theater {
  background-color: #fff;
  color: #333;
  	/*
      &::before {
          @extend %bg_right;
      }
  	*/ }
  #theater .voucher .pic {
    margin: 0 auto 2rem;
    width: 700px; }
  #theater .voucher .ti_1 {
    margin-bottom: 1rem;
    font-size: 1.9rem;
    font-weight: bold;
    line-height: .8; }
    #theater .voucher .ti_1 span {
      font-size: 1.1rem;
      line-height: 1.4; }
  #theater .voucher .ti_2 {
    margin-bottom: 1.8rem;
    font-size: 1rem; }
  #theater .voucher .present {
    position: relative;
    margin-bottom: 5rem;
    font-size: 1rem;
    line-height: 1.8; }
    #theater .voucher .present .present_txt {
      margin-bottom: 1.8rem; }
      #theater .voucher .present .present_txt .color_bd {
        background: linear-gradient(transparent 55%, #ffee00 40%);
        font-weight: bold; }
  #theater .desc {
    position: relative; }
    #theater .desc .areamenu {
      margin: 3.1rem 0 -.6rem;
      font-size: 1.1rem; }
      #theater .desc .areamenu a {
        padding-right: .3rem; }
    #theater .desc h4 {
      margin: 1.9rem 0 2.5rem;
      padding: 1.9rem 0 .2rem;
      border-bottom: 1px dashed #333;
      font-size: 1.38rem;
      font-weight: normal; }
    #theater .desc table {
      margin: 0;
      font-size: .9rem; }
      #theater .desc table tr {
        border-bottom: 1px solid #333; }
      #theater .desc table th {
        padding-bottom: .3rem;
        width: 8%;
        text-align: left; }
      #theater .desc table td {
        padding: .6rem 0; }
      #theater .desc table .link {
        width: 11%; }
      #theater .desc table .tel {
        text-align: center; }
      #theater .desc table .ticket {
        width: 3.7%;
        text-align: center; }

/* --------------------------------
*
@media
*
---------------------------------- */
@media (min-width: 768px) {
  .section .desc p:last-child {
    margin-bottom: 0; }

  .col_2 .desc:nth-child(2n) {
    padding-left: 2rem; }
  .col_2 .desc:nth-child(2n+1) {
    padding-right: 2rem; } }
@media (max-width: 767px) {
  /* ------------------------------------------------------------
  *
  main
  *
  ------------------------------------------------------------ */
  #main {
    border-bottom: none; }
    #main .pic_full {
      padding-top: 1.3rem; }

  .bnr p {
    margin: .6rem 0; }

  .sns {
    padding-top: 1.6rem;
    width: 70px;
    		/*
            width: ($sns_width_sp * $sns_quantity) + (($sns_margin_sp * 2) * $sns_quantity);
    		*/ }
    .sns li {
      margin: 0 14px;
      width: 38px; }
      .sns li a {
        font-size: 38px; }

  .mail {
    padding-top: .5rem;
    text-align: center; }
    .mail a {
      text-decoration: none;
      font-size: 38px; }
      .mail a i {
        vertical-align: middle; }
      .mail a span {
        padding-left: 1.5rem;
        font-size: .9rem;
        font-weight: bold;
        vertical-align: middle; }
      .mail a:hover span {
        opacity: .6; }

  .popup {
    padding: 1.9rem 0 .6rem; }

  .th {
    padding: 2.2rem 0 0;
    font-size: 1.4rem; }
    .th .actors {
      padding-bottom: 2.8rem; }
      .th .actors .support {
        padding-bottom: 1rem; }
    .th p {
      padding-bottom: 2.5rem;
      line-height: 2rem; }
      .th p.billing {
        padding-bottom: 1.4rem;
        text-align: left;
        font-size: .6rem; }
      .th p.theatre {
        padding-bottom: 1.4rem;
        font-size: 1.3rem; }

  #inline img {
    max-width: 350px;
    height: auto; }

  /* ------------------------------------------------------------
  *
  content
  *
  ------------------------------------------------------------ */
  .bg {
    background-size: 768px auto; }

  .bg_fix {
    padding: 0; }

  .section_bg {
    height: 300px; }

  .trailer_wrap {
    position: relative;
    padding-bottom: 330px;
    width: 100%;
    height: 0; }
    .trailer_wrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

  .sect_cont {
    padding-bottom: 6rem; }

  .section .title {
    padding-top: 1.8rem;
    font-size: 2.5em; }
  .section .title_jp {
    margin: .7rem 0 2.6rem; }
  .section .sub_tit {
    font-size: 1.3rem; }
  .section .copy {
    margin-bottom: 2rem;
    font-size: 1.3em; }
  .section .desc {
    font-size: 1rem;
    line-height: 1.6; }
    .section .desc:last-child p:last-child {
      margin-bottom: 0; }
    .section .desc h4 {
      margin: 1.3rem 0 2rem;
      font-size: 1.3rem; }
    .section .desc img {
      float: none;
      width: 100%; }
  .section .pic img {
    max-width: 100%; }

  #intro::before, #staff::before {
    width: 256px;
    height: 171px; }

  #cast::before, #theater::before {
    width: 256px;
    height: 247px; }

    /* --------------------------------
	*
	banner
	*
	---------------------------------- */
  #banner {
    margin: 0; }
    #banner p {
      width: 90%; }
      #banner p a {
        padding: 1rem 0;
        font-size: 1.3rem;
        line-height: 1.2; }
        #banner p a span {
          font-size: 1rem; }

    /* --------------------------------
	*
	intro
	*
	---------------------------------- */
    /* --------------------------------
	*
	story
	*
	---------------------------------- */
  #story .copy {
    margin-bottom: 2.4rem; }

    /* --------------------------------
	*
	cast
	*
	---------------------------------- */
  #cast .title_jp {
    margin-bottom: 2.7rem; }
  #cast .block {
    padding-bottom: 2.9rem; }
    #cast .block .p_name {
      padding-bottom: .8rem; }
      #cast .block .p_name .pic {
        margin-bottom: .7rem; }
    #cast .block .desc .sub_tit {
      margin-bottom: .9rem;
      text-align: center; }

    /* --------------------------------
	*
	staff
	*
	---------------------------------- */
  #staff .p_name {
    text-align: center; }
    #staff .p_name .pic {
      margin: 0 auto 1rem; }
  #staff .block {
    padding-bottom: 7.7rem; }
    #staff .block .p_name .name {
      margin-bottom: 1.6rem; }
    #staff .block .desc .sub_tit {
      margin-bottom: .8rem;
      text-align: center; }

    /* --------------------------------
	*
	theater
	*
	---------------------------------- */
  #theater .voucher .pic {
    width: 100%; }
  #theater .voucher .ti_1 {
    margin: 0;
    font-size: 1.9rem;
    line-height: 1.2; }
    #theater .voucher .ti_1 span {
      font-size: 1rem; }
  #theater .voucher .ti_2 {
    margin-top: .3rem;
    font-size: .9rem; }
  #theater .voucher .present {
    margin-bottom: 3rem;
    padding: 0;
    width: auto;
    text-align: center;
    font-size: 1rem;
    line-height: 1.3; }
    #theater .voucher .present .fl_left {
      float: none; }
    #theater .voucher .present .fl_right {
      float: none; }
    #theater .voucher .present img {
      padding: .6rem 0 3.1rem;
      width: 70%; }
  #theater .desc::after {
    right: -2rem;
    bottom: 0;
    width: 70%;
    height: 199px;
    background-size: 100%;
    -webkit-transform: rotate(35deg);
    -moz-transform: rotate(35deg);
    transform: rotate(35deg); }
  #theater .desc .caution {
    font-size: .9em; }
  #theater .desc .areamenu {
    margin: 1.9rem 0 0;
    font-size: 1rem;
    line-height: 1.7; }
    #theater .desc .areamenu a {
      padding-right: 0; }
  #theater .desc h4 {
    margin: 2.5rem 0 .3rem;
    padding: 0;
    border: 0;
    font-size: 1.3rem; }
  #theater .desc table {
    margin: 0;
    width: 100%;
    border-top: 1px solid #333; }
    #theater .desc table thead {
      position: absolute;
      margin: -.1rem;
      padding: 0;
      width: 1px;
      height: 1px;
      border: none;
      clip: rect(0 0 0 0);
      overflow: hidden; }
    #theater .desc table tr {
      padding-bottom: 18.8rem; }
    #theater .desc table th {
      display: block;
      padding: .4rem 0 .2rem;
      width: auto;
      text-align: left;
      color: #ddd; }
      #theater .desc table th i {
        margin-right: .6rem; }
      #theater .desc table th:before {
        display: inline-block;
        margin-right: .3rem;
        text-rendering: auto;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased; }
    #theater .desc table td {
      display: block;
      padding: 0;
      text-align: left; }
      #theater .desc table td:first-child {
        padding-top: 1rem; }
      #theater .desc table td:before {
        content: "\f3c5";
        display: inline-block;
        margin-right: .3rem;
        text-rendering: auto;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        font-style: normal;
        font-variant: normal;
        line-height: 1;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased; }
      #theater .desc table td .switch_sp {
        display: inline-block; }
    #theater .desc table .link {
      width: auto; }
      #theater .desc table .link:before {
        content: "\f024"; }
    #theater .desc table .ticket {
      width: auto;
      text-align: left; }
      #theater .desc table .ticket:before {
        content: "\f3ff"; }
      #theater .desc table .ticket.sp_none {
        display: none; }
    #theater .desc table .date {
      text-align: left; }
      #theater .desc table .date:before {
        content: "\f073"; }
    #theater .desc table .tel {
      text-align: left; }
      #theater .desc table .tel:before {
        content: "\f095"; } }
