@charset "UTF-8";

.pc-header {
    animation: l-header 0.8s ease-in-out 6.0s forwards;
}

/*===================
mv
===================*/
.pc-mv {
    background-color: #000;
    width: 100%;
    height: 105vh;
    max-height: 1040px;
    top: 0;
    left: 0;
    margin-bottom: var(--section-gutter);

}

.pc-mv-img {
    width: auto;
    height: 105vh;
    max-height: 1040px;
    position: relativ;
    background-image: url(../../images/mv.svg);
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: inset 0 -10px 60px 10px var(--text-color);
    opacity: 0;
    animation: fadeIn 30s forwards;

}

.pc-mv-catch {
    position: absolute;
    bottom: 120px;
    right: 160px;
    opacity: 1;
    color: #fff;
    animation: blur 0.8s ease-in-out 2.5s forwards;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    animation: fadeIn 15s forwards;
}

.pc-mv-catch_inner {
    display: block;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
    padding-left: 5px;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(4) {
    padding-left: 40px;
    margin-top: -30px;
}

.pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
    padding-left: 5px;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(1) {
    animation: blur 0.8s ease-in-out 2.5s forwards;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
    animation: blur 0.8s ease-in-out 2.8s forwards;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(3) {
    animation: blur 0.8s ease-in-out 3.1s forwards;
}

.pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(4) {
    animation: blur 0.8s ease-in-out 3.4s forwards;
}



.pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(1) {
    animation: blur 0.8s ease-in-out 4.5s forwards;
}

.pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
    animation: blur 0.8s ease-in-out 4.8s forwards;
}

.pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(3) {
    animation: blur 0.8s ease-in-out 5.1s forwards;
}

.pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(4) {
    animation: blur 0.8s ease-in-out 6s forwards;
}

.pc-mv-catch_inner {
    display: block;
}

.pc-mv-catch_txt {
    font-family: var(--font-shi-a);
    display: block;
    padding: 0 0 0 5px;
    color: #fff;
    font-size: 5.0rem;
    opacity: 0;
    line-height: 1.6;
    letter-spacing: 0.4em;
}

@media screen and (max-width: 1200px) {
    .pc-mv-catch {
        bottom: 120px;
        right: 100px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(5) {
        padding-left: 40px;
        margin-top: -30px;
    }

    .pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_txt {
        font-size: 4.5rem;
    }
}

@media screen and (max-width: 960px) {
    .pc-mv-catch {
        bottom: 120px;
        right: 80px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(4) {
        padding-left: 30px;
        margin-top: -30px;
    }

    .pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_txt {
        font-size: 4.0rem;
    }
}

@media screen and (max-width: 767px) {


    .pc-mv-catch {
        bottom: 120px;
        right: 50px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(4) {
        padding-left: 25px;
        margin-top: -30px;
    }

    .pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_txt {
        font-size: 3.5rem;
    }
}

@media screen and (max-width: 520px) {
    .pc-mv-catch {
        bottom: 100px;
        right: 50px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_inner:nth-child(1) .pc-mv-catch_txt:nth-child(4) {
        padding-left: 20px;
        margin-top: -25px;
    }

    .pc-mv-catch_inner:nth-child(2) .pc-mv-catch_txt:nth-child(2) {
        padding-left: 5px;
    }

    .pc-mv-catch_txt {
        font-size: 3.0rem;
    }
}








/*===============
キャッチ
===============*/

.catch {
    margin-bottom: var(--section-gutter-pc);

}

.catch_inner {
    padding: 0 var(--side-gutter);
}

.catch h2 {

    font-family: var(--font-shi-a);
    font-size: var(--size-xl);
    margin-bottom: var(--section-gutter);
    text-align: center;
    text-shadow: 1px 1px 2px #c9c2b8;

}

.catch_txt {
    text-align: center;
    margin-bottom: var(--size-lg);
    font-family: var(--font-shi);
    font-size: 1.8rem;


}

/*===============
news（お知らせ・イベント）
===============*/

.news {

    margin-bottom: var(--section-gutter);
    padding-bottom: var(--contents-gutter);
    background-color: rgba(30, 28, 80, 0.1);

}

.news_inner {
    padding: 0 var(--side-gutter);
}

.news_box_wrap {
    display: grid;
}

.news_box {


    background-color: var(--main-color-w);
    margin-top: 0.6rem;
    filter: drop-shadow(1px 2px 2px #aaa);

}



.news_box p {

    width: 80%;
    font-family: var(--font-sans);

    text-align: left;
    margin-left: auto;
    margin-right: auto;

}



.news_box .day {
    border-bottom: solid var(--main-color-o);
}

.news_box .news_text {
    height: 80px;
}

.news_box h3 {
    padding: 0.5em;
}

/* 矢印 */
.row {
    padding-top: var(--contents-gutter);
    display: flex;
    justify-content: flex-end;


}

.more {
    cursor: pointer;
    margin-left: auto;
}

.more-text {

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-weight: bold;
    padding: 0 0 -16px 0;
    bottom: 0;

}

.row a {
    text-decoration: none;
}

.more-text:hover .line-arrow {
    border-bottom: 1px solid var(--main-color-b);
    border-right: 1px solid var(--main-color-b);
}

.more-text:hover {
    color: var(--main-color-b);
}

.line-arrow {
    width: 120px;
    height: 15px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    /*傾きを調節*/
    transform: skew(45deg);
    /*下線矢印*/
    margin: -20px 40px 0 -16px;
}

/*===============
風呂
===============*/

.bath {
    margin-bottom: var(--section-gutter);


}

.bath .bath_inner {
    padding: 0 var(--side-gutter);
}



.bath .bath_txt {
    text-align: center;
    margin-top: var(--contents-gutter);

}

.bath .bath_slider {

    margin: auto;
    width: 100%;

}


.bath_slider {
    padding-top: var(--contents-gutter);


}

.bath .slider-pc {

    padding: 0 5px;

    object-fit: cover;
}



/*===============
お食事
===============*/

.restaurant_bg {
    background: url(../../images/food_mv_01.png) no-repeat center;
    background-size: cover;
    position: relative;
    z-index: 0;
    overflow: hidden;
    height: 85vh;
    margin-bottom: var(--section-gutter);


    /*ブラー効果でボヤけた部分を非表示*/
}

/*:beforeにぼかし効果を設定する*/
.restaurant_bg:before {
    content: '';
    background: inherit;
    /*.bgImageで設定した背景画像を継承する*/
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(8px);



    position: absolute;
    /*ブラー効果で画像の端がボヤけた分だけ位置を調整*/
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -2;


}

.restaurant_wrap {
    box-sizing: border-box;

}

.restaurant .restaurant-txt_box {
    margin: 0 auto;
    width: 40%;
    padding: calc(var(--gutter-base)*3);
    font-family: var(--font-shi-a);
    font-size: 34px;
    background: var(--main-color-w);
    box-shadow: 0 0 20px 2px rgba(0, 0, 0, .2);
    position: absolute;
    top: 50%;
    left: 20%;
    color: var(--text-color);
    border-radius: 8px;
    z-index: 1;
    opacity: 0.9;
}

.restaurant-txt_box span {
    font-family: var(--font-shi);
}

.restaurant-txt_box p {
    font-size: var(--size-lg);

}

.restaurant .restaurant-txt_box .txt_r::after {
    content: "営業時間 10:00~23:00";
    color: #7fb7da;
    padding-left: 2em;
    text-align: right;
    white-space: pre;
    font-size: var(--size-lg);

}

.restaurant .restaurant_slid {
    padding-top: 0;

}

.food-slide_img {

    max-width: 100%;

    margin-left: 25%;
    position: absolute;
    opacity: 0;
    background-size: cover;
    animation: image-switch-animation 25s infinite;




}

.food-slide_img .src1 {
    background-image: url(../../images/food_01.webp);
}

.food-slide_img .src2 {
    background-image: url(../../images/food_02.webp);
}

.food-slide_img .src3 {
    background-image: url(../../images/food_03.webp);
}

.food-slide_img .src4 {
    background-image: url(../../images/food_04.webp);
}

.food-slide_img .src5 {
    background-image: url(../../images/food_05.webp);
}

@keyframes image-switch-animation {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.food-slide_img:nth-of-type(1) {
    animation-delay: 0s;
}

.food-slide_img:nth-of-type(2) {
    animation-delay: 5s;
}

.food-slide_img:nth-of-type(3) {
    animation-delay: 10s;
}

.food-slide_img:nth-of-type(4) {
    animation-delay: 15s;
}

.food-slide_img:nth-of-type(5) {
    animation-delay: 20s;
}





.restaurant .restaurant_inner {
    padding: 0 var(--side-gutter);
}





/*========min-width:500px========*/
.restaurant .restaurant_img {
    margin-bottom: var(--contents-gutter);
    display: block;
}




/*===============
料金
===============*/
.price .price_inner {
    background-color: var(--main-color-w);
    filter: drop-shadow(1px 2px 2px #aaa);
    padding: var(--side-gutter);
    margin-bottom: var(--section-gutter);

}

.price_table {
    border-collapse: collapse;

    width: 100%;
    background-color: #fff;
}

.price_table th {
    background-color: var(--main-color-o);
    text-align: center;


}

.price_table tr:last-child {
    padding-bottom: 1rem;
}

.price td {
    border: solid 1px;
    text-align: center;

}

.price .table_t {
    border-top: none;
}

.price .table_tl {
    border-top: none;
    border-left: none;
}

.price .table_tlb {
    border-top: none;
    border-left: none;
    border-bottom: none;
}

.price .table_tr {
    border-top: none;
    border-right: none;
}

.price .table_trb {
    border-top: none;
    border-right: none;
    border-bottom: none;
}

.price .table_trbl {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.price .table_rbl {
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.price .table_trl {
    border-top: none;
    border-left: none;
    border-right: none;
}

.price .table_rl {
    border-left: none;
    border-right: none;
}

.price .table_b {
    border-bottom: none;

}

.txt_p::before {
    content: "➤";
    margin-right: 1em;
    color: var(--main-color-o);

}

.price_notes {
    padding-top: 1em;
    margin-bottom: var(--contents-gutter);
}

.amenity_table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1em;
    background-color: #fff;

}

.amenity_table th {

    text-align: center;



}

/* accordion */

.accordion_p {
    max-width: 100%;
    margin-bottom: 7px;
    background-color: var(--main-color-o);
    border-radius: 5px;
}

.accordion_p summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}


.accordion_p summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform 0.5s;
}

.accordion_p[open] summary::after {
    transform: rotate(225deg);
}

.accordion_p[open] table {
    animation: fadeIn_t 0.5s ease;
    ;
}

@keyframes fadeIn_t {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}




.accordion_p li {

    transform: translateY(10px);
    margin: 0px;
    padding: .3em 2em 1.5em;
    color: var(--text-color);
    font-weight: bold;
}


.accordion p {
    max-width: 100%;
    margin-bottom: 7px;
    background-color: var(--main-color);
    border-radius: 5px;
    color: #fff;
    padding: 1em 2em;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
}

.accordion p span {
    text-align: right;
}

.accordion ul {
    background-color: #fff;
}

.accordion a {
    text-decoration: none;
}

.accordion {
    padding-bottom: var(--section-gutter-pc);
}

.accordion_p ul {
    column-count: 2;
}

/*===============
メディアクエリ
===============*/
.slider-bath {
    display: block !important;
}

/* .slider-sp {
    display: none !important;
} */

@media screen and (min-width:960px) {
    .restaurant .food_box {
        display: flex;

    }
}



@media screen and (max-width:960px) {
    .restaurant .restaurant-txt_box {
        width: 70%;
    }
}

/*========max-width:960px========*/


@media screen and (max-width:767px) {
    .food-slide_img {
        margin-left: 0%;
        position: absolute;
        width: 100%;
    }

}

/*========max-width:767px========*/


@media screen and (max-width:520px) {
    .restaurant .restaurant-txt_box {
        width: 90%;
        top: 60vw;
        left: 5%;

    }


    .restaurant-txt_box {
        text-align: center;
    }




}


/*mv(灯籠位置)*/



@media screen and (max-width:1260px) {
    .pc-mv-img {
        background-position: center right -150px;
    }
}



/*========min-width:1260px========*/