@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 850px
---------------------------------------------*/
@media screen and (max-width: 850px) {

  /*---------------------------------------------
	body
---------------------------------------------*/
  html {
    scroll-behavior: smooth;
  }

  body {
    font-size: 15px;
    line-height: 1.8;
    border: none;
  }

  .hover:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: 'alpha( opacity=100 )';
  }

  .only_pc {
    display: none;
  }

  .only_pc_inline {
    display: none;
  }

  .only_pc_line {
    display: none;
  }

  .only_sp {
    display: block;
  }

  .only_sp_inline {
    display: inline-block;
  }

  .sp_br {
    display: inline;
  }

  .pc_br {
    display: none;
  }

  /*画像*/
  img {
    max-width: 100%;
    height: auto;
  }

  body:before {
    height: 75px;
    top: 0;
  }

  body:after {
    height: 75px;
    bottom: 0;
  }

  header.navOpen nav::before {
    content: '';
    width: 100%;
    height: 75px;
    background: url(../img/bg_deco.png) repeat-x top;
    background-size: auto 75px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  header.navOpen nav ul li:last-child {
    width: 100% !important;
    text-align: center;
  }

  header.navOpen nav ul li:last-child a {
    color: #fff;
    display: inline-block;
    padding: 5px 25px;
    margin: 3% auto;
    background: #e4007f;
  }

  .bunka {
    width: 90%;
    max-width: 300px;
    top: 20px;
    left: 20px;
  }

  #sns ul {
    justify-content: flex-start;
  }

  #sns ul {
    width: 45%;
  }

  #sns ul li:nth-child(5) {
    width: 90%;
    max-width: 240px;
  }

  #header nav ul {
    width: 90%;
    max-width: 370px;
  }

  #header nav ul li {
    font-size: 130%;
  }

  #main {
    margin-top: 5%;
  }

  #main_data>img {
    width: 60%;
    max-width: 300px;
    margin: 0 auto 3%;
  }

  #main h1 #illust02 {
    width: 20%;
    max-width: 120px;
    top: auto;
    bottom: -35%;
    left: auto;
    right: 4%;
  }

  #main h1 #illust01 {
    width: 20%;
    max-width: 120px;
    top: auto;
    bottom: -25%;
    right: auto;
    left: 4%;
  }

  #main_data .price {
    width: 100%;
    max-width: 460px;
    margin: 2% auto;
  }

  #main_data .price li {
    width: 45%;
    padding-left: 5%;
    box-sizing: border-box;
  }

  #main_data .price li em {
    letter-spacing: 0.6em;
  }

  #main_data .price li:nth-child(1) em {
    letter-spacing: 0.25em;
  }


  #main_data .price+p {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 2%;
    text-align: left;
  }

  #about figure {
    width: 80%;
    max-width: 300px;
    margin: 3% auto 5%;
    font-size: 60%;
  }

  #about_sp figure {
    width: 80%;
    max-width: 300px;
    margin: 3% auto 5%;
    font-size: 60%;
  }

  .img_flex dl:nth-child(1) {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 5%;
  }

  .img_flex dl:nth-child(2) {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .intro_data>div:nth-child(1) {
    width: 384px;
    margin: 0 auto;
  }

  .img_flex dl dd {
    font-size: 60%;
  }

  .intro_data>div:nth-child(1) h3 {
    width: 100%;
    padding: 2% 0;
    background: url(../img/icon_intro.png) no-repeat top 10px left 40px;
    background-size: 35px auto;
    text-align: center;
  }

  #intro .intro_data:nth-of-type(3)>div:nth-child(1) {
    width: 385px;
  }

  .intro_data>div:nth-child(1) p {
    padding: 0 0 2% 90px;
    font-size: 80%;
  }

  .intro_data>div:nth-child(2) {
    width: 100%;
  }

  .intro_data>div:nth-child(2) h3 {
    font-size: 120%;
    text-align: center;
    margin-bottom: 3%;
  }

  #talk .img_more {
    width: 140px;
    left: auto;
    top: -30px;
    right: -5px;
  }

  #intro #talk h2 {
    background: url(../img/h2_talk.png) no-repeat top center;
    background-size: auto 30px;
    padding: 35px 0 0;
    margin-top: 10px;
  }

  #intro #talk h2+p {
    text-align: left;
  }

  #intro #talk h2+p br {
    display: none;
  }

  #talk>div {
    width: 100%;
    text-align: center;
  }

  #talk>div>img {
    width: 160px;
    margin: 0 auto 2%;
  }

  #talk>div>div {
    width: 100%;
    text-align: left;
  }

  #talk>div>div p:last-child {
    font-size: 130%;
    text-align: center;
  }

  #dancer p {
    font-size: 100%;
  }

  #dancer h3 {
    margin: 5% auto 1%;
  }

  .dancer_list>dl {
    width: 22%;
  }

  #ticket>div>div img+p>a {
    margin-top: 5px;
  }

  #foot_sns {
    width: 90%;
    max-width: 200px;
    margin: -10% auto 80px !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }

  #foot_sns li:nth-child(1) {
    width: 30%;
  }

  #foot_sns li:nth-child(2) {
    width: 8%;
  }

  #foot_sns li:nth-child(3) {
    width: 14%;
  }

  #foot_sns li:nth-child(4) {
    width: 16%;
  }

  #lecture>div>img:nth-of-type(3) {
    width: 13%;
    position: absolute;
    right: 4%;
    top: 25%;
  }

  #lecture div dl+p span {
    background: url(../img/icon_intro.png) no-repeat left top;
    background-size: 20px auto;
    padding: 5px 30px 5px 28px;
  }


  @media screen and (max-width: 680px) {
    #sns ul li:nth-child(5) {
      position: absolute;
      top: 0px;
      left: 10px;
    }


    .bunka {
      max-width: 250px;
      top: 40px;
    }

    #main {
      margin-top: 13%;
    }

    #main h1 #illust02 {
      bottom: -45%;
      right: -2%;
    }

    #main h1 #illust01 {
      bottom: -35%;
      left: -2%;
    }

    section {
      width: 95%;
      padding: 70px 2% 0;
    }

    #ticket dl {
      font-size: 100%;
    }

    #ticket dl dd a.btn_ticket {
      width: 260px;
      left: 0;
      right: 0;
      margin: 0 auto;
    }

    #ticket dl dt {
      min-width: 140px;
    }

    #ticket dl dd small {
      left: 145px;
    }

    #ticket ul {
      font-size: 90%;
    }

    #talk {
      padding-top: 40px;
      margin-top: 27%;
    }

    #talk .img_more {
      width: 120px;
      top: -40px;
    }
  }

  @media screen and (max-width: 580px) {

    #lecture>div>img:nth-of-type(3) {
      width: 15%;
      position: absolute;
      right: 1%;
      top: 70%;
    }

    #lecture {
      width: 100%;
    }
  }


  @media screen and (max-width: 480px) {
    body {
      font-size: 13px;
      line-height: 1.8;
    }

    section {
      background: url(../img/bg_deco.png) repeat-x top center;
      background-size: auto 35px;
    }

    #sns ul {
      margin: 10px 0 0;
    }

    #sns ul li:nth-child(5) {
      max-width: 190px;
      left: 0;
      margin-top: 2px;
    }

    .bunka {
      top: 20px;
      left: 10px;
    }

    .bunka img {
      margin-top: 15px;
    }

    #main {
      margin-top: 14%;
    }

    #main_data .price {
      margin: 5% auto;
    }

    #main_data .price li {
      font-size: 120%;
    }

    section h2 {
      padding: 50px 0 10px 0;
    }

    .text_link {
      width: 90%;
    }

    #about h2 {
      background: url(../img/h2_about.png) no-repeat top center;
      background-size: auto 40px;
    }

    #about_sp h2 {
      background: url(../img/h2_about.png) no-repeat top center;
      background-size: auto 40px;
    }

    #intro h2 {
      background: url(../img/h2_intro.png) no-repeat top center;
      background-size: auto 40px;
    }

    #dancer h2 {
      background: url(../img/h2_dancers.png) no-repeat top center;
      background-size: auto 40px;
    }

    #staff h2 {
      background: url(../img/h2_staff.png) no-repeat top center;
      background-size: auto 40px;
    }

    #ticket h2 {
      background: url(../img/h2_ticket.png) no-repeat top center;
      background-size: auto 40px;
    }

    #intro #talk h2 {
      padding: 35px 0 15px;
    }

    .intro_data>div:nth-child(1) h3 {
      background: url(../img/icon_intro.png) no-repeat top 10px left 62px;
      background-size: 30px auto;
    }


    #staff>div dl:nth-child(1) dt,
    #staff>div dl:nth-child(2) dt {
      min-width: 120px;
    }

    #staff>div dl:nth-child(1) dd,
    #staff>div dl:nth-child(2) dd {
      min-width: calc(100% - 120px);
    }

    #staff>div dl:nth-child(1) dt:nth-of-type(6) {
      width: 180px;
    }

    #staff>div dl:nth-child(1) dd:nth-of-type(6) {
      width: calc(100% - 180px);
    }

    #staff>div dl:nth-child(2) dt:nth-of-type(1) {
      width: 140px;
    }

    #staff>div dl:nth-child(2) dd:nth-of-type(1) {
      width: calc(100% - 140px);
      min-width: unset;
    }

    #dancer p {
      font-size: 90%;
      letter-spacing: -0.04em;
      line-height: 1.8;
      margin-bottom: 6%;
    }

    #dancer h3 {
      background: url(../img/menu.png) no-repeat top center;
      background-size: 100px auto;
      padding: 35px 0 10px;
    }

    #ticket dl dt {
      min-width: 125px;
    }


    #ticket dl dd a.btn_ticket {
      padding: 3px 30px;
      width: 230px;
      bottom: -30px;
    }

    #ticket dl dd small {
      bottom: -15px;
      left: 130px;
    }

    #ticket>div>div img+p {
      font-size: 90%;
    }

    #foot_sns {
      width: 90%;
      max-width: 160px;
      margin: -10% auto 80px !important;
    }

    #pageTop {
      right: 0px;
      bottom: -80px
    }

    #pageTop a {
      display: block;
      width: 40px;
      height: 140px;
      background: url(../img/pagetop.png) no-repeat;
      background-size: 100%;
    }

    #lecture div dl dt {
      width: 60px;
      letter-spacing: -0.05em;
    }

    #lecture div dl dd {
      width: calc(100% - 60px);
      letter-spacing: -0.05em;
    }
  }

  @media screen and (max-width: 400px) {
    body {
      font-size: 11px;
      line-height: 1.4;
    }

    .bunka {
      max-width: 220px;
      top: 30px;
    }

    .bunka img {
      margin-top: 0px;
    }

    #main {
      margin-top: 17%;
    }

    .btn a {
      padding: 5px 15px;
      font-size: 90%;
    }


    #staff>div dl:nth-child(1) dt,
    #staff>div dl:nth-child(2) dt {
      min-width: 80px;
    }

    #staff>div dl:nth-child(1) dd,
    #staff>div dl:nth-child(2) dd {
      min-width: calc(100% - 100px);
    }

    #staff>div dl:nth-child(1) dt:nth-of-type(6) {
      width: 160px;
    }

    #staff>div dl:nth-child(1) dd:nth-of-type(6) {
      width: calc(100% - 160px);
    }

    #staff>div dl:nth-child(2) dt:nth-of-type(1) {
      width: 120px;
    }

    #staff>div dl:nth-child(2) dd:nth-of-type(1) {
      width: calc(100% - 120px);
      min-width: unset;
    }

    #ticket dl dt {
      min-width: 105px;
    }

    #ticket dl dd a.btn_ticket {
      width: 200px;
    }

    #ticket dl dd small {
      left: 110px;
    }

    .intro_data>div:nth-child(1) h3 {
      background: url(../img/icon_intro.png) no-repeat top 10px left 68px;
      background-size: 20px auto;
    }
  }

  @media screen and (max-width: 360px) {
    .img_flex dl dd {
      letter-spacing: -0.15em;
    }

    #ticket dl {
      font-size: 90%;
      letter-spacing: -0.04em;
    }

    #ticket dl dt {
      min-width: 85px;
    }

    #ticket dl dd small {
      left: 90px;
    }

    #lecture div dl dt {
      width: 50px;
      letter-spacing: -0.1em;
    }

    #lecture div dl dd {
      width: calc(100% - 50px);
      letter-spacing: -0.1em;
    }

    #lecture>div p.mincho {
      letter-spacing: -0.1em;
    }

    #lecture div dl+p span {
      font-size: 110%;
    }
  }

  @media screen and (max-width: 340px) {
    .intro_data>div:nth-child(1) p {
      padding: 2% 0 2% 70px;
    }

    .intro_data>div:nth-child(1) h3 {
      background: url(../img/icon_intro.png) no-repeat top 10px left 45px;
      background-size: 20px auto;
    }
  }
}

/* スマホのときのみ電話をかける */
@media (min-width: 850px) {
  a[href*='tel:'] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}