/*Mv
=======================================================*/
.mv{
  position: relative;
  background: url(../images/mv.png?=1) no-repeat;
  background-size: cover;
  height: 50vh;
  z-index: 0;
  background-position: center;
}
.mv-catch{
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.mv-catch-txt{
	font-family: "NotoSerifJP SemiBold";
  color: #fff;
  font-size: 50px;
  line-height: 1.5;
}

@media screen and (max-width: 1045px){
}
@media screen and (max-width: 1023px){
}
@media screen and (max-width: 1000px){
  .mv{
    background-position: center;
  }
  .mv-catch{
    width: 90%;
  }
}
@media screen and (max-width: 768px){
  .mv{
    height: 30vh;
  }
  .mv-catch-txt{
    font-size: 30px;
  }
  .mv-catch{
    padding-top: 5vh;
  }
}

/*イベント
=======================================================*/
.event{
  position: relative;
  background: url(../images/bg2.png) no-repeat;
  background-size: cover;
  padding: 50px 0;
}
.event-ttl{
  color:#fff;
  font-family: "MsMadi R";
  max-width: 1000px;
  margin: 0 auto;
  font-size: 80px;
  line-height: 1;
}
ul.event-slider li{
  padding: 0 10px;
}
.slide-dots {
  margin: 0;
  padding: 0;
  text-align: center;
}
.slide-dots li {
  display: inline-block;
  padding: 10px!important;
  line-height: 0;
}
.slide-dots li button {
  position: relative;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  background: #949494;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}
.slide-dots li.slick-active button{
  background: #fff;
}
.event-news{
  max-width: 1000px;
  margin: 50px auto 0;
}
.event-news-inner{
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  gap:20px;
  padding: 20px;
}
img.event-news-img{
  object-fit: contain;
  width: 30%;
}
.event-news-detail{
  color:#fff;
}
.event-news-detail-date{
  font-size: 15px;
}
.event-news-detail-ttl{
  font-size: 25px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.event-news-detail-txt{
  font-size: 18px;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.event-news-btn{
  display: block;
  margin-left: auto;
  border: 1px solid #fff;
  color: #fff;
  width: fit-content;
  margin-top: 20px;
  padding: 10px 30px;
  font-size: 20px;
}

@media screen and (max-width: 1000px){
  .event-ttl{
    max-width: 90%;
  }
  .event-news{
    max-width: 90%;
  }
}
@media screen and (max-width: 768px){
  .event-ttl{
    font-size: 40px;
  }
  .event-news{
    margin: 30px auto 0;
  }
  .event-news-inner{
    gap: 10px;
    padding: 10px;
  }
  img.event-news-img{
    width: 40%;
  }
  .event-news-detail-date{
    font-size: 10px;
  }
  .event-news-detail-ttl {
    font-size: 15px;
  }
  .event-news-detail-txt {
    font-size: 12px;
    line-height: 1.5;
  }
  .event-news-btn{
    padding: 5px 20px;
    font-size: 15px;
  }
  .slide-dots li button{
    width: 10px;
    height: 10px;
  }
}

/*新着情報詳細
=======================================================*/
.event-datail{
  position: relative;
  background: url(../images/bg2.png) no-repeat;
  background-size: cover;
}
.event-datail-inner{
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
}
img.event-datail-inner-img{
  width: 100%;
  object-fit: contain;
}
.event-datail-inner-date{
  font-size: 15px;
}
.event-datail-inner-ttl{
  font-size: 25px;
  margin-bottom: 10px;
  padding: 10px;
  border-bottom: 1px solid;
}
.event-datail-inner-txt{
  font-size: 20px;
}

@media screen and (max-width: 768px){
  .event-datail-inner-date{
    font-size: 13px;
  }
  .event-datail-inner-ttl{
    font-size: 22px;
  }
  .event-datail-inner-txt{
    font-size: 15px;
  }
}

/*セラピスト
=======================================================*/
.therapist{
  position: relative;
  background: url(../images/bg1.png) no-repeat;
  background-size: cover;
}
.therapist h2:nth-of-type(n+2){
  margin-top: 100px;
}
.therapist-wrap{
  padding-top: 50px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.therapist-wrap:last-child{
  margin-bottom: 0;
}
.therapist-wrap .one-cast{
  width: calc(100% / 4 - 10px);
  margin: 5px 5px 30px;
  position: relative;
}
.therapist-wrap .one-cast a{
  display: block;
  height: 100%;
}
.therapist-wrap .one-cast a:hover{
  box-shadow: 0px 0px 10px #EADA65;
}
.therapist-wrap .one-cast figure{
  margin: 0;
}
.therapist-wrap .one-cast .one-cast-box{
  position: relative;
}
.therapist-wrap .one-cast figure img{
  width: 100%;
  height: 400px!important;
  object-fit: cover;
  display: block;
  height: auto;
  transition: all 0.3s ease;
}
.therapist-wrap .one-cast figcaption {
  position: absolute;
  bottom: 0px;
  width: 100%;
  background:rgba(0,0,0,0.5);
  color:#fff;
  padding: 10px;
}
.therapist-wrap span{
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1.3;
  text-align: center;
  color:#fff;
}
.therapist-wrap span.cast-name{
  font-size: 23px;
  display: block;
}
.therapist-wrap span.cast-size{
  text-align: center;
  display: block;
  margin: 5px auto;
}
.therapist-wrap ul.type-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.therapist-wrap ul.type-wrap li{
  padding: 0 10px;
  border-radius: 15px;
  margin: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 12px;
  line-height: 1.5;
}
.therapist-wrap ul.type-wrap li::before{
  content: "#";
}
.todays_cast.badge{
  position: absolute;
  top: -10px;
  left: 40px;
  width: 45px;
}
.new_cast.badge{
  position: absolute;
  top: -10px;
  left: -10px;
  width: 45px;
}
.worktime.badge{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.3s ease;
  background: #444444;
  padding: 5px;
  margin-top: 10px;
}
.worktime.badge img{
  margin-right: 8px;
  width: 17px;
  object-fit: contain;
}

@media screen and (max-width: 768px){
  .therapist h2:nth-of-type(n+2){
    margin-top: 50px;
  }
  .therapist-wrap .one-cast{
    width: calc(100% / 2 - 10px);
    margin: 5px 5px 20px;
  }
  .therapist-wrap .one-cast span {
    font-size: 2.5vw;
  }
  .therapist-wrap span.cast-name{
    font-size: 17px;
  }
  .therapist-wrap .one-cast figure img{
    height: 300px!important;
  }
  .therapist-wrap ul.type-wrap li{
    font-size: 10px;
    padding: 0 5px;
  }
  .worktime.badge{
    font-size: 14px !important;
    top: 0;
    left: 0;
  }
  .worktime.badge img {
    margin-right: 7px;
    width: 12px;
  }
}

/*セラピスト詳細
=======================================================*/
.cast-detail{
  position: relative;
  background: url(../images/bg1.png) no-repeat;
  background-size: cover;
}
.cast-detail .prof-wrap{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cast-detail ul.slider_thumb{
  width: 500px;
  height: 665px;
}
.cast-detail ul.slider_thumb img{
  width: 100%;
  height: 650px;
  object-fit: cover;
}
.cast-detail .thumb{
  display: flex;
}
.cast-detail ul.thumb{
  width: 500px;
}
.cast-detail .thumb li{
  width: 200px;
  height: 200px;
}
.cast-detail .thumb li img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cast-detail .thumb.slick-slider:has(li:only-of-type) .slick-track{
  width: 200px!important;
}
.cast-detail .thumb.slick-slider li:only-of-type{
  width: 200px!important;
}

.cast-detail ul.thumb.slick-slider:has(li:nth-child(2):last-child) .slick-track{
  width: 100%!important;
}
.cast-detail ul.thumb.slick-slider:has(li:nth-child(2):last-child) .slick-track li{
  width: 200px!important;
}
.slick-list.draggable{
  margin: 0 auto;
}
.cast-detail .thumb .slick-slide.slick-current.slick-active img{
  outline: 10px solid rgba(254,73,128,0.4);
  outline-offset: -10px;
}
.cast-detail .prof-txt{
  width: 47%;
  color: #fff;
}
.cast-detail .cast-name{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid #FE4980;
  font-size: 30px;
}
.cast-detail .cast-x{
  display: flex;
}
.cast-detail .cast-x a{
  display: block;
  margin-right: 5px;
}
.cast-detail .cast-x a:last-child{
  margin-right: 0;
}
.cast-detail .cast-x a img{
  width: 30px;
  object-fit: contain;
}
.cast-detail .cast-num{
  display: flex;
  margin: 10px 0;
}
.cast-detail .cast-num span{
  font-size: 18px;
  margin: 0;
}
.cast-detail .type-wrap{
  margin: 0 0 20px;
  display: flex;
  flex-wrap: wrap;
}
.cast-detail .type-wrap li{
  padding: 0 10px;
  border-radius: 15px;
  margin: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 15px;
  line-height: 1.5;
}
.cast-detail .type-wrap li::before{
  content: "#";
}
.cast-detail p.comment-txt{
  white-space: pre-line;
  font-size: 16px;
  letter-spacing: 2px;
  margin: 0;
  line-height: 1.8;
}
.cast-detail .cast-info{
  width: 100%;
}
.cast-sns-wrap{
  width: 100%;
}
.cast-sns{
  padding-top: 50px;
}
.cast-sns a{
  display: block;
}
.cast-sns a img{
  width: 100%;
  object-fit: contain;
  margin-right: 10px;
}
.cast-sns a span{
  font-size: 15px;
  letter-spacing: 3px;
  transition: all 0.3s ease;
}
.cast-sns a:hover span{
  color: #fff;
}
.cast-detail .cast-schedule{
  margin-top: 50px;
}
.cast-detail .cast-schedule .cast-schedule-btn{
  margin-top: 100px;
}
.cast-detail .cast-schedule .krc_calendar{
  margin-top: 50px;
}
.cast-detail .cast-schedule .krc_calendar dl{
  display: flex;
  gap:10px;
  width: 100%;
  margin-bottom: 10px;
}
.cast-detail .cast-schedule .krc_calendar dl:last-child{
  margin-bottom: 0;
}
.cast-detail .cast-schedule .krc_calendar dl dt{
  width: 30%;
  background: #B49A06;
  text-align: center;
  font-size: 25px;
  padding: 5px;
  color: #fff;
}
.cast-detail .cast-schedule .krc_calendar dl dd{
  font-size: 25px;
  padding: 5px 10px;
  text-align: center;
  background: #fff;
  color: #404040;
  width: 70%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cast-detail .cast-schedule .krc_calendar dl dd.holiday{
  background: #ccc;
}

@media screen and (max-width: 1024px) and (min-width: 769px){
  .cast-photo{
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px){
  .cast-detail .prof-txt{
    width: 100%;
  }
}
@media screen and (max-width: 768px){
  .cast-detail ul.slider_thumb{
    width: 90vw;
    height: 440px;
  }
  .cast-detail ul.slider_thumb img {
    width: 100%;
    height: 420px;
    object-fit: cover;
  }
  .cast-detail ul.thumb{
    width: 90vw;
  }
  .cast-detail .thumb li {
    width: 100px;
    height: 130px;
  }
  .cast-detail .cast-num span {
    font-size: 15px;
  }
  .cast-detail .cast-name{
    font-size: 25px;
    margin: 10px 0;
  }
  .cast-detail p.comment-txt{
    font-size: 15px;
  }
  .cast-detail .cast-schedule{
    width: 100%;
  }
  .cast-detail .cast-schedule .krc_calendar{
    margin-top: 30px;
  }
  .cast-detail .cast-schedule .krc_calendar dl dt{
    width: 40%;
    font-size: 16px;
  }
  .cast-detail .cast-schedule .krc_calendar dl dd{
    width: 60%;
    font-size: 16px;
    padding: 5px;
  }
  .cast-detail .cast-schedule .cast-schedule-btn{
    margin-top: 50px;
  }
  .cast-sns-wrap{
    width: 100%;
  }
  .cast-sns a{
    font-size: 16px;
    line-height: 1.5;
  }
  .cast-sns a img{
    margin-right: 10px;
  }
  .cast-sns a::after{
    width: 10px;
    height: 16px;
    right: 3px;
  }
  .cast-sns a span{
    font-size: 11px;
    display: block;
  }
  .cast-detail ul.thumb.slick-slider:has(li:nth-child(2):last-child) .slick-track li{
    width: 100px!important;
  }
}

/*スケジュール
=======================================================*/
.week_calendar ul{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 50px;
}
.week_calendar ul li{
  width: calc(100% / 7.1);
  background: #ADAAAA;
  text-align: center;
  margin-right: 1px;
  font-size: 20px;
  margin-bottom: 1px;
}
.week_calendar ul li.target{
  background: #000000;
}
.week_calendar ul li a{
  padding: 5px;
  display: block;
  width: 100%;
  color: #fff;
}
.schedule-day-ttl{
  text-align: center;
  font-size: 30px;
  color: #fff;
}

@media screen and (max-width: 768px){
  .week_calendar ul{
    margin: 30px 0;
  }
  .week_calendar ul li{
    width: calc(100% / 4.1);
    font-size: 18px;
  }
  .week_calendar ul li a{
    display: block;
    line-height: 1.3;
    padding: 8px;
  }
  .schedule-day-ttl{
    font-size: 20px;
  }
  .schedule .cast-wrap{
    padding-top: 30px;
  }
}

/*料金システム
=======================================================*/
.system-inner{
  position: relative;
  background: url(../images/bg4.png) no-repeat;
  background-size: cover;
  position: relative;
}
.system-inner .ttl-L{
  position: relative;
}
.system-inner .common{
  position: relative;
}
.system-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
h3.system-h3{
  font-size: 22px;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
h3.system-h3 span{
  position: relative;
  z-index: 1;
  color: #fff;
}
h3.system-h3::before{
  content: "";
  width: 50px;
  height: 5px;
  background: #B49A06;
}
h3.system-h3::after{
  content: "";
  width: 50px;
  height: 5px;
  background: #B49A06;
}
.system-box{
  display: flex;
  flex-direction: column;
}
.system-detail{
  background:rgba(255,255,255,0.8);
  border: 3px solid #B49A06;
  margin: 10px;
  height: 100%;
  padding: 20px;
}
dl.system-menu{
  display: flex;
  justify-content: space-between;
  align-items: center; /* 上下中央配置 */
  gap: 20px;           /* 要素間の余白 */
  width: 70%;
  margin: 15px auto;
}
dl.system-menu dt,
dl.system-menu dd{
  font-size: 20px;
}
dl.system-menu dt span,
dl.system-menu dd span{
  font-size: 15px;
}
dl.system-menu dt{
  position: relative;
}
dl.system-menu dd{
  order: 3;
}
dl.system-menu::after{
  content: '';
  flex-grow: 1; /* 余白に合わせて拡張 */
  border-bottom: 2px dotted #000;
}
.system-box-main{
  width: calc(60% - 20px);
}
.system-box-option{
  width: calc(40% - 20px);
}
.system-box-option dl.system-menu{
  width: 90%;
}
.terms{
  background: url(../images/terms-bg.png) no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: bottom;
  position: relative;
}
.terms-ttl{
  text-align: center;
  letter-spacing: 5px;
  line-height: 1;
}
.terms-ttl span.terms-ttl-sub{
  font-family: "MsMadi R";
  background: linear-gradient(180deg,rgba(242, 205, 0, 1) 0%, rgba(140, 119, 0, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 30px;
}
.terms-ttl span.terms-ttl-main{
  display: block;
  font-size: 25px;
  font-family: "NotoSerifJP Regular";
  color: #fff!important;
  z-index: 1;
  position: relative;
  margin-top: -10px;
}
.terms-txt{
  color:#fff;
}

@media screen and (max-width: 768px){
  .system-inner .ttl-L.price-ttl::before{
    top:-50px;
  }
  .system-inner .common::before,
  .system-inner .common::after{
    width: 10vh;
    height: 10vh;
  }
  h3.system-h3{
    font-size: 20px;
  }
  dl.system-menu{
    gap: 10px;
    width: 100%;
    margin: 5px auto;
  }
  dl.system-menu dt,
  dl.system-menu dd{
    font-size: 16px;
  }
  dl.system-menu dt span,
  dl.system-menu dd span{
    font-size: 12px;
  }
  .system-box-main{
    width: 100%;
    margin-bottom: 20px;
  }
  .system-box-option{
    width: 100%;
  }
  .system-box-option dl.system-menu{
    width: 100%;
  }
  .terms-ttl span.terms-ttl-main{
    margin-top: -40px;
  }
}

/*求人情報
=======================================================*/
.recruit-con{
  background: url(../images/bg4.png) no-repeat;
  background-size: cover;
}
.recruit-detail{
  margin-top: 50px;
}
.recruit-detail dl{
  display: flex;
  gap: 5px;
  margin-bottom: 5px;
}
.recruit-detail dl:last-child{
  margin-bottom: 0;
}
.recruit-detail dl dt{
  width: 30%;
  background: #696969;
  color: #fff;
  padding: 10px;
}
.recruit-detail dl dd{
  width: 70%;
  background: #fff;
  padding: 10px;
  line-height: 1.5;
}
/*応募フォーム*/
.contact{
  position: relative;
  background: url(../images/bg5.png) no-repeat;
  background-size: cover;
}
.contact-ttl{
  color:#fff;
  text-align: center;
  font-size: 25px;
}
.contact-wrap{
  margin-top: 50px;
}
.contact-wrap dl{
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.contact-wrap dl dt{
  width: 30%;
  color: #fff;
  font-size: 20px;
  padding: 10px 0;
}
.contact-wrap dl dt span.required{
  color: #fff;
  background: #E20139;
  font-size: 13px;
  margin-left: 5px;
  border-radius: 3px;
  padding: 0px 4px;
}
.contact-wrap dl dd{
  width: 70%;
}
.contact-btn-wrap{
  margin-top: 30px;
}
.contact-btn-wrap input[type=submit]{
  background: #000000;
  color: #fff;
  width: 20%;
  display: block;
  margin: 0 auto;
  border: unset;
  font-family: "NotoSerifJP Regular";
  font-size: 20px;
}

@media screen and (max-width: 768px){
  .contact-wrap dl{
    flex-wrap: wrap;
  }
  .contact-wrap dl dt{
    font-size: 15px;
    width: 100%;
    padding: 0;
  }
  .contact-wrap dl dd{
    width: 100%;
  }
  .contact-btn-wrap input[type=submit]{
    width: 50%;
    font-size: 18px;
    padding: 5px;
  }
}

/*店舗情報
=======================================================*/
.access{
  position: relative;
  background: url(../images/bg2.png) no-repeat;
  background-size: cover;
  color:#fff;
}
.access-wrap{
  margin-top: 50px;
}
.access-box{
  margin: 10px;
  margin-top: 50px;
}
.access-list dl{
  display: flex;
  gap: 5px;
  margin-bottom: 5px;
}
.access-list dl:last-child{
  margin-bottom: 0;
}
.access-list dl dt{
  width: 30%;
  background: #696969;
  color: #fff;
  padding: 10px;
}
.access-list dl dd{
  width: 70%;
  background: #fff;
  padding: 10px;
  line-height: 1.5;
  color: #000;
}
.access-box-add{
  margin: 50px 0;
  letter-spacing: 2px;
  text-align: center;
}
.access-box-add-map{
  margin-top: 50px;
}
.access-box-add-map iframe{
  width: 100%;
}
.access-box-tel{
  width: 40%;
  margin-top: auto;
  font-size: 13px;
  letter-spacing: 2px;
}
.access-box-btn{
  border: 1px solid #EADA65;
  width: 100%;
  margin: 0 auto 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.6);
}
.access-box-btn:hover{
  background: #EADA65;
}
.access-box-btn img{
  margin-right: 10px;
  width: 20px;
  object-fit: contain;
}

@media screen and (max-width: 768px){
  .access-wrap{
    margin-top: 20px;
  }
  .access-box{
    width: 100%;
    margin: 0;
    flex-wrap: wrap;
  }
  .access-box-add{
    width: 100%;
    letter-spacing: 1px;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  .access-box-add-map iframe{
    height: 300px;
  }
  .access-box-btn{
    width: 90%;
    font-size: 16px;
  }
  .access-box-tel{
    width: 100%;
  }
}

/*リンク
=======================================================*/
.link{
  background: url(../images/bg3.png) no-repeat;
  background-size: cover;
}
.link-wrap{
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
}
.link-wrap a{
  display: block;
  width: calc(100% / 4);
}
.link-wrap a img{
  width: calc(100% - 10px);
}

@media screen and (max-width: 768px){
  .link-wrap a{
    width: calc(100% / 3);
  }
}