@charset "UTF-8";

body {
    position: relative;
    font-family: 'Noto Serif JP', serif;
    width: 100%;
    height: max-content;

    background: url(../images/bg_bt@0.5x.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
}

body::after {
    z-index: -90;
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    background-image: linear-gradient(180deg, rgba(183, 236, 231, 0.5) 0%, rgba(78, 97, 80, 1) 100%);
}


.images .left {
    position: fixed;
    top: 0;
    visibility: hidden;
    width: 200px;
    /* margin-left: -200px; */
}

.images .right {
    position: fixed;
    width: 200px;
    top: 0;
    right: 0;
    visibility: hidden;
    /* margin-right: -200px; */
}

.images .firefry.bg_bottom {
    visibility: visible;
    position: fixed;
    bottom: 0;
}

.images .firefry .bg_upper {
    visibility: hidden;
    position: fixed;
    bottom: 0;
}

.bg {
    z-index: -999;
    visibility: visible;
    position: fixed;
    object-fit: cover;
}

/* .bg .far {
    visibility: visible;
    position: absolute;
    top: 400px;
    z-index: -10;
}
 */




.site {
    visibility: hidden;
    display: flex;
    position: absolute;
    top: 25%;

}


.site .left.active {
    visibility: visible;
    margin-top: 250px;
    /* margin-left: 120px; */
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

.site .right.active {
    visibility: visible;

    margin-top: 50px;

    margin-right: 100px;
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;

}

.tool .left {
    visibility: hidden;
    height: 100%;
    position: fixed;
    left: 0;
    top: 25%;
    animation-name: fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 1;
}

.tool .right {
    visibility: hidden;
    height: 100%;
    position: fixed;
    right: 0;
    top: 25%;
    animation-name: fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 1;

}

.tool .left.active {
    visibility: visible;
    margin-top: 50px;
    /* margin-left: 20px; */
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

.tool .right.active {
    visibility: visible;
    margin-top: 150px;
    margin-right: 50px;
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;

}

.lunch .left {
    visibility: hidden;
    position: fixed;
    margin-top: 250px;
    /* margin-left: 120px; */
    animation-name: fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 1;

}

.lunch .right {
    visibility: hidden;
    position: fixed;
    margin-top: 250px;
    /* margin-left: 120px; */
    animation-name: fadeOut;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 1;

}

.lunch .left.active {
    visibility: visible;
    position: fixed;
    margin-top: 50px;
    /* margin-left: 80px; */
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;

}

.lunch .right.active {
    visibility: visible;
    position: fixed;
    margin-top: 450px;
    margin-right: 120px;
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;

}

/* .firefry .left {
    visibility: hidden;
    position: fixed;
    bottom: 0;
    left: 0;
    opacity: 0.9;
}

.firefry .right {
    visibility: hidden;
    position: fixed;
    bottom: 0;
    right: 0;
    opacity: 0.9;
} */





.firefry .bg_upper.active {
    visibility: visible;
    position: absolute;
    bottom: 0;
    /* left: 0; */
    /* margin-left: 0; */
    animation-name: fadeInAnime;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    opacity: 0;
}


@keyframes fadeInAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}



@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}










.wrapper {
    position: relative;
    margin: 0 auto;
    width: 65dvw;
    height: auto;
    background-color: rgba(255, 255, 255, 0.2);
}


/* ヘッダー設定 */
.top_wrapper {
    background-color: #b2b2ad;
    width: 65dvw;
    height: auto;
    margin: 0 auto;
}

header {
    /* text-align: center; */
    background-color: inherit;
    /* width: 100dvw;
    height: 50px; */
    font-family: 'Stick', sans-serif;
    font-size: 32px;
}

header h1::before {
    /* margin-left: px; */
    content: url(../images/logo@0.1x.png);

}

/* スライドショー */

#slide {
    overflow: hidden;
    height: 20dvh;
    width: 100dvw;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

#slide p {
    position: absolute;
    top: 50%;
    left: 50%;
    color: rgba(222, 222, 222, 0.5);
    font-family: 'Stick', sans-serif;
    font-size: 40px;
    transform: translate(-50%, -50%);

}

#slide ul {
    position: relative;
}

#slide li {
    position: absolute;
    max-width: 100%;

}






/* タブ */
.tab {
    display: flex;
    justify-content: space-between;
    max-width: 65dvw;
    margin: 0 auto;
}


.tab li {
    width: 45%;
    text-align: center;
    line-height: 2rem;
    font-weight: bold;
    border-bottom: none;
    box-sizing: border-box;
    font-family: 'Nova Square', sans-serif;
    cursor: pointer;
}

.tab li:first-child {
    background-color: rgb(180, 196, 142);
}

.tab li:last-child {
    background-color: rgb(191, 195, 201);
}

.content>li {
    display: none;
    height: 0;
    width: 0;
}

.content>li.show_tab {
    display: block;
    height: auto;
    width: 65dvw;
}



















/* メイン部共通設定 */

main {
    margin: 0 auto;
    display: block;
}






h2,
nav {
    font-family: 'Nova Square', sans-serif;
    font-size: 22px;
}

nav {
    /* font-family: 'Nova Square', sans-serif; */
    position: sticky;
    top: 0;
}

nav ul {
    justify-content: center;
    background-color: inherit;
    display: flex;
    max-width: 65dvw;
    height: auto;
    text-align: center;
}

nav li {
    padding: 3px 5px;
    text-align: center;
    line-height: 2rem;
}


.aso,
.ooita,
.contact,
.qa {
    font-size: 12px;
    width: 65dvw;
    height: auto;
    margin: 0 auto;
}


h2 {
    text-align: center;
    padding-top: 25px;
}

h3 {
    text-align: center;
    /* padding: 15px auto; */
}

section {
    margin: 5px;
}


.brand section {
    display: block;
    /* margin: 5px auto; */
}

.brand h4 {
    text-align: center;
    font-size: 16px;
    background-color: #ccc8c8;
}

.apeal {
    display: flex;
    margin: 0 15px;
}

.apeal p {
    background-color: rgba(220, 220, 220, 0.5);
    display: block;
    width: 45%;
    height: auto;
    line-height: 1.3rem;
    margin: 12px;
    padding: 20px 10px 25px;
    font-weight: 900;
}

span a {
    text-align: center;
    display: block;
}



main .plan {
    background-color: inherit;
    /* margin: 20px auto; */
    /* position: relative; */

}

.p_room {
    /* position: absolute; */
    width: 60%;
    height: auto;
    margin-bottom: 30px;
    background-color: rgba(212, 212, 212, 0.4);
    padding: 24px;
}

.plan h4 {
    text-align: center;
    font-weight: 900;
}

.p_more {
    display: flex;
}

section .room {
    padding: 20px;
}

.plan p {
    line-height: 1.3rem;
}

article p image {
    /* width: 350px;
    height: 100px; */
    background-color: aqua;

}

.plan span {
    background-color: #000000;
    width: 60%;
    height: 1px;

}

.p_more:nth-child(2n+1) {
    display: flex;
    flex-direction: row-reverse;
}

.option_list {
    /* display: flex; */
    text-align: center;
}

.goods {
    text-align: start;
    background-color: rgb(220, 220, 220);
    padding: 35px;
    margin: 10px auto;
    list-style-type: disc;
    display: block;
    width: 350px;
    height: auto;
}

.blog ul {
    width: 325px;
    margin: 0 auto;
    list-style-type: disc;
}

.blog li {
    /* margin-left: 25px; */
    font-size: inherit;
    /* text-indent: 3; */
    border-bottom: #b2b2ad solid 3px;
    line-height: 2rem;
}

.access {
    padding: 0 25px 30px 25px;
}

.contact section {
    margin: 0 auto;
    padding: 20px;
    line-height: 2rem;
}

.qa ul li:nth-child(2n+1) {
    background-color: #b2b2ad;
    text-align: center;
}



footer {
    background-color: inherit;
    text-align: center;
    padding: 20px;
    margin-top: 30dvh;
}



/* 個別設定　阿蘇 */
.aso {
    background-color: rgb(180, 196, 142);
}

.aso nav {
    background-color: rgb(180, 196, 142);

}

.aso .loc {
    background-image: url(../images/castle.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.aso .bath {
    background-image: url(../images/hero3.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.aso .food {
    background-image: url(../images/oniku.png);
    background-repeat: no-repeat;
    background-position: bottom;
}


.plan_1 {
    background-image: url(../images/room1.png);
    background-repeat: no-repeat;
    background-size: 200px auto;
    background-position: bottom;
}







/* 個別設定　大分 */

.ooita .loc {
    background-image: url(../images/load1.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.ooita .bath {
    background-image: url(../images/soap1.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.ooita .food {
    background-image: url(../images/drink1.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.ooita {
    background-color: rgb(191, 195, 201);
}

.ooita nav {
    background-color: rgb(191, 195, 201);
}






/* mediaクエリ */

@media screen and (max-width: 1024px) {
    .wrapper {
        font-size: 16px;
        width: 95dvw;

    }

    nav {
        font-size: 24px;
    }

    .images p {
        display: none;
        position: absolute;
        text-indent: -99999;
    }
}