/*フォント*/
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;1,100;1,200&family=Manrope:wght@200;300;400;500;600&family=Noto+Serif+JP:wght@200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap");

body {
  /* font-family: "Noto Sans JP", sans-serif; */
  font-family: "Noto Serif JP", serif;
}
.btn_totop {
  display: none;
}

.contents_header p,
.cont_titile span,
.top_topics .sh {
  font-family: "Cinzel", serif;
  /* text-transform: uppercase; */
  font-weight: 100;
  color: #454545;
}
.cont_titile span::first-letter,
.contents_header p::first-letter {
  color: #e2017b;
  font-size: 1.75rem;
}
.contents_header p,
.cont_titile span {
  font-size: 1.75rem;
}
.top_topics .sh {
    background: linear-gradient(15deg, rgb(241 192 192) 0%, rgba(254, 151, 151, 1) 60%, rgb(247 138 138) 100%);
  color: #fff;
}
.btn_tel.pc .material-icons {
  margin-right: 5px;
  margin-top: 4px;
}
.nav_follow .btn_tel a {
  display: flex;
  justify-content: center;
  align-content: center;
}

.contents {
  margin: 0;
  padding: 70px 0 40px;
}
.profile-twi span,
.top_twitter span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ekkusu {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  margin-bottom: 0.35rem;
}
main {
  position: relative;
  overflow: hidden;
}
main::before {
  content: "";
  display: block;
  background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 100%), url(../img/bg.jpg);
  background-size: 105%;
  background-position: center top;
  background-repeat: repeat;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.7;
}

.inner_page .btn01 {
  margin-top: 2rem;
}
/* .top_schedule.schedule {
  background: linear-gradient(to left, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%), url(../img/today-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
} */
@media screen and (max-width: 640px) {
  .nav_follow .logo img {
    /* padding-top: 0.5rem; */
    /* padding-left: 5rem; */
    width: 120%;
  }
}
@media screen and (min-width: 640px) {
  main::before {
    background-size: 40%;
    background-repeat: repeat;
    background-position: top;
  }
}

.top_contents,
.top_eventbanner {
  /* background: #fff; */
  margin: 10px 0;
}
.label-wrap {
  /* display: none; */
}
.room {
  /* display: none; */
}
body {
  /* font-weight:200; */
}
.inner {
  width: 100%;
}
.top_app,
.top_blog,
.top_credit,
.top_access,
.top_link {
  padding: 0 1rem;
}
@media screen and (min-width: 640px) {
  .top_information .information_list li {
    height: 140px;
  }
}
/*end*/
.top_schedule,
.top_blog,
.top_access {
  /* background: #f4f4f4; */
}

@media screen and (min-width: 640px) {
  .top_access .access-box {
    /* display: flex; */
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    align-items: center;
  }
  .access-box h3 {
    margin-top: 1rem;
  }
  .top_access .access-box .ggmap {
    width: 100%;
    margin: 0;
  }
  .top_access .access-box {
    padding: 0 2rem;
    border-bottom: 1px solid #212121;
  }
  .top_access .btn01 {
    margin: 1rem auto 25px auto;
  }
}
.btn01 a {
  background: linear-gradient(15deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 260%, rgba(0, 0, 0, 1) 100%);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 10px 10px 10px 20px;
  border-radius: 6px;
}

/*header,toggle*/
.nav_follow {
  padding: 0 0 0 10px;
}
.toggle {
  right: 10px;
}
.toggle span {
  width: 90%;
}
.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
  right: 0;
}

.global_nav_sp {
  background: rgba(255, 255, 255, 0.95);
}

.global_nav_sp ul li a {
  font-size: 12px;
  color: #454545;
}

.global_nav_sp a span {
  font-size: 11px;
  color: #e2017b;
}

@media screen and (min-width: 640px) {
  .fix-header {
    background: #fff;
  }

  .nav_follow .head_btn.reserve a {
    background: linear-gradient(15deg, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 1) 200%, rgba(0, 0, 0, 1) 100%);
    color: #fff;
  }
}

/*footer*/

footer {
  /* background: #ebf3ff; */
}

footer small {
  color: #454545;
  font-size: 14px;
}

.f-hours {
  background: linear-gradient(15deg, rgba(40, 40, 40, 1) 20%, rgba(40, 40, 40, 1) 200%, rgba(40, 40, 40, 1) 100%);
  color: #fff;
  display: flex;
}
.f-hours div {
  width: 50%;
  margin: 0 auto;
  font-weight: bold;
}
.f-hours div:last-child {
  /* display: none; */
}

.foot_navi {
  background: linear-gradient(15deg, rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 1) 200%, rgba(0, 0, 0, 1) 100%);
}

.foot_navi a {
  color: #454545;
}

/*contents header*/

.contents_header {
  /* background: rgb(242,228,210); */
  /* background: linear-gradient(90deg, rgba(242,228,210,1) 0%, rgba(255,247,238,1) 49%, rgba(242,228,210,1) 100%); */
}

/* ---- particles.js container ---- */
#particles-js {
  position: absolute;
  width: 100%;
  height: 100vh;
  /* background-color: #232741; */
  /* background-image: url(""); */
  background-repeat: no-repeat;
  background-size: 20%;
  background-position: 50% 50%;
  z-index: 1;
}

/* ---- stats.js ---- */

#stats {
  border-radius: 3px 3px 0 0;
  overflow: hidden;
}
.count-particles {
  border-radius: 0 0 3px 3px;
}
#scroll-top {
  opacity: 0;
  transition: opacity 350ms ease;
  opacity: 1 !important;
}
.no-schedule {
  font-size: 1rem;
  padding: 1rem 1rem 0;
  font-weight: bold;
}
.no-schedule .btn01 {
  margin-top: 2rem;
}
@media screen and (min-width: 640px) {
  .no-schedule {
    font-size: 1.2rem;
    text-align: center;
  }
  .no-schedule .btn01 {
    font-size: 14px;
  }
}
.error .text p {
  margin-bottom: 2rem;
}
.error .text p.btn01 a {
  padding: 10px;
}
.top_credit p {
  font-size: 0.818rem;
}
@media screen and (max-width: 400px) {
  .credit > div {
    font-size: 0.8rem;
  }
}

.mainvisual .global-nav {
  display: none;
}
@media screen and (max-width: 400px) {
  .mainvisual .global-nav {
    display: block;
  }
}
.btn01 {
  width: 100%;
}
.btn01 a {
  width: 70%;
  background: none;
    color: #f58e8e;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 10px 10px 20px;
  border-radius: 0;
  box-sizing: border-box;
  margin: 0 auto;
  border: 2px solid;
    border-image: linear-gradient(34deg, #f1adc4 -27%, #ffa5e7 50%, #ffb9d1 120%);
  border-image-slice: 1;
  position: absolute;
  position: relative;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.7);
}
.grade-icon {
  /* font-family: "Cinzel", serif; */
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 2px;
  font-size: 1rem;
  height: 1rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.grade-icon.newface {
  background: rgba(206, 73, 61, 0.85) !important;
  color: #fff !important;
}
.grade-icon.standard {
  background: linear-gradient(to left, #82848d 0%, #e8e8ea 30%, #fff 50%, #e8e8ea 70%, #82848d 100%) !important;
  color: #454545 !important;
}
.grade-icon.black {
  background: linear-gradient(to left, #3c3c3c 0%, #535353 30%, #646464 50%, #535353 70%, #3c3c3c 100%) !important;
  color: #fff !important;
}
.grade-icon.gold {
  background: linear-gradient(to left, #91804a 0%, #a89c65 30%, #f6efc3 50%, #a89c65 70%, #91804a 100%) !important;
  color: #72684c !important;
}
.name {
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Cinzel", serif;
  font-weight: 100;
  padding-top: 0.5rem;
  color: #e2017b;
}
.name a {
  color: #e2017b;
}
.name span {
  padding-top: 1px;
}
.name .size-a {
  font-size: 0.75rem;
}
.therapist-box p.date {
  font-size: 1rem;
}
.therapist-box p.date span {
  font-size: 0.75rem;
  padding: 2px 1px 0;
}
.cast_data {
  font-family: "Cinzel", serif;
  padding: 0.5rem 0.2rem;
}
.date {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  text-transform: uppercase;
  font-weight: 100;
}
.date span {
  font-size: 0.9rem;
}
.therapist-box .profile-icon li,
.therapist-single .profile-icon li {
  background: #e2017b;
  color: #fff;
  border: 1px solid #e2017b;
  border-image: linear-gradient(180deg, #bda134 0%, #fef29c 50%, #d9b94c 100%);
  border-image-slice: 1;
}
.single-cast-calendar .calendar ul li .schedule-castreserve-btn {
  background: linear-gradient(0deg, rgba(232, 232, 232, 1) 0%, rgba(255, 255, 255, 1) 38%);
}
.single-cast-calendar .calendar ul li .schedule-castreserve-btn a {
  background: #e2017b;
  color: #454545;
}

.toggle .txt {
  position: absolute;
  bottom: -24px;
  left: 0;
  height: auto;
  background: none;
  font-size: 13px !important;
  letter-spacing: 0;
  max-height: 100%;
  white-space: nowrap;
  display: inline;
  word-break: normal;
  color: #454545;
  width: 100%;
  font-family: "Cormorant Garamond", serif;
}

.toggle {
  width: 38px;
  top: 15px;
  right: 8px;
}
.toggle span {
  border: none !important;
  padding: 0;
  width: 90%;
  height: 1px;
  background: #454545;
}
.toggle span:nth-child(1) {
  top: 0;
}
.toggle span:nth-child(2) {
  top: 9px;
}
.toggle span:nth-child(3) {
  top: 18px;
}
.toggle.active span:nth-child(1) {
  top: 10px;
  left: -3px;
}
.toggle.active span:nth-child(2) {
  top: 10px;
  background: none;
}
.toggle.active span:nth-child(3) {
  top: 10px;
  left: -3px;
}
.mainvisual-js {
  position: fixed;
  width: 100%;
  height: 66vh;
  z-index: 0;
  display: none;
}

@media screen and (min-width: 640px) {
  .toggle {
    top: 1.75em;
    right: 3rem;
    display: none;
  }
  .global_nav_sp.active {
    width: 40%;
  }
  .global_nav_sp {
    left: unset;
    right: 0;
  }
  .mainvisual-js {
    position: fixed;
    width: 100%;
    /* height: 80vh; */
    z-index: 0;
  }
}
.foot_navi {
  display: grid;
  grid-template-columns: repeat(auto-fit, 20% 20% 20% 20% 20%);
  text-align: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
  justify-content: space-evenly;
  background: none;
  /* border-top: 2px solid #e2017b; */
  filter: drop-shadow(0px 16px 14px #000);
}
.foot_navi li {
  height: 62px;
    background: linear-gradient(0deg, rgb(253 185 185) 0%, rgb(255 240 240) 38%);
}
.foot_navi li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 10px;
  height: 62px;
  color: #ac9513;
}
.nav_follow {
    background: linear-gradient(117deg, rgb(255 245 245) 0%, rgb(255 248 248) 78%);
}
@media screen and (max-width: 640px) {
  .nav_follow div {
    display: flex;
    line-height: 1;
  }
  .nav_follow .btn_tel {
    font-size: 1rem;
    margin: 0 !important;
    font-family: "Cinzel", serif;
    padding-left: 1.5rem;
    padding-top: 1rem;
    display: none;
  }
  .top-time {
    font-size: 0.66rem;
  }
  .f-hours.sp {
    display: none;
  }
}

.top-ran .therapist-box {
  border: none;
}
.schedule-castreserve-btn {
  display: none !important;
}
.contents_header,
.contents_header p {
  position: relative;
}
.contents_header p:before {
  content: "";
  display: block;
  background: url(../img/ttl.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 75%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 2rem;
  left: 0;
  z-index: -1;
  padding: 3rem 0;
  opacity: 0.7;
}
.cont_titile span {
  position: relative;
}
.cont_titile span::before {
  content: "";
  display: block;
  /* background: url(../img/ttl.png); */
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 75%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 2rem;
  left: 0;
  z-index: -1;
  padding: 3rem 0;
  opacity: 0.7;
}
.top_schedule .cont_titile span::before {
  z-index: 0;
}

@media screen and (min-width: 640px) {
  .cont_titile span::before {
    background-size: 22rem;
  }
  .contents_header p:before {
    background-size: 25rem;
  }
}

.therapist-box {
  border: 1px solid #e2017b;
  border-image: linear-gradient(180deg, #bda134 0%, #fef29c 50%, #d9b94c 100%);
  border-image-slice: 1;
  padding: 0.25rem;
}

@media screen and (min-width: 640px) {
  .therapist-box {
    height: 440px;
  }
  .top_schedule .therapist-box {
    height: 480px;
  }
  .castlist {
    padding-bottom: 10rem;
  }
  .inner_under .schedule .therapist-box {
    height: 482px;
  }
}
