@charset "UTF-8";

/* ==============================================  
 SHEDULE  /schedule/
=============================================== */
.sch-common-ttl {
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding: 0.5em 0;
  text-align: center;
  position: relative;
  z-index: 10;
}
.sch-common-sub {
  font-size: 1.35rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: 1.5em;
  color: #606068;
  position: relative;
  font-weight: 500;
  z-index: 10;
}
.sch-common-p {
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: 1.5em;
  color: #606068;
  position: relative;
  z-index: 10;
} 
.sch-common-p.red {
  color: #d82e66;
}


.sch_studio_box{
  position: relative;
  text-align: center;
  background-color: #111;
  color: #fff;
  margin-bottom: 1px;
  font-size: 1rem;
}
.sch_studio-name{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: fit-content;
  letter-spacing: 0.03em;
}
.sch_studio-name .en{
  display: block;
  font-size: 2em;
  font-weight: 500;
}
.sch_studio-name .jp{
  font-size: 1.1em;
  font-weight:200;
}
.sch_studio-name .new-open{
  display: block;
  font-size: .9em;
  font-weight:500;
  background-color: rgb(230 110 142 / 80%);
  color: #fff;
  width: fit-content;
  padding: .12em 1em;
  margin: .4em auto 0;
}
.sch_studio_box img{
  height: 11rem;
  object-fit: cover;
  opacity: .6;
}

.sch_btn_link{
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  border: 1px solid #e8e7e2;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 1.2em 0;
  margin-bottom: 1em;
  z-index: 10;
}
.sch_btn_link::before{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e8e7e2;
  top: 0;
  left: 0;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s;
}
.sch_btn:hover .sch_btn_link::before{
  transform: scaleX(1);
}
.sch_info_box.underline{
  padding: 1em 0 1em ;
  margin-bottom: 3em;
  border-bottom: 1px solid #c5c5c5;
}

.sch_btn_block{
  padding: 3em 0 0;
}

.sec_brands .sch-common-sub{
  margin-top: 1.5em;
  margin-bottom: .5em;
}

.attention_list {
  font-size:11px;
  text-align: justify;
  margin-top: 1em;
}
.attention_list li {
padding-left:1.2em;
position:relative;
margin-bottom:.3em;
line-height: 1.4;
letter-spacing: 0.2px;
}
.attention_list li:before {
position:absolute;
left:0;
content:"※";
font-weight:bold;
}


/* SCHEDULE LIST
========================================= */
.top_sche_block{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8em 0.8em;
  padding: 1em 0;
}
/* .top_sche_block li{
  width: calc(50% - .4em);
  margin-bottom: 0.8em;
} */
.top_sche_anchor{
  display: block;
  text-align: center;
  padding: .85em 0;
  border-radius: .3em;
  border: solid 1px var(--c-grey);
  transition: background-color .4s, color .4s;
}
.header_w .top_sche_anchor{
  background-color: var(--c-black2);
}
.top_sche_anchor .en{
  font-size: 1.3em;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .02em;
}
.top_sche_anchor .ja{
  display: block;
  font-weight: 500;
  letter-spacing: .05em;
}
.top_sche_anchor:hover{
  background-color: var(--c-red) !important;
  color: var(--c-white);
}
.top_sche_anchor .women-navi{
  margin-bottom: -.7em;
}

@media (min-width: 769px) {
  .top_sche_block{
    grid-template-columns: repeat(5, 1fr);
  }
  .sec_txt + .top_sche_block{
    margin-top: 1em;
  }
  .sec_top_sche .link_circle_arrow {
    justify-content: flex-end;
    margin-left: auto;
  }
}/* 769 */


/* INSTAGRAM
=============================================== */
.sch_insta_block{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.sch_insta_block>li{
  width: 48.5%;
  margin-bottom: 3%;
}
.sch_insta_block>li:not(:nth-child(2n)){
  margin-right: 3%;
}
.sch_insta_link{
  position: relative;
  text-align: center;
  border: 1px solid;
  font-size: 1.2rem;
  padding: 1em 0;
  border-radius: .3em;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: color .5s;
}
.sch_insta_link:hover{
  color: #da5e7f;
}

.sch_insta_link svg{
  position: absolute;
  left: .7em;
  width: 2em;
  height: 2em;
  display: inline-block;
  /* vertical-align: text-bottom; */
}
.insta_txt{
  display: block;
  width: 4.8rem;
  text-align-last: justify;
  margin-left: .8em;
  margin-top: .15em;
}

@media (min-width: 769px){
  .sch_studio_block{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .sch_studio_box{
    width: calc(25% - .75px);
  }
  .sch_studio_box:not(:nth-child(4n)){
    margin-right: 1px;
  }
  .sch_btn_block{
    display: flex;
    justify-content: center;
  }
  .sch_studio-name .en{
    font-size: 1.7em;
  }
  .sch_btn_link{
    width: 30rem;
    font-size: 1.3em;
    padding: 1.2em 0;
    margin: 0 1em 0;
  }

  .sch_info_box_wrap{
    display: flex;
    justify-content: space-between;
  }
  .sch_info_box{
    width: 50%;
    padding-left: 4%;
  }

  .sch_info_box.underline {
    margin: 0;
    padding: 0 4% 0 0;
    border-bottom: 0;
    border-right: 1px solid #c5c5c5;
  }
  .attention_list {
    display: flex;
    justify-content: center;
  }

  .sch_insta_block>li {
    width: 19%;
    margin-bottom: 1.25%;
  }
  .sch_insta_block>li:not(:nth-child(2n)){
    margin-right: 0%;
  }
  .sch_insta_block>li:not(:nth-child(5n)){
    margin-right: 1.25%;
  }

}/* mq860 end */


/* ==============================================  
 ACCESS  /branch/
=============================================== */

.access_add{
  display: flex;
  flex-wrap: wrap;
  font-size: 1.2rem;
}
.access_add dt,
.access_add dd{
  border-top: 1px solid #c5c5c5;
  padding: 1.1em 0;
}
.access_add dt:last-of-type,
.access_add dd:last-of-type{
  border-bottom: 1px solid #c5c5c5;
}
.access_add dt{
  width: 32%;
  font-weight: 500;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.1em;
}
.access_add dt p{
  width: 5em;
  text-align-last: justify;
}
.access_add dd{
  width: 68%;
  padding-left: 0.5em;
  /* background: #efffff; */
}

.new{
  display: block;
  font-size: 0.8em;
  text-align: center;
  text-align-last: center;
  color: #e66e8e;
  line-height: 1.2;
  margin-top: .2em;
}
.access_tel{
  font-size: 1.6em;
  margin-bottom: 0.3em;
  line-height: 1;
}
.access_tel_icon{
  height: fit-content;
}
.access_tel_icon svg{
  width: 1em;
  height: 1em;
  margin-right: .22em;
}

@media (min-width: 769px){
  .access_add dt{
    width: 24%;
    font-weight: 500;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
  }
  .access_add dd{
    width: 76%;
    padding-left: 0.5em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .access_tel {
    margin-bottom: 0;
    margin-right: 1em;
  }

  .new-p{
    position: relative;
    padding-bottom: 1em;
  }
  .new{
    position: absolute;
    right: -25%;
    width: 150%;
  }
}/* mq860 end */



/* ACCESS GUIDE ============= */
.st_access_block{
  background-color: #f3f3f3;
}
.access_map_box {
  display: block;
  padding: 0 1.5em 2em;
  /* overflow-x: scroll; */
}
/* .access_map_box img {
  width: 160%;
  max-width: inherit;
} */
.access_guide_list{
  padding:  0 0 2em;
  margin-top: 1em;
}
.access_guide_list h3::before{
  background-color: var(--color-pink);
}
.access_guide_list_box{
  padding: 2em 0;
}
.access_guide_list_box:last-child {
  padding-bottom: 0;
}
.room_detail_list{
  display: flex;
  flex-direction: column;
  gap: .8em;
  font-size: 1.1em;
  padding: 1.5em 0;
  border-bottom: 1px solid var(--color-grey);
}
.room_detail_list:first-of-type{
  border-top: 1px solid var(--color-grey);
}
.room_detail_list dt{
  font-size: 1.2em;
  font-weight: 500;
  color: var(--c-grey-d);
}
.room_detail_list dd{
  letter-spacing: .02em;
  line-height: 1.7;
}

@media (min-width: 769px) {
  .access_map_box{
    width: 80%;
    padding: 1em 2.5em 4em;
    margin: auto;
  }
  .room_list {
    padding: 5em 0 ;
  }
  .room_list_box{
    flex-direction: row;
    justify-content: space-between;
    /* align-items: center; */
    padding: 3em 0 5em;
  }
  .room_list_box:last-child{
    padding-bottom: 1em;
  }
  .room_list_detail_wrap{
    width: 40%;
  }
  .room_list_img_wrap{
    width: 55%;
  }
  .room_list_ttl {
    font-size: 1.3em;
    padding-top: 0;
  }
  .room_detail_list{
    flex-direction: row;
    gap: 2%;
    font-size: 1.1em;
  }
  .room_detail_list dt{
    width: 30%;
    min-width: 9em;
  }
  .room_detail_list dd{
    width: 70%;
  }

  .room_detail_pc_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* align-items: flex-start; */
  }
  .room_detail_pc_flex .img_box{
    width: 33em;
    /* aspect-ratio: 1/1; */
    margin: 0;
  }
  .room_detail_box{
    width: 43%;
    padding-bottom: 3.5em;
  }
  .access_guide_list{
    padding-bottom: 0;
  }
  .access_guide_list_box{
    display: flex;
    justify-content: space-between;
    padding: 2em 0 4em;
  }
  .access_guide_list h3{
    width: 25%;
    height: fit-content;
  }
  .room_detail_list_wrap{
    width: 68%;
  }

}/*  */

/* ==============================================  
 LESSOSN INFO  /close/
=============================================== */

@media (min-width: 769px){
  .sec_close{
    padding: 5.5rem 0 4rem;
  }
  .sec_close .sch-common-ttl{
    margin-bottom: .5em;
  }
}/* mq860 end */


/* ==============================================  
 LESSON NOTE  /note/
=============================================== */

@media (min-width: 769px){
  .sec_note{
    padding: 5.5rem 0 5.5rem;
  }
  .sec_note .sch-common-ttl{
    margin-bottom: 1em;
  }
}/* mq860 end */


/* ==============================================  
 店舗個別ページ上書き調整  /ginza/
=============================================== */
.branch-lede .text {
  font-size: 1.4rem;
}
.b-photo-ttl {
  font-size: 2rem;
}
.b-photo-main .text {
  font-size: 1.3rem;
}



/* close
------------------------------------------- */
.close_table{
  border-collapse:collapse;
  width:100%;
  border-top:1px solid #cccccc;
  border-left:1px solid #cccccc;
  font-size:1.2rem;
  line-height:1.4;
  text-align:left;
  margin-top:1em;
}
.close_table th{
  font-weight:normal;
  width:28%;
  padding:1em;
  border:1px solid #CCCCCC;
  vertical-align:middle;
  text-align:center;
  background-color:#F6F6F6;
}
.close_table td{
  padding:1em;
  border:1px solid #CCCCCC;
  vertical-align:middle;
  text-align:left;
}
.close_table td.back {
  background-color:#F6F6F6;
  text-align:center;
  padding:1em .5em;
 }
.close_table td.sun {
  color:#FF0000;
}
.close_table td.sat {
  color:#0000FF;
}

@media (min-width: 769px){
  .close_table{
    font-size:1.4rem;
    line-height:1.6;
  }  
}
