@charset "UTF-8";

* {
    box-sizing: border-box;
} 

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

}

body {
    background-color: #908f8d;
    cursor: url('../images/cursor-kanabou.png'), auto;
}

.container {
    display: grid;
    grid-template-columns: 100%;
    word-break: keep-all;
}
a {
    cursor: help;
}

header {
    background-color: #573910;
}
    .header_top {
        display: grid;
        grid-template-columns: 2fr 3fr;
    }
        figure.logo {
            z-index: 2;
            margin: 0.9vw 0 0 5.2vw;
        }
        figure.logo img {
            height: 14.7vw;
        }

        .header_top h1 {
            z-index: 2;
            color: #d3e3bc;
            font-size: 3.83vw;
            font-weight: 500;
            margin: 60px 0 0 0;
            font-family: "Zen Antique", serif;
        }

        .logo_underline {
            background-color: #CC3300;
            height: 35px;
            grid-column: 1 / 3;
            margin-top: -30px;
        }

    .header_bottom ul, footer ul {
        list-style-type: none;
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 0;
        margin: 0 auto;
    }
        footer ul li {
            padding: 8px 8px 8px 25px;
        }
        .header_bottom ul li {
            padding: 8px 8px 8px 16px;
            box-shadow: 50px 0px 65px #614012 inset,
                    -14px -15px 28px #3d290b inset;
            font-family: "BIZ UDMincho", serif;
        }
        .header_bottom ul li:hover {
            background-color: #d3e3bc;
            box-shadow: 10px 0px 10px rgb(198, 226, 13) inset;
        }
            .header_bottom ul li a {
                text-decoration: none;
                display: inline-block;
                color: #CC3300;
            }
            .header_bottom ul li a:hover {
                color: #51504c;
            }
                .header_bottom ul li a::before {
                    content: '👹 ';
                }
                .header_bottom ul li a::after {
                    content: "";
                    display: block;
                    width: 0;
                    transition: width 0.4s ease-in-out;
                    border-bottom: 2px solid #CC3300;
                    margin: 0 auto;
                }
                    .header_bottom ul li a:hover::after {
                        width: 100%; 
                    }

section.about {
    display: grid;
    grid-template-columns: 100%;
    margin: 0;
    padding: 0;
}
    h2 {
        color: #573910;
        font-weight: 600;
        font-size: 1.4em;
        font-family: "BIZ UDMincho", serif;
        font-style: normal;
        margin: 35px 0 8px 0;
        padding-bottom: 3px;
        border-bottom: 6px dotted #d3e3bc;
        text-align: center;
        transition: all 0.3s linear 0.8s;
    }
    h2:hover {
        border-bottom: 6px dotted #b8df80;
    }
    h2 ruby rt {
        font-size: 0.5em;
    }

        p {
            font-size: 1.01em;
            color: #38250b;
            font-weight: 400;
            margin: 20px 30px;
            line-height: 38px;
            font-family: "Zen Antique", serif;
            font-style: normal;
        }
            p span {
                display: inline-block;
                background: linear-gradient(transparent 65%, #CC3300 96%);
            }
            ruby rt {
                color: #573910;
                font-size: 0.79em;
                ruby-align: center;
                font-family: sans-serif;
            }

.about_horo img {
    width: 100%;
    margin: 0 auto;
}

    figure.logo_horo_map {
        width: 75%;
        margin: 0 auto;
    }
 
    img.duck_phone {
        width: 100%;
        height: auto;
    }
    img.duck_pc1, img.duck_pc2 {
        display: none;
    }

    figure.river {
        width: auto;
    }

    figure.station img {
        width: 100%;
        border-radius: 50px 0 50px 0;
        border-left: 5px solid #786b60;
    }

    .about_horo p a {
        color: #f3f7e5;
    }
    p.horo3 {
        color: #614012;
        font-weight: 500;
        font-size: 0.9em;
        font-family: sans-serif;
    }
    
    p.button {
        width: fit-content;
        background: linear-gradient(18deg,#573910, #9f9127);
        font-family: sans-serif;
        font-size: 15px;
        font-weight: 400;
        height: 36px;
        line-height: 34px;
        border-radius: 50px;
        padding: 0 15px;
        margin: 0 0 0 77%;
        box-shadow: 0 3px 7px #51504c;
        border: none;
    }
        p.button:hover {
            background: #CC3300;
            box-shadow: none;
            transform: scale(1.08);
        }
        p.button a {
            text-decoration: none;
            color: #d3e3bc
        }

.img_anime {
    margin: 0 auto;
    width: 277px;
    height: 200px;
    background: url('../images/common/anime-spa.png');
    animation: onsen 3s steps(4) infinite;
}
@keyframes onsen {
    to {
        background-position: -1108px 0;
    }
}

footer {
    background-color: #573910;
    padding: 30px 0;
}
    footer ul {
       margin-bottom: 110px;
    }  
    footer ul li a {
        text-decoration: none;
        color: #f3f7e5;
        font-weight: 300;
        font-size: 16px;
        line-height: 33px;
    }
        footer ul li a:hover {
            color: #CC3300;
        }
        footer ul li a::before {
            content: '♨ ';
        }

    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;
        } 

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

    .header_top {
        grid-template-columns: 2fr 3fr;  
    }
        figure.logo {
            margin: 0.1vw 0 0 22.27vw;
        }
        figure.logo img {
            height: 8.39vw;
        }
        .header_top h1 {
            font-size: 2.2vw;
        }

        .header_bottom ul, footer ul {
            grid-template-columns: repeat(3,1fr);
            font-size: 1.1em;
        }
    footer {
        padding: 1.5vw 0 9.76vw 0;
    }
        footer ul {
            padding: 0 5.7vw;
        }
        footer ul li {
            margin: 0 auto;
            min-width: 147px;
        }
        footer ul li a {
            font-size: 0.98em;
        }

        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;
        }
        
    h2 {
        font-size: 1.9em;
    }

    div.about_horo {
        display: grid;       
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1 / 8;
    }
        .about_horo img {
            margin: 0;
        } 

        p {
            font-size: 1.13em;
            line-height: 55px;
        }
        p span {
            background: linear-gradient(transparent 58%, #CC3300 99%);
        }

    figure.logo_horo_map {
        grid-column: 1;
        grid-row: 1 / 2;
        width: 100%;
        margin: 1.15vw 4vw;
    }
    figure.logo_horo_map img{
        grid-column: 1;
        grid-row: 1 / 2;
        width: 80%;
    }
    p.horo1 {
        grid-column: 2;
        grid-row: 1 / 2;
        margin: 1.5vw 4vw;
    }

    img.duck_phone {
        display: none;
    }
    img.duck_pc1 {
        display: grid;
        grid-column: 1 / 3;
        width: 100%;
        height: auto;
        grid-row: 2 / 3;
    }
    img.duck_pc2 {
        display: grid;
        grid-column: 1 / 3;
        width: 100%;
        height: auto;
        grid-row: 5 / 6;
    }

    p.horo2 {
        grid-column: 1;
        grid-row: 3 / 4;
        margin: 20px 40px;
        
    }
    p.horo2_1 {
        grid-column: 1;
        grid-row: 4 / 5;
        margin: 20px 40px;
    }
    .river {
        grid-column: 2;
        grid-row: 3 / 5;
        width: 100%;
        margin: 0;
    }
    .river img {
        grid-column: 2;
        grid-row: 3 / 5;
        width: 100%;
        padding: 4.55vw 0;
    }

    figure.station {
        grid-column: 1;
        grid-row: 6 / 7;
        width: 100%;
        margin: 0;
    }
    figure.station img {
        grid-column: 1;
        grid-row: 6 / 7;
        width: 70%;
        margin: 3vw 3vw 0 6.6vw;
    }
    p.horo3 {
        grid-column: 1;
        grid-row: 6 / 7;
        text-align: center;
        font-size: 1em;
        margin-top: 30vw;
    }

    p.horo_sta {
        grid-column: 2;
        grid-row: 6 / 7;
        margin: 2vw 30px 3.3vw 0;
    }

    .img_anime {
        grid-column: 2;
        grid-row: 7 / 8;
        margin-right: 20vw;
    }
    p.button {
        grid-column: 2;
        grid-row: 7 / 8;
        font-size: 22px;
        font-weight: 400;
        height: 42px;
        line-height: 38px;
        border-radius: 20px;
        padding: 0 20px;
        margin: 0 0 0 36vw;
    }
}




	