@charset "utf-8";
@media screen and (max-width: 768px) {
html {
  font-size: 50%;
}

body {
  min-width: auto;
}

.ly_cont {
  width: 80%;
  padding: 0;
  min-width: auto;
}

.sp_ta_l {text-align: left;}
.sp_ta_c {text-align: center;}
.sp_ta_r {text-align: right;}

/******************************
 header
*******************************/
/* .ly_header {
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  min-width: auto;
} */

.ly_header {
  min-width: auto;
  height: 70px;
}

.ly_header_inr {
  padding: 0 5%;
}

.ly_header_logo {
  width: auto;
}

.ly_header_logo img {
  width: 180px;
}

.el_menubtn {
  right: 0;
  width: 70px;
  height: 70px;
}

.el_menubtn span {
  width: 30px;
}

.el_menubtn .top {
  -webkit-transform: translateY(-6px);
      transform: translateY(-6px);
}

.el_menubtn .bottom {
  -webkit-transform: translateY(6px);
      transform: translateY(6px);
}

.el_menubtn:hover span {
  background: #FCEFE6 !important;
}

.ly_nav {
  background-color:#fff;
  height: 100vh;
  z-index: 1000;
  padding-right: 0;
}

.ly_nav .bl_nav_list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.ly_nav .bl_nav_list01 li {
  width: 100%;
}

.ly_nav .bl_nav_list01 li a {
  font-size: 3rem;
  padding: 15px 0;
}


.ly_header .bl_language {
  margin-right: 50px;
  padding: 5px;
}

.ly_header .el_language {
  letter-spacing: 0;
}

.ly_header .el_language i {
  padding: 5px 0 0 3px;
}

.ly_header .bl_language_list a {
  padding: 3px 5px;
}




.ly_nav .bl_language_list {
  margin-top: 30px;
}
/******************************
 reservation
*******************************/
.bl_reservation {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: calc(100% - 40px);
  height: 70px;
}

.bl_reservation a {
  background-color: #0c4239;
  background-color: #F08AA0;
  border-radius: 10px;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  letter-spacing: 0.1em;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 30px;
          box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 30px;
}

.bl_reservation a:before,
.bl_reservation a:after {
  width: 0;
  height: 0;
  border: none;
}


.bl_reservation a span {
  z-index: 10;

  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FCEFE6" d="M268.234,24.08c-22.883-21.777-59.085-20.883-80.861,2c-21.787,22.904-20.894,59.116,2.01,80.883l96.511,91.84 H57.202C25.606,198.803,0,224.399,0,256.006c0,31.596,25.606,57.192,57.202,57.192h228.691l-96.511,91.85 c-22.904,21.756-23.797,57.979-2.01,80.862c21.776,22.883,57.978,23.798,80.861,2.011L512,256.006L268.234,24.08z" /></svg>');
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 8px auto;
  padding-right: 20px;
}

.bl_reservation a:hover span {
  color: #fff;
}







.bl_reservation.is-animated {
  -webkit-animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
          animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

@-webkit-keyframes fadeup {
  0% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
 
@keyframes fadeup {
  0% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}




/******************************
 kv
*******************************/
.bl_kv {
  min-height: 100vh;
  padding: 70px 0 80px;
}

.bl_kv_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/bg_pattern_sp.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}



.bl_kv_inner {
  margin-top: -20px;
  height: calc(100vh - 190px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.bl_kv_video {
  height: 60%;
  margin: 0 15px;
}

.bl_kv_txtarea {
  position: relative;
  top: initial;
  bottom: initial;
  right: initial;
  display: block;
  height: auto;
  margin-top: -25px;
  margin-right: -10px;
}

.bl_kv_ttl {
  font-size: 7vw;
  margin-bottom: 0;
  line-height: 1;
}

.bl_kv_ttl span {
  font-size: 16vw;
  letter-spacing: 0.05em;
}

.btn {
  padding: 0 30px;
  cursor: pointer;
}


/******************************
 container
*******************************/
.bl_sec {
  padding: 80px 0;
}

.el_lv2Heading {
  font-size: 3rem;
  margin-bottom: 4rem;
}

.bl + .bl {
  margin-top: 60px;
}


.bl_sec_pagehead .ly_cont {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.bl_sec_pagehead .ly_cont > div {
  width: 100% !important;
}

.bl_pagehead_ttlarea {
  padding-right: 0;
}

.bl_pagehead_imgarea {
  margin-bottom: 80px;
}

.bl_pagehead_imgarea img {
  height: 250px;
}


.el_pagettl {
  font-size: 4rem;
  display: inline-block;
}

.el_pagettl_wrap {
  position: relative;
  display: inline-block;
}

.el_pagettl_wrap:after {
  width: 100px;
  height: 95px;
  top: -40px;
  right: -60px;
}




.el_link_box {
  margin: 0.5em 0;
}
/******************************
 about
*******************************/
#about {
  padding-bottom: 0;
}

#about .el_txt {
  line-height: 2.5;
  font-size: 1.8rem;
}


/******************************
 gift
*******************************/
.el_line_ttl {
  font-size: 3rem;
}

.el_line_ttl:before,
.el_line_ttl:after {
  width: 1px;
}

#gift .bl_gift_list {
  /* border-radius: 10px; */
  margin: 10px 0 5px;
}

#gift .bl_gift_list li {
  width: 33.3%;
}

#gift .bl_gift_list p {
  bottom: 10px;
  font-size: 7px;
  letter-spacing: 0;
}

/******************************
 room
*******************************/

#room .bl_swiper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}

#room .thumb-wrapper {
  width: 100%;
}

#room .swiper {
  width: 100%;
}

#room .thumb-wrapper .fadeupwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}

#room .thumb-media {
  width: 50%;
  margin-bottom: 1.5rem;
  padding-left: 25px;
}

#room .thumb-media span {
  display: block;
}

#room .thumb-media .en {
  font-size: 2rem;
}

#room .thumb-media .jp {
  font-size: 1.2rem;
  margin-left: 0;
}



#room .slide {
  display: block;
  overflow: hidden;
}

#room .slide-media {
  border-radius: 10px;
  }

#room .swiper-controller, #gallery .swiper-controller, .bl_story_detail .swiper-controller {
  top: initial;
  bottom: 0;
  right: 0;
}

#room .swiper-controller,
#gallery .swiper-controller,
.bl_story_detail .swiper-controller {
  border-radius: 10px 0 10px 0;
}

#room .swiper-button-prev,
#room .swiper-button-next,
#gallery .swiper-button-prev,
#gallery .swiper-button-next,
.bl_story_detail .swiper-button-prev,
.bl_story_detail .swiper-button-next {
  width: 45px;
  height: 45px;
}

#room .swiper-button-prev {
  border-radius: 10px 0 0 0;
}

#room .swiper-button-next {
  border-radius: 0 0 10px 0;
}

#gallery .swiper-button-prev {
  border-radius: 0;
}

#gallery .swiper-button-next {
  border-radius: 0 10px 0 0;
}

#room .swiper-button-prev::after,
#gallery .swiper-button-prev::after,
.bl_story_detail .swiper-button-prev::after {
  border-width: 3px 5px 3px 0;
}
#room .swiper-button-next::after,
#gallery .swiper-button-next::after,
.bl_story_detail .swiper-button-next::after {
  border-width: 3px 0 3px 5px;
}

#room .bl_gallery_list {
  margin: 60px 0 20px;
}

#room .bl_gallery_list li {
  width: calc((100% - 8px) / 2);
}


/******************************
 stay
*******************************/
.bl_amenities_list {
  padding: 40px 0 20px;
}

.bl_amenities_list dt {
  top: 20px;
}

.bl_amenities_list dd {
  line-height: 1.8;
  font-size: 0.95em;
}

#stay .bl_amenities_item {
  width: 100%;
  margin: 5px 0;
  margin-right: 0;
}

#stay .bl_amenities_thumb {
  width: 60px;
  margin-right: 10px;
}

#stay .bl_amenities_txt .el_ttl {
  margin-bottom: 0.2em;
  line-height: 1.2;
}

#stay .bl_amenities_txt .el_txt {
  font-size: 1.2rem;
  line-height: 1.5;
}


/******************************
 gallery
*******************************/
#gallery {
  padding: 0 0 40px;
}

#gallery .swiper-controller {
  border-radius: 0 10px 0 0;
}

#gallery .slide-media {
  height: calc(100vh - 190px);
  max-height: 700px;
}


#gallery .slide-media img {
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

#gallery .content-wrapper {
  position: relative;
}
#gallery .content {
  top: 10px;
  left: 10px;
}
#gallery .content-text {
  font-size: 1.4rem;
  line-height: 1.6;
}
#gallery .fraction {
  padding-top: 10px;
  right: 10px;
}

#gallery .btn {
  margin-top: 60px;
}



/******************************
 news
*******************************/
#news .bl_cardUnit {
  padding-bottom: 30px;
}

.bl_cardUnit {
  margin-bottom: -30px;
}

.bl_cardUnit:after {
display: block;
content:"";
width: 30%;
}

.bl_card {
  width: 100%;
  margin-bottom: 30px;
}

.bl_card a {
  display: block;
  height: 100%;
}

.bl_card_imgarea img {
  height: 220px;
  border-radius: 10px;
}

.bl_card_txtarea {
  padding: 10px 0 0;
}

.bl_card_txt01 {
  margin-bottom: 2px;
}


/******************************
 location
*******************************/
#location {
  background-image: none;
  height: auto;
  padding-top: 80px;
}

#location .bl_txtarea {
  position: relative;
  top: initial;
  right: initial;
  width: auto;
}

#location .el_txt {
  line-height: 2;
  font-size: 1.6rem;
}


/******************************
 booknow
*******************************/
#booknow {
  background-image: url(../images/bg_pattern_sp.png);
  background-size: 100% auto;
  background-position: center 92%;
}

#booknow .el_bookcatch {
  font-size: 7vw;
  font-size: 9.7vw;
  margin-bottom: 30px;
  text-align: left;
}

#booknow .btn {
  width: 100%;
  height: 60px;
  margin-top: 10px;
}

#booknow .bl_sites {
  margin-top: 40px;
  padding: 30px 20px 20px;
}

#booknow .bl_sites .el_txt {
  font-size: 1.6rem;
  margin-bottom: 20px;
}

#booknow .bl_logo_list {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

#booknow .bl_logo_list li {
  width: 38%;
  margin-bottom: 5px;
}


/******************************
 footer
*******************************/
.ly_footer {
  padding: 60px 0 120px;
}

.ly_footer .ly_cont {
  width: 80%;
  margin-bottom: 0;
}

.bl_footer_head {
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
}

.bl_footer_head .el_address {
  margin: 20px 0 20px;
}

.bl_footer_head .bl_sns_list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.bl_footer_navwrap {
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 0;
  margin-bottom: 30px;
}

.bl_footer_nav {
  width: 50%;
  text-align: center;
}

.bl_footer_nav a {
  padding: 10px 0;
}

.ly_footer .el_copyright,
.ly_footer .el_by {
  width: 100%;
  text-align: center;
  margin: 0.5em 0;
}

.ly_footer .bl_footer_subnav {
  padding: 10px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}


/******************************
 news detail
*******************************/
.el_news_ttl {
  line-height: 1.6;
  text-align: left;
}

.bl_news_detail {
  padding-bottom: 80px;
}

.bl_news_detail .ly_cont {
  max-width: 700px;
  margin: 0 auto;
}

.bl_news_detail .bl_news_imgarea {
  border-radius: 10px;
  margin-bottom: 20px;
}

.bl_news_detail .btn-wrap {
  margin-top: 30px;
}


/******************************
 facilities
*******************************/
.bl_facilities_list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.bl_facilities_list:after {
  width: 0;
}

.bl_facilities_list li {
  width: 100%;
  margin-bottom: 10px;
}

.bl_facilities_list li a {
  height: 80px;
  font-size: 2rem;
  border-radius: 10px;
  cursor: pointer;
  padding: 10px 10px 10px 80px;
}

.bl_facilities_list li a .thumb {
  width: 70px;
  height: 70px;
  top: 5px;
  left: 5px;
}

.facilities_modal_img {
  width: 100%;
}

.facilities_modal_img02 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.facilities_modal_img02 img {
  width: 100%;
  margin: 5px 0;
}


.modaal-content-container {
  padding: 30px;
}


.bl_facilities_step_list li {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-bottom: 30px;
}

.bl_facilities_step_list li .el_img {
  width: 100%;
  margin-top: 10px;
}

.bl_facilities_step_list li .el_txt {
  width: 100%;
  padding-left: 30px;
}

.bl_facilities_step_list li .el_txt .el_num {
  width: 25px;
  height: 25px;
}



/******************************
 gallery page
*******************************/
.bl_gallery_list {
  margin-left: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bl_gallery_list li {
  width: calc((100% - 8px) / 2);
  margin-right: 0;
  margin-bottom: 8px;
}

.bl_gallery_list img {
  height: 150px;
}


/******************************
 neighborhood
*******************************/
.bl_neighborhood {
  padding-top: 0;
}

.bl_slideandtxt {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.bl_slideandtxt + .bl_slideandtxt {
  margin-top: 50px;
}

.bl_slideandtxt .bl_slideandtxt_imgarea {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 15px;
}

.bl_slideandtxt .swiper-slide img {
  height: 200px;
}

.bl_slideandtxt .bl_slideandtxt_txtarea {
  width: 100%;
}

.bl_slideandtxt .bl_slideandtxt_txtarea .el_ttl {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 0.2em;
  margin-bottom: 0.5em;
}

.bl_slideandtxt_reverse .bl_slideandtxt_txtarea .el_ttl {
  text-align: left;
}

.el_link_arrup:after {
  content:"\f08e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.6em;
  margin-left: 0.5em;
}





/******************************
 story
*******************************/
.bl_story_profile .bl_profile {
  max-width: 800px;
  margin: 0 auto;
}

.bl_story_profile .bl_profile .el_ttl {
  font-size: 3rem;
  font-family: new-kansas, sans-serif;
  text-align: center;
  margin-bottom: 1em;
}

.bl_story_profile .bl_profile_list li {
  width: 45%;
}

.bl_story_profile .bl_profile_list img {
  width: 80px;
  height: 80px;
}

.bl_story_profile .bl_profile_list .el_name {
  margin: 10px 0 8px;
}

.bl_story_detail {
  padding: 80px 0;
}

.bl_story_detail .el_year {
  font-size: 10rem;
  top: -4rem;
}

.bl_story_detail_a .el_year {
  right: 4%;
}

.bl_story_detail_b .el_year {
  left: 4%;
}

.bl_story_detail .bl_slideandtxt .bl_slideandtxt_imgarea {
  width: 100%;
  border-radius: 0;
}

.bl_story_detail_a .bl_slideandtxt .bl_slideandtxt_imgarea {
  border-radius: 0 10px 10px 0;
  /* padding-right: 10%; */
  margin-right: 20%;
}

.bl_story_detail_b .bl_slideandtxt .bl_slideandtxt_imgarea {
  border-radius: 10px 0 0 10px;
  /* padding-left: 10%; */
  margin-left: 20%;
}

.bl_story_detail .swiper-slide {
  width: 280px;
}

.bl_story_detail .bl_slideandtxt .swiper-slide img,
.bl_story_detail .bl_slideandtxt .swiper-slide video {
  width: 280px;
  height: 280px;
  border-radius: 10px;
}

.bl_story_detail .bl_slideandtxt .bl_slideandtxt_txtarea {
  width: 80%;
  margin: 20px auto 0;
  height: auto;
  position: relative;
  top: initial;
  left: initial;
  right: initial;
  display: block;
}


.bl_story_detail_b .swiper-controller {
  right: initial;
  left: 0;
  border-radius: 0 10px 0 10px;
}



.bl_story_detail .el_year.anim {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 1.6s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1.6s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: -webkit-clip-path;
  -webkit-transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}

.bl_story_detail .el_year.is-animated {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}



/******************************
 repeater
*******************************/
.bl_sec_repeater .sp_ta_l {
  text-align: justify;
}

.bl_repeater_detail {
  padding: 30px 20px;
  border-radius: 20px;
  margin-top: 40px;
}

.bl_repeater_detail h2 {
  font-size: 1.8rem;
  margin-bottom: 2rem;
}

.bl_repeater_detail h2:before,
.bl_repeater_detail h2:after {
  width: 13px;
  height: 17px;
  margin: 0 5px;
}

.bl_repeater_detail .bl_disclist {
  margin: 2rem 0 0;
}


/******************************
 cancel
*******************************/
.bl_cancel {
  padding-top: 0 !important;
}

.page_cancel .bl_sec_pagehead {
  padding: 0;
}

.page_cancel .el_pagettl_wrap:after {
  right: -40px;
}

.bl_dl_list dt {
  font-size: 1.4em;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.bl_dl_list dd {
  line-height: 1.8;
  margin-bottom: 1rem;
}

.bl_dl_list dd + dt {
  margin-top: 4rem;
}





/******************************
 favorite
*******************************/
.bl_favorite {
  padding: 60px 0;
}

.bl_anchorlink_list {
  margin-top: -50px;
  margin-bottom: 50px;
}

.bl_anchorlink_list li {
  width: 48%;
}

.bl_anchorlink_list a {
  min-width: 100%;
  width: 100%;
  height: 45px;
  margin-top: 10px;
}

.bl_anchorlink_list a::after {
  font-size: 10px;
  width: 10px;
  height: 10px;
  right: 5px;
}

.bl_favorite_ttl {
  margin-bottom: 2rem;
  text-align: center;
}

.bl_favorite .bl_map {
  /* padding-top: calc(76.25% + 60px); */
  margin: 0 -8% -30px;
  width: 116%;
  height: 100vw;
  padding-top: 0;
}


.bl_favorite_detail li {
  margin-bottom: 2em;
  width: 100%;
}

.bl_favorite_detail .el_txt {
  line-height: 1.6;
}




}
