@charset "UTF-8";

*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    cursor: url('../images/cursor-kanabou.png'), auto;
}

.container  {
    margin: 0;
    padding: 0;
    background-color: #908f8d;
    width: 100%;
    line-height: 0;
}

img {
    display: block;
    line-height: 0;
}
a {
    cursor: help;
    display: block;
    margin: 0;
    padding: 0;
}

header {
    background-color: #fff;
    display: flex;
    gap: 37.7%;
    width: 100%;
    height: 18vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
    header img.logo_nobo {
        margin-left: 3.7vw;
    }
        img.logo_menu {
            height: 100%;
        }
    
header > *:last-child {
    margin-bottom: 0;
}


img.logo_title {
    z-index: 2;
    position: relative;
    top: 190px;
    left: 10px;
    width: 97%;
    height: auto;
    margin: 0;
    padding: 0;
}

.img_frame {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    margin-top: 0;
    padding-top: 0;
    width: auto;
    height: 695.2px;
    background-size: cover;
}
.img_frame::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 800px;
    background-color: rgba(0, 0, 0, 0.48);
}
    .img_01, .img_02, .img_03 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .img_01 {
        background-image: url(../images/top/image-autumn-leaves2.jpg);
        animation: slide_01 16s infinite;
    }
    .img_02 {
        background-image: url(../images/top/image-demon-float3.jpg);
        animation: slide_02 16s infinite;
        background-position: -42.98vw 0.59vw;
    }
    .img_03 {
        background-image: url(../images/top/image-karurus-ice2.jpg);
        animation: slide_03 16s infinite;
        background-position: -99.66vw 0;
    }

    @keyframes slide_01 {
        0% {opacity: 1; transform: scale(1.0);}
       30% {opacity: 1;}
       40% {opacity: 0; transform: scale(1.15);}
       90% {opacity: 0;}
      100% {opacity: 1; transform: scale(1.0);}
    }

    @keyframes slide_02 {
        0% {opacity: 0;}
       30% {opacity: 0; transform: scale(1.1);}
       40% {opacity: 1;}
       60% {opacity: 1;}
       70% {opacity: 0; transform: scale(1.0);}
      100% {opacity: 0;}
    }

    @keyframes slide_03 {
        0% {opacity: 0;}
       60% {opacity: 0; transform: scale(1.0);}
       70% {opacity: 1;} 
       90% {opacity: 1;}
      100% {opacity: 0; transform: scale(1.1);}
    }

.massage {
    font-size: 20px;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.p_01, .p_02, .p_03 {
    text-shadow: 2px 2px 3px #000, -1px -1px 3px #000;
}

footer {
    background-color: #573910;
    padding: 30px 0;
}
    figure.sns {
        display: flex;
        justify-content: space-evenly;
        margin: 3vw 13.5vw;
    }
        figure.sns a {
            width: 11.73%;
            height: 11.73%;
        }
        figure.sns a img {
            width: 100%;
            height: auto;
            max-width: 50px;
        }
    
small {
    color: #fff;
    display: block;
    text-align: center;
    margin: 25px;
}

@media screen and (min-width: 523px) { 
    
    .img_03 {
        background-position: -100px 0px;
    }
}

@media screen and (min-width: 635px) { 

    .img_01 {
        background-image: url(../images/top/image-ooyunuma1.jpg);
        animation: slide_01 16s infinite;
        background-position: 0px 0px;
    }
    .img_02 {
        background-image: url(../images/top/image-karurus-spa1.jpg);
        animation: slide_02 16s infinite;
        background-position: -100px 0px;
    }
    .img_03 {
        background-image: url(../images/top/image-jigokudani1.jpg);
        animation: slide_03 16s infinite;
        background-position: -160px 3px;
    }
}

@media screen and (min-width: 835px) {

    header {
        height: 9vw;
        gap: 48%;
    }
        header img.logo_nobo {
            margin-left: 22.7vw;
        }   
    
    .img_frame {
        width: 100%;
        height: 100vh;
    }
        .img_01 {
            animation: slide_01 16s infinite;
        }
        .img_02 {
            animation: slide_02 16s infinite;
            background-position: -140px 0px;
        }
        .img_03 {
            animation: slide_03 16s infinite;
        }
        @keyframes slide_01 {
            0% {opacity: 1; transform: scale(1.0);}
            30% {opacity: 1;}
            40% {opacity: 0; transform: scale(1.12);}
            90% {opacity: 0;}
            100% {opacity: 1; transform: scale(1.0);}
        }
        @keyframes slide_02 {
            0% {opacity: 0;}
            30% {opacity: 0; transform: scale(1.13);}
            40% {opacity: 1;}
            60% {opacity: 1;}
            70% {opacity: 0; transform: scale(1.0);}
            100% {opacity: 0;}
        }
        @keyframes slide_03 {
            0% {opacity: 0;}
            60% {opacity: 0; transform: scale(1.0);}
            70% {opacity: 1;} 
            90% {opacity: 1;}
            100% {opacity: 0; transform: scale(1.08);}
        }

    footer {
        padding: 6.5vw 0 6vw 0;
    }
        figure.sns {
            margin: 0 25vw;
        }
        figure.sns a {
            width: auto;
            margin: 0;
            padding: 0;
        }
        figure.sns a img {
            height: 50px;
            width: 50px;
            margin: 0;
            padding: 0;
        }
}

@media screen and (min-width: 1080px) {

    .img_02 {
        animation: slide_02 16s infinite;
        background-position: 0px -3px;
    }
    .img_03 {
        animation: slide_03 16s infinite;
        background-position: 0px 0px;
    }
    
}
