@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 !important;
  }

  .only_pc_inline {
    display: none;
  }

  .only_pc_line {
    display: none;
  }

  .only_sp {
    display: block !important;
  }

  .only_sp_inline {
    display: inline-block;
  }

  .sp_br {
    display: inline;
  }

  .pc_br {
    display: none;
  }

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

  #header{
    width:100%;
  }
  header nav ul{
    margin-top:60px;
  }
  header nav ul li {
    width: 100% !important;
    max-width: 150px;
    margin: 0 auto 5%;
    display: block;
    font-size:120%;
  }


  header nav ul li:nth-of-type(8) a {
    margin-top: 30px;
  }


  header nav ul li:last-child {
    width: 100% !important;
    max-width: 300px;
    text-align: center;
  }

  header nav ul li:last-child a {
    color: #fff;
    display: block;
    margin: 2% auto;
  }


  #sns>a {
    width: 70%;
    max-width: 280px;
    display: block;
    padding: 3px 0 5px 5%;
    box-sizing: border-box;
    line-height:1.3;
  }

  #sns ul {
    width: 38%;
    max-width: 460px;
    display: flex;
    margin: 0 0 0 auto;
    justify-content: flex-end;
    position: absolute;
    bottom: -40px;
    right: 70px;
  }

  #sns ul {
    width: 45%;
  }

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

  #header nav ul {
    width: 90%;
    max-width: 400px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

  #header nav ul li {
    width: 48% !important;
    max-width: unset;
    margin-bottom:30px;
  }
  #header nav ul li:nth-child(1),
  #header nav ul li:nth-child(8) ,
  #header nav ul li:nth-child(9) ,
  #header nav ul li:nth-child(10){
    width: 100% !important;
  }
  #header nav ul li a{
    padding:0;
  }
  
  #header nav ul li:nth-child(8) a,
    #header nav ul li:nth-child(9) a,
    #header nav ul li:nth-child(10) a{
    width:80%;
    max-width:340px;
    border:1px solid #fff;
    border-radius: 30px;
    padding:5px 10px 10px;
    box-sizing: border-box;
    margin:0 auto;
  }  
  #header nav ul li:nth-child(8) a img,
    #header nav ul li:nth-child(9) a img,
    #header nav ul li:nth-child(10) a img{
    width:70%;
  }
  #main {
    display: none;
  }
  #main_sp{
    display: block;
    position:relative;
    z-index: 0;
    text-align: center;
  }
  #main_sp>div{
    width:90%;
    margin:0 auto;
    position:relative;
  }
  #main_sp>div h1{
    width:90%;
    margin:0 auto;
  }
  #main_sp .main_sousaku{
    width:40%;
    position:absolute;
    top:7%;
    left:0;
  }
  #main_sp .main_center{
    width:23%;
    position:absolute;
    top:3%;
    left:0;
  }
  #main_sp .main_catch{
    width:80%;
    max-width:500px;
    margin:40% auto 40%;
  }
  #main_sp .main_credit{
    width:70%;
    max-width:300px;
    margin: 5% auto;
  }
  #main_sp .main_date{
    width:75%;
    max-width:380px;
    margin: 0 auto 3%;
  }
  #main_sp .main_contact>div{
    width:90%;
    max-width:400px;
    margin:15px auto 10px;
  }
  #main_sp .main_contact>div a{
    padding:7px 15% 7px;
    margin-left:0;
  }
  .main_contact>p{
    width:100%;
    line-height:1.6;
  }
  .main_contact>p small:nth-of-type(1){
    display: block;
  }

  #main_sp .read{
    font-size:140%;
    line-height:1.6;
  }

  #header .main_bg{
    width:100%;
    height: unset;
    object-fit:cover;
    padding-bottom: 10%;
    position: absolute;
    top: 5%;
    bottom:auto;
    animation: glow_sp 0.5s forwards ease-out;
    animation-duration: 4s;
  }
  
  @keyframes glow_sp {
    0% {
      opacity: 0;
      filter: blur(50px);
      top:5%;
    }
  
    100% {
      opacity: 1;
      filter: blur(0);
      top:0;
    }
  }
  #content{
    width:100%;
    margin:-180px auto 0;
    background: url(../img/bg1.png) no-repeat #031833 top center;
    background-size: auto 43%;
  }
  #anc_story{
    padding-top:40%!important;
    background:url(../img/story_bg01_sp.png) no-repeat top 100px center;
    background-size:80% auto;
    margin-bottom:0;
    padding-bottom:0;
  }

  
  #anc_story .story_img{
    display: none;
  }
  #anc_story>div>div{
    width:100%;
    background:url(../img/story_bg02_sp.png) no-repeat bottom -100px center;
    background-size:50% auto;
    padding-bottom:55%;
    margin-bottom:0;
  }

  #anc_artist dl{
    display: block;
    position:relative;
    padding-top:40px;
  }
  #anc_artist dl dd>span{
    display: block;
    text-align: center;
    font-size:130%;
    position:absolute;
    top:-10px;
    left:0;
    right:0;
    margin:0 auto;
  }
  #anc_artist dl dt{
    width:80%;
    max-width:300px;
    margin:0 auto 3%;
  }
  #anc_artist dl dd{
    width:100%;
    margin:0 auto 3%;
  }
  #anc_artist dl dd>p>span{
    text-align: center;
    line-height:1.4;
    font-size:180%;
  }
  #anc_artist dl dd span small {
    display: block;
    margin-left: 0;
  }

  #anc_topic h2 {
    line-height:1.4;
    font-size:240%;
  }
  #anc_topic h2 img {
    margin-bottom:2%;
  }
  #anc_topic h2 br{
    display: inline;
  }
  #anc_topic::before {
    width:210px;
    height:210px;
    top:15%;
  }
  #anc_topic .gothic{
    font-size:90%;
  }
  #anc_topic dl dd ul li {
    text-indent: -2rem;
    margin-left: 2rem;
  }


/* 追加 */
.topics_men{
position:absolute;
width:70%;
height:auto;
z-index:-1;
top:60%;
right:0;
}


  .dancer_a{
    width:85%;
    max-width:550px;
    margin:0 auto;
  }
  .dancer_a>dl{
    width:47%;
    margin-bottom:5%;
  }
  .dancer_b{
    width:85%;
    max-width:450px;
    margin:2% auto 10%;
  }

  #anc_staff>div+p{
    text-align: left;
  }
  #anc_staff>div+p .sp_br_no{
    display: none;
  }
  #ticket>div{
    text-align: center;
  }
  #ticket dl:nth-of-type(1){
    line-height:1.4;
  }
  #ticket dl:nth-of-type(1) span{
    display: block;
    margin-top:15px;
  }
  #ticket dl:nth-of-type(1) dt{
    margin-bottom:15px;
  }
  #ticket dl.ticket_net dd ul li br{
    display: inline;
  }
  #ticket dl:nth-of-type(2) dt,
  #ticket dl:nth-of-type(3) dt,
  #ticket dl:nth-of-type(4) dt{
    width:100%;
    line-height:1.6;
  }
  #ticket dl dd a.btn_ticket{
    left:0;
    right:0;
    margin:0 auto;
  }
  #ticket dl:nth-of-type(3) dd,
  #ticket dl:nth-of-type(4) dd{
    margin-bottom:15px;
  }


  footer {
    width:90%;
    margin:0 auto;
    padding: 5% 0 0.5%;
    text-align: center;
  }  
  footer .bunka{
    width:65%;
    max-width:280px;
    margin:0 auto 5%;
  }

  .foot_data {
    max-width: 540px;
  }

  footer>div a.underline {
    text-align: center;
    display: block;
    padding-top: 5px;
  }

  footer>div a.underline::before {
    content: '';
    width: 450px;
    height: 1px;
    display: block;
    background: #fff;
    position: absolute;
    bottom: auto;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  footer>div a.underline:hover::before {
    opacity: 1;
  }
  #sns{
    top:5px;
  }

  #foot_sns ul {
    width: 60%;
    max-width: 300px;
    margin: 5% auto 10px !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    left:0;
    position:relative;
  }

  #foot_sns ul li:nth-child(1) {
    width: 25%;
    padding-left: 5px;
    padding-bottom: 5px;
  }

  #foot_sns ul li:nth-child(2) {
    width: 6%;
    padding-left: 5px;
    padding-bottom: 5px;
  }

  #foot_sns ul li:nth-child(3) {
    width: 10%;
    padding-left: 5px;
    padding-bottom: 5px;
  }

  #foot_sns ul li:nth-child(4) {
    width: 12%;
    padding-left: 5px;
    padding-bottom: 5px;
  }

  #foot_sns ul li:nth-child(5) {
    width: 100%;
    padding-bottom: 5px;
  }
  .foot_data li{
    width:100%;
    margin-bottom:20px;
  }
  .foot_data li:last-child{
    display: block;
    text-align: center;
  }
  .foot_data li>div:nth-of-type(1){
    width:100%;
    display: block;
  }
  .foot_data li>div:nth-of-type(2){
    width:100%;
    max-width:430px;
    margin:0 auto;
    justify-content: center;
  }

  @media screen and (max-width: 600px) {
    #anc_topic h2 {
      font-size: 200%;
    }
    #anc_topic>div{
      padding-left:3%;
    }
    #anc_topic dl{
      width:100%;
      font-size:110%;
    }
    #anc_topic dl dt {
      width: 9rem;
    }
    #anc_topic dl dd {
      width: calc(100% - 9rem);
    }
    #anc_topic::before{
      width:150px;
      height:150px;
    }
    #anc_topic dl{
      padding-bottom:100px;
    }
    #anc_topic dl dd a{
      max-width:350px;
      position:absolute;
      bottom:0px;
      left:0;
      right:0;
      margin:0 auto;
    }


  
  #anc_story p{
  letter-spacing:-0.1em !important;
  
  }
  

  }


  @media screen and (max-width: 580px) {
    #main_sp .main_center {
      top: 3.7%;
    }
    #main_sp .read{
      font-size:130%;
    }
    .foot_data li {
      text-indent: 0px;
      margin-left: 0px;
      font-size: 100%;
      line-height: 1.4;
      margin-bottom: 10px;
    }
  }
  @media screen and (max-width: 530px) {

    #anc_story{
      background: url(../img/story_bg01_sp.png) no-repeat top 130px center;
     background-size: 80% auto;
      padding-top:45%!important;
    }
    #anc_story>div>div {
      background: url(../img/story_bg02_sp.png) no-repeat bottom -50px center;
      background-size: 50% auto;
      padding-bottom: 50%;
    }
    #anc_staff>div{
      font-size:90%;
    }
    #anc_staff>div+p{
      font-size:80%;
    }
    #anc_staff>div dl dt {
      width: 150px!important;
    }
    #anc_staff>div dl dd {
      width: calc(100% - 150px)!important;
    }

  }


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

    #sns ul {
      bottom: -30px;
      right: 60px;
    }

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

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

    .only_sp480 {
      display: block;
    }
    #main_sp .main_catch{
      margin:50% auto 40%;
    }

    #anc_story {
      background: url(../img/story_bg01_sp.png) no-repeat top 150px center;
      background-size: 90% auto;
      padding-top: 55%!important;
    }
    #anc_story>div>div {
      background: url(../img/story_bg02_sp.png) no-repeat bottom -50px center;
      background-size: 60% auto;
      padding-bottom: 60%;
    }
    #anc_topic h2{
      font-size:170%;
    }
    #anc_topic::before {
      width: 130px;
      height: 130px;
      top:13%;
    }
    #anc_topic dl dt {
      width: 8rem;
    }
    #anc_topic dl dd {
      width: calc(100% - 8rem);
    }
    #anc_topic dl dd ul li{
      text-indent: -1.2rem;
      margin-left: 1.2rem;
    }


    #anc_artist{
      padding:8% 3%;
    }
    #anc_staff>div {
      max-width: 350px;
    }
    #anc_staff>div dl dt {
      width: 130px!important;
    }
    #anc_staff>div dl dd {
      width: calc(100% - 130px)!important;
    }


    .foot_data li {
      width: 100%;
      text-align: center;
    }

    footer h3 {
      font-size: 160%;
    }

  }
  @media screen and (max-width: 400px) {
    .main_contact>p br{
      display: inline;
    }
    #anc_topic>div {
      border-left: 2px solid #fff;
    }  
    #anc_topic dl {
      font-size:100%;
    }
    #anc_topic::before {
      width: 110px;
      height: 110px;
      top:13%;
    }
    #anc_topic dl dt {
      width: 6.5rem;
    }
    #anc_topic dl dd {
      width: calc(100% - 6.5rem);
    }
    #anc_staff{
      width:90%;
    }
    #anc_staff>div dl dt {
      width: 100px!important;
    }
    #anc_staff>div dl dd {
      width: calc(100% - 100px)!important;
    }
    #anc_staff>div dl:nth-child(1) dt:nth-of-type(5){
      width: 130px!important;
    }
    #anc_staff>div dl:nth-child(1) dd:nth-of-type(5){
      width: calc(100% - 130px)!important;
    }
    #anc_staff>div dl:nth-child(2) dt:nth-of-type(4){
      width: 120px!important;
    }
    #anc_staff>div dl:nth-child(2) dd:nth-of-type(4){
      width: calc(100% - 120px)!important;
    }
    #anc_staff>div dl:nth-child(2) dt:nth-of-type(6){
      width: 120px!important;
    }
    #anc_staff>div dl:nth-child(2) dd:nth-of-type(6){
      width: calc(100% - 120px)!important;
    }

  }

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

    body{
      font-size:11px;
    }
    #anc_staff>div dl dt {
      width: 110px!important;
    }
    #anc_staff>div dl dd {
      width: calc(100% - 110px)!important;
    }
    #anc_staff>div dl:nth-child(1) dt:nth-of-type(5) {
      width: 110px!important;
    }
      #anc_staff>div dl:nth-child(1) dd:nth-of-type(5) {
        width: calc(100% - 110px)!important;
    }
    #anc_staff>div dl:nth-child(2) dt:nth-of-type(4){
      width: 110px!important;
    }
    #anc_staff>div dl:nth-child(2) dd:nth-of-type(4){
      width: calc(100% - 110px)!important;
    }
    #anc_staff>div dl:nth-child(2) dt:nth-of-type(6){
      width: 110px!important;
    }
    #anc_staff>div dl:nth-child(2) dd:nth-of-type(6){
      width: calc(100% - 110px)!important;
    }
    #anc_topic dl dt {
      width: 5.5rem;
    }
    #anc_topic dl dd {
      width: calc(100% - 5.5rem);
    }

  }
}

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