@charset "UTF-8";


/* ========================================================
STUDIO PAGE /branch/
======================================================== */

.branch_lede_ttl {
  font-size: 2rem;
  margin-bottom: 1em;
}
.branch_lede_text {
  font-size: 1.1em;
  padding: .3em 0;
  letter-spacing: .02em;
}
.branch_lede_text p{
  padding: .3em 0;
  line-height: 1.7;
}

@media (min-width:860px){
  .branch_lede_ttl {
    font-size: 2.5em;
  }
}/*  */


/* .studio_page .sec_bloc {
    padding: 7em 0 0;
} */
.branch_block{
  padding: 1em 0;
}
.branch_box{
  padding: 1.5em 0;
}
.branch_img_box{
  position: relative;
  /* background-color: #ddd; */
  overflow: hidden;
}
.branch_img_box::before{
  content: "";
  display: block;
  width: 100%;
  padding-top: 66.66666%;
}
.branch_img{
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 100%;
  width: auto;
  object-fit: cover;
  transition: transform .5s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
.branch_img_box:hover .branch_img{
  transform: scale(1.05);
}
.branch_detail_wrap{
  padding: .8em 0;
}
.branch_box_ttl{
  font-size: 1rem;
  padding: .6em 0;
  letter-spacing: .05em;
}
.branch_box_ttl .en{
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--c-gray-txt);
}
.branch_box_ttl .ja{
  display: block;
  font-size: 2.1em;
  font-weight: 500;
  line-height: 1.4;
}
.branch_gmap_link{
  display: inline-block;
  font-size: .9em;
  margin-left: .5em;
  color: var(--c-gray-txt);
}
.branch_link_box{
  display: flex;
  align-items: center;
  padding: .5em 0;
}
.branch_box_tel{
  display: inline-block;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: .02em;
  color: var(--c-gray-bg);
  font-family: 'Roboto', sans-serif;
}
.branch_sche_link{
  display: inline-block;
  font-size: 0.8rem;
  line-height: 0;
  padding: .9em .8em;
  margin-left: 1.2em;
  border: 1px solid currentColor;
}

.branch_box_add{
  padding: .5em 0;
}
.branch_page_link{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 0.9em;
  padding: .5em 0;
  opacity: .8;
  transition: opacity .3s , transform .3s;
}
.branch_page_link img{
  display: inline-block;
  width: 1em;
  height: auto;
  margin-left: 0.3em;
}
.branch_page_link:hover{
  opacity: .5;
  transform: translateX(0.3em);
}
.studio_page .sec_top_genre{padding: 2em 0 5em;}


/* other brand link ================== */
.other_link_block{
  display: flex;
  gap: 4%;
  padding: .5em 0 1em;
}
.other_link_box{
  width: 18%;
}
.other_link_img_box{
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
[data-brand="2"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) ) ); }
[data-brand="3"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 2 ) ); }
[data-brand="4"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 3 ) ); }
[data-brand="5"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 4 ) ); }
[data-brand="9"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 5 ) );}

@media (min-width: 769px){
  .branch_block{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 4em;
  }
  .branch_box{
    width: 46%;
    padding: 2em 0;
  }
}/* 769 */

@media (min-width: 960px){
  .branch_block{
    padding: 4em 0;
  }
  .branch_block::after{
    content:"";
    display: block;
    width:29%;
  }
  .branch_box{
    width: 29%;
    padding: 2em 0;
  }
}/* 960 */


/* ========================================================
各 STUDIO PAGE
======================================================== */
.branch-lede-copy {
  font-size: 2em;
  padding: .5em 0;
  letter-spacing: .02em;
}
.studio_page_head .text{
  font-size: 1.1em;
  padding: .3em 0;
  line-height: 1.8;
  letter-spacing: .02em;
}
.studio_page_head .text p,
.studio_page_head .text img{
  padding: .5em 0;
}

.studio_page_head .st_open_txt{
  font-family: var(--font-comp);
  font-size: 2em !important;
  padding: 0 !important;
  font-weight: 600;
  color: var(--c-red);
  line-height: 1.4;
}

/* STUDIO - PHOTO */
.b-photo-main{
  padding: 1em 2em;
  /* color: var(--c-gray-d);
  background-color: #fff; */
  /* min-height: 12em; */
}
.b-photo-ttl{
  font-size: 1.8em;
  font-weight: 500;
  padding: .1em 0;
  font-family: var(--font-comp);
}
.b-photo-main p{
  font-size: 1.1em;
  padding: .3em 0;
  /* color: var(--c-black3); */
}
.b-photo-clip{
  width: 100%;
  aspect-ratio: 3/2;
}
.b-photo-clip img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
/* SLICK */
.branch-photo-list{
  margin: 2em 0;
}
.branch-photo-list{
  opacity:  0;
  transition: opacity .5s;
}
.branch-photo-list.slick-slider.slick-initialized {
  opacity:  1;
}
.branch-photo-list li button::before {
  display: none;
}
.branch-photo-list .slick-dots li {
  margin: 0 4px;
  width: auto;
}
.branch-photo-list .slick-dots li button {
  padding: 0;
  width: auto;
  color: var(--c-gray-txt);
  font-family: 'Roboto', sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
}
.branch-photo-list .slick-dots li.slick-active button {
  color: var(--c-blue);
}
.branch-photo-list .slick-dots {
  bottom: -3em;
}
.branch-photo-list .slick-dots .bp-btn {
  width: 1.5em;
  height: 1.5em;
  vertical-align: top;
  background-size: auto 100%;
  background-position: center;
  filter: brightness(0.8);
}
.branch-photo-list .slick-dots{
  display: flex;
  justify-content: center;
  align-items: center;
}

.branch-photo-list .slick-dots .bp-prev-btn {
  margin-right: 1em;
  background-image: url(/imgs/top_about_slick_arrow_left.svg);
  filter: brightness(200%) ;
}
.branch-photo-list .slick-dots .bp-next-btn {
  margin-left: 1em;
  background-image: url(/imgs/top_about_slick_arrow_right.svg);
  filter: brightness(200%) ;
}

/* ACCESS  */
.access_map_block,.access_add_block{
  padding: 1em var(--inn-w);
}
.access-imap{
  border:1px solid var(--c-grey);
  margin-bottom: 2em;
  background-color: #fff;
}
.access-gmap{ 
  position: relative;
  width:100%; 
  border:1px solid var(--c-grey);
}
.access-gmap::before{
  content: "";
  display: block;
  width:100%; 
  padding-top: 75%;
}
.access-gmap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.add_detail_block{
  padding: 1em 0;
}
.add_detail_ttl{
  font-weight: 500;
}
.add_detail_com{
  display: inline-block;
  padding-right: .4em;
}
.ad_dial{
  font-size: 1.8rem;
  font-weight: 500;
}
.ad_dial a{
  font-size: 3rem;
}
.ad_data ,.ad-bus,.ad-train{
  padding: 0.6em 0;
  letter-spacing: 0.03em;
  font-size: 1.15rem;
  line-height: 1.5;
}
.ad_data dt,.add_sns_ttl{
  font-size: 1.1rem;
  line-height: 1.9;
}
.ad_data dd{
  font-weight: 500;
}

.ad_bus,.ad-bus,.ad_train,.ad-train{
  position: relative;
  padding-left:4rem;
}
.ad-bus::before,.ad-train::before,
.ad_bus::before,.ad_train::before{
  content: "";
  position: absolute;
  left: 0;
  top: .5rem;
  width: 2.5rem;
  height: 4em;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: var(--filter-w);
}
.ad_bus::before,.ad-bus::before{
  background-image: url(/imgs/icon_bus.svg);
}
.ad_train::before,.ad-train::before{
  background-image: url(/imgs/icon_train.svg);
}
.add_sns_block , .access_sns_block{
  display: flex;
  gap: 2em;
  padding: 1em 0;
}
.add_sns_box a , .access_sns_block a{
  display: block;
  width: 4rem;
  filter: var(--filter-w);
}
.access_sns_block svg {
  max-width: 100%;
  height: 4em;
}

.ad-pickup{
  font-size: 1.25rem;
  font-weight: bold;
  padding: .4rem 0;
}
.ad-route{
  padding: 0.4rem 0;
}
.ad-route .text {
  font-size: 1.05em;
  font-weight: 500;
  padding: .2em 0;
}
.ad-route ol li {
  position: relative;
  padding: 0.1em 0 0.1em 1.4em;
}
.ad-route ol li::before {
  position: absolute;
  content: "→";
  left: 0;
  top: 0;
  color: var(--c-black3);
}

/* other brand link ================== */
.add_detail_block {
  padding: 1em 0;
}
.other_link_block{
  display: flex;
  gap: 4%;
  padding: .5em 0 1em;
}
.other_link_box{
  width: 18%;
  max-width: 8.5rem;
}
.other_link_img_box{
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
[data-brand="2"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) ) ); }
[data-brand="3"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 2 ) ); }
[data-brand="4"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 3 ) ); }
[data-brand="5"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 4 ) ); }
[data-brand="9"] .other_link_img_box img{ transform: translateY( calc( ( -100% / 6) * 5 ) );}

@media (min-width: 769px){
  .branch-lede-copy{
    font-size: 2.4em;
  }
  .studio_page_head {
    font-size: 1.1em;
  }
  .branch-text-img {
    max-width: 600px;
  }
  .b-photo-clip {
    padding: 0 1px;
  }
  .b-photo-main {
    padding: 1em 2em 1em 1em;
  }
  .b-photo-main p{
    font-size: 1em;
  }
  .access_block{
    display: flex;
    justify-content: space-between;
    padding: 1em var(--inn-w);
    max-width: calc(1400px + (5em * 2));
    margin: auto;
  }
  .access_map_block,.access_add_block{
    padding: 0;
  }
  .access_map_block{
    width: 52%;
  }
  .access_add_block{
    width: 40%;
  }
  .access-imap{
    margin-bottom: 3em;
  }
}/* 769 */

@media screen and (min-width: 769px){
  .mv_st_nakameguro .mv_title .en,
  .mv_st_ochanomizu .mv_title .en {
    font-size: 3.8em;
    transform: scaleX(1);
  }
  .access-map {
      float: left;
      width: 47%;
  }
  .access-info {
    float: right;
    width: 47%;
  }
  .insta-sc {
    margin: 2em 0 3em;
  }
  /* .branch-lede .text {
    font-size: 1.5rem;
  } */
  .branch-lede .text p{
    line-height: 1.7;
  }

  .access_sns_block .sec-ttl {
    margin-bottom: 1rem;
    text-align: left;
  }
  .access_sns_block .sec-ttl .ja {
    display: inline;
  }
  .access_sns_block{
    justify-content: flex-start;
  }
  
}/*  */

@media screen and (min-width: 960px){
  .b-photo-main .text {
    font-size: clamp(13px,1.3rem,15px);
  }
}/*  */


/* 校舎ページ LOCATED BRAND
========================================= */
.located_reco_block{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  /* border-top: .5px solid var(--c-grey);
  border-bottom: .5px solid var(--c-grey); */

  width: 100%;
  margin: 1em 0;
}
.located_reco_box{
  position: relative;
  width: 33.33333%;
  border: 1px solid #fff;
  border-left: none;
  overflow: hidden;
}

@media (max-width: 859px) {
  .located_reco_box:nth-child(3n) {
    border-right: none;
  }
  .located_reco_box:nth-child(n+4) {
    border-top: none;
  }
}
.located_reco_block .reco_detail_box{
  visibility: none;
  opacity: 0;
  transform: translateY(-101%);
}
.located_reco_box.on .reco_detail_box{
  position: absolute;
  z-index: 1;
  font-size: 0.68rem;
  width: 100%;
  height: 100%;
  background-color: var(--c-black2);
  color: var(--c-white);
  overflow-y: scroll;
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
  transition: transform .4s , opacity .4s;

  display: flex;
  justify-content: center;
  align-items: center;
}
/* .located_reco_box:hover .reco_detail_box{
  transform: translateY(0);
  opacity: 1;
} */
.located_reco_block .reco_txt{
  position: absolute;
  display: block;
  top: 0;
  /* bottom: 0;
  margin: auto; */
  height: fit-content;
  padding: 1em .6em 1em;
}

.located_reco_block .reco_img_box{
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
}
/* .located_reco_box:hover .reco_img_box{
  transform: translateY(-100%);
  opacity: 0;
} */
.located_reco_block .reco_logo_img{
  position: absolute;
  pointer-events: none;
  filter: var(--filter-w);
}
.located_reco_block .reco_logo_img.nda{top: 0;}
.located_reco_block .reco_logo_img.ndak{top: -100%;}
.located_reco_block .reco_logo_img.nds{top: -200%;}
.located_reco_block .reco_logo_img.nyoga{top: -300%;}
.located_reco_block .reco_logo_img.npila{top: -1800%;}
.located_reco_block .reco_logo_img.nbox{top: -400%;}
.located_reco_block .reco_logo_img.nbal{top: -500%;}
.located_reco_block .reco_logo_img.nbalk{top: -600%;}
.located_reco_block .reco_logo_img.non{top: -700%;}
.located_reco_block .reco_logo_img.nmusic{top: -800%;}
.located_reco_block .reco_logo_img.tdl{top: -900%;}
.located_reco_block .reco_logo_img.sst{top: -1300%;}
.located_reco_block .reco_logo_img.pst{top: -1400%;}
.located_reco_block .reco_logo_img.stn{top: -1500%;}
.located_reco_block .reco_logo_img.voat{top: -1000%;}
.located_reco_block .reco_logo_img.voice{top: -1100%;}
.located_reco_block .reco_logo_img.voatk{top: -1200%;}
.located_reco_block .reco_img_box{
  transition: transform .4s , opacity .4s;
}

.located_reco_block .reco_detail_btn{
  position: absolute;
  bottom: 8%;
  left: 0;
  right: 0;
  margin: auto;
  width: fit-content;
  width: 50%;
  padding: .3em 1.8em;
  margin: 0 auto;
  opacity: .2;
  z-index: 10;
}

@media (min-width: 769px) {
  .located_block {
    padding-top: 1em;
    max-width: 1400px;
    margin: 0 auto;
  }
  .located_block .sec_ttl{
    text-align: center;
    margin: auto;
  }
  .located_reco_block{
    width: 100%;
    justify-content: center;
  }
  .located_reco_box{
    width: calc(100% / 7);
    border: 1px solid ;
  }
  .located_reco_box:not(:first-child){
    border-left: none;
  }
  .sec_top_contents .foot_desc{
    padding-right: 0;
  }
  .located_reco_block .reco_detail_btn{
    width: 42%;
  }
  .located_reco_block .reco_txt{
    bottom: 0;
    margin: auto;
  }
  .located_reco_box.on .reco_detail_box{
    overflow-y:inherit;
  }
}/* 769 */

@media (min-width: 1200px) {
  .reco_detail_box{
    font-size: .7em;
  }
}/* 1200 */


/* ==============================================  
 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-ttl.red{
  color: var(--c-yellow);
}
.sch-common-sub {
  font-size: 1.35rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: 1.5em;
  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;
  position: relative;
  z-index: 10;
} 
.sch-common-p.red {
  color: #d82e66;
}

.sch_studio_block{
  margin: 3em 0;
}
.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 ;
}

.sch_btn_block{
  padding: 3em 0 0;
}

.sec_brands.sec_bloc{
  padding-bottom: 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;
}


/* 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;
  background-color: var(--c-gray-bg);
  color: var(--c-black);
}
.sch_insta_link:hover{
  /* color: #da5e7f; */
  background-color: var(--c-yellow);
}

.sch_insta_link svg{
  position: absolute;
  left: .7em;
  width: 2em;
  height: 2em;
  display: inline-block;
  /* filter: var(--filter-w); */
  /* 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;
  }
  .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%;
  }

}/* 769px */




/* 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;
  color: var(--c-black);
  background-color: #fff;
}
.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;
  }  
}
