@charset "shift_jis";

/**************バウンド　アニメ****************/
.item_img:nth-child(1n) {
    animation: key1 .3s ease infinite alternate;
}

@keyframes key1 {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(-10px);
    }
}
.item_img:nth-child(2n),.map_open {
    animation: key2 .6s ease infinite alternate;
}

@keyframes key2 {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(-20px);
    }
}
.item_img:nth-child(3n) {
    animation: key3 .4s ease infinite alternate;
}
@keyframes key3 {
    0% {
        transform: translateY(0px);
    }

    100% {
        transform: translateY(10px);
    }
}

.day{
    font-size: 0.8em;
}
/************** イベント画像・新人動き **************/
.ri-grid .nf_text{
    background-color: rgba(0,0,0,0.6);
    padding: 3%;
    text-align: center;
    color: #fff;
}
.ri-grid .nf_text .nf_realtime_bg {
    color: #ff7;
    background-color: none;
}
.event_box .img-animation:before {
    background: #fff;
}

.nf_text .img-animation:before {
    background: #000;
    right: -1px;
}

@keyframes img-opacity {
    0% {
        opacity: 0;
    }
}

@keyframes img-animation {
    100% {
        transform: translateX(100%);
    }
}
.img-animation {
    animation: img-opacity 1s cubic-bezier(.1, 0, .1, 1);
    overflow: hidden;
    position: relative;
}

.img-animation:before {
    animation: img-animation 1s cubic-bezier(.1, 0, .1, 1) forwards;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

/***************newface 名前　動き**************
.nf_text {
    animation: img-opacity 1s cubic-bezier(.1, 0, .1, 1);
    overflow: hidden;
    position: absolute;
}
.nf_text:before {
    animation: img-animation 1s cubic-bezier(.1, 0, .1, 1) forwards;
    background: #000;
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: -1;
    top: 0;
    z-index: 1;
}
*/

/**************各コンテンツ****************/
.ttl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.title_en {
    /* -webkit-transform: rotate(-12deg);
    -moz-transform: rotate(-12deg);
    transform: rotate(-12deg);
    font-family: 'Anton', sans-serif;
    */
    font-size: 2em;
    color: #000;
    line-height: 1em;
    margin: 5% 0px 0% 0;
    font-weight: bold;
    text-align: center;
}

/*もっと見るボタン*/

/***元**
.more_btn {
    clear: both;
    display: block;
    font-weight: bold;
    margin: 3% auto;
    padding: 3% auto;
    text-align: center;
    border-radius: 30px;
    background: url(../img/index/more_arrow.png) top right no-repeat,linear-gradient(0deg, var(--link-color), var(--link-color));
    background-size: auto 100%;
    max-width: 400px;
    width: 80%;
}
.more_btn a {
    display: block;
    padding: 15px;
    color: #fff;
	position: relative;
}
**/

/***もっと見る　ホバーアクション**/
.more_btn {
    clear: both;
    display: block;
    font-weight: bold;
    margin: 3% auto;
    padding: 3% auto;
    text-align: center;
    border-radius: 10px;
    max-width: 400px;
    width: 80%;
}
.more_btn a {
	/*border: 2px solid var(--link-color);*/
	background-color: #fff;
    border-radius: 10px;
    display: block;
    padding: 5px;
	position: relative;
	display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap:wrap;
	justify-content: center;
}

/***アンダーラインフェードイン**/
.icon-border {
	position: relative;
	display: flex;
	align-items: center;
}
.icon-border::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: var(--link-color);
bottom: 1em;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}

.more_btn a:hover .icon-border::after {
transform: scale(1, 1);
}
/****斜め 矢印アイコンホバー*/
.icon-circle {
    border: 2px solid var(--link-color);
    border-radius: 50%;
    color: #fff;
    display:inline-block;
    font-weight: bold;
    width: 20px;
	height: 20px;
    padding:8px 10px 12px 10px;
		margin: 5px;
    text-align: center;
		vertical-align: middle;
}
.icon-circle.slide {
  color: var(--link-color);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.icon-circle.slide::after {
  background: var(--link-color);
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.more_btn a:hover .icon-circle.slide {
  color: #fff;
}
.icon-circle.skew::after {
  transform: skewY(-45deg) scale(1, 0);
  height: 200px;
}
.more_btn a:hover .icon-circle.skew::after {
  transform: skewY(-45deg) scale(1, 1);
}
	
/***ホバー時のテキストスライド***/
.hover-btn {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 60px; 
  line-height: 60px;
  overflow: hidden;
  cursor: pointer;
}
.hover-text {
  position: absolute;
  left: 0;
  display: block;
  height: 100%; /* 縦幅をボタンと同じにする */
  width: 100%; /* 横幅をボタンと同じにする */
  color: var(--text-color); /* 文字色 */
  font-size: 16px; /* 文字サイズ */
  font-weight: bold; /* 文字の太さ */
  text-align: center; /* テキストを中央揃え */
  transition: all 0.3s; /* アニメーション実行時間 */
}

.hover-text:nth-child(1) {
  top: 0;
}

.hover-text:nth-child(2) {
  top: -100%;
}

.more_btn a:hover .hover-btn .hover-text:nth-child(1) {
  top: 100%;
}
.more_btn a:hover .hover-btn .hover-text:nth-child(2) {
  top: 0;
	color: var(--link-color);
}

/*検索の所　もっと見るボタン
.cast_search li .more_btn {
    clear: both;
    display: block;
    font-weight: bold;
    margin: 1% auto 5% auto;
    padding: 3% auto;
    text-align: center;
    border-radius: 30px;
    background: url(../../img/index/more_arrow.png) top right no-repeat,linear-gradient(0deg, rgba(255,78, 136, 1), rgba(255, 94, 130, 1));
    background-size: auto 100%;
    width: 100%;
}
*/

.pro_more_btn {
    clear: both;
    display: block;
    font-weight: bold;
    margin: 5% auto;
    padding: 3% auto;
    text-align: center;
    border-radius: 30px;
    background-color: var(--link-color);
    background-size: auto 100%;
    max-width: 400px;
    width: 80%;
}
.pro_more_btn a {
    display: block;
    padding: 15px;
    color: #fff;
}

.cast_search li .search_container{
    width: 90%;
    margin: 1% auto 5% auto;
  }


#slide_menu::before {
    content: "";
    display: block;
    position: fixed;
    z-index: -3;
    width: 100%;
    height: 100vh;
    background: url(../../../img/index/bg.jpg) center no-repeat;
    background-size: cover;
}
.count {
    clear: both;
    width: 90%;
    font-weight: bold;
    text-align: center;
    line-height: 1.2em;
    padding: 0% 0%;
    margin: 0px auto 1em auto;
    font-size: 1.2em;
}
.count span {
    vertical-align: text-bottom;
    font-size: 1.8em;
    font-weight: bold;
    margin: 0 0.5%;
}
.banner{
    width: 96%;
    height: auto;
    margin: 2% auto;
}
.banner img{
    width: 100%;
    height: auto;
}
@media screen and (min-width:768px) {
    .title_en {
        font-size: 2.5em;
        color: #000;
        line-height: 1em;
        margin: 0px 0px 0% 0;
        font-weight: bold;
    }
    .btn_ititan {
        width: 60%;
        margin: 5% 20% 2% 20%;
        text-align: center;
    }
    #main_sch_container h2 {
        position: relative;
        z-index: 3;
        top: 0px;
        right: 0;
        margin-left: 20%;
        padding-left: 2%;
    }
    #main_event_container h2,
    #main_ac_container h2,
    #main_photo_container h2 {
        position: relative;
        z-index: 3;
        top: -30px;
        right: 0;
        margin-left: 20%;
        padding-left: 2%;
    }

}

/**************出勤****************/

#sch_container {
    background-color: rgba(255, 184, 51, 1);
    padding-bottom: 5%;
}
#main_sch_container {
    background-color: rgba(255, 184, 51, 0.9);
    padding-bottom: 2%;
}
.sch_box {
    width: 48%;
    height: auto;
    margin: 0 0 2% 2%;
    background-color: #FFF;
    position: relative;
    overflow: hidden;
    float: left;
}

@media screen and (max-width:768px) {
    #sch_container {
        padding-bottom: 2%;
    }

    .sch_box {
        width: 23%;
        height: auto;
        margin: 0 0 2% 2%;
        background-color: #FFF;
        position: relative;
        overflow: hidden;
        float: left;
    }
}

.cast_ribbon {
    position: absolute;
    bottom: -3%;
    right: 0;
}
.cast_ribbon img {
    width: 150%;
    height: auto;
    margin-left: -40%;
}
.sch_rightbox {
    /*margin-left:10%;*/
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
.sch_size {
    margin: 0% 0% 5% 0%;
    font-size: 0.8em;
    /* letter-spacing: 0.1em; */
    text-align: center;
}
.ic_soku {
    width: 20%;
    height: auto;
    position: absolute;
    top: 0%;
    right: 0;
}
.ic_soku img {
    width: 100% !important;
    height: auto !important;
}
.sch_text {
    width: 100%;
    height: auto;
    position: relative;
}
.sch_name {
    font-size: 1.2em;
    margin: -8% 2% 2% 2%;
}
.sch_age1,.sch_age2,.sch_age3,.sch_age4,.sch_age5,.sch_age6,.sch_age7 {
    font-family: 'Tangerine', cursive;
    font-size: 2em;
    line-height: 0.8em;
    text-align: right;
    margin: 0 16px 0 0;
}
.sch_age1 span,.sch_age2 span,.sch_age3 span,.sch_age4 span,.sch_age5 span,.sch_age6 span,.sch_age7 span  {
    font-size: 4em;
    vertical-align: middle;
    margin-left: -10%;
    letter-spacing: -0.08em;
}
.sch_age1 {
    color: #ff88ca;
}
.sch_age2 {
    color: #7798d3;
}
.sch_age3 {
    color: #ff7373;
}
.sch_age4 {
    color: #ffbbe0;
}
.sch_age5 {
    color: #a4e762;
}
.sch_age6 {
    color: #ff7e00;
}
.sch_age7 {
    color: #fbb97c;
}
.sch_shop1,.sch_shop2,.sch_shop3,.sch_shop4,.sch_shop5,.sch_shop6,.sch_shop7 {
    font-size: 0.6em;
    color: #FFF;
    text-align: center;
    margin: 2%;
    padding: 2% 0 1% 0;
    width: 96%;
    clear: both;
}
.sch_shop1 {
    background-color: #ff88ca;
}
.sch_shop2 {
    background-color: #7798d3;
}
.sch_shop3 {
    background-color: #ff7373;
}
.sch_shop4 {
    background-color: #ffbbe0;
}
.sch_shop5 {
    background-color: #a4e762;
}
.sch_shop6 {
    background-color: #ff7e00;
}
.sch_shop7 {
    background-color: #fbb97c;
}

/** マーキーさせたい部分 */
.marquee {
    overflow: hidden;
    /* スクロールバーが出ないように */
    position: relative;
    /* マーキーの内容部分の位置の基準になるように */
    height: 2em;
}

/* マーキーの内容部分の高さ確保 */
.marquee::after {
    content: "";
    white-space: nowrap;
    display: inline-block;
}

/* マーキーさせたい部分(内側) */
.marquee-inner {
    position: absolute;
    top: 0.2em;
    white-space: nowrap;
    animation-name: marquee;
    animation-timing-function: linear;
    animation-duration: 10s;
    animation-iteration-count: infinite;
    font-size: 1.4em;
}

/* マウスオーバーでマーキーストップ */
.sch_shop > .marquee-inner:hover {
    animation-play-state: paused;
    cursor: default;
}

/** マーキーアニメーション */
@keyframes marquee {
    0% {
        left: 100%;
        transform: translate(0);
    }

    100% {
        left: 0;
        transform: translate(-100%);
    }
}
.sch_time {
    /* margin-top: 3em; */
    font-size: 0.9em;
    text-align: center;
}
.sch_time span {
    display: block;
    font-size: 1.2em;
}
.sch_realtime1,.sch_realtime2,.sch_realtime3,.sch_realtime4,.sch_realtime5,.sch_realtime6,.sch_realtime7{
    color: #FFF;
    text-align: center;
    line-height: 1.2em;
    padding: 5px;
    height: 2.3em;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
}
.sch_realtime1 {
    background-color: #ff88ca;
}
.sch_realtime2 {
    background-color: #7798d3;
}
.sch_realtime3 {
    background-color: #ff7373;
}
.sch_realtime4 {
    background-color: #ffbbe0;
}
.sch_realtime5 {
    background-color: #a4e762;
}
.sch_realtime6 {
    background-color: #ff7e00;
}
.sch_realtime7 {
    background-color: #fbb97c;
}
.sch_img {
    position: relative;
    overflow: hidden;
    padding-top: 130%;
}
.sch_img img {
    position: absolute;
    top: 0;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.sch_name_en {
    font-family: 'Caveat', cursive;
    font-style: italic;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 7em;
    color: rgba(255, 255, 255, 0.4);
    /* letter-spacing:-0.1em; */
    line-height: 0.65em;
}
.sch_img img {
    -webkit-filter: blur(15px);
    filter: blur(15px);
}
.img-blur {
    animation: imageBlur 1s both;
}
@keyframes imageBlur {
    100% {
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}

/**************イベント****************/
#event_container {
    background-image: url(../img/index/event_bg.jpg);
    /* background-color: #c8c5ba; */
    padding-bottom: 30px;
    text-align: center;
    clear: both;
}
@media screen and (max-width:768px) {
    #event_container {
    }
}
#main_event_container {
    background-color: rgba(128, 214, 210, 0.9);
    padding-bottom: 2%;
}
.event_rightbox {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
.event_box {
    background-color: #FFF;
    height: 150px;
    margin: 0% 0 3% 10%;
    /*width:90%;*/
    overflow: hidden;
}
.event_box_title {
    display: block;
    margin: 2%;
}
.event_box_title h3 {
    background: linear-gradient(transparent 70%, #ffff66 0%);
    display: inline;
}
.event_day1,.event_day2,.event_day3,.event_day4,.event_day5,.event_day6,.event_day7 {
    float: left;
    height: 100%;
    text-align: center;
    color: #FFF;
    margin-right: 1.5%;
    padding-left: 0.5%;
    font-size: 0.7em;
}
.event_day1 {
    background-color: #ff88ca;
}
.event_day2 {
    background-color: #7798d3;
}
.event_day3 {
    background-color: #ff7373;
}
.event_day4 {
    background-color: #ffbbe0;
}
.event_day5 {
    background-color: #a4e762;
}
.event_day6 {
    background-color: #ff7e00;
}
.event_day7 {
    background-color: #fbb97c;
}
.event_img {
    width: 40%;
    height: auto;
    margin-right: 2%;
    float: left;
    overflow: hidden;
}
.event_img img {
    width: 100%;
    height: auto;
}
.event_text {
    width: 46%;
    float: left;
    font-size: 0.9em;
    line-height: 1.2em;
}
#main_event_container .event_box {
    background-color: #FFF;
    height: auto;
    margin: 2% 0% 2% 4%;
    width: 96%;
}
#main_event_container .event_day1,#main_event_container .event_day2,#main_event_container .event_day3,#main_event_container .event_day4,#main_event_container .event_day5,#main_event_container .event_day6,#main_event_container .event_day7 {
    width: 100%;
    height: auto;
    text-align: center;
    color: #FFF;
    margin-right: 0%;
    padding: 0.6% 0;
    font-size: 0.8em;
}
#main_event_container .event_img {
    width: 80%;
    height: auto;
    margin: 2% 10%;
    padding: 3% 0;
    float: none;
}
#main_event_container .event_box_title {
    width: 92%;
    margin: 4%;
    float: none;
}
#main_event_container .event_text {
    width: 92%;
    margin: 4%;
    float: none;
    font-size: 0.9em;
    line-height: 1.2em;
}

@media screen and (max-width:768px) {
    #event_container {
    }
    #main_event_container .event_rightbox {
        display: block;
    }
    .event_box {
        background-color: #FFF;
        height: 300px;
        margin: 1% 1%;
        width: 47%;
        overflow: hidden;
    }
    #main_event_container .event_box {
        background-color: #FFF;
        height: auto;
        margin: 1% 1%;
        width: 98%;
    }
    #main_event_container .event_day1,
    #main_event_container .event_day2,
    #main_event_container .event_day3,
    #main_event_container .event_day4,
    #main_event_container .event_day5,
    #main_event_container .event_day6,
    #main_event_container .event_day7 {
        width: 100%;
        height: auto;
        text-align: center;
        color: #FFF;
        margin-right: 1.5%;
        padding-left: 0.5%;
        font-size: 0.7em;
    }
    #main_event_container .event_img {
        width: 36%;
        height: auto;
        margin: 0 2%;
        float: left;
        overflow: hidden;
    }
    #main_event_container .event_box_title {
        width: 58%;
        float: left;
        margin: 2% 0;
    }
    #main_event_container .event_text {
        width: 58%;
        float: left;
        font-size: 0.9em;
        line-height: 1.2em;
        margin: 0 0 2% 0;
    }
}

/**************新人****************/
.nf_rightbox {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    margin-top: 5%;
}

.nf_box1,.nf_box2,.nf_box3,.nf_box4,.nf_box5,.nf_box6,.nf_box7 {
    background: #FFF;
    height: calc(50vw / 5 * 3 + 180px);
    margin: 2%;
    width: 45%;
    position: relative;
    left: 5px;
    background-size: 150% auto;
    border: 1px solid #333;
    /* box-shadow: -8px 8px 0px 0px rgba(0, 0, 0, 0.5); */
}

.nf_text{
    font-weight: bold;
    width: 100%;
    padding: 3% 0 1% 0;
    margin: 0 0 3.5% 0;
    position: absolute;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.7);
}
.nf_name {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.5em;
    width: 100%;
    height: auto;
    padding: 0 0;
}
.nf_size {
    margin: 0;
    width: 100%;
    font-size: 0.8em;
    height: auto;
    padding: 1% 0 3% 0;
}
.nf_shop_img{
    position: relative;
}
.nf_shop {
    position: absolute;
    bottom: 1%;
    right: 4%;
    width: 40%;
}
.time_line{
    width: 88%;
    font-size: 0.8em;
    border: #000 1px solid;
    padding: 0 2%;
    margin: 0.5em auto;
    display: block;
    text-decoration: line-through;
    text-decoration-color:#f00;
}
.time_price{
    color: #f00;
    font-weight: bold;
    font-size: 1.4em;
    line-height: 1.2em;
    /*display:flex;*/
}
.time_price span{
    width: 11px;
    display: inline-block;
}
.time_price span img{
    width: 100%;
    height: auto;
    vertical-align: top;
}
.nf_text .nf_realtime_bg {
    width: 96%;
    margin: 0;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 2%;
    background-color: #00dda6;
    height: 1.1em;
    font-size: 0.7em;
}
.time{
    padding: 3% 0 1% 0;
}

/*---swiper newface-------------------------------------------------------------*/
.item_list{
    /*float:left;*/
    overflow:hidden;
    margin: 0 auto;
    width:100%;
	display: flex;
	flex-wrap: wrap;
}
.item_list .moving {
    transition: transform .2s ease-out;
    -webkit-transition: -webkit-transform .2s ease-out;
    -moz-transition: -moz-transform .2s ease-out;
}

.item_list .item{
    width:19.8%;
    margin:0 0.1% 0% 0.1%;
    padding: 0 0 0 0;
    text-align:center;
    overflow: hidden;
}
.item_list .item_a{
    width:24.8%;
    margin:0 0.1% 0% 0.1%;
    padding: 0 0 0 0;
    text-align:center;
    overflow: hidden;
}

.item_list .item > div ,.item_list .item_a > div{
    /*border-radius: 15px;*/
    overflow: hidden;
    padding: 0 0 0 0;
    margin:-8px 0% 8px 0%;
        background-color: #fff;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
    /*box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .5);*/
}
.item_list .item img ,.item_list .item_a img{
    width:100%;
    margin:auto;
}

.balloon1-top {
    margin: 0 1%;
    border-radius: 20px;
    padding: 1% 5% 0 5%;
    display: inline-block;
    color: #fff;
    background: #8e8e8e;
}
.balloon1-top p {
    margin: 0;
    padding: 0;
}
.balloon-shop{
    position: absolute;
    top: 5px;
    left: 5px;
    color: #fff;
    text-align: center;
    padding: 18px 2px;
    width: 54px;
    border-radius: 50%;
    z-index: 222;
    height: 54px;
    font-size: 0.9em;
}
.item_list .item span ,.item_list .item_a span{
    margin:0px auto;
   /* width:100%;
    display:block;*/
}
.item_list .item .button ,.item_list .item_a .button{
    margin:-5% 0 0 0;
    /*font-size:0.5em;*/
    padding: 3% 1% 1% 1%;
    color: #fff;
    background-color: #00dda6;
}

@media screen and (max-width:768px) {
    .nf_name {
        font-size: 1.1em;
    }
    .nf_size {
        font-size: 0.7em;
        font-feature-settings: "palt" 1;
    letter-spacing: -1px;
    }
    .nf_realtime_bg {
        font-size: 0.9em;
    }
    .item_list .item ,.item_list .item_a{
        width:46%;
    height:auto;
    margin:0 2% 15px 2%;
    }
    .item_list .item .button,.item_list .item_a .button{
        padding: 10px 1%;
    }
    .nf_box1,.nf_box2,.nf_box3,.nf_box4,.nf_box5,.nf_box6,.nf_box7 {
        background: #FFF;
        height: calc(25vh * 640/480);
        margin: 1.5%;
        width: 46%;
        position: relative;
        left: 5px;
        float: left;
        background-size: 150% auto;
    }
    .balloon1-top {
       font-size: 0.8em;
    }

}

/**************点滅****************/
/*文字点灯*/
.flash {
    animation: flash 1.5s infinite;
}

@keyframes flash {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 0;
    }
}

/**************本日出勤光る****************/
.shiny {
    display: block;
    position: relative;
    padding: 0px 3% 60px 0;
    /* margin: 0 auto -60px auto; */
    text-decoration: none;
    overflow: hidden;
}
.shiny::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 50%;
    background-color: #fff;
    animation: shiny-btn 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

.nf_img {
    width: 90%;
    height: auto;
    float: left;
    overflow: hidden;
    padding: 3%;
}
.nf_img img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:768px) {
.nf_img {
    width: auto;
    height: 92%;
    float: left;
    overflow: hidden;
    padding: 3%;
}
.nf_img img {
    width: auto;
    height: 100%;
}
}
/*
.nf_name_en {
    font-family: 'Caveat', cursive;
    font-style: italic;
    position: absolute;
    bottom: -2%;
    right: 0%;
    font-size: 4em;
    line-height: 1em;
    color: rgba(255, 255, 255, 0.4);
    font-style: italic;
}
*/


/**************写メ****************/

#photo_container {
    /*background-color: rgba(255, 125, 142, 1);
    margin: 5vw 0;*/
}
#main_photo_container {
    margin: 5% 0;
}
#photo_container iframe {
    width: 90%;
    height: 150px;
    /*margin-left:10%;*/
}
.top_shame ul li p {
    width: 100%;
    margin: auto;
    position: absolute;
    bottom: 0;
    background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0));
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0));
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0));
    color: #fff;
    font-size: 0.8em;
    padding: 10% 0% 2% 0%;
    text-align: center;
    z-index: 2;
}
.top_shame ul li p span{
font-size: 0.8em;
line-height: 1.5em;
display: inline-block;
}
.top_shame ul {
    display: flex;
    flex-wrap: wrap;
}
.top_shame ul li {
    position: relative;
    width: calc(97% / 5);
    margin: 0.3%;
}

@media screen and (max-width:768px) {
    /*
    #photo_container {
        padding-bottom: 2%;
    }
    
    #photo_container .top_shame {
        margin-top: 5%;
    }
    */
    #main_photo_container .top_shame {
        margin-top: 0%;
    }
    .top_shame ul li {
        position: relative;
        width: calc(97% / 3);
        margin: 0.5%;
    }
}
.top_shame ul li:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.top_shame ul li img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}

/**************アクセス****************/
#ac_container,
#main_ac_container {
    background-color: rgba(107, 216, 34, 0.6);
    margin: 5vw 0 12vw 0;
}
.access {
    margin: 3% 0;
    color: #FFF;
}
.access h4 {
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    font-size: 4em;
    /* font-family: 'Anton', sans-serif; */
}
.access dt {
    font-size: 1.2em;
    font-weight: bold;
    margin: 2%;
    padding: 2%;
    border-bottom: #FFF 1px solid;
}
.access dd {
    margin: 0% 0% 4% 5%;
    padding: 2%;
}
/*
#group_map ul {
    background: url(../../img/index/group_map_bg.jpg) top center no-repeat;
    background-size:100% auto;
    min-height: 330px;
    height: calc(185vw / 5 * 3);
    margin-top: 2%;
}
*/
#group_map ul {
    background: url(../../img/index/group_map_bg.jpg) top center no-repeat;
    background-size: 100% auto;
    /*display: inline-block;*/
    margin: 2% 0 -6% 0;
    height: calc(220vw / 5 * 3);
}
#group_map ul li {
    display: inline-block;
    width: 36%;
    height: auto;
    /* margin: 0 0 0 -50%; */
    position: absolute;
}
#group_map ul .map1 {
    margin: 15% 0% 0 12%;
}
#group_map ul .map2 {
    margin: 20% 0 0 -48%;
}
#group_map ul .map3 {
    margin: 105% 0% 0 12%;
}
#group_map ul .map4 {
    margin: 78% 0 0 -38%;
}
#group_map ul .map7 {
    display: none;
    margin: 0% 0 0 -42%;
}
#group_map ul .map8 {
    margin: 115% 0 0 -24%;
}
#group_map ul .map9 {
    display: none;
    margin: 48% 0 0 12%;
}
#group_map ul .map10 {
    margin: 77% 0 0 12%;
}
#group_map ul .map11 {
    margin: 53% 0 0 -46%;
}
#group_map ul .map12 {
    margin: 102% 0 0 -50%;
}


#group_map ul li img {
    width: 100%;
}

@media screen and (max-width:768px) {
    #ac_container,
    #main_ac_container {
        margin: 5vw 0 100px 0;
    }
    #group_map ul {
        background: url(../../img/index/group_map_pc.jpg) top center no-repeat;
        background-size: 100% auto;
        position: relative;
        width: 100%;
        height: 700px;
    }
    #group_map ul li {
        display: inline-block;
        width: 20%;
        height: auto;
        position: absolute;
        clear: both;
    }
    #ac_container .access {
        margin: 3% 2% 0 2%;
        width: 46%;
        float: left;
    }
    #main_ac_container .access {
        margin: -2% 2% 0 2%;
        width: 46%;
        float: left;
    }
    #ac_container #group_map ul,
    #main_ac_container #group_map ul {
        margin: 1% 0 0 0;
        width: 100%;
    }
    #group_map ul .map1 {
        margin: 22% 0 0 8%;
    }
    #group_map ul .map2 {
        margin: 13% 0 0 -25%;
    }
    #group_map ul .map3 {
        margin: 50% 0 0 -26%;
    }
    #group_map ul .map4 {
        margin: 30% 0 0 -48%;
    }
    #group_map ul .map7 {
        display: none;
        margin: 3% 0 0 -13%;
    }
    #group_map ul .map8 {
        margin: 60% 0 0 -46%;
    }
    #group_map ul .map9 {
        display: none;
        margin: 32% 0 0 28%;
    }
    #group_map ul .map10 {
        margin: 32% 0 0 -28%;
    }

    #group_map ul .map11 {
        margin: 42% 0 0 3%;
    }
    #group_map ul .map12 {
        margin: 50% 0 0 -60%;
    }

}

/************口コミレビュー**************/
#event_container .main {
}
.review_box {
    width: 48%;
    height: 150px;
    margin: 10px 1%;
    background-color: #fff;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .5);
    border-radius: 15px;
    overflow: hidden;
}
.review_img {
    width: auto;
    height: 150px;
    margin: 0 2% 0 0;
    float: left;
}
.review_img img {
    width: auto;
    height: 100%;
}

.review_text{
    margin: 0 0 0 2%;
    text-align: left;
    overflow: hidden;
}
.review_text .time{
    color: #f36081;
}

@media screen and (max-width:768px) {
    .review_box{
        width: 96%;
    margin: 10px auto;
    height: 140px;
    }
    .review_img {
        width: auto;
    height: 140px;
    }
    .review_text{
        margin: 2%;
    }
    .review_text .time{
        font-size: 0.8em;
    }
}

/************遊び方**************/
#howto_container{
    background-color: var(--link-color);
    padding-bottom: 30px;
}

.howto_box {
    width: 98%;
    margin: 10px 1%;
}
a .howto_box {
    color: #fff;
}
.howto_box .review_text{
    color: #fff;
    overflow: hidden;
}
@media screen and (max-width:768px) {
    .howto_box{
        width: 48%;
        margin: 10px 1%;
    }
}

/************ブランド**************/
#sub_container{
	padding: 120px 0 30px 0;
}

.brand_img{
    padding: 0%;
    border-radius: 10px;
    margin-bottom: 8px;
    background-color: #fff;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, .5);
    overflow: hidden;
}
.brand_img img {
    width: 80%;
    height: auto;
    margin: 15px auto 0px auto;
}

.brand_container{
	position: relative;
	height: auto;
    max-width: 1200px;
	width: 100%;
	top: 0;
	margin: 0px auto 30px auto;
	padding: 15px 0;
	}
	.brand_container .main{
		position: relative;
    margin: 0px auto 30px auto;
    z-index: 1;
	}

h2.brand_title{
	font-size: 2em;
	color: #fff;
	margin: 0px 0 20px 20px;
	text-align: left;
}
h2.brand_title span{
	margin-left: 10px;
    font-size: 16px;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
}
	h2.brand_title img{
		display: inline-block;
vertical-align: text-bottom;
		max-width: 40px;
		height: auto;
	}
	
.brand_menu {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap:wrap;
	width: 100%;
	margin: 0% auto 2em auto;
}
.brand_menu li {
    font-weight: bold;
    width: calc(92% / 4);
    margin: 1% 1%;
    text-align: center;
}
.brand_menu li a {
    display: block;
    padding: 0%;
	color: #fff;
}
.brand_menu li a img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:768px) {
	#sub_container{
	padding: 0px 0 30px 0;
}
	.brand_container{
    padding: 0px 0;
	}
.brand_container .main{
    margin: 0px auto 10px auto;
	}
	h2.brand_title{
	font-size: 1.3em;
	margin: 0px 0 10px 10px;
		line-height: 1.0em;
}
	h2.brand_title span {
    font-size: 12px;
}
	h2.brand_title img {
    max-width: 30px;
	display: inline-block;
}
	.brand_menu li {
    width: calc(96% / 2);
}
	}
/************ピックアップグラビア**************/
.pickup{
    width: 46%;
    height: auto;
    margin: 2%;
}
.pickup_box{
    position: relative;
    margin-bottom: -8px;
}
.pickup_shop{
    width: 98%;
    padding: 1% 1%;
    color: #fff;
    text-align: center;
    font-weight: bold;
}
.pickup_size{
    float: right;
}
.pickup_name{
    font-size: 1.2em;
    font-weight: bold;
}

.pickup_text{
	clear: both;
    font-size: 1.0em;
	margin-top:1em;
}

@media screen and (max-width:768px) {
    .pickup {
        width: 96%;
    }
}
/************動画**************/
.movie_name{
    font-size: 1.2em;
    font-weight: bold;
}

/************ニュース**************/
#news_slickbox{
    overflow: hidden;
}

/************ランキング**************/
.item_list dl{
    width: 96%;
    margin: auto;
}
.toggle_title {
    clear: both;
    font-weight: bold;
font-size: 1.2em;
line-height: 1.2em;
position: relative;
padding: 2% 2% 1em 70px;
margin: 5% 0% 3% 0%;
border-bottom: 1px dashed #000;
cursor: pointer;
width: 90%;
height: 10px;
background: url(../img/index/ranking_title.png) top left no-repeat;
background-size:50px auto;
height: auto;
}

.toggle_title:hover {
opacity: 0.7;
transition: 0.5s;
}

.toggle_ans {
margin: 0;
display: none;
width: 100%;
height: auto;
}

.toggle_ans:first-of-type {
display: block;
width: 100%;
height: auto;
}

/*プラス*/
.plus {
position: absolute;
right: 20px;
top: 0;
height: 100%;
border-radius: 0px 10px 10px 0px;
}

.plus:before,
.plus:after {
display: block;
content: "";
background-color: #000;
position: absolute;
width: 15px;
height: 1px;
bottom: 50%;
right: 50%;
transform: translate(50%, 50%);
transition: 0.5s;
}

.plus:before {
width: 1px;
height: 15px;
}

/*アコーディオンが開いたらプラスをマイナスにする*/
.toggle_title.selected .plus:before {
transform: translate(50%, 50%) rotate(90deg);
}

@media screen and (max-width:768px) {
    .toggle_title {
        width: 86%;
    font-size: 1.1em;
    line-height: 1em;
    padding: 10px 2% 0.5em 40px;
    height: auto;
    background-size:35px auto;
    }
}

/************料金システム**************/
.system_box h3 {
    color: #fff;
    font-size: 1.3em;
    line-height: 2em;
	margin-bottom: 5px;
    padding: 10px 20px;
    width: calc(100% - 40px);
    background-color: #000;
    border-radius: 16px 16px 0 0;
}
.price_list , .play_list{
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.1);
		margin-bottom: 30px;
		border-top: 1px solid #4C4C4C;
		border-left: 1px solid #4C4C4C;
}
.price_list ul ,.play_list ul{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}
.price_list ul li {
		width: calc(46% - 1px);
    align-items: center;
    justify-content: center;
    padding: 20px 2%;
		display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap:wrap;
	border-right: 1px solid #4C4C4C;
    border-bottom: 1px solid #4C4C4C;
}

.price_list ul li .minute {
    font-size: 1.5em;
    font-weight: bold;
}
.price_list ul li .dots {
    font-size: 1em;
	margin: 0 10px;
}
.price_list ul li .price {
    font-size: 1.5em;
    font-weight: bold;
	text-align: right;
	line-height: 1em;
}
.price_list ul li .price .tax {
    display: block;
    font-size: 0.6em;
}
	
.play_list ul li {
		width: calc(33% - 1px);
    align-items: center;
    justify-content: center;
    padding: 20px 0;
	display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap:wrap;
	border-right: 1px solid #4C4C4C;
    border-bottom: 1px solid #4C4C4C;
}
	.play_list ul li:first-child , .play_list ul li:nth-child(2), .play_list ul li:nth-child(3) {
    border-top: none;
}
.play_list ul li:nth-last-child(3n+1) {
		width: calc(34% - 1px);
}

.option_list ul{
		display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap:wrap;
		justify-content: start;
		margin-bottom: 30px;
}
	.option_list ul li {
		width: 13.7%;
    align-items: center;
    justify-content: center;
		margin: 1% 2% 1% 0%;
    padding: 20px 2%;
		text-align: center;
		border: 1px solid #4C4C4C;
		-webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.1);
}
	.option_list ul li img{
		width: 90%;
		margin: 10px 5%;
	}
	
	.system_text_list{
		margin-bottom: 30px;
		border: 1px solid #4C4C4C;
		padding: 20px;
		-webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.1);
	}

	.ic_warning{
		margin: 20px 0;
	}

.ic_warning p {
    position: relative;
    padding-left: 60px;
    margin-bottom: 20px;
	font-weight: bold;
}
	
	.ic_warning p:before {
		font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f06a';
	font-size: 3em;
    margin: auto;
    position: absolute;
    width: 4em;
    height: 4em;
    top: 10px;
    left: 0;
}
	
@media screen and (max-width:768px) {
	.system_box{
		width: 96%;
		margin: 0 auto;
	}
		.system_box h3 {
    font-size: 1.1em;
    border-radius: 10px 10px 0 0;
}
	.price_list ul li {
    width: calc(100% - 2px);
    padding: 10px 2%;
}
.price_list ul li:nth-child(2) {
    /*border-top: 1px solid #4C4C4C;*/
}
		.option_list ul li {
    width: calc(27% - 1px);
	margin: 1% 1% 1% 1%;
}
	.ic_warning p:before {
    top: 20px;
}
	}