@media (max-width: 768px) {
  .row {
    margin: 0; }

  .container {
    padding: 0; } }
@media (max-width: 970px) {
  .navbar-header .navbar-nav #nav--top {
    display: none; }
  .navbar-header .navbar-toggle:hover {
    background-color: transparent; }
    .navbar-header .navbar-toggle:hover .icon-bar {
      background-color: #FFF000; }
  .navbar-header .navbar-toggle .icon-bar {
    background: #FFF;
    border-radius: 10px; }

  #nav--shedule {
    display: none; } }
@media (max-width: 768px) {
  nav.navbar-menu {
    z-index: 999;
    padding-right: 0; }
    nav.navbar-menu button {
      display: none; }
    nav.navbar-menu ul.nav {
      background: #FFF;
      padding-top: 0;
      text-align: center; }
      nav.navbar-menu ul.nav li {
        margin: 0;
        border-top: 0;
        border-bottom: 1px solid #CCC; }
        nav.navbar-menu ul.nav li a {
          padding: 10px; }
          nav.navbar-menu ul.nav li a:hover {
            background-color: #FFF; }
        nav.navbar-menu ul.nav li#nav--shedule {
          display: block; }
        nav.navbar-menu ul.nav li#nav--ticket {
          margin-left: 0; }
          nav.navbar-menu ul.nav li#nav--ticket a {
            width: 100%;
            max-height: auto;
            padding: 10px 0; }
      nav.navbar-menu ul.nav.navbar-nav li#nav--entry {
        margin-left: 0; }
        nav.navbar-menu ul.nav.navbar-nav li#nav--entry a {
          width: 100%;
          padding: 15px 0; }
    nav.navbar-menu.active .navbar-nav li a:hover {
      background-color: #FFF; } }
@media (max-width: 768px) {
  .row-offcanvas {
    padding-left: 0; }

  #header--logo {
    width: 40%; }
    #header--logo img {
      width: 100%; }

  .navbar-brand {
    padding: 10px 0;
    margin: 15px 0 0 15px; }

  .navbar-nav > li#nav--top {
    margin: 0; } }
@media (max-width: 768px) {
  .tit {
    margin-bottom: 20px; }

  h3.subtit {
    margin-bottom: 0 !important; }
    h3.subtit::after {
      display: none; } }
@media (max-width: 768px) {
  #entry.bg a {
    padding: 70px 0;
    display: block; }
    #entry.bg a img {
      width: 70%;
      max-height: 30px; } }
@media (max-width: 768px) {
  footer .row {
    padding: 0 20px; }
    footer .row .col-sm-3 {
      padding: 0 0 30px;
      border-right: 0; }
  footer .col-xs-12 {
    padding: 0; }

  #footer--copyright {
    width: 100%;
    padding: 15px 0; } }
@media (max-width: 768px) {
  .mainimg {
    background: none;
    padding: 0; }
    .mainimg .container {
      padding: 0; }
    .mainimg .col-xs-12 {
      padding: 0; }
    .mainimg img {
      width: 100%; } }
@media (max-width: 768px) {
  #greeting {
    background-position: right bottom;
    background-size: 100% auto;
    padding-bottom: 60%;
    margin-bottom: 10%; }
    #greeting .col-xs-7 {
      width: 100%; }
    #greeting h3 {
      font-size: 30px;
      margin-top: 0;
      padding-top: 0; }
    #greeting p {
      font-size: 16px; } }
@media (max-width: 768px) {
  #about {
    padding: 0; }
    #about h3 {
      margin-top: 30px;
      margin-bottom: 20px; }
    #about p {
      margin-bottom: 60px; }
    #about ul li {
      margin-bottom: 10px; }
    #about .col-sm-6.text {
      width: 100%;
      padding-left: 0; }
    #about .mod_thumbnail {
      width: 100%; }
      #about .mod_thumbnail img {
        width: 100%; } }
@media (max-width: 768px) {
  #about #story {
    padding: 0; }
    #about #story .story_wrap h3 {
      margin: 0;
      font-size: 38px; }
      #about #story .story_wrap h3.subtit {
        margin-bottom: 50px; }
  #about #cast h5 {
    padding-top: 20px; }
  #about #cast ul li {
    font-size: 1.8em;
    padding-top: 0;
    padding-bottom: 10px; } }
@media (max-width: 768px) {
  #schedule {
    padding: 30px 0; }
    #schedule table th {
      border-bottom: 1px solid #E5E5E5; }
    #schedule table td {
      border-top: 1px solid #39415b; } }
@media (max-width: 768px) {
  #ticket {
    padding: 30px; }
    #ticket .bg {
      position: absolute;
      left: 0;
      top: 15%;
      width: 70%;
      height: 100vh; }
    #ticket .row {
      display: flex;
      flex-wrap: wrap; }
      #ticket .row .text {
        padding: 30px 0 50px; }
      #ticket .row .price_left,
      #ticket .row .price_right {
        width: 100%; }
      #ticket .row .price_left {
        margin-right: 0; }
      #ticket .row dl,
      #ticket .row .umekomi {
        width: 100%; }
      #ticket .row dl {
        margin-top: 20px; }
        #ticket .row dl dt {
          width: 100%;
          float: none; }
        #ticket .row dl dd {
          width: 100%;
          float: none;
          padding-left: 0; } }
@media (max-width: 768px) {
  #faq {
    padding: 50px 0; }
    #faq .faqbox {
      width: 100%; } }
@media (max-width: 768px) {
  #pagetitle {
    padding: 50px 0; } }
@media (max-width: 768px) {
  .lower_layer {
    /* lead */
    /* title */
    /* table */ }
    .lower_layer section {
      padding: 50px 0; }
    .lower_layer .lead {
      width: 100%;
      margin: 0 auto 30px; }
    .lower_layer .tit02 {
      margin-top: 50px; }
    .lower_layer table {
      width: 100%;
      margin-top: 25px; }
    .lower_layer .table_caution {
      width: 100%; } }
@media (max-width: 768px) {
  .lower_layer .message {
    padding: 50px 0; }
    .lower_layer .message .photo {
      position: relative;
      top: auto;
      left: auto; }
    .lower_layer .message .profile {
      position: relative;
      top: auto;
      right: auto;
      padding: 30px; }
      .lower_layer .message .profile h3 {
        margin-top: 0; }
      .lower_layer .message .profile .intro {
        margin-top: 30px; }
    .lower_layer .message .greeting {
      margin-top: 30px;
      padding: 0 30px; } }
@media (max-width: 768px) {
  .lower_layer .facility ul {
    display: flex;
    flex-wrap: wrap; }
  .lower_layer .facility li.col-xs-12 {
    width: 50%; }
  .lower_layer .facility .thumbnail img {
    margin: 0;
    width: 100%; }
  .lower_layer .facility .info {
    margin-bottom: 30px; } }
@media (max-width: 500px) {
  .lower_layer .facility li.col-xs-12 {
    width: 100%;
    padding: 0; } }
@media (max-width: 768px) {
  .lower_layer .career .step {
    position: relative;
    width: 100%;
    padding: 20px 20px 20px 20%;
    margin-top: 50px; }
    .lower_layer .career .step .experience {
      top: -20px;
      left: -20px;
      width: 20%; }
    .lower_layer .career .step h3 {
      margin-top: 0;
      margin-bottom: 15px; }
    .lower_layer .career .step p {
      margin-bottom: 0; } }
@media (max-width: 400px) {
  .lower_layer .career .step {
    padding: 20px 20px 20px 31%; }
    .lower_layer .career .step .experience {
      top: 0;
      left: 0;
      width: 25%; }
    .lower_layer .career .step p {
      margin-top: 20%;
      margin-left: -34%; } }
