@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Hind:400,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Patua+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+SC:wght@300;400;500;600;700&family=Zen+Old+Mincho&display=swap');
/***********************
        COMMON
*************************/

body {
    font-family: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    
    }

body_inner{
        min-width: 740px;
}

:root {
    --ttl-font:  "Cormorant SC", serif;
    --sub-color: #ea6060;
    --bg-gradation: linear-gradient(135deg, var(--main-color) 0%, var(--sub-color) 100%) fixed;
  }
  

.flex{
    display: flex;
}

.CB{
    clear: both;
}
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
.pc1280 { display: block !important; }
.sp1280 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

.mb-50 {
    margin-bottom: 1.5%;
}

/***********************
         MAIN
*************************/

/*header*/
header {
    background-color:#3e0b08;
    padding: .8% 1% .8% 2%;
    color:#c77972 ;
}
header .header_inner {
    justify-content: space-between;
    width: 100%;
    align-items: baseline;
}
header .h-logo {
    width: 10vw;
}
header .h-logo img{
    width: 7.5vw;
}
header .flex a {
    /*margin-right: 3%;*/
}
header nav ul a li{
    display: block;

}
header .pc-nav {
    text-decoration: none;
}
header .pc-nav a {
    text-decoration: none;
}

/************
menu_PC
*************/

.menu_PC {
    position: relative;
    width: 100%;
    height: 50px;
/*    max-width: 1200px;*/
    margin: 0 auto;
    text-align: center;
}

.menu_PC > li {
    float: left;
    width: 8.6vw;/* グローバルナビ4つの場合 */
    height: 50px;
    line-height: 50px;
    /*background: ;*/
    font-family: var(--ttl-font);
    color: #c77972;
    font-weight: 900;
    letter-spacing: 1px;
}

.menu_PC > .m-sshort1{
    width: 5vw;

}

.menu_PC > .m-sshort2{
    width: 5.7vw;
}

.menu_PC > .m-short{
    width: 8vw;

}
.menu_PC > .m-middle{
    width: 10vw;

}
.menu_PC > .m-long {
    width: 12.5vw;/* グローバルナビ4つの場合 */
    padding-left: 1.5%;
    padding-right: 0%;

}
.menu_PC > .m-long img{
    padding-left: 1.5%;
    padding-right: 2%;

}
.menu_PC > li:last-child {
    width: 11vw;
    /*padding-left: 4.5%;*/

}

.menu_PC > li:last-child img{
    width: 8vw;

}

.menu_PC > li img{

}

.menu_PC > li a {
    display: block;
    color: #c77972;
    text-decoration: none;
}

.menu_PC > li a:hover {
    color: #999;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu_PC > li:hover {
    background: #222222;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #3e0b08;
    margin-top: 20px;
}

.menu__third-level li {
    border-top: 1px solid #579D85;
}

.menu__second-level li a:hover {
    background: #3e0b08;
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}

/* 下矢印  init-bottom のクラス設定で下矢印を表示*/
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 10px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu_PC > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    background: #222222;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

/*end_menu_PC*/



/*main*/
.main {
    background-color: #F0F0EC;
    min-width: 740px;
}

.main .main-txt {
    padding: 5% 13vw 8%;
}
.main .m-ttl {
    margin: 0 0 2% 0;
    font-size: calc(13px + 0.7vw);
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 1.8px;
    color: #3e0b08;
}

.main .m-txt {
    line-height: 1.6;
    letter-spacing: .3px;
    font-size: calc(12px + 0.33vw);
    color: #3e0b08;

}

/*MMovie*/

.MovieBtnArea {
    position:fixed;
    right:30px;
    bottom:50px;
    transition:1s;
    z-index: 10;
}
.MovieBtnArea .Movie {
}
.MovieBtnArea img {
    width: 11vw;
}

.MovieBtnArea img:hover {
    opacity: 0.9;
    transition: all 300ms 0s ease;
}


.poyoyon3 {
  animation: poyoyon3 2.5s infinite;
  /*opacity: 1;*/
}
@keyframes poyoyon3 {
  0%, 40% {
    transform: skew(0deg, 0deg);
  }
  5% {
    transform: skew(4deg, 4deg);
  }
  10% {
    transform: skew(-3deg, -3deg);
  }
  15% {
    transform: skew(2deg, 2deg);
  }
  20% {
    transform: skew(-1deg, -1deg);
  }
  25% {
    transform: skew(0.8deg, 0.8deg);
  }
  30% {
    transform: skew(-0.5deg, -0.5deg);
  }
  35% {
    transform: skew(0.3deg, 0.3deg);
  }
}


/*WHATS NEW*/

.WhatsNewArea {
    background-color: #ddc4c2;
}
.WhatsNewArea .WhatsNew_inner {
    min-width: 760px;
    width: 66%;
    margin: 0% auto 0%;
    padding: 3% 5%; 
    color: #3e0b08;
}

.WhatsNewArea .Ttl_outer {
    text-align: center;
    margin-bottom: 2%;
    
}

.WhatsNewArea .SmallTtl {
    width: 220px;
    margin: 2% auto;
    padding-bottom: 0.5%;
    display: inline-block;
    text-align: center;
    font-family: var(--ttl-font);
    font-size:  calc(1.2em + 0.2vw);
    letter-spacing: 3px;
    color: #3e0b08;
}

.WhatsNewArea .WN_Box {
    margin-bottom: 1.5%;
    
}
.WhatsNewArea .WN_Box .Date {
    font-family: 'Poppins', sans-serif;
    font-size:  calc(0.8em + 0.1vw);
    letter-spacing: 1px;
    line-height: 1.4;
}
.WhatsNewArea .WN_Box .Txt {
    margin: 0 0 0 5%;
    font-size:  calc(0.9em + 0.1vw);
    letter-spacing: 1px;
    line-height: 1.4;
}


.WN_Box .Txt a:link, .WN_Box .Txt a:visited{
    color: #333333;
    font-size: 90%;
}

/*WHATS NEW - スマートフォン対応の改善*/
.WhatsNewArea .WN_Box.flex {
    align-items: flex-start; /* 上揃えに */
    gap: 15px; /* 日付とテキストの間隔を明確に */
}

.WhatsNewArea .WN_Box .Date {
    flex-shrink: 0; /* 日付部分の幅を固定 */
    min-width: 90px; /* 日付部分の最小幅を設定 */
    font-family: 'Poppins', sans-serif;
    font-size: calc(0.8em + 0.1vw);
    letter-spacing: 1px;
    line-height: 1.4;
}

.WhatsNewArea .WN_Box .Txt {
    flex: 1; /* 残りスペースを使用 */
    margin: 0; /* 既存のmargin-leftを削除 */
    font-size: calc(0.9em + 0.1vw);
    letter-spacing: 1px;
    line-height: 1.4;
}

/* タブレット・スマートフォン用の調整 */
@media screen and (max-width: 768px) {
    .WhatsNewArea .WhatsNew_inner {
        min-width: auto;
        width: 90%;
        padding: 5% 3%;
    }
    
    .WhatsNewArea .WN_Box.flex {
        gap: 12px;
        margin-bottom: 2%;
    }
    
    .WhatsNewArea .WN_Box .Date {
        min-width: 80px;
        font-size: 0.85em;
    }
    
    .WhatsNewArea .WN_Box .Txt {
        font-size: 0.9em;
        line-height: 1.5;
    }
}

/* より小さなスマートフォン用 */
@media screen and (max-width: 480px) {
    .WhatsNewArea .WhatsNew_inner {
        width: 95%;
        padding: 4% 2%;
    }
    
    .WhatsNewArea .WN_Box.flex {
        gap: 10px;
        margin-bottom: 2.5%;
    }
    
    .WhatsNewArea .WN_Box .Date {
        min-width: 75px;
        font-size: 0.8em;
        letter-spacing: 0.5px;
    }
    
    .WhatsNewArea .WN_Box .Txt {
        font-size: 0.85em;
        line-height: 1.6;
    }
    
    .WhatsNewArea .SmallTtl {
        font-size: 1.1em;
        letter-spacing: 2px;
    }
	
	
	
}



/*cast*/

.cast {
}
.CastPhotoBBox {
    margin: 0 auto;
}
.cast .cast_inner {
    background-color: #F0F0EC;
}
.cast .cast-name {
    padding: 7% 0;
    background-color: #F0F0EC;
}
.cast ul {
    text-align: center;
    color: #3e0b08;
    font-size: calc(14px + 0.3vw);
    font-weight: bold;
    line-height: 2.2;
    letter-spacing: 1.5px;
}
.cast ul .mb-50 {
    margin-bottom: 1.5%;
}

.cast .cast-photo {
    flex-wrap: wrap;
    flex-direction:row;
    background-color: #ddc4c2;
}
.cast .cast-photo a {
    text-decoration: none;
    width: 50%;
}

/* PC：上段3名 */
.cast .cast-photo.cast-row-top {
    margin-bottom: 0;
    padding-bottom: 0;
}

.cast .cast-photo.cast-row-top a {
    width: 33.333%;
}

/* PC：下段2名を中央寄せ */
/* 下段2枚：上段と同じ幅（33.333%）で中央寄せ */
.cast .cast-photo.cast-row-bottom {
     justify-content: center;
    
}

.cast .cast-photo.cast-row-bottom a {
    width: 33.333%;
}

.cast .cast-photo {
    text-decoration: none;
}

.cast .cast-photo a.modal {
    display: block;
    line-height: 0;
    font-size: 0;
}
.cast .CPhoto_box {
    /* opacity: 0.94; */
}
.cast figure img {
    width: 100%;
}
.cast figure h3 {
    font-family: var(--ttl-font);
    font-size: 1.8vw;
    line-height: 1.3;
    letter-spacing: 3px;
    color: #c77972;
    /* text-transform: uppercase; */
    font-weight: bold;

}

.cast figure p {
    font-family: var(--ttl-font);
    font-size: 1.2vw;
    line-height: 1.5;
    letter-spacing: 2px;
    color: #FFFCED;
}

.cast .CastDrect {
    padding: 9% 13vw;
}
.cast .Directer-box {
    margin: 2% 3%;
}
.cast .Dtxt_box {
    margin: 0 0 2% 3%;
}
.cast .ttl-name {
    margin: 0% 0 3% 0;
    font-size: calc(16px + 0.3vw);
    font-weight: bold;
    letter-spacing: 2px;
    color: #3e0b08;
}
.cast .txt {
    font-size: calc(12px + 0.22vw);
    line-height: 1.5;
    letter-spacing: .5px;
    color: #3e0b08;
}

.cast .Dimg img {
    width: 250px;
}




        /***********************
        Figure CSS Effect************************************/

        figure {
          position: relative;
          overflow: hidden;
          /*width: 24.5vw;*/
        }
        figcaption {
          position: absolute;
          top: 0;
          left: 0;
          z-index: 2;
          width: 100%;
          height: 100%;
          background: rgba(0,0,0,.6);
          -webkit-transition: .3s;
          transition: .3s;
          opacity: 0;
        }
        figure img {
          -webkit-transform: scale(1);
          transform: scale(1);
          -webkit-transition: .3s ease-in-out;
          transition: .3s ease-in-out;
        }
        figure:hover img {
          -webkit-transform: scale(1.1);
          transform: scale(1.1);
        }
        figcaption h3,
        figcaption p {
          position: absolute;
          left: -100%;
          width: 260px;
          -webkit-transition: .3s;
          transition: .3s;
        }
        figcaption h3 {
          top: 43vh;
        }
        figcaption p {
          top: 53vh;
        }
        figure:hover figcaption {
          opacity: 1;
        }
        figure:hover figcaption h3,
        figure:hover figcaption p {
          left: 50px;
        }
        figure:hover figcaption h3 {
          -webkit-transition-delay: .2s;
          transition-delay: .2s;
        }
        figure:hover figcaption p {
          -webkit-transition-delay: .3s;
          transition-delay: .3s;
        }

        /***********************
        Figure CSS EffectEND************************************/

        /***********************
        Modal CSS Effect************************************/
        .modaal-container {
            max-width: 1220px;
            color: #FFFAE5;
        }
        .modaal-content-container {
            padding: 14px;
        }
        .Modal_inner {
            display: flex;
            width: 100%;
            align-items: center;
        }
        .Modal_inner .ModalImg {
            width: 42%;
            margin: 2.5% 2% 0 0;
            padding: 2%
            
        }
        .Modal_inner img {
            width: 100%;

        }
        .Modal_inner .ModalTxt {
            margin: 4% 0 2% 2%;
            width: 50%;
        }
        .Modal_inner .ModalTxt .tag{
            margin: 4% 0 2% 0%;
            align-items: center;
            flex-wrap:wrap;
        }
        .Modal_inner .ModalTxt .tag div{
            margin: 0 1.5% 0 1.5%;
        }
        .Modal_inner .ModalTxt .tag .tagA{
            height: 25px;
            width: auto;
        }
        .Modal_inner .ModalTxt .tag .tagB{
            margin: 0 1.5% 0 2%;
            height: 30px;
            width: auto;
        }
        .Modal_inner .ModalTxtBox {
            margin: 4% 0 2% 2%;
            width: 80%;
        }
        .Modal_inner .MTtl {
            margin: 0 0 2% 0;
        font-size: calc(16px + 0.65vw);
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: 2px;
        color: #c77972;
        }
        .Modal_inner span {
            font-family: var(--ttl-font);
        font-size: calc(14px + 0.65vw);
        line-height: 1.5;
        letter-spacing: 2px;
        color: #c77972;
        }
        .Modal_inner .MMessageTtl  {
        margin: 7% 0 2% 0;
        font-family: 'Roboto Mono', monospace;
        font-size: calc(12.5px + 0.55vw);
        line-height: 1.6;
        letter-spacing: 2px;
        color: #c77972;
        font-weight: bold;
        
        }
        .Modal_inner .MMessageTtl p {
        }


        .Modal_inner p {
        font-size: calc(12.5px + 0.25vw);
        line-height: 1.5;
        letter-spacing: .5px;
        color: #333;
        }
        .Modal_inner .MMessageTxt p span {
            font-size: calc(12.5px + 0.25vw);
            color: red;
        }
        /***********************
        Modal CSS EffectEND************************************/



        /***********************
        Modal CSS EffectEND************************************/
            /* external css: flickity.css */

            /** {
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
            }


            .gallery {
              background: #EEE;
            }

            .gallery-cell {
              width: 30%;
              height: auto;
              margin-right: 50px;
              background: #8C8;
              counter-increment: gallery-cell;
            }

             cell number 
            .gallery-cell:before {
              display: block;
              text-align: center;
              content: counter(gallery-cell);
              line-height: 200px;
              font-size: 80px;
              color: white;
            }

            .gallery-cell:hover {
                  transform: scale(1.2);
                  opacity: 1;
                }*/
        /***********************
        Modal CSS EffectEND************************************/




/*ReserveInfo*/

.ReserveInfo {
    padding: 0% 0 0 0;
    background-color: #F0F0EC;
    color: #3e0b08;
}
.ReserveInfo .ReserveImg {
}
.ReserveInfo .ReserveImg img {
    background-color: #fff;
    opacity: 0.7;
}
.ReserveInfo .ReserveTxt_box {
    padding: 9% 12% 10%;
}
.ReserveInfo .RInfoImg {
    margin: 0 0;
}
.ReserveInfo .RInfoImg .LiveInfom {
    margin: 2% 15% 4%;
}
.ReserveInfo .ScheImg img{
    width: 100%;
}
.ReserveInfo .RInfoTxt_box {
    margin: 3% 8%;
}
.ReserveInfo .Rttl {
    font-size: calc(18px + 1vw);
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.2;
    color: #c77972;
}
.ReserveInfo .Rttl .shitei{
    font-size: calc(14px + 1vw);
    color: #c77972;
}
.ReserveInfo p {
    margin: 1% 0;
    font-size: calc(9px + 0.4vw);
    line-height: 1.2;
}
.ReserveInfo .Rttl_small {
    margin: 2% 0;
    font-size: calc(16px + 0.6vw);
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.4;
}
.ReserveInfo .Rttl_small .Rttl_small_box {
    align-items: center;
}
.ReserveInfo .Rttl_small .Rttl_small_box .l_box{
    text-align: center;
    width: 22%;
    padding: 0.2% 0.4%;
    font-size: 0.65em;
    letter-spacing: 2px;
    color: white;
    background-color: #3e0b08;
    margin-right: 3%;
   
}
.ReserveInfo .Rttl_small .Rttl_small_box .r_box{
    
}
.ReserveInfo .Btn-area{
    width: 80%;
    margin: 0 auto;
}

.ReserveInfo .Rbtn {
    margin: 0 auto;
    width: 55vw;
}
.ReserveInfo .RBtn_inner {
}



.ReserveInfo2{
    padding: 0% 0 0 0;
    background-color: #ddc4c2;
    color: #625F07;
}

.ReserveInfo2 .ReserveTxt_box {
    padding: 9% 12% 10%;
}

.ReserveInfo2 .TtlArea{
}
.ReserveInfo2 .TtlArea .TtlL{
    font-family: var(--ttl-font);
    font-weight: bold;
    font-size: 2.5em;
    text-align: center;
}
.ReserveInfo2 .TtlArea .TtlM{
    margin: 1% auto 1%;
    font-family: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: 1.5em;
    text-align: center;
}
.ReserveInfo2 .TtlArea .Txt{
    margin: 1% auto 2%;
    font-family: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
}
.ReserveInfo2 .contents{
    margin: 3% 8%;
    line-height: 1.3;
    letter-spacing: 1px;
    font-size: 0.9rem;
    font-weight: 400;
}
.ReserveInfo2 .Box1{
}
.ReserveInfo2 .left{
    
}
.ReserveInfo2 .right{
}
.ReserveInfo2 .Img{
}
.ReserveInfo2 .Box2{
    margin: 2% 1% 6%;
    padding: 2%;
    border: 1px solid #333 ;
    align-items: center;

}

.ReserveInfo2 .Box2 .left{
    flex-basis: 55%;
}
.ReserveInfo2 .Box2 .right{
    margin: 1% 1%;
    flex-basis: 43%;
}
.ReserveInfo2 .Btn-area{
}

.Rbtn{
}
.ReserveInfo2 .RBtn_inner{
}

        /***********************
        BUTTON CSS Effect************************************/

        .btn-square-so-pop {
          position: relative;
          display: inline-block;
          padding: 1em 0.5em;
          text-decoration: none;
          color: #FFFCED;
          background: #c77972;/*色*/
          border-radius: 4px;/*角の丸み*/
          box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          font-weight: bold;
          border: solid 0px #c77972;/*線色*/
          text-align: center;
          font-size: calc(14px + 0.3vw);
          width: 100%;
        }

        .btn-square-so-pop:active {
          /*押したとき*/
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
            background: #d8d8d8;/*色*/
        }

        .btn-square-so-pop2 {
          position: relative;
          display: inline-block;
          padding: 1em 0.5em;
          text-decoration: none;
          color: #fff;
          background: #c77972;/*色*/
          border-radius: 4px;/*角の丸み*/
          box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          font-weight: bold;
          border: solid 0px #c77972;/*線色*/
          text-align: center;
          font-size: calc(14px + 0.3vw);
          width: 100%;
        }

        .btn-square-so-pop-pnk2:active {
          /*押したとき*/
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
            background: #d8d8d8;/*色*/
        }

        .btn-square-so-pop-pnk2 {
          position: relative;
          display: inline-block;
          padding: 1em 0.5em;
          text-decoration: none;
          color: #E66969;
          background: #fff;/*色*/
          border-radius: 4px;/*角の丸み*/
          box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
          font-weight: bold;
          border: solid 2px #E66969;/*線色*/
          text-align: center;
          font-size: calc(14px + 0.3vw);
          width: 100%;
        }

        .btn-square-so-pop:active {
          /*押したとき*/
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
            background: #d8d8d8;/*色*/
        }

        /*Gray*/
        .btn-square-soft-gray:before {
            content: '';
            width: 18px;
            height: 18px;
            background: #fff;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            right: 15px;
            margin-top: -9px;
        }
        
        .btn-square-soft-gray:after {
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 4px 0 4px 6px;
            border-color: transparent transparent transparent #737373;
            position: absolute;
            top: 50%;
            right: 20px;
            margin-top: -4px;
        }
        
        .btn-square-soft-gray {
            display: inline-block;
            position: relative;
            text-decoration: none;
            color: #fff;
            width: 100%;
            height: auto;
            line-height: 50px;
            letter-spacing: 1px;
            border-radius: 5px;
            text-align: center;
            overflow: hidden;
            font-weight: bold;
            background: linear-gradient(#737373 0%, #737373 100%);
            background:linear-gradient(#737373 0%, #737373 100%);
            /*text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);*/
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
            pointer-events: none;
        }
        
        .btn-square-soft-gray:active {
            /*押したとき*/
            -webkit-transform: translateY(2px);
            transform: translateY(2px);/*沈むように*/
            box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
            background-image: linear-gradient(#737373 0%, #737373 100%);/*グラデーションを明るく*/
        }
        /***********************
        BUTTON CSS EffectEND************************************/


/*ShopInfo*/

.ShopInfo {
    background-color: #3e0b08;
    /* background-color: #57565D; */
    color: #fff;
}
.ShopInfo .ShopInfo_inner {
}
.ShopInfo .ShopInfo_inner .ShopImg {
    width: 50vw;
}

.ShopInfo .ShopTxt {
    padding: 6% 5% 5%;
}
.ShopInfo .MBYLogo {
    width: 18vw;
    margin: 0 0 3% 0 ;
}
.ShopInfo .CCLogo img {
   width: 55%;
}
.ShopInfo .ShopName {
    margin: 0 0 2% 0 ;
    font-size: calc(18px + 0.35vw);
    font-weight: bold;
    letter-spacing: 2px;
}
.ShopInfo span {
    font-size: calc(14px + 0.3vw);
}
.ShopInfo .Address {
    line-height: 1.5;
    font-size: calc(11px + 0.25vw);
}
.ShopInfo .Tel {
    line-height: 1.5;
    font-size: calc(11px + 0.25vw);
}
.ShopInfo .Map {
    margin: 4% 0 0 0;
}
.ShopInfo a {
    text-decoration: none;
}
.ShopInfo .GoogleMap {
    width: 25%;
    padding: 1.5% 2%;
    color: #333;
    background-color: #fff;
    text-align: center;
    font-size: calc(8px + 0.3vw);
    font-weight: bold;
    letter-spacing: 1px;
    border-radius: 5px;
}

/*TimeSchedule*/

.TimeSchedule {
}
.TimeSchedule .TimeSchedule_inner{
    width: 74vw;
    margin: 4% auto;
}
.TimeSchedule .TsTxt-box {
    margin: 0 0 3% 0;
}
.TimeSchedule h3 {
    margin: 0 0 2% 0;
    font-size: calc(16px + 0.6vw);
    font-weight: bold;
    line-height: 1.4;
}
.TimeSchedule p {
    font-size: calc(12.5px + 0.3vw);
    line-height: 1.4;
    letter-spacing: .5px;
}
.TimeSchedule .ImgBox {
}
.TimeSchedule img {
}

/*FOOD*/

.Food {
    padding: 2% 0;
    background-color: #9A0202;
}
.Food .TxtBox {
    width: 74vw;
    margin: 2% auto 2%;
    color: #fff;
}
.Food h3 {
    margin: 0 0 2% 0;
    font-size: calc(18px + 0.8vw);
    font-weight: bold;
    font-family: 'Patua One', cursive;
    letter-spacing: 2px;
}
.Food p {
    font-size: calc(12px + 0.3vw);
    line-height: 1.4;
    letter-spacing: .5px;
}


/*Goods*/

.Goods {
    background-color: #F0F0EC;
}
.Goods .Goods_inner {
    width: 1080px;
    margin: 0 auto;
    padding-top: 8%;
    padding-bottom: 8%;
}
.Goods .GoodsTtlArea {
}
.Goods .TtlLBox {
    align-items: center;
    text-align: center;
    flex-direction: column;
}
.Goods .TtlLBox img {
    margin: 0 0 0% 0;
    width: 40%;
}
.Goods .ContentsArea {
    margin: 5% 0 0 0;
}
.Goods .GoodsBox {
    align-items:center;
}
.Goods .GoodsBox .Img {
    width: 35%;
    margin: 0 2% 0 0;
}
.Goods .Img img {
}
.Goods .Txt {
    width: 65%;
}
.Goods .MBTtl {
    width: 90%;

}
.Goods .MBTtl img {
}
.Goods .MBTxt {
    line-height: 1.5;
}


.Movie_BtnArea {
    margin: 5% 0 0 0;
}



/*Archive*/

.Archive {
    padding: 2% 0;
}
.Archive .Archive_inner {
    width: auto;
    margin: 2% auto 2%;
}
.Archive .TxtBox {
    margin: 0 0 2% 0;
}

.Archive h3 {
    margin: 0 0 2% 0;
    font-size: calc(18px + 0.8vw);
    font-weight: bold;
    font-family: var(--ttl-font);
    letter-spacing: 2px;
    text-align: center;
	color: #3e0b08;
}
.Archive .TxtBox p {
    font-size: calc(12.5px + 0.3vw);
    line-height: 1.4;
    letter-spacing: .5px;
}

.Archive .ArchivetxtBox {
    margin: 10vh 2% 2% 4%;
    width: 40%;
}
.Archive .ArchivetxtBox p {
    line-height: 1.5;
    font-size: calc(12.5px + 0.3vw);
}
.Archive .ttl {
    margin: 2% 0 2% 0;
    font-size: calc(12.5px + 0.6vw);
    font-weight: bold;
    letter-spacing: .5px;
    line-height: 1.5;
}
.Archive .Abtn {
    margin: 6% 0 2% 0;
    padding: 0 0 2% 0;
    font-size: calc(14px + 0.6vw);
    font-weight: bold;
    letter-spacing: 1px;
}
.Archive .Abtn span{
    margin: 2% 0 2% 0;
    font-size: calc(14px + 0.6vw);
    font-weight: bold;
    font-family: 'Patua One', cursive;

}

.Archive a{
    color: #3e0b08;
}


/*ShowInfo*/

.ShowInfo {
    padding: 2% 0;
    background-color: #ddc4c2;
}
.ShowInfo .ShowInfo_inner {
    width: 74vw;
    margin: 2% auto;
    align-items: center;
}
.ShowInfo .ShowInfo_inner div {
}
.ShowInfo .ShowInfo_inner .InfoImgFl {
    width: 40%;
    margin: 2% 0% 2% 8%;

}

.ShowInfo .TxtBox  {
    margin: 2% 3% 2%;


}
.ShowInfo .TxtBox div img {
    width: 80%;

}
.ShowInfo .InfoBtnArea {
    margin: 4% 0 0 2%;
    width: 65%;
}
.ShowInfo .btn-square-so-pop {
}
.ShowInfo .Rbtn {
    font-size: calc(12.5px + 0.3vw);
}
.ShowInfo .RBtn_inner {
    text-align: center;
}

.SNSBox {
    text-align: center;
}
.SNSBox .SNSBox_inner {
    width: 50vw;
    margin: 2% auto;
}
.SNSBox p {
font-size: calc(12px + 0.4vw);
    color: #fff;
}
.SNSBox .SNSLink {
    width: 40vw;
    margin: 3% auto;
    justify-content: space-around;
    align-self: center;
    align-items: center;
}
.SNSBox .SNSLink.SNSBox .SLink {
}
.SNSBox img {
}


/*Footer*/

footer {
    padding: 2% 0 2%;
    background-color: #3e0b08;
    color: #fff;
    
}
footer .footer_inner {
    text-align: center;
}
footer .footer_member {
     margin: 2% 0 4% 0;
    
}
footer p {
    margin: 2% 0 2% 0;
    font-size: calc(9px + 0.4vw);
    letter-spacing: .8px;
    line-height: 1.8;
}
footer .pc {
}
footer .footer_logo {
    margin: 0 0 2% 0;

}
footer img {
    width: 200px;
}
footer .copyright {
    font-size: small;
    letter-spacing: 1px;
}
/***********************
        MEDIA QUERY
*************************/



/***********************
       COMMON
*************************/
    @media (max-width: 1280px) {
    .pc1280 { display: none !important; }       
    .sp1280 { display: block !important; }
        
            /***********************
        SP MENU CSS Effect************************************/
        
        /*ハンバーガーメニュー*/

        #globalMenuSp {
          position: fixed;
            z-index: 4;
            top: 0;
            left: 0;
            color: #3e0b08;
            text-align: center;
            transform: translateY(-100%);
            transition: all 0.35s;
            width: 100%;
            padding-top:-100px;
        }

        #globalMenuSp ul {
            background: rgba(23, 23, 23, 0.65);
          　margin: 0 auto;
            padding: 0;
            padding-top: 12%;
            width: 100%;
            display:flex;
            flex-wrap:wrap;
            /*align-items: center;*/
        }

        #globalMenuSp ul li {
            font-size: 1.1em;
            list-style-type: none;
            padding: 0;
            width: 50%;
            border-bottom: 1px dotted #fff;
        }        /* 最後はラインを描かない */
        /*#globalMenuSp ul li:last-child {
            padding-bottom: 0;
            border-bottom: none;
        }*/

        #globalMenuSp ul li a {
            display: block;
            color: #fff;
            padding: 1em 0;
            font-family: var(--ttl-font);
            text-decoration: none;
        }

        /* このクラスを、jQueryで付与・削除する */
        #globalMenuSp.active {
            transform: translateY(0%);
        }

        /*ハンバーガー用CSS*/
        .navToggle {
            display: block;
            position: fixed;    /* bodyに対しての絶対位置指定 */
            right: 5%;
            top: 12px;
            width: 42px;
            height: 51px;
            cursor: pointer;
            z-index: 5;
            text-align: center;
        }

        .navToggle span {
            display: block;
            position: absolute;    /* .navToggleに対して */
            width: 30px;
            border-bottom: solid 3px #fff;
            -webkit-transition: .35s ease-in-out;
            -moz-transition: .35s ease-in-out;
            transition: .35s ease-in-out;
            left: 6px;
        }

        .navToggle span:nth-child(1) {
            top: 9px;
        }

        .navToggle span:nth-child(2) {
            top: 18px;
        }

        .navToggle span:nth-child(3) {
            top: 27px;
        }

        .navToggle span:nth-child(4) {
            border: none;
            color: #eee;
            font-size: 9px;
            font-weight: bold;
            top: 34px;
        }

        /*ハンバーガーメニュータップ後CSS*/
        /* 最初のspanをマイナス45度に */
        .navToggle.active span:nth-child(1) {
            top: 18px;
            left: 6px;
            border-bottom: solid 3px #eee;
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            transform: rotate(-45deg);
        }

        /* 2番目と3番目のspanを45度に */
        .navToggle.active span:nth-child(2),
        .navToggle.active span:nth-child(3) {
            top: 18px;
            border-bottom: solid 3px #eee;
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            transform: rotate(45deg);
        }
 
                        /***********************
        SP MENU CSS Effect END************************************/

    .main .main-txt {
        padding: 3% 6vw 8%;
    }        
    .cast .CastDrect {
    padding: 5% 6vw;
    } 
    .cast .Dimg img {
    width: 200px;
}
    .ReserveInfo .ReserveTxt_box {
        padding: 3% 10% ;
    }
    .TimeSchedule .TimeSchedule_inner {
        width: 80vw;
        margin: 4% auto;
    }
    .Archive .Archive_inner {
        width: 80vw;
        margin: 2% auto 2%;
    }
    .Archive .ArchivetxtBox {
    margin: 3vh 2% 2% 4%;
}
   .ShowInfo .ShowInfo_inner {
    width: 96%;
    margin: 2% auto;
}
    .ShowInfo .TxtBox {
        margin: 5% 2% 2%;
        width: 50%;
    }
    .SNSBox .SNSBox_inner {
    width: 80vw;
}
        
.WhatsNewArea .WhatsNew_inner {
    min-width: inherit;
    width: 96%;
    margin: 0 2% ;
    padding: 8% 0%;
}
.WhatsNewArea .WNew_contents .WN_Box {
    flex-direction: column;

}
    
.WhatsNewArea .WNew_contents .WN_Box .Date {
    margin-left: 2%;
}

.Goods .Goods_inner {
    margin: 0 4%;
    width: 92%;
}
        
}




    @media (max-width: 769px)and (min-width: 481px) {
        
        /* menu */
        .main .main-txt {
            padding: 3% 5vw 8%;
        }
        .cast .CastDrect {
            padding: 5% 0vw;
        }

        /* パソコンで見たときは"pc"のclassがついた画像が表示される 
        .pc { display: none !important; }
        .sp { display: block !important; }
        スマートフォンで見たときは"sp"のclassがついた画像が表示される */
        

    

        /***********************
        Modal CSS Effect************************************/
        .modaal-container {
            max-width: 100%;
        }
        .Modal_inner {
            display: flex;
            flex-direction: column;
        }
            .Modal_inner .ModalImg {
            width: 60%;
            margin: 0 2% 0 0;
            padding: 2%
            
        }
        .Modal_inner img {
            width: 100%;

        }
        .Modal_inner .ModalTxt {
            margin: 4% 0 2% 2%;
            width: 96%;
        }
                /***********************
        Modal CSS Effect END************************************/
}

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

    .ReserveInfo2 .TtlArea {
        margin-bottom: 8%;
    }
    .ReserveInfo2 .Box2 {
        margin: 6% 1% 10%;
        padding: 5% 4%;
        border: 1px solid #333 ;
        align-items: center;
        flex-direction:column;
    }
    .ReserveInfo2 .ReserveTxt_box {
        padding: 9% 2% 10%;
    }
    .ReserveInfo2 .contents {
        margin: 3% 3%;
        line-height: 1.3;
        letter-spacing: 1px;
        font-size: 0.9rem;
        font-weight: 400;
    }
    .ReserveInfo2 p {
        margin: 1% 0;
        font-size: calc(9px + 0.4vw);
    }

    .ReserveInfo2 .Btn-area {
        width: 80%;
        margin: 0 auto;
    }

    .ReserveInfo2 .TtlArea .TtlL {
        font-size: 2em;
    }
}

       
    

@media screen and (max-width: 480px){
        /* パソコンで見たときは"pc"のclassがついた画像が表示される */
        .pc { display: none !important; }
        .sp { display: block !important; }
        /* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
/*main*/
body {
    min-width: 100%;
}

body_inner{
    min-width: 100%;
}

.flex{
    display: flex;
}

.main {
    min-width: 100%;
}
.main .main-txt {
    padding: 3% 3% 8%;
}
.main .m-ttl {
    font-weight: bold;
    margin: 2% 0;
}
.main .m-txt {
    margin: 2% 0;
    font-size: calc(12.5px + 0.33vw);
    }

header .h-logo img{
    width: 25vw;
}

/*MMovie*/

.MovieBtnArea {
    position:fixed;
    right:15px;
    bottom:20px;
    transition:1s;
    z-index: 10;
}
.MovieBtnArea .Movie {
    animation: fadeIn 6s ease 0.6s 1 normal;
    animation-fill-mode:forwards;
    opacity:0;
}
.MovieBtnArea img {
    width: 22vw;
}

@keyframes fadeIn { /*animation-nameで設定した値を書く*/

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }

}
    
.MovieBtnArea img:hover {
    opacity: 0.9;
    transition: all 300ms 0s ease;
}


.WhatsNewArea .WNew_contents .WN_Box .Txt {
    margin: 0 0 0 5%;
    font-size:  calc(12.5px + 0.1vw);
    letter-spacing: 1px;
    line-height: 1.4;
}
/*cast*/
    
.cast .cast-photo a {
    text-decoration: none;
    width: 33%;
}


.cast .cast-name {
    padding: 15% 0;
}
.cast ul {
    font-size: 14px;
}

.cast .CPhoto_box {
    width: 100vw;
}

/* SP：cast-photo a は全幅（縦並び） */
.cast .cast-photo a {
    text-decoration: none;
    width: 100%;  
}

/* SP：figureの幅を100%に（100vwを上書き） */
.cast figure {
    width: 100% !important;
}

/* SP：上段・下段ともに縦並び（PC指定を上書き） */
.cast .cast-photo.cast-row-top a,
.cast .cast-photo.cast-row-bottom a {
    width: 100% !important;
}

.cast .CastDrect {
    padding: 13% 3%;
}
.cast .Directer-box {
    margin: 2% 0%;
    flex-direction :column;
}
.cast .Dtxt_box {
    margin: 0 0 2% 0%;
}
.cast .ttl-name {
    margin: 2% 0 2% 0;
    font-weight: bold;
    letter-spacing: 2px;
}
.cast .txt {
    font-size: calc(12px + 0.33vw);
    line-height: 1.5;
    letter-spacing: .5px;
    color: #333;
}
.cast .Dimg img {
    text-align: center;
    margin:0 auto;
}

.cast .Dimg img {
    width: 260px;
    text-align: center;
    margin:0 auto;
}
   
.cast .Support-box {
    margin: 2% 0%;
    flex-direction :column;
}
    

    

         /***********************
        Figure CSS Effect************************************/

        figure {
          position: relative;
          overflow: hidden;
          width: 100vw;
        }


        /***********************
        Figure CSS EffectEND************************************/   
    
                /***********************
        Modal CSS Effect************************************/
        .modaal-container {
            max-width: 100%;
        }
        .Modal_inner {
            display: flex;
            flex-direction: column;
        }
            .Modal_inner .ModalImg {
            width: 90%;
            margin: 0 auto 0 auto;
            padding: 2%
            
        }
        .Modal_inner span {
        font-family: var(--ttl-font);
        font-size: calc(14px + 0.65vw);
        line-height: 1.5;
        letter-spacing: 0.6px;
        font-weight: bold;
        margin-left: 4%;
    }
        .Modal_inner img {
            width: 100%;

        }
        .Modal_inner .ModalTxt .tag {
            margin: 6% 0 2% 0%;
            align-items: center;
            flex-wrap: wrap;
        }
        .Modal_inner .ModalTxt {
            margin: 4% 0 2% 2%;
            width: 96%;
        }
    
        .Modal_inner .ModalTxt .tag div{
            margin: 0 1.5% 0 1.5%;
        }
        .Modal_inner .ModalTxt .tag .tagA{
            height: 20px;
            width: auto;
        }
        .Modal_inner .ModalTxt .tag .tagB{
            margin: 0 1.5% 0 2%;
            height: 25px;
            width: auto;
        }
                /***********************
        Modal CSS Effect END************************************/

/**/

.ReserveInfo .ReserveTxt_box {
    padding: 10% 3% 15%;
    
}
.ReserveInfo .Rbtn {
    
     width: 100%;
}
.ReserveInfo .RInfoImg .LiveInfom {
    margin: 2% 2% 5%;
}
.ReserveInfo .ScheImg{  
    position: relative;
    overflow-x: auto;
    overflow-y:hidden;
    height: 230px;
    } 
.ReserveInfo .ScheImg img{
    width: 750px;
    max-width: 750px;
    height: 230px;
}

.ReserveInfo .RInfoTxt_box {
    margin: 3% 2%;
}
.ReserveInfo p {
    line-height: 1.5;
}
.btn-square-so-pop {
  width: 94%;   
 padding: 1em 0.5em;
}
/**/
.ShopInfo .ShopInfo_inner {
    flex-direction: column;
}
.ShopInfo .ShopInfo_inner .ShopImg {
    width: 100%;
}
.ReserveInfo .Rttl {
    line-height: 1.5;
}
.ReserveInfo .Rttl_small {
     line-height: 1.5;
    }
.ReserveInfo .Rttl_small .Rttl_small_box {
    flex-direction: column;
    align-items: normal;
    line-height: 1.5;
}

.ReserveInfo .Rttl_small .Rttl_small_box .l_box{
    width: 56%;
    font-size: 0.7em;
    letter-spacing: 2px;
    margin: 1% 0;
    padding: 0.6% 0.4%;
   
}
.ShopInfo .CCLogo img {
    width: 48%;
    margin: 0 0 5% 0;
}
.ShopInfo .ShopTxt {
    width: 90%;
    padding: 7% 5% 7%;
}
.ShopInfo .Tel {
    line-height: 1.5;
    font-size: calc(11px + 0.25vw);
}
.ShopInfo .Tel span {
    line-height: 1.5;
    font-size: calc(14px + 0.25vw);
    text-decoration: none;
    color: #fff;
}
.ShopInfo .Tel a {
    
    color: #fff;
    text-decoration: none;
}
 /**/
.TimeSchedule .TimeSchedule_inner {   
width: 94%;
margin: 4% 3%;
}

.Food .TxtBox {
width: 94%;
margin: 4% 3%;
}


/*Goods*/

.Goods .Goods_inner {
    width: 96%;
    margin: 0 2%;
    padding-top: 8%;
    padding-bottom: 8%;
}
.Goods .TtlLBox img {
    text-align: center;
    margin: 0 0 3% 0;
    width: 70%;
}
.Goods .GoodsBox {
    flex-direction: column;
    align-items:center;
}
.Goods .GoodsBox .Img {
    width: 86%;
    margin: 0 2% 0 0;
}
.Goods .Img img {
}
.Goods .Txt {
    width: 96%;
}
.Goods .MBTtl {
    margin: 2% auto;
    width: 90%;
}
.Goods .MBTxt p {
    font-size: 14px;
    }
    
.Archive .ArchiveBox {
    flex-direction: column;
}
.Archive .Archive_inner {
    width: 94%;
    margin: 2% auto 2%;
}
.Archive .ArchivetxtBox {
    margin: 2% 0% 2% 0%;
    width: 100%;
}

footer .footer_member {
    margin: 2% 2% 4% 2%;
    
}
footer p {
    text-align: left;
    
}
    
    
.ShowInfo .ShowInfo_inner {
width: 96%;
margin: 4% 2%;
flex-direction: column;
}
    
.ShowInfo .TxtBox {
    margin: 5% 3% 2%;
    width: 96%;
}
.ShowInfo .InfoBtnArea {
    margin: 5% 0 0 2%;
    width: 100%;
}
    
.ShowInfo .ShowInfo_inner .InfoImgFl {
    width: 96%;
    margin: 2% 0% 2% 2%;
    /*border: 1px solid #585858;*/


}
.ShowInfo .Rbtn {
    width: 100%;
}
.SNSBox .SNSBox_inner {
    width: 94%;
    margin: 2% 3%;
}
.SNSBox .SNSLink {
    width: 66%;
    margin: 3% auto;
}
.SNSBox img {
    width: 60%;
}
.SNSBox p {
    font-size: calc(12px + 0.4vw);
    text-align: center;
    line-height: 1.5;
}
footer img {
    width: 150px;
    margin: 2% 0 4%;
}

}