@charset "UTF-8";

/* ====================================================
FACILITY /facility/
==================================================== */

.facility_sec_img{
  width: 100%;
  aspect-ratio: 4/3;
  margin: 1.2em 0;
}
.facility_sec_img img{
  width: 100%;
  height: 100%;
  object-fit:cover
}

.fa_sec_ttl {
  font-size: 1em;
  padding: 2.5em 0;
  letter-spacing: .05em;
}
.fa_sec_ttl .en {
  display: block;
  font-size: 4.2em;
  font-weight: 600;
  line-height: 1;
}
.fa_sec_ttl .ja {
  display: block;
  font-size: 1.4em;
  font-weight: 500;
  margin-top: 0.2em;
  opacity: .8;
}

.fa_studio_list{
  padding: 2em 0;
}
.fa_studio_list_box{
  padding: 2em 0;
}
.fa_studio_detail_wrap{
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  align-items: flex-end;
  padding: 0 0 2em;
}
.fa_studio_list_ttl {
  width: 100%;
  font-size: 1rem;
  padding: .3em 0;
  letter-spacing: .05em;
}
.fa_studio_list_ttl .en {
  display: inline-block;
  font-size: 3.2em;
  font-weight: 500;
  line-height: 1;
  margin-right: 0.2em;
}
.fa_studio_list_ttl .ja {
  display: inline-block;
  font-size: 1.3em;
  font-weight: 500;
  margin-top: 0.2em;
  color: var(--c-grey-d);
}
.fa_studio_list_txt {
  font-size: 1.1em;
  line-height: 1.8;
  /* font-weight: 400; */
  padding: 1em 0;
}
.fa_studio_list_link{
  position: relative;
  /* margin-top: .3em; */
  margin-left: auto;
  color: var(--c-gold);
}
.fa_studio_list_link::after {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  right: 0.2em;
  top: 0;
  bottom: 0;
  margin: auto;
  border-top: 1.5px solid;
  border-right: 1.5px solid;
  border-color: currentColor;
  transform: rotateZ(45deg);
}
.fa_studio_list_link .txt{
  display: block;
  width: fit-content;
  min-width: 8em;
  font-size: 1em;
  font-weight: 500;
  padding: .7em 0 .5em;
  padding-right: 1em;
}

.fa_studio_list_link .txt::before ,
.fa_studio_list_link .txt::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--c-grey-l);
  transition: width .2s;
}
.fa_studio_list_link .txt::after{
  width: 0;
  background-color: var(--c-gold);
}
.fa_studio_list_link:hover .txt::after{
  width: 100%;
}

.fa_studio_price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-right: 1em;
}
.fa_studio_gist{
  font-size: .9em;
  padding: .2em 0;
  margin-right: .5em;
  color: var(--c-grey-d);
  min-width: 6em;
}
.fa_studio_price .num {
  font-size: 2em;
  letter-spacing: .01em;
}
.fa_studio_price .num.ja {
  font-family: var(--font-ja);
  font-size: 2em;
  font-weight: 500;
}
.fa_studio_price.meeting {
  width: fit-content;
  padding: 1em 0;
}
.fa_studio_desc {
  font-size: 1.1em;
  padding: .6em 0;
  width: 100%;
}
.fa_studio_desc p {
  padding: .2em 0;
}
.fa_studio_img_wrap {
  width: calc(100% + 4em);
  margin-left: -2em;
  margin-bottom: 2em;
}
.fa_studio_img_wrap figure{
  aspect-ratio: 1.414 / 1;
}
.fa_conf_img_wrap {
  width: calc(100% + 4em);
  margin-left: -2em;
}
.fa_conf_img_wrap figure{
  aspect-ratio: 1.628 / 1;
}
.fa_conf_img_wrap img,
.fa_studio_img_wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec_facility_meeting .fa_studio_list,
.sec_facility_kitchen .fa_studio_list{
  justify-content: center;
}
.sec_facility_meeting,
.sec_facility_kitchen{
  background-color: #fff;
}

@media (min-width: 769px) {
  .facility_sec_img{
    width: 100%;
    height: 28em;
  }
  .fa_studio_list{
    /* display: flex;
    justify-content: space-between;
    flex-wrap: wrap; */
    padding: 2em 0 0;
  }
  .fa_studio_list_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.5em 0;
    margin-bottom: 1em;
  }
  .fa_studio_img_wrap{
    width: 52%;
    margin-left: 0;
  }
  .fa_studio_detail_wrap{
    display: block;
    width: 42%;
  }
  .fa_conf_img_wrap {
    width: 100%;
    margin-left: 0;
    margin-bottom: 1em;
  }
  .fa_conf_img_wrap figure{
    aspect-ratio: 2.3 / 1;
  }
  .fa_studio_img_wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .fa_studio_price {
    justify-content: flex-start;
  }
  .fa_studio_price.meeting {
    margin: auto;
  }
  .fa_studio_gist{
    min-width: inherit;
    min-width: 6em;
  }
  /* .fa_studio_price + .fa_studio_price + .fa_studio_list_link{
    margin-top: .3em;
  } */
  .fa_studio_list_link {
    margin-top: 1em;
  }
  .fa_studio_list_link .txt {
    padding: 1em 0;
  }
}/*  */


/* LOUNGE */
.lounge_ttl_box{
  margin-bottom: 2em;
}
.lounge_img_box{
  width: calc(100% + 4em);
  margin-left: -2em;
}
.lounge_img_01{
  display: block;
  width: calc(100% - 2em);
  margin-left: auto;
}
.lounge_img_02{
  display: block;
  width: 10em;
  margin-top: -2em;
}
.lounge_img_03{
  display: block;
  width: 16em;
  margin-top: -2em;
  margin-left: auto;
  margin-bottom: 3em;
}

@media (min-width: 769px) {
  .lounge_inner_wrap{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 2em 0;
  }
  .lounge_ttl_box{
    width: 35%;
  }
  .lounge_ttl_box .fa_sec_ttl{
    padding-top: 0;;
  }
  .lounge_img_box {
    width: 64%;
    margin-left: -5em;
  }
  .lounge_img_01 {
    display: block;
    width: 100%;
    margin-left: 0;
  }
  .lounge_img_02 {
    width: 14em;
    margin-top: -1.5em;
    margin-right: -4em;
    margin-left: auto;
  }
  .lounge_img_03 {
    width: 22em;
    margin-top: -20em;
    margin-right: -2em;
    margin-left: auto;
    margin-bottom: 7em;
  }
}/*  */

/* SLICK */
.slide-room .slick-dots{
  right: 1.5em;
  width: fit-content;
  top: 100%;
  bottom: 0;
  z-index: 10;
}
.slide-room .slick-dots li{
  width: 1.5em;
  height: 3em;
  margin: 0;
}
.slide-room .slick-dots li button {
  position: relative;
  width: 100%;
  height: 100%;
}
.slide-room .slick-dots li button:before{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  content: '';
  display: block;
  width: 1em;
  height: 1em;
  background-color: var(--c-gold);
  border-radius: 50%;
  opacity: .5;
}
.slide-room .slick-dots li.slick-active button:before {
  opacity: 1;
}

@media (min-width: 769px) {
  .slide-room .slick-dots{
    right: initial;
  }
  .slide-room.slick-dotted.slick-slider{
    margin-bottom: 0;
  }
  .sec_facility_meeting .slide-room .slick-dots {
    right: 0;
  }
  .sec_facility_meeting .fa_studio_detail_wrap {
    width: 100%;
  }
}/*  */


/* ====================================================
ROOM /room/
==================================================== */
.room_list{
  padding: 3em 0 2em;
}
.room_list_box{
  display: flex;
  flex-direction: column-reverse;
  padding: 2em 0;
}
/* .room_list_detail_wrap{
  padding: 1em 0 0;
} */
.room_list_img_wrap{
  width: calc(100% + 4em);
  margin: 0 0 1.2em;
  margin-left: -2em;
}
.room_list_img_wrap figure{
  aspect-ratio: 3/2;
}
.room_list_img_wrap figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.room_list_img_wrap .slick-dotted.slick-slider {
  margin-bottom: 1em;
}
.room_list_ttl {
  font-size: 1em;
  font-weight: 500;
  padding: 1em 0;
}
.room_list_ttl .en{
  display: block;
  font-size: 3.8em;
  line-height: 1;
}
.room_list_ttl .ja{
  display: inline-block;
  font-size: 1.3em;
  margin-top: 0.4em;

}
.room_list_txt{
  font-size: 1.1em;
  color: var(--c-grey-d);
  /* padding: 0 0 .3em; */
}
.room_list_box .top_plan_price {
  justify-content: flex-end;
}
.room_list_box .top_plan_price::after {
  content: none;
}
.room_list_box .fa_studio_price{
  justify-content: flex-start;
}

.room_ja_ttl{
  font-size: 2em;
  font-weight: 500;
  letter-spacing: .05em;
  padding: .4em 0;
  /* margin: 0 0 .5em; */
}

/* ROOM DETAIL ============= */
.room_detail_list_block{
  padding:  0 0 2em;
  margin-top: 1em;
}
.room_detail_list{
  display: flex;
  flex-direction: column;
  gap: .8em;
  font-size: 1.1em;
  padding: 1.5em 0;
  border-bottom: 1px solid var(--c-grey-l);
}
.room_detail_list:first-child{
  border-top: 1px solid var(--c-grey-l);
}
.room_detail_list dt{
  color: var(--c-grey-d);
}
.room_detail_list dd{
  letter-spacing: .02em;
  line-height: 1.7;
}

@media (min-width: 769px) {
  .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: .9em;
  }
  .room_detail_list dt{
    width: 18%;
    min-width: 9em;
  }
  .room_detail_list dd{
    width: 80%;
  }

  .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;
  }
  .room_detail_list_block{
    padding-bottom: 0;
  }
}/*  */



/* ====================================================
FOOD /food/
==================================================== */
.food_list{
  padding: 2em 0;
}
.food_list_box{
  display: flex;
  flex-direction: column-reverse;
  padding: 2.5em 0;
}
.food_list_ttl{
  font-size: 1rem;
  padding: .8em 0 .6em;
  letter-spacing: .05em;
}
.food_list_ttl .en {
  display: inline-block;
  font-size: 3.2em;
  font-weight: 600;
  line-height: 1;
  margin-right: 0.2em;
}
.food_list_ttl .ja {
  display: inline-block;
  font-size: 1.2em;
  font-weight: 500;
  margin-top: 0.2em;
  color: var(--c-grey-d);
}
.food_list_yen{
  display: inline-block;
  font-size: 1.3em;
  letter-spacing: 0.02em;
  padding: 0 0 .6em;
  margin-left: auto;
  color: var(--c-grey-d);
}
.food_list_yen .small2{
  margin-right: 0.15em;
}
.food_list_desc{
  font-size: 1.2em;
  line-height: 1.9;
  padding: .5em 0;
}

.food_img_wrap{
  padding: .5em 0;
}
.food_img_wrap figure{
  aspect-ratio: 4/3;
}
.food_img_wrap figure img{
  height: 100%;
  object-fit: cover;
}
.food_list .food_img_wrap{
  max-width: 30em;
}

.food_rental_pc_flex,
.food_dining_pc_flex{
  padding-top: 3em;
  padding-bottom: 3em;
}


@media (min-width:769px){
  .food_list {
    width: fit-content;
    padding: 3em 0 0;
    margin: auto;
  }
  .food_list_box{
    align-items: center;
    flex-direction: row;
    gap: 4em;
    width: fit-content;
    padding: 2em 0;
  }
  .food_list_ttl {
    font-size: 1.2rem;
  }
  .food_list_desc {
    font-size: 1.3em;
  }

  
}/*  */


/* RENTAL
================================ */
.food_detail_wrap{
  padding-bottom: 1em;
}
.sec_food_rental{
  background-color: #fff;
}

@media (min-width:769px){
  .food_rental_pc_flex,
  .food_dining_pc_flex{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5em;

    padding-top: 5em;
    padding-bottom: 5em;
  }
  .food_dining_pc_flex{
    flex-direction: row-reverse;
    gap: 3em;
  }
  .food_dining_pc_flex .fa_conf_img_wrap{
    width: 55%;
    aspect-ratio: initial;
  }
  /* .food_rental_pc_flex .food_detail_wrap {
    width: 30%;
  } */
  .food_rental_pc_flex .food_img_wrap{
    width: 45%;
  }
  
}/*  */


/* RESTAURANTS
================================ */
.sec_hakone_info{
  background-color: #fff;
}
.contents_cat_box {
  padding: 1em 0;
}
.contents_cat_ttl {
  font-size: 1.9em;
  font-weight: 500;
  color: var(--c-gold);
}
.sightseeing .contents_cat_ttl {
  color: var(--c-gold);
}
.onsen .contents_cat_ttl {
  color: var(--color-blue2);
}

.restaurants_map_box{
  /* max-width: 48em; */
  margin: 2.5em auto;
}
.food_detail_wrap{
  padding-bottom: 1em;
}
.sec_food_rental{
  background-color: #fff;
}
.food_neighbor_list{
  padding: 1em 0;
}
.food_neighbor_list_box{
  position: relative;
  padding: .8em 0 .8em 2em;
  margin-bottom: 1em;
}
.food_neighbor_list_box::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--c-grey-l);
}
.food_neighbor_list_num{
  position: absolute;
  top: .45em;
  left: 0;
  font-size: 1.7em;
  color: var(--c-gold);
}
.onsen .food_neighbor_list_num{
  color: var(--color-blue2);
}
.food_neighbor_list_ttl{
  font-size: 1.4em;
  line-height: 1.3;
}
.food_neighbor_list_genre{
  font-size: 1.1em;
  padding: .3em 0 ;
}
.food_neighbor_list_desc{
  display: inline-block;
  padding: .2em 0;
  color: #5b6165;
}
.food_neighbor_list_desc:not(:last-child){
  padding-right: 1em;
}
.food_neighbor_list_ttl + .food_neighbor_list_desc{
  padding-top: .5em;
}
@media (min-width:769px){
  .restaurants_map_box{
    aspect-ratio: 2/1;
  }
  .food_neighbor_list{
    display: flex;
    gap: 3.5%;
    flex-wrap: wrap;
  }
  .food_neighbor_list_box{
    width: 31%;
  }
  .food_neighbor_list_desc{
    font-size: .95em;
  }
  
}/*  */
