@charset "utf-8";
/*
Theme Name:LovePlusオリジナルテーマ
*/
html,body{
    font-size: 62.5%;
    height: 100%;

}
body{
    margin: 0;
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    text-shadow: 0px 0px 0px #000000;   
}
h1{
    margin: 0;
}
ul, ol {
    list-style: none;
}
.index_header_content{
    height: 100vh;
    position: relative;

    
}
.hotel_header_content,.restaurants_header_content{
  height: 100vh;
  position: relative;

  
}
.activity_header_content{
  height: 100vh;
  position: relative;

  
}
.news_header_content{
 
    position: relative;

    
}
.page_header_content{
 
  position: relative;
  padding-top: 50px;

  
}
.page_header_content_ikebukuro{
 
  position: relative;
  padding-top: 50px;
  background-image: url(./images/body_bg_ikebukuro.jpg);
  background-blend-mode: hard-light;
  background-color: rgb(255 254 254 / 47%);
  
}
.page_header_content_shinbashi{
 
  position: relative;
  padding-top: 50px;
  background-image: url(./images/body_bg_shinbashi.jpg);
  background-blend-mode: hard-light;
  background-color: rgb(205 205 205 / 47%);
  
}
.example{
    height: 100vh;
    box-sizing: border-box;
    padding: 20px;
    background: #bfcfea;
    
}
.footer {
    max-height: 100%;

}
.footer_menu_box.row {
  margin: 0;
  background: #fffcef;
  padding: 50px 10px 10px;

}
.footer_list,.footer_logo {
  padding: 10px 0;
}
.footer_menu_box ul li {

  font-size: 14px;
  color: #592645;
  font-weight: 500;
}
img.footer_img {
  width: 100%;
  max-width: 300px;
  height: fit-content;
}
.footer_menu_box ul li a {
  color: #592645;
}
.footer_menu_box ul li a:hover {
  color: #347cff;
}
.footer_sns {
  background: #62003c;
  padding: 7px;

  width: fit-content;
  border-radius: 10px;
  margin: 10px 1%;
}
img.footer_x_img {
  width: 25px;
  height: 25px;
  /* border-radius: 10px; */
}
.copyright {
    text-align: center;
    background: #d10000;
    font-size: 1.3rem;
    padding: 5px 0;
    color: white;
}
.spacer{
    height: 500px;

}
.spacer2{
 
    background: #eabfbf;
}
.header{
   
    background: rgba(255,255,255,0.8);
    color: #fff;
    width: 100%;
    height: 100px;
    z-index: 20;
    position: relative;
    top: 0px;
    position: absolute;
}
#header_logo {
    position: absolute;
    left: 40px;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 30;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}
#header_logo .logo {
    line-height: 1;
    margin: 0;
    padding: 0;
    font-weight: 500;
}
#header_logo .desc {
    font-size: 14px;
    font-weight: normal;
    margin: 0 0 0 25px;
}
#index_video {
    position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    overflow: hidden;
    margin-bottom: -1px;
}
#index_video_mp4{
    position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
.overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: rgb(0 114 133 / 30%);
}
.overlay_text {
    position: absolute;
    top: 50%;
    left: 50%; 
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 4;
    font-size: 4rem;
    color: aliceblue;
}
.space {
    height: 1000px;
}
canvas{
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    z-index: 2;
    }
/**************
reCAPTCHA表示設定
***************/  
.grecaptcha-badge {
      visibility: hidden;
      }
.page_content.contact div#main {
        padding: 80px 25px 25px;
        font-size: 18px;
        max-width: 75%;
        margin: 0 auto;
        background: #e5dcc7;
    }
.contact_body .grecaptcha-badge {
visibility: visible;
}
div#wpcf7-f2641-p3167-o1 {
  width: fit-content;
  margin: auto;
}
.wpcf7-textarea,.wpcf7-text,.wpcf7-select{
  width: 100%;
  border-radius: 10px;
  border-color: cornflowerblue;
  box-shadow: 0px 1px 4px 3px rgb(95 95 95/20%);
  padding: 5px;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
  width: 50%;
  margin: auto;
  text-align: center;
  border-radius: 10px;
  border-color: #6495ed;
  box-shadow: 0px 1px 4px 3px rgb(95 95 95/20%);
  padding: 5px;
  font-weight: 600;
  color: darkblue;
}

.first-contact {
  background: #53639d;
  border-radius: 10px;
  padding: 10px;
  width: 55%;
  margin: 0 auto 30px;
  font-weight: 500;
  color: #fff;
}
.page_content .real_estate_form a {
  background: #005b08c4;
  width: 100%;
  color: #fff;
  text-align: center;

  font-weight: 600;
  display: block;
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 5px;
}
@media screen and (max-width: 999px){
  .first-contact {
    width: 100%;
  }
  .page_content.contact div#main {

    max-width: 100%;

}
}




@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 480px){
  h2.top_title {
    font-size: 1.6rem;

  }
  h2.top_title_sub {
    font-size: 3.5rem;

  }

}

@media screen and (max-width: 999px){
  .overlay_news {
    position: absolute;
    bottom: 0;
    left: unset;
    top: unset;
    z-index: 4;
    font-size: 4rem;
    color: #ffffff;
    background: rgb(255 255 255 / 85%);
    width: 100%;
    box-shadow: 2px 2px 2px 1px rgb(95 95 95 / 45%);
    -webkit-transform: unset;
}

}



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

}
@media screen and (max-height: 500px){

  .overlay_text{
    top: 60%;
  }
}




/**************
ヘッダーメニュー
***************/
.ikebukuro header.header-new {
  position: fixed;
  background: #009944;
  padding: 5px 0;
  width: 100%;
  z-index: 300;
}
.shinbashi header.header-new {
  position: fixed;
  background: #00e4ff;
  padding: 5px 0;
  width: 100%;
  z-index: 300;
}
.head_img {
  max-width: 75%;
  margin: 0px auto 0px;
  padding: 10px 0 15px;
}
.head-logo-img{
  max-height: 140px;
}

.header-fixed{
    position: relative;

    }
    .ikebukuro .store_select form button {
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      margin: 0;
      color: #ffffff;
      padding: 5px;
      border: 1px solid;
      border-radius: 5px;
      text-shadow: 0px 0px 3px #636363;
  }
  .shinbashi .store_select form button {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin: 0;
    color: #ffffff;
    padding: 5px;
    border: 1px solid;
    border-radius: 5px;
    text-shadow: 0px 0px 3px #000;
}
.ikebukuro .openbtn1 span {
  background-color: #ffffff;

}
.shinbashi .openbtn1 span {
  background-color: #002f87;

}
    h1.header-logo {
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      margin: 0;
      padding: 1rem .5rem;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap;
      color: #fff;
      /* background-color: #f00; */
      text-shadow: 0 1px 1px #444;
  }
.header-fixed-inner {

}
.header-row.left {
  position: absolute;
  top: 2px;
  margin-left: 10px;
}
.header-firstview .header-fixed .header-fixed-inner .right {
    width: 78%;
}
.fixed .header-fixed .header-fixed-inner .right {
    width: 100%;
}
.fixed .header-fixed .header-fixed-inner .right .header-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;

}
.fixed .header-fixed {
    height: 70px;
    background: rgb(255 255 255 / 85%)
}

.scroll-initial .header-fixed .header-fixed-inner .right .header-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.header-firstview .header-fixed .header-fixed-inner .right .header-navi .item .link {
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    font-weight: 600;
    color: #62001f;
    position: relative;
}
.header-firstview .header-fixed .header-fixed-inner .right .header-navi .item .link::before {
    position: absolute;
    bottom: -7px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    content: "";
    display: block;
    width: 0px;
    height: 1px;
    opacity: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #fff;
    
}
.fixed .header-navi li span{
    display: block;
    padding: 10px 10px;
  }
.header-firstview .header-navi li span{
    display: block;
    padding: 10px 10px;
  }
.sp, .sp-menu {
    display: none;
}
.font-en {
    font-family: "Karla", sans-serif;
}
a {
    color: #444;
    word-break: break-all;
    cursor: pointer;
    text-decoration: none;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/* ここから新メニュー */
.main_nav_menu {
    /* background: #fbd2de; */
    width: 100%;
    /* background-image: url(./images/bg.jpg); */
    background-blend-mode: color;
    background-color: rgb(127 127 127 / 70%);
}
.main_nav_box {
  font-size: 18px;
  max-width: 75%;
  margin: 0px auto;
  background: #fff0fc;
}
.ikebukuro .main_nav_menu {

  width: 100%;

  background-blend-mode: color;
  background-color: rgb(113 255 137 / 70%);
}
.ikebukuro .main_nav_box {
  font-size: 18px;
  max-width: 75%;
  margin: 0px auto;
  background: #68ff97;
}
.shinbashi .main_nav_menu {

  width: 100%;

  background-blend-mode: color;
  background-color: rgb(112 227 255 / 70%);
}
.shinbashi .main_nav_box {
  font-size: 18px;
  max-width: 75%;
  margin: 0px auto;
  background: #7eecff;
}
.main_nav_menu nav{
  border-bottom: 1px solid #ccc;
  }
  .main_nav_menu nav ul{
  display: table;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
  }
  .main_nav_menu nav ul li{
  display: table-cell;
  min-width: 50px;
  border-right: 1px solid #a9a8a8;

  }
  .main_nav_menu nav ul li:first-child{
    border-right: 1px solid #a9a8a8;
  }
  .main_nav_menu nav ul li a{
  display: block;
  width: 100%;
  padding: 10px 0;
  text-decoration: none;
  color: #795a5a;
  margin-bottom: 5px;
  font-size: 16px;
  }
  .main_nav_menu nav ul li a:hover{
  background-color:#ff7e97;
  border-bottom: 5px solid #fc4267;
  color: #fff;
  margin-bottom: 0px;
  }
  .main_nav_menu nav ul li.current{
  font-weight: bold;
  }
  .main_nav_menu nav ul li.current a{
  border-bottom: 5px solid #00B0F0;
  color: #00B0F0;
  }
@media screen and (max-width: 1250px){
    .fixed .header-navi li span{
        display: block;
        padding: 10px 5px;
      }
    .header-firstview .header-navi li span{
        display: block;
        padding: 10px 5px;
      }
}
@media screen and (max-width: 999px){
.sp-menu-button {
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header-firstview .sp-menu-button {

}


.header-firstview .header-fixed .header-fixed-inner {
    padding-right: 1.875%;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.header-firstview .header-fixed .header-fixed-inner .left {
    padding-top: 0px;
    margin-left: 3px;
}
.header-firstview .header-fixed .header-fixed-inner .left a {
    width: 90px;
    height: 104px;
}
.header-firstview .header-fixed .header-fixed-inner .right {
    width: auto;
}
.pc {
    display: none;
}
.header-firstview .header-fixed .header-fixed-inner .right .header-navi .item {
    padding-right: 3.7%;
}
.sp {
    display: block;
}
.overlay_text {

    font-size: 2rem;
    width: 90%;
}
.fixed .second_img{
    display: block;

}

}
/************/
/*========= ナビゲーションのためのCSS ===============*/

/*アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
  top: 0;
  width:100%;
    height: 100vh;
}

/*丸の拡大*/
.circle-bg{
    position: fixed;
  z-index:3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgb(62 62 62 / 86%);
    /*丸のスタート位置と形状*/
  transform: scale(0);/*scaleをはじめは0に*/
  right:-50px;
    top:-50px;
    transition: all .6s;/*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive{
  transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list{
    display: none;/*はじめは表示なし*/
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul.main-menu {
  opacity: 0;/*はじめは透過0*/
    /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-25%,-50%);

}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
    opacity:1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;/*0.2 秒遅らせて出現*/
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}


/*リストのレイアウト設定*/
#g-nav li{

  list-style: none;
}

#g-nav li a {
  color: #ffffff;
  text-decoration: none;
  padding: 10px 8px;
  display: block;
  text-transform: uppercase;

  font-weight: bold;
  font-size: 1.6rem;
}
#g-nav-list .button:not(.current-menu-item):not(.current-menu-ancestor)> .sub-menu:not(.active) {
  display: none;
  }

/*========= モバイルメニューボタンのためのCSS ===============*/
.openbtn1{
  position: fixed;
  top: 0;
  right: 10px;
  z-index: 9999;
  cursor: pointer;
  width: 50px;
  height: 50px;
}
  
/*×に変化*/  
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background-color: #62003c;
    width: 45%;
  }
.openbtn1.active span{
  background-color: #fff;
}

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
li.button div {
  color: #ffffff;
  text-decoration: none;
  padding: 10px 8px;
  display: block;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.6rem;
}
/*==================================================
　5-3-11 左右から線が伸びて枠線になる
===================================*/

.header-navi li{
    /*線の基点とするためrelativeを指定*/
  position: relative;
    margin:0 10px;
}

/*線の基点位置*/
.header-navi li.item::before,
.header-navi li.item::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width: 0;
  height:2px;
  background:#62001f;
/*アニメーションの指定*/
  transition: all 0.2s linear;
  transition-delay: 0.2s;
}

.header-navi li::before{
  right: 0;
  top: 0;
}
.header-navi li::after{
  left: 0;
  bottom: 0;
}

/*線の基点位置2 spanタグ*/



.header-navi li span::before,
.header-navi li span::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width:2px;
  height:0;
  background: #62001f;
/*アニメーションの指定*/
  transition: all 0.2s linear;
}

.header-navi li span::before{
  left: 0;
  top: 0;
}
.header-navi li span::after{
  right: 0;
  bottom: 0;
}

/*現在地とhoverした際の線の変化*/

.header-navi li.current::before,
.header-navi li.current::after,
.header-navi li:hover::before,
.header-navi li:hover::after{
  width: 100%;/*横幅を100%に*/
}

.header-navi li.current span::before,
.header-navi li.current span::after,
.header-navi li:hover span::before,
.header-navi li:hover span::after{
  height: 100%;/*縦幅を100%に*/
}
@media screen and (max-width: 1580px){
  .header-navi li{

    margin:0 3px;
}
}




/**********
page_content
***********/

  .page_main_img{

 

  }
 .ikebukuro .page_content section#sec01 {
    background-color: rgb(203 249 216 / 85%);
    background-blend-mode: lighten;

}
.shinbashi .page_content section#sec01 {
  background-color: rgb(204 239 255);
  background-blend-mode: lighten;

}
.page_content section#sec01{
  background-color: rgb(235 222 255 / 85%);
  background-blend-mode: lighten;

}


.page_header_overlay {
  position: absolute;

  -ms-transform: translate(-50%, -50%);
  z-index: 4;
  font-size: 16rem;
  color: #004887;
  bottom: 0;

}

.page_content div#main {
  padding: 50px 25px 25px;
  font-size: 18px;
  max-width: 75%;
  margin: 0px auto;
  background: white;
  position: relative;
}

.page_content p {
  margin-top: 0;
  margin-bottom: -0.5rem;
  letter-spacing: 0.05em;
}
.page_content h3 {
  font-size: 26px;
  padding-bottom: 5px;
  color: #592645;
  margin-top: 4rem;
  margin-bottom: 2rem;
  font-family: serif;
    font-weight: 600;
}


@media screen and (max-width: 999px){
  .page_content div#main{
    max-width: 100%;
  }

}





/**
 * ----------------------------------------
 * animation rotate-in-2-tl-ccw
 * ----------------------------------------
 */

 .rotate-in-2-tl-ccw {
	-webkit-animation: rotate-in-2-tl-ccw 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: rotate-in-2-tl-ccw 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes rotate-in-2-tl-ccw {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes rotate-in-2-tl-ccw {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    opacity: 1;
  }
}


/*ナビゲーション内ドロップダウン*/
/*2階層目以降は横並びにしない*/
nav ul ul{
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
  position: relative;
}




/*== 2・3階層目の共通設定 */
.header-navi ul.ul-child li {
  margin: 15px 0px;
}
/*下の階層を持っているulの指定*/
nav li.has-child ul {
  position: absolute;
  left: 0px;
  top: 43px;
  z-index: 4;
  background: #62003c;
  width: 250px;
  visibility: hidden;
  opacity: 0;
  transition: all .3s;
  font-size: 17px;
  display: none;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
  display: block;
}

/*ナビゲーションaタグの形状*/
nav li.has-child ul li a{
  color: #fff;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}



nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
  background: #44bdfa;
  padding: 2px;

}

ul.ul-child {
  padding: 10px;
}



/*==768px以下の形状*/

@media screen and (max-width:768px){
  nav{
    padding: 0;
  }
  
  nav ul{
    display: block;
  }
  
  nav li.has-child ul,
  nav li.has-child ul ul{
    position: relative;
  left:0;
  top:0;
  width:100%;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
  

/*矢印の位置と向き*/

nav ul li.has-child::before{
  left:20px;  
}

nav ul ul li.has-child::before{
    transform: rotate(135deg);
  left:20px;
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}

}

h3.wp-block-heading.emid {
  padding-bottom: 25px;
}
h3.wp-block-heading.pages {
  padding-bottom: 25px;
padding-top: 10px;
}
/**********
セクション
***********/
section#sec01 {


  
}


section#sec01.i4ewOd-haAclf.i4ewOd-pzNkMb-haAclf {
    background-color: #89e1a6;
}
.hotel_content section#sec02 {
    background: #d9e0e5;
}

section#sec03{
    background:#e9e3ae
}

/*予約ページ*/
div#page-main {
    margin: auto;
}
/*モバイル表示*/
@media (max-width: 991px) {

}

/* ブログモバイル分岐表示 */
@media screen and (max-width: 991px) {
    .pc_only {
        display: none;
    }
}

@media screen and (min-width: 991px) {
    .mobile_only {
        display: none;
    }
}
/********
固定ページ
********/
.visa_llist.has-background a {
  color: blue;
}
.v_visa_regi_title {
  font-weight: 600;
  font-size: 20px;
  color: #1e1e93;
  padding: 20px 5px 10px;
}
div.v-visa-regi-list {
  background: #fff;
  border-radius: 10px;
  color: #3d3d3d;
  padding: 10px;
  margin-bottom: 15px;
}
.pages-top a:hover {
  opacity: 0.6;
}
/*********
タイトルアニメーション
*********/
 /* CSSアニメーションの設定 
 .page_header_overlay {
  -webkit-animation: page_header_overlay 0.8s linear 0s 1;
  animation: page_header_overlay 0.8s linear 0s 1;
}
@-webkit-keyframes page_header_overlay {
  0%   { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { -webkit-transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { -webkit-transform: scale(1.3, 0.8) translate(0%, 10%); }
  50%  { -webkit-transform: scale(0.8, 1.3) translate(0%, -10%); }
  70%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes page_header_overlay {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
  50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
  70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}*/

.page_header_overlay {
  animation: page_header_overlay 1.1s linear 0s 1;
}

@keyframes page_header_overlay {
  0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}


/***********
キャスト
**********/
.schedule {
  background: #fff;
  /* padding: 0.9em; */
  flex: 1 0 400px;
  margin: 1.9em 0;
}
h2.page-schedule {
  font-size: 18px;
  padding: 5px;
  margin: 0;
}
h2.page-schedule i {
  margin-right: 5px;
}
.box-schedule {
  display: grid;
  width: calc(100% - 10px);
  border-top: 1px solid #ff8ec2;
  border-left: 1px solid #ff8ec2;
  grid-auto-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}
.box_date {
  text-align: center;
  background-color: #ff8ec2;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.box_time {
  text-align: center;
  padding: .25rem .25rem .25rem .5rem;
  color: #444;
  border-right: 1px solid #ff8ec2;
  border-bottom: 1px solid #ff8ec2;
  background-color: #fff;
}
.trimming {
  max-width: 400px;
  object-fit: contain;
  background: #ffdff0;
  width: 100%;
  border-radius: 10px;
}
.gnav {
  width: 100%;
  height: 40px;
  margin: 30px 0 20px 50px;
}
.gnav ul {
  width: 960px;
  height: 40px;
  margin: 0 auto 2px auto;
  list-style: none;
  display: flex;
}
.gnav ul li {
  text-align: center;
  border-left: 1px solid #eee;
}
.gnav ul li a, .gnav ul li a:link, .gnav ul li a:visited {
  display: inline-block;
  width: 120px;
  line-height: 40px;
  margin-right: 2px;
  background: #bb004e;
  color: #fff;
  text-decoration: none;
  border-radius: 20px;
}
.gnav ul li a:hover{
  background: #f75b9c;
}
.cast-single .row {
  margin: 0;
}
.cast-single .col-md-6,.cast-single .col-md-4{
  padding: 0;
}
.ikebukuro .photo {
  padding: 45px;
  /* background: #009944; */
  margin: 0 5px;
  border-radius: 10px;
  background-image: url(https://test.loveplus-esthe.com/images/common/ikewest/body_bg.jpg);
  background-blend-mode: hard-light;
  background-color: rgb(222 255 231 / 85%);
}
.photo_inner {
max-width: 400px;
  margin: auto;
  position: relative;
  }
.photo_inner .cast-new {
  position: absolute;
  top: 6px;
  left: 6px;
  border-radius: 50%;
  background: #ff8cc1;
  width: 60px;
  height: 60px;
  text-align: center;
  border: 2px solid #fff;
  line-height: 3;
}
.cast-photo {
  position: relative;
}
.cast-photo .cast-new {
  position: absolute;

  top: 13px;
  left: 11px;
  border-radius: 50%;
  background: #ff8cc1;
  width: 50px;
  height: 50px;
  text-align: center;
  border: 2px solid #fff;
  line-height: 2.5;
}
.cast-photo .cast-new img {
  width: 34px;
}
img.new-cast-title-img {
  width: 100%;
  max-width: 975px;
}
.new-cast-area {
  background: #ff0;
  border-radius: 15px;
  max-width: 1200px;
  margin: auto;
  border: 2px solid #83fb15;
}
.new-cast-title {
  text-align: center;
  padding: 10px 0 10px;

}
.new-cast-box {
  margin: auto;
  width: 100%;
  padding: 10px;
}

.new-cast-photo {
  position: relative;
}
.new-cast-photo .trimming {
  max-width: 200px;
  border-radius: 10px 10px 0 0;

}
.new-cast-photo .cast-new {
  position: absolute;

  top: 4px;
  left: 4px;
  border-radius: 50%;
  background: #ff8cc1;
  width: 50px;
  height: 50px;
  text-align: center;
  border: 2px solid #fff;
  line-height: 2.5;
}

.new-cast-photo .cast-new img {
  width: 34px;
}
.new-cast-photo {


  background: #ffc7f3;

  padding: 9px;
  border-radius: 10px;
  margin: 0px 10px 0px;
  
}
.new-cast-photo:hover {
  opacity: 0.8;
}
.new-cast-photo-inner {
  border: 2px solid #fff;
  border-radius: 10px;
  padding: 0 0 5px;
  width: fit-content;
  margin: auto;
  position: relative;
}

.new_cast_profiles {
  background: #df3b87;
    padding: 5px;
    border-radius: 0px 0px 10px 10px;
    color: #fff;

    max-width: 200px;
}
.new_cast_profiles .cast-name {
  font-size: 20px;
  text-align: center;
  font-weight: 700;
}
.new_cast_profiles .cast-size {
  font-size: 16px;
  text-align: center;
}
.new_cast_area_ikebukuro {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 13px;
  padding: 4px;
  background: #009944;
  border-radius: 0 10px 0px 10px;
  color: #fff;
      
}
.new_cast_area_shinbashi {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 13px;
  padding: 4px;
  background: #00bdd3;
  border-radius: 0 10px 0px 10px;
  color: #fff;
}
.todays-cast-area {
  max-width: 1200px;
  margin: 50px auto;
}
.todays-cast-box {
  margin: auto;
  width: 100%;
  padding: 10px;
}

.todays-cast-photo .trimming {
  max-width: 150px;
  border-radius: 10px 10px 0 0;

}
.todays-cast-photo .cast-new {
  position: absolute;

  top: -5px;
  left: -5px;
  border-radius: 50%;
  background: #ff8cc1;
  width: 40px;
  height: 40px;
  text-align: center;
  border: 2px solid #fff;
  line-height: 2.2;
  
}

.todays-cast-photo .cast-new img {
  width: 28px;
}
.todays-cast-photo {

  position: relative;

  background: radial-gradient(#858484, transparent);
  padding: 9px;
  border-radius: 10px;
  margin: 0px 10px 10px;
  width: fit-content;
}
.todays-cast-photo:hover {
  opacity: 0.8;
}
.todays-cast-photo-inner {
  border: 2px solid #fff;
  border-radius: 10px;
  padding: 0 0 5px;
  width: fit-content;
  margin: auto;
  position: relative;
}

.todays_cast_profiles {
  background: #ffdfee;
    padding: 5px;
    color: #df3b87;
    max-width: 200px;
}
.todays_cast_profiles .cast-name {
  font-size: 18px;
  text-align: center;
  font-weight: 700;
}
.todays_cast_profiles .cast-size {
  font-size: 12px;
  text-align: center;
}
.todays_cast_area_ikebukuro {
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 13px;
  padding: 4px;
  background: #009944;
  border-radius: 0 10px 0px 10px;
  color: #fff;
  text-shadow: 0px 0px 3px #636363;
  box-shadow: 1px 1px 1px 0px rgb(0 0 0 / 60%);
}
.todays_cast_area_shinbashi {
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 13px;
  padding: 4px;
  background: #00bdd3;
  border-radius: 0 10px 0px 10px;
  color: #fff;
  text-shadow: 0px 0px 3px #636363;
  box-shadow: 1px 1px 1px 0px rgb(0 0 0 / 60%);
}

.starttime_endtime {
  background: #9e7eff;
  padding: 0px 5px 0px;
  border-radius: 0px 0px 10px 10px;
  color: #fff;
  text-align: center;
  font-size: 15px;
}

.cast-photo .trimming {
  max-width: 200px;
  border-radius: 10px 10px 0 0;
}
.cast-photo {
  background: #ffc7f3;
  padding: 9px;
  border-radius: 10px;
  margin: 0px 10px 0px;
}
.pr1 {
  background: #ffe3ec;
  padding: 6px 10px;
  border-radius: 7px 7px 0px 0px;
  font-size: 18px;
  color: #c7377a;
  font-weight: bold;
}
.pr2 {
  background: #fffce9;
  padding: 8px 10px;
  border-radius: 0px 0px 7px 7px;
  margin-bottom: 5px;
  font-size: 18px;
  color: #5b5a5a;
}
.star.pr2 {
  color: #ff953a;
}
.flexbox {
  max-width: 1000px;
  margin: auto;
}
.rating_center.col-md-4 {
  padding: 0 5px;
}
.ikebukuro .cast-single-name{
  padding: 10px;
  /* background: #009944; */
  background-image: url(https://test.loveplus-esthe.com/images/common/ikewest/body_bg.jpg);
  background-blend-mode: multiply;
  background-color: rgb(53 161 83 / 86%);
  border-radius: 10px;
  max-width: 1200px;
  margin: 0 auto 20px;
}
.ikebukuro .cast-single-name h1.page-title {
  font-weight: 700;
  color: #fff;
  font-size: 32px;
  text-align: center;
}
.pr_box {
  padding-left: 10px;
}
@media screen and (min-width: 900px) {
  .box_time:nth-child(even) {
      grid-row: 2;
  }
}
@media screen and (max-width: 1300px) {
  .pr2 {

    padding: 6px 10px;

}
}
@media screen and (max-width: 1200px) {
  .pr1 {
    padding: 5px 10px;
    font-size: 17px;
}
  .pr2 {
    padding: 3px 10px;
    font-size: 17px;
}
}
@media screen and (max-width: 1100px) {
  .pr1 {
    padding: 4px 10px;
    font-size: 16px;
}
  .pr2 {
    padding: 3px 10px;
    font-size: 16px;
    margin-bottom: 4px;
}
}
@media screen and (max-width: 999px) {
.pr1 {
  padding: 5px 10px;
  font-size: 18px;
}
.pr2 {
  padding: 4px 10px;
  font-size: 17px;
  margin-bottom: 4px;
}
.main_nav_menu{
  display: none;
}
}
@media screen and (max-width: 860px) {
  .pr1 {
    padding: 4px 10px;
    font-size: 16px;
  }
  .pr2 {
    padding: 4px 10px;
    font-size: 16px;
    margin-bottom: 3px;
  }
  }
@media screen and (max-width: 900px) {
  .box-schedule {
      grid-template-columns: 1fr 1fr;
      grid-auto-columns: auto;
  }
}
@media screen and (max-width: 767px) {
  .rating_center.col-md-4 {
    padding: 0;
}
.profile.col-md-6 {
  margin-top: 10px;
}
.ikebukuro .photo,.shinbashi .photo {
  padding: 25px;
margin: 0px;
}
.pr1 {
  padding: 5px 10px;
  font-size: 18px;
}
.pr2 {
  padding: 5px 10px;
  font-size: 18px;
  margin-bottom: 5px;
}
.pr_box {
  padding-left: 0px;
}
.new-cast-photo .trimming {
  max-width: 220px;
}
.new_cast_profiles{
  max-width: 100%;
}
.new-cast-photo {
width: 100%;
  margin: 0px auto 10px;
}
.new-cast-photo-out {
  margin: 0 5px;
}

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

  .todays-cast-box {
    padding: 10px 0px;
}
.todays-cast-photo{
  margin: 0px 5px 10px 
}

}
@media screen and (max-width: 400px) {
  .todays-cast-photo .trimming {
    max-width: 125px;
}
.todays_cast_profiles{
  max-width: 125px;
  overflow-wrap: break-word;
}

}
@media screen and (min-width: 960px) {
  .cssgrid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      grid-auto-rows: 1fr;
      grid-gap: 0.8em;
      padding: 0.8em;
      margin: 0 0 2em;
  }
}
@media screen and (min-width: 960px) {
  .cssgrid > div {
      background: #fff;

      min-width: 0;
      padding: 1em;
  }
}