@charset "UTF-8";
/*common*/
.pc-only { display: block !important; }
.sp-only { display: none !important; }

section, main { position: relative; display: block; }
html, body { width: 100%; overflow-x: hidden; }
img { max-width: 100%; }

@media screen and (max-width: 767px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; }
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
/*.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }*/
/*loading*/

body #loading { background: #fff; display: block; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 100010; pointer-events: none; -webkit-transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }

body #loading.is-animation { opacity: 0; }

/*loop*/
@keyframes loop {
    0% { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}
@keyframes loop2 {
    0% { transform: translateX(0); }
  to { transform: translateX(-200%); }
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }

.isActive:not(.top_about_ph):not(.hd_anime) { -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-animation-duration: 1.8s; animation-duration: 1.8s; -webkit-animation-name: fadeUp; animation-name: fadeUp; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

@-webkit-keyframes fadeUp {
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; trfooter_logo_setansform: none; } 
}
@keyframes fadeUp { 
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; transform: none; } 
}

/*top*/
.fix_inquiry { position: absolute; right: 9.56%; top: 9.0rem; z-index: 2; font-size: 3.0rem; line-height: 1; color: #fff; }
.fv { position: relative; padding: 0; box-sizing: border-box; text-align: center; }
.fv_mainimg { display: flex; width: 100%; object-fit: cover; }
.fv_mainimg > div { width: 50%; height: 100vh; position: relative; }
.fv_mainimg > div img { width: 100%; height: 100%; position: absolute; left: 0; object-fit: cover; }
.fv_copy { width: 100%; position: absolute; top: 50%; left: 50%; z-index: 2; transform: translate(-50%,-50%); font-size: 10.0rem; color: #fff; line-height: 1; }
.fv_logo { width: 50.0rem; position: absolute; left: 7.56%; top: 8.4rem; }
.fv_info { width: 100%; position: absolute; bottom: 13.0rem; text-align: center; }
.fv_date { font-size: 7.0rem; color: #fff; line-height: 1; }
.fv_place { font-size: 3.0rem; color: #fff; line-height: 1; margin-top: 1.0rem; }

.sct_philosophy { background: #F1F1EB; padding: 24.0rem 0 21.0rem; }
.sct_philosophy > .inner { width: 87.50%; margin: 0 auto; display: flex; justify-content: space-between; }
.sct_philosophy_txt { width: 36.21%; position: relative; z-index: 2; }
.sct_philosophy_ph { width: 57.14%; }
.sct_philosophy_txt .hd_en { font-size: 10.0rem; line-height: 1; }
.sct_philosophy_txt .hd_ja { font-size: 2.0rem; line-height: 1; margin: 1.0rem 0 6.5rem; }

footer { background: #365555; padding: 9.0rem 0 4.0rem; }
footer * { color: #F1F1EB; }
footer > .inner { width: 88.25%; margin: 0 auto; }
.footer_inq .en { font-size: 10.0rem; line-height: 1; }
.footer_inq .ja { font-size: 2.0rem; line-height: 1; margin-top: 1.0rem; }
.footer_set { margin-top: 7.0rem; display: flex; justify-content: space-between; }
.footer_set .logo { width: 20.0rem; }
.footer_set .name { font-size: 1.5rem; margin-top: 1.0rem; }
.footer_set .info { font-size: 1.5rem; margin-top: 2em; }
.footer_email { font-size: 10.0rem; line-height: 1; }
.footer_email .arrow { width: 5.8rem; margin-top: 9.0rem; line-height: 0;}
.footer_ig  { font-size: 10.0rem; line-height: 1; }
.copyrights  { font-size: 2.0rem; line-height: 1; text-align: right; }

@media screen and (max-width: 900px) { 
    .fix_inquiry { display: none; }
.fv { position: relative; padding: 0; box-sizing: border-box; text-align: center; }
.fv_mainimg { display: flex; width: 100%; object-fit: cover; }
.fv_mainimg > div { width: 50%; height: 100vh; position: relative; }
.fv_mainimg > div img { width: 100%; height: 100%; position: absolute; left: 0; object-fit: cover; }
    .fv_copy { width: 100%; position: absolute; top: 50%; left: 50%; z-index: 2; transform: translate(-50%,-50%); font-size: 8.0rem; color: #fff; line-height: 1.2; }
    .fv_logo { width: 35.0rem; position: absolute; left: 50%; top: 5.0rem; transform: translateX(-50%); }
    .fv_info { width: 100%; position: absolute; bottom: 10.0rem; text-align: center; }
.fv_date { font-size: 7.0rem; color: #fff; line-height: 1; }
.fv_place { font-size: 3.0rem; color: #fff; line-height: 1; }

.sct_philosophy { background: #F1F1EB; padding: 8.5rem 0 11.0rem; }
    .sct_philosophy > .inner { width: 78.12%; margin: 0 auto; display: block;  }
    .sct_philosophy_txt { width: auto; position: relative; z-index: 2; }
    .sct_philosophy_ph { width: auto; margin-top: 8.0rem; }
    .sct_philosophy_txt .hd_en { font-size: 8.0rem; line-height: 1; }
.sct_philosophy_txt .hd_ja { font-size: 2.0rem; line-height: 1; margin: 1.0rem 0 6.5rem; }

footer { background: #365555; padding: 9.0rem 0 4.0rem; }
    footer > .inner { width: 78.12%; margin: 0 auto; }
    .footer_inq .en { font-size: 8.0rem; line-height: 1; }
.footer_inq .ja { font-size: 2.0rem; line-height: 1; margin-top: 1.0rem; }
    .footer_set { margin-top: 8.0rem; display: block; }
.footer_set .logo { width: 20.0rem; }
.footer_set .name { font-size: 1.5rem; margin-top: 1.0rem; }
.footer_set .info { font-size: 1.5rem; margin-top: 2em; }
    .footer_email { font-size: 8.0rem; line-height: 1; margin-top: 8.0rem; }
.footer_email .arrow { width: 5.8rem; margin-top: 9.0rem; line-height: 0;}
    .footer_ig  { font-size: 8.0rem; line-height: 1; margin-top: 7.0rem; }
    .copyrights  { font-size: 2.0rem; line-height: 1; text-align: left; margin-top: 5.0rem; }
}


/*link*/
a.link_txt { text-decoration: underline; text-decoration-thickness: 0.4rem; }

@media (hover: hover) and (pointer: fine) {
    a.link_txt:hover { text-decoration: none; }
    
    .news_archive_item .ph > div img { -webkit-transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .news_archive_item:hover .ph > div img { -webkit-transform: scale(1.05); transform: scale(1.05); }
    
    .ancher_link a,
    .reservation_link a,
    .sns_link a,
    .sct_reservation_item a,
    .sct_facility_link a,
    .footer_reservation_item a{ -webkit-transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
    .ancher_link a:hover,
    .reservation_link a:hover,
    .sns_link a:hover,
    .sct_reservation_item a:hover,
    .footer_reservation_item a:hover { opacity: 0.5; }
    .sct_facility_link a:hover { opacity: 0.7; }

    
}

