@charset "utf-8";
:root {
    --px10: 10px;
    --px15: 15px;
    --px20: 20px;
    --px30: 30px;
    --px35: 35px;
    --px40: 40px;
    --px50: 50px;
    --px60: 60px;
    --px75: 75px;
    --px100: 100px;
    --px125: 125px;

    --f14: 14px;
    --f16: 16px;
    --f18: 18px;
    --f20: 20px;
    --f24: 24px;
    --f28: 28px;
    --f30: 30px;
    --f32: 32px;
    --f36: 36px;
    --f40: 40px;
    --f60: 60px;

    --main: #009fa8;
    --yellow: #fff352;
    --black: #000;
    --lightblue: #f2fafb;
    --lightgreen01: #e8f2e5;
    --lightgreen02: #f3f7f1;
    --lightyellow01: #fafad7;
    --lightyellow02: #fff9a9;
}
*,*::before,*::after {
    box-sizing: border-box;
}
*:hover{
    transition: all .3s;
}
a{
    display: block;
}
a:hover,button:hover{cursor:pointer;}
.tablet,.sp {
    display: none;
}
.pc {
    display: block;
}
body {
    line-height: 2.0;
    font-size: var(--f24);
    font-family: 'Zen Kaku Gothic New', 'メイリオ', Meiryo, YuGothic, 'Yu Gothic', sans-serif;
    font-feature-settings: "palt";
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--black);
}
.flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.j_c_c{justify-content: center;}
.j_c_fs{justify-content: flex-start;}
.j_c_fe{justify-content: flex-end;}
.a_i_c{align-items: center;}
.a_i_fs{align-items: flex-start;}
.a_i_fe{align-items: flex-end;}
.f_d_c{flex-direction: column;}
.f_w_no{flex-wrap: nowrap;}
.center{text-align: center;}
.right{text-align: right;}
.radius{border-radius: var(--px30);}
.min01{font-size: var(--f16);}
.min02{font-size: var(--f18);}
.btn01{
    background-color: var(--yellow);
    color: var(--main);
    font-size: var(--f36);
    font-weight: 500;
    width: 80%;
    max-width: 552px;
    margin: var(--px75) auto 0;
    padding: var(--px20);
    border-radius: var(--px30);
    text-align: center;
}
.btn01:hover{
    background-color: var(--main);
    color: var(--yellow);
}
.btn02{
    background-color: var(--main);
    color: #fff;
    font-size: var(--f20);
    width: 80%;
    max-width: 285px;
    padding: var(--px10);
    text-align: center;
}
.btn02:hover{
    background-color: var(--yellow);
    color: var(--main);
}
.btn03{
    background-color: #ccc;
    font-size: var(--f16);
    width: 80%;
    max-width: 285px;
    padding: var(--px20);
    text-align: center;
}
.btn03:hover{
    cursor: pointer;
    background-color: #727272;
    color: #fff;
}
.line{
    width: 100%;
    margin: var(--px10) 0;
}
h2,h3,h4{
    font-weight: 500;
    color: var(--main);
    line-height: 1.55;
}
h2{
    font-size: var(--f60);
}
#sub_kv h2{
    margin-bottom: var(--px20);
    letter-spacing: 0.1em;
}
h3{
    font-size: var(--f36);
    margin-bottom: var(--px30);
}
.ttl01{
    font-size: var(--f40);
    letter-spacing: -0.04em;
}
.ttl_ico{
    padding-left: var(--px60);
    position: relative;
}
.facilities_list .ttl_ico{
    padding-left: var(--px50);
}
.ttl_ico::before{
    content: "";
    display: block;
    width: 5%;
    padding-top: 5%;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 10%;
}
#facilities_hotSpring .ttl_ico::before{background-image: url(../images/ico_facilities00.svg);}
.facilities_list .ttl_ico::before{
    width: 9%;
    padding-top: 9%;
    top: 2%;
}
.ttl_ico.ttl_ico_heatedPool::before{background-image: url(../images/ico_facilities01.svg);}
.ttl_ico.ttl_ico_bicycle::before{background-image: url(../images/ico_facilities02.svg);}
.ttl_ico.ttl_ico_restaurant::before{background-image: url(../images/ico_facilities03.svg);}
.ttl_ico.ttl_ico_lobby::before{background-image: url(../images/ico_facilities04.svg);}
.ttl_ico.ttl_ico_garden::before{background-image: url(../images/ico_facilities05.svg);}
.ttl_ico.ttl_ico_hall::before{background-image: url(../images/ico_facilities06.svg);}
.ttl_ico.ttl_ico_laundry::before{background-image: url(../images/ico_facilities07.svg);}
.link01:hover{
    opacity: 0.8;
}
.swiper02{
    overflow: hidden;
}
.tab_menu_item{
    width: 150px;
    padding: 7px;
    margin-left: 5px;
    font-size: var(--f18);
    font-weight: 500;
    text-align: center;
    background-color: var(--lightyellow02);
}
.tab_menu_item:first-child{margin-left: 0;}
.tab_menu_item.is_active{background-color:var(--main);color: #fff;}
.tab_panel_box{display: none;}
.tab_panel_box.is_show{display: block;}
.container{
    max-width: 1366px;
    margin: 0 auto;
    padding: var(--px125) var(--px35) 0;
    position: relative;
}
header .container,footer .container{
    padding: 0 var(--px35) 0;
}
#sub_kv .container{
    padding: var(--px60) var(--px35) 0;
}
.inner{
    max-width: 1000px;
    margin: 0 auto;
}
.wrapper{
    margin: 75px 0  var(--px125);
}
/*header*/
header{
    padding: var(--px10) 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 0 5px rgba(0,0,0,0.25);
    background-color: rgba(255,255,255,0.85);
    z-index: 9999;
    transition: all .3s;
}
header.kv{
    background-color: #fff;
}
header .h_logo{
    width: 18%;
}
header .h_nav{
    width: 66%;
    padding: 0 1.0%;
}
header .h_nav_list li{
    padding-right: 2.0%;
}
header .h_nav_list li.h_nav_list_language{
    border-left: 2px solid var(--main);
    padding: 0 0 0 2.0%;
}
header .h_nav_list li a{
    font-size: var(--f16);
    font-weight: 300;
    white-space: nowrap;
}
header .h_nav_list li a:hover{
    color: var(--main);
}
header .rese a{
    background-color: var(--main);
    color: #fff;
    font-size: var(--f20);
    font-weight: 500;
    padding: 0.5% var(--px20);
}
header .rese a:hover{
    background-color: var(--yellow);
    color: var(--main);
}
/*footer*/
footer{
    background-color: var(--main);
    color: #fff;
    padding: var(--px60) 0;
    font-size: var(--f20);
    font-weight: 300;
}
footer .f_sns li{
    margin-left: var(--px15);
}
footer .f_bottom{
    margin: var(--px60) 0 var(--px50);
}
footer .f_bottom .f_ttl{
    font-size: var(--f24);
    font-weight: 700;
    margin-bottom: var(--px10);
}
footer .f_bottom a{display: inline-block;}
footer .copyright{font-size: var(--f16);}

/*-----TOP-----*/
/*kv*/
#kv img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.swiper01,.swiper02{
    position: relative;
}
.swiper-pagination-bullet{
    background-color: #ccc;
    opacity: 1;
}
.swiper-pagination-bullet-active{
    background-color: var(--yellow);
}
.swiper-button-prev, .swiper-button-prev,.swiper-button-next, .swiper-button-next{
    color: #ccc;
}

/*top_news*/
#top_news{
    background-color: var(--main);
    color: #fff;
}
#top_news .container{
    padding: var(--px30) var(--px35);
}
#top_news h3{
    font-size: var(--f32);
    font-weight: 700;
    margin-bottom: var(--px10);
    color: #fff;
}
/*top_catch*/
#top_catch01{
    overflow: hidden;
}
#top_catch01 h2{
    margin-bottom: var(--px75);
}
#top_catch01 .top_catch_txt{
    margin-bottom: var(--px60);
}
#top_catch01 .top_catch_shape li{
    position: absolute;
}
/*top_catch_shape*/
#top_catch01 .top_catch_shape li:nth-child(1){width: 20%;top: 12%;right: -2%;z-index: -1;}
#top_catch01 .top_catch_shape li:nth-child(2){width: 64%;top: 34%;right: -1%;z-index: -2;}
#top_catch01 .top_catch_shape li:nth-child(3){width: 62%;bottom: 1.5%;left: -1%;z-index: -2;mix-blend-mode:multiply;}
#top_catch01 .top_catch_shape li:nth-child(4){width: 21.5%;top: 33%;right: 18%;z-index: 1;-webkit-animation: yura01 2.5s ease-in-out infinite alternate;animation: yura01 2.5s ease-in-out infinite alternate;}
#top_catch01 .top_catch_shape li:nth-child(5){width: 21.5%;bottom: 0%;left: 16%;z-index: 1;-webkit-animation: yura02 3.5s ease-in-out infinite alternate;animation: yura02 3.5s ease-in-out infinite alternate;}
#top_catch01 .top_catch_shape li:nth-child(4) span{display: block;-webkit-animation: vertical01 4s ease-in-out infinite alternate;animation: vertical01 4s ease-in-out infinite alternate;
}
#top_catch01 .top_catch_shape li:nth-child(5) span{ display: block;-webkit-animation: vertical02 2.5s ease-in-out infinite alternate;animation: vertical02 2.5s ease-in-out infinite alternate;}
@keyframes yura01 {
  0% {-webkit-transform:translateX(-12px);transform:translateX(-12px);}
  100% {-webkit-transform:translateX(0px);transform:translateX(0px);}
}
@keyframes yura02 {
  0% {-webkit-transform:translateX(15px);transform:translateX(15px);}
  100% {-webkit-transform:translateX(0px);transform:translateX(0px);}
}
@keyframes vertical01 {
  0% {-webkit-transform:translateY(-40px);transform:translateY(-40px);}
  100% {-webkit-transform:translateY(0px);transform:translateY(0px);}
}
@keyframes vertical02 {
  0% {-webkit-transform:translateY(-20px);transform:translateY(-20px);}
  100% {-webkit-transform:translateY(0px);transform:translateY(0px);}
}
#top_catch02 .top_catch02_box{
    max-width: 1050px;
    margin: var(--px40) auto 0;
    padding: var(--px30);
    background-color: var(--lightblue);
    border-radius: 20px;
    font-size: var(--f20);
}
#top_catch02 .top_catch02_box h3{
    font-size: var(--f30);
    font-weight: 400;
}
#top_catch02 .top_catch02_facilities{
    max-width: 1110px;
    margin: var(--px40) auto 0;
    overflow: hidden;
}
#top_catch02 .top_catch02_facilities h2{
    background-color: var(--main);
    color: #fff;
    width: 50%;
    position: relative;
}
#top_catch02 .top_catch02_facilities h2 span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
    letter-spacing: 0.2em;
}
#top_catch02 .top_catch02_facilities figure{
    width: 50%;
}
/*top_menu*/
#top_menu .top_menu_list li{
    width: 47.2%;
    margin-bottom: var(--px60);
    overflow: hidden;
}
#top_menu .top_menu_list li:nth-last-child(-n+2){
    margin-bottom: 0;
}
#top_menu .top_menu_list li a{
    display: block;
    position: relative;
    z-index: 0;
}
#top_menu .top_menu_list li a::before{
    content: "";
    display: block;
    background: url(../images/top_img02.webp) no-repeat center;
    background-size: cover;
    -webkit-filter: brightness(0.7);
    filter: brightness(0.7);
    width: 100%;
    padding-top: 67.797%;
    transition: all .3s;
}
#top_menu .top_menu_list li.top_menu_list_cuisine a::before{background-image:url(../images/top_img03.webp);}
#top_menu .top_menu_list li.top_menu_list_sightseeing a::before{background-image:url(../images/top_img04.webp);}
#top_menu .top_menu_list li.top_menu_list_access a::before{background-image:url(../images/top_img05.webp);}
#top_menu .top_menu_list li a:hover::before{
    transform: scale(1.1);
    -webkit-filter: brightness(0.7) blur(3px);
    filter: brightness(0.7) blur(3px);
}
#top_menu .top_menu_list li a .top_menu_txt{
    font-size: var(--f32);
    font-weight: 700;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
    letter-spacing: 0.3em;
}
#top_menu .top_menu_list li.top_menu_list_access a .top_menu_txt{letter-spacing: 0.04em;}

/*-----客室-----*/
.rooms_kv{
    margin-top: var(--px50);
    background: url(../images/rooms_img01.webp) no-repeat bottom 0% right 5%;
    padding-bottom: var(--px125);
}
#rooms_floor .container{padding-top: 0;}
#rooms_floor ul li{
    margin: 0 var(--px40);
}
.rooms_list > li,.facilities_list >li,.cuisine_list >li{
    margin-top: var(--px50);
    width: 47.2%;
    font-weight: 300;
    font-size: var(--f20);
    line-height: 1.75;
}
.rooms_list_dl dd,.cuisine_list_dl dd,.cuisine_banquet .cuisine_list_dl dd,.facilities_note01 dd,
.access_howto_box_col2 .access_list{
    flex: 1;
}
.rooms_list >li:nth-child(-n+2){
    margin-top: var(--px20);
}
.facilities_list >li:nth-child(-n+2){
    margin-top: var(--px30);
}
.cuisine_list >li{
    margin: 0 0 var(--px100);
}
.rooms_list h4{
    color: var(--black);
    font-size: var(--f28);
    margin: var(--px30) 0 var(--px15);
}
.rooms_list_dl{
    font-size: var(--f20);
    line-height: 1.75;
    margin-bottom: var(--px10);
}
.rooms_list_dl dt{
    font-weight: 500;
    flex: 0 0 180px;
}
.rooms_list_round figure{
    margin: var(--px30);
}

/*-----お料理-----*/
.cuisine_kv{
    background-color: var(--lightblue);
    padding: var(--px35) var(--px50);
    margin-top: var(--px30);
}
#cuisine_menu .container,#cuisine_menu .tab_panel{
    padding-top: var(--px50);
}
.cuisine_list h4{
    font-size: var(--f28);
    color: var(--black);
    margin: var(--px20) 0 var(--px10);
}
.cuisine_list .cuisine_price{
    font-size: var(--f30);
    font-weight: 500;
    margin-bottom: var(--px20);
}
.cuisine_list_dl{
    margin-top: var(--px10);
}
.cuisine_list_dl dt{
    flex: 0 0 80px;
}
.cuisine_banquet .cuisine_list_dl dt{
    flex: 0 0 120px;
    font-size: var(--f20);
    font-weight: 500;
}
.cuisine_banquet .cuisine_list_dl dd{
    font-size: var(--f20);
    font-weight: 300;
}
.cuisine_breackfast li,.cuisine_banquet li{
    width: 47.2%;
}
.cuisine_breackfast_box,.cuisine_banquet .cuisine_note{
    width: 550px;
    margin: 0 auto;
}
.cuisine_banquet_txt{
    margin-top: var(--px100);
}
.cuisine_banquet .cuisine_note{
    margin-top: var(--px60);
}
.cuisine_banquet_room{
    width: calc(100% - 60px);
}
.cuisine_banquet_capa{
    width: 60px;
}

/*-----館内施設-----*/
.facilities_kv{
    padding-top: var(--px75);
    background: url(../images/facilities_img01.webp) no-repeat top 20% right 5%;
}
.facilities_floor_box li,.rooms_floor_box li{
    width: 31.5%;
}
.facilities_floor_txt{
    margin-top: var(--px50);
}
.facilities_hotSpring_txt{
    margin-top: var(--px40);
}
.facilities_hotSpring_txt h4{
    font-size: var(--f30);
    margin-bottom: var(--px20);
}
.facilities_hotSpring_list{
    margin-top: var(--px30);
}
.facilities_hotSpring_list li{
    width: 48%;
    background-color: var(--lightgreen01);
    padding: var(--px20) var(--px30);
}
.facilities_hotSpring_list li:nth-child(2){
    background-color: var(--lightyellow01);
}
.facilities_hotSpring_list,.facilities_note01_box{
    font-size: var(--f18);
    font-weight: 300;
    line-height: 1.75;
}
.facilities_hotSpring_list p{
    margin-top: var(--px10);
}
.facilities_hotSpring_dl dt{
    font-weight: 500;
    width: 120px;
    flex: auto!important;
}
.facilities_hotSpring_dl dd{
    width: calc(100% - 120px);
    flex: auto!important;
}
.facilities_note01{
    background-color: var(--lightgreen02);
    padding: var(--px20) var(--px30);
}
.facilities_hotSpring_txt02{
    padding-top: var(--px60);
    background: url(../images/facilities_img02.webp) no-repeat top 20% right 0%;
}
.facilities_note01{
    margin-top: var(--px40);
}
.facilities_note01 h5{
    font-size: var(--f30);
    margin-bottom: var(--px10);
}
.facilities_note01 dl{
    margin-top: var(--px10);
}
.facilities_note01 dt{
    flex: 0 0 230px;
}
.facilities_list h4{
    margin: var(--px20) 0;
    font-size: var(--f28);
    font-weight: 500;
}
.facilities_note02,.facilities_inside_list{
    margin-top: var(--px40);
}
.facilities_note02 h5,.facilities_note02 dt,.facilities_note_link{
    font-weight: 500;
}
.facilities_note02 dl{
    display: flex;
}
.facilities_note02 dt{
    white-space: nowrap;
}
.facilities_note_link a{
    display: inline-block;
    border-bottom: 1px solid #000;
    padding: 0 3%;
}
#facilities_inside .facilities_note01_box{
    font-weight: 400;
}
#facilities_inside .facilities_note01_box a{
    display: inline-block;
}
/*-----お知らせ-----*/
.top_news_list .news_date{
    display: inline-block;
    width: 130px;
}
.top_news_list .news_ttl{
    width: calc(100% - 130px);
}
.top_news_list li a:hover{
    color: var(--lightyellow01);
}
#sub .top_news_list li a:hover{
    color: #808080;
}
#sub .top_news_list li{
    border-top: 1px solid #ccc;
    padding: var(--px20) 0;
}
#sub .top_news_list li:last-child{
    border-bottom: 1px solid #ccc;
}
.news_box_wrap .news_ttl{
    border-bottom: 2px solid var(--main);
    padding-bottom: var(--px20);
    margin-bottom: var(--px10);
}
.news_box_wrap .news_box{
    margin-top: var(--px100);
}
.news_box_wrap .news_box >*{
    margin-top: var(--px40);
}
.news_box_wrap .news_box .news_btn{
    margin-top: var(--px60);
}

/*-----交通アクセス-----*/
.access_kv h4{
    color: var(--black);
    font-size: var(--f28);
}
.access_map{
    margin-top: var(--px30);
    padding-top: 34%;
    width: 100%;
    height: 0;
    position: relative;
}
.access_map iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.access_howto_box{
    margin-top: var(--px50);
}
.access_howto_box_col2 figure{
    flex: 0 0 390px;
    padding-left: var(--px30);
}
.access_list li{
    padding-left: var(--px30);
    position: relative;
}
.access_list li::before{
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
}
.contact_form{
    background-color: var(--lightgreen02);
}
.contact_form form{
    width: 80%;
    max-width: 690px;
    margin: 0 auto;
    padding: var(--px75) 0 var(--px100);
}
.contact_form label,.contact_form .form_label{
    margin-bottom: var(--px40);
    font-size: var(--f20);
    color: #727272;
    display: block;
}
.contact_form label.contact_address{
    margin-bottom: var(--px20);
}
.contact_form .contact_ttl{
    display: block;
    font-size: var(--f20);
    color: var(--main);
    font-weight: 500;
    margin-bottom: var(--px10);
}
.contact_form .contact_ttl .required{
    color: #e40011;
    font-size: var(--f14);
    padding-left: var(--px10);
}
.contact_form input,textarea,select{
    border: 1px solid #727272;
    border-radius: 0;
    padding: var(--px20);
    font-size: var(--f16);
}
.contact_form input[name="your-name"],input[name="your-kana"],input[name="your-address"],input[name="your-tel"],input[name="your-email"]
,textarea{
    width: 100%;
}
.contact_form input[name="your-zip"]{
    width: 50%;
}
.contact_form input[type="submit"],.confirm_button.btn02{
    border: none;
    padding: var(--px15);
}
.contact_form input[type="submit"]:hover,.confirm_button.btn02:hover{
    transition: all .3s;
    cursor: pointer;
}
.wpcf7-spinner{display: none!important;}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
    color: #e40011;
    border: none;
    text-decoration: underline;
    text-decoration-color: var(--yellow);
    text-decoration-thickness: 5px;
    padding: 0;
    margin: 2em 0 0;
}
.confirm_button.btn02[disabled], .confirm_button.btn02[disabled]:hover {
    color: #808080;
    background-color: #ccc;
    cursor: default;
}
.contact_form .confirm_area .form_btn input{
    margin: 0 var(--px20);
}
.contact_form .catch{
    margin-bottom: var(--px30);
}
/*タブレット
------------------------------*/
@media screen and (max-width: 1024px) {
    .pc,.sp {
        display: none;
    }
    .tablet {
        display: block;
    }
    #sub_kv .container{
        padding-top: var(--px40);
    }
/*header*/
    header .h_nav{
        width: auto;
    }
    header .h_nav_list li a{
        font-size: var(--f18);
    }
    header .rese{
        margin-right: var(--px30);
    }
/*hamburger*/
    .h_btn{
        width: 40px;
        height: 40px;
        background-color: transparent;
        display: flex;
        justify-content: center;
        align-items: center;
        border: none;
        position: relative;
        z-index: 300;
    }
    .btn-line{
        width: 85%;
        height: 0.5px;
        background-color: var(--black);
        transition: .3s;
        position: absolute;
        top: 20%;
        left: 50%;
        transform: translate(-50%,-50%);
        transform-origin: left bottom;
    }
    .btn-line:nth-child(2){
        top: 50%;
    }
    .btn-line:last-child{
        top: 80%;
    }
    .open .btn-line:first-child{
        -webkit-transform: translate(-50%,-50%) rotate(45deg);
        transform: translate(-50%,-50%) rotate(45deg);
        left: 60%;
    }
    .open .btn-line:nth-child(2){
        display: none;
    }
    .open .btn-line:last-child{
        -webkit-transform: translate(-50%,-50%) rotate(-45deg);
        transform: translate(-50%,-50%) rotate(-45deg);
        left: 60%;
    }
    #overlay{
        width: 100%;
        height: 100vh;
        background-color: rgba(0,0,0,0.6);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100;
        opacity: 0;
        pointer-events:none;
        transition: .3s;
    }
    #overlay.active{
        opacity: 1;
        pointer-events:visible;
    }
    #hum_menu{
        width: 300px;
        padding-top: 85px;
        position: fixed;
        top: 0;
        right: 0;
        height: 100%;
        overflow-y: auto;
        background-color: #fff;
        z-index: 200;
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
        transition: .3s;
    }
    .h_nav.active #hum_menu{
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    #hum_menu ul.hum_menu_list li{
        padding-right: 0;
    }
    header .h_nav_list li.h_nav_list_language{
        border-left: none;
        padding: 0;
    }
    #hum_menu ul.hum_menu_list a{
        padding: var(--px15) var(--px20);
        border-bottom: 1px solid #ececec;
        align-items: center;
        font-weight: 500;
        display: block;
    }
    #hum_menu ul.hum_menu_list li.h_nav_list_language a{
        border-bottom: none;
        text-align: center;
        color: var(--main)
    }
    /*top_catch_shape*/
    #top_catch01 .top_catch_shape li:nth-child(3){bottom: 20%;}
    #top_catch01 .top_catch_shape li:nth-child(4){right: 5%;}
    #top_catch01 .top_catch_shape li:nth-child(5){left: 5%;}
    #top_catch02 .top_catch02_facilities h2{width: 60%;font-size: var(--f40);}
    #top_catch02 .top_catch02_facilities figure{width: 40%;}
/*-----客室-----*/
    .rooms_kv{
            background-size: 35%;
    }
    .rooms_list_dl{
        display: block;
        border-bottom: 1px dashed #ccc;
    }
/*-----お料理-----*/
    .tab_menu_item{
        width: calc(100% / 3 - 4px);
    }

/*-----館内施設-----*/
    .facilities_kv{
        background-size: 20%;
    }
    .facilities_hotSpring_txt02{
        padding-right: 28%;
        background-position: center right 0%;
        background-size: 30%;
    }

}
/*スマホ
------------------------------*/
@media screen and (max-width: 648px) {
:root {
    --px10: 1.667vw;
    --px15: 2.5vw;
    --px20: 3.333vw;
    --px30: 5vw;
    --px35: 5.833vw;
    --px40: 6.667vw;
    --px50: 8.333vw;
    --px60: 10vw;
    --px75: 12.5vw;
    --px100: 16.667vw;
    --px125: 20.833vw;

    --f14: 8px;
    --f16: 12px;
    --f18: 14px;
    --f20: 16px;
    --f24: 18px;
    --f28: 22px;
    --f30: 25px;
    --f32: 28px;
    --f36: 31px;
    --f40: 35px;
    --f60: 46px;
}
    .tablet,.pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .radius{border-radius: var(--px20);}
    h2, h3, h4{
        line-height: 1.4;
    }
    .ttl_ico::before{
        width: 30px;
        padding-top: 30px;
        top: 13px;
    }
    .facilities_list .ttl_ico::before{
        width: 23px;
        padding-top: 23px;
        top: 5px;
    }
    .line{background-color: var(--main);}
    #sub_kv .container{padding-top: var(--px20);}
    .f_logo,.f_sns,#top_catch02 .top_catch02_facilities h2,#top_catch02 .top_catch02_facilities figure,.facilities_hotSpring_list li,.facilities_list >li,.rooms_list > li, .facilities_list >li, .cuisine_list >li,.cuisine_list >li,.cuisine_breackfast_box, .cuisine_banquet .cuisine_note,.cuisine_banquet li{
        width: 100%;
    }
/*GTranslate*/
.gtranslate_wrapper{background-color: var(--main);}
#gt_float_wrapper{position:relative!important;left:0!important;}
.wrapper{margin-top: 50px;}
/*header*/
    header .h_logo{
        width: 150px;
    }
    #hum_menu{
        padding-top: 60px;
    }
/*footer*/
    .f_sns{
        justify-content: center;
    }
    footer .f_sns li{
        margin: var(--px30) var(--px10) 0;
    }
/*top*/
    .swiper-button-prev, .swiper-button-prev,.swiper-button-next, .swiper-button-next{
        width: var(--px30);
    }
    #kv .swiper01 {
        overflow: hidden;
    }
    #kv .swiper-wrapper{
        height: auto;
    }
    #kv img {
        /*height: auto;*/
        width: auto;
        max-width: auto;
        height: 400px;
        object-position: center;
    }
    #top_catch01 .top_catch_txt{margin-bottom: var(--px75);}
    #top_catch01 .top_catch_shape li:nth-child(1){width: 40%;top: 30%;}
    #top_catch01 .top_catch_shape li:nth-child(2){width: 80%;right: -20%;top: 50%;}
    #top_catch01 .top_catch_shape li:nth-child(3){width: 80%;left:-5%;bottom: 20%;}
    #top_catch01 .top_catch_shape li:nth-child(4){width:25%;top: 46%;right: 2%;}
    #top_catch01 .top_catch_shape li:nth-child(5){left: 75%;bottom: 25%;}
    #top_catch02 .top_catch02_facilities h2{
        text-align: center;
        padding: var(--px30);
    }
    #top_catch02 .top_catch02_facilities h2 span{
        position: static;
    }
    #top_menu .top_menu_list li a::before{
        padding-top: 80%;
    }
    #top_menu .top_menu_list li a .top_menu_txt{
        font-size: var(--f28);
        line-height: 1.2;
    }
/*-----客室-----*/
    .rooms_kv{
        background-size: 38%;
        margin-bottom: var(--px20);
    }
    .rooms_list_dl{
        display: flex;
        border-bottom: none;
    }
    .rooms_list_dl dt{
        flex: 0 0 130px;
    }
    .rooms_list >li:nth-child(2),.facilities_list >li,.facilities_list >li:nth-child(2){margin-top: var(--px60);}
    .rooms_list_round{
        flex-direction: row;
        justify-content: space-between;
    }
    .rooms_list_round figure{
        width: 46%;
        margin: 0;
    }
/*-----お料理-----*/
    .cuisine_banquet li:not(:first-child){margin-top: var(--px40);}
    .cuisine_banquet .cuisine_list_dl dt{flex: 0 0 90px;}
    .cuisine_banquet_room_box{align-items: flex-end;}

/*-----館内施設-----*/
    .facilities_kv{background-position: top 5% right 0%;background-size: 30%;}
    #facilities_floor .swiper02 .swiper-slide figure,#rooms_floor .swiper02 .swiper-slide figure{
        width: 83%;
        max-width: 350px;
        margin: 0 auto;
    }
    #facilities_floor .swiper02 .swiper-slide figure img,#rooms_floor .swiper02 .swiper-slide figure img{width: 100%;}
    #facilities_floor .swiper02 .swiper-horizontal>.swiper-pagination-bullets,#facilities_floor .swiper02 .swiper-pagination-bullets.swiper-pagination-horizontal,#facilities_floor .swiper02 .swiper-pagination-custom,#facilities_floor .swiper02 .swiper-pagination-fraction,
    #rooms_floor .swiper02 .swiper-horizontal>.swiper-pagination-bullets,#rooms_floor .swiper02 .swiper-pagination-bullets.swiper-pagination-horizontal,#rooms_floor .swiper02 .swiper-pagination-custom,#rooms_floor .swiper02 .swiper-pagination-fraction{
        bottom: 0;
        right: 0;
        left: auto;
        width: 30%;
    }
    .facilities_hotSpring_list li:not(:first-child){margin-top: var(--px40);}
    .facilities_list li figure{text-align: center;}
    .facilities_list .ttl_ico{padding-left: 30px;}
    .facilities_hotSpring_dl dt{width: 90px;}
    .facilities_hotSpring_dl dd{
        width: calc(100% - 90px);}
    .facilities_hotSpring_txt02{
        padding: 60% 0 0;
        background-position: top 8% center;
        background-size: 48%;
    }
    #facilities_inside .facilities_note01_box a{font-size: 0.8em;}
/*-----お知らせ-----*/
    .top_news_list .news_date{width: 100px;}
    .top_news_list .news_ttl{width: calc(100% - 100px);}
/*-----交通アクセス-----*/
    .access_map{padding-top: 50%;}
    .access_howto_box_col2{display: block;}
    .access_howto_box_col2 figure{width: 80%;margin: var(--px30) auto 0;padding-left: 0;}
    .contact_form .confirm_area .form_btn input{padding: var(--px20);margin-top: var(--px20);}
}