@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 0 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_nobo img {
    width: 100%;
    margin: 0 auto;
}
    figure.about_img {
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 17px;
        max-width: 98%;
        padding: 0 15px;
    }
        figure.about_img img {
            width: 100%;
            height: 95%;
            border-radius: 40px 0 40px 0;
            border-left: 5px solid #786b60;
        }

    img.duck_phone {
        width: 100%;
        height: auto;
    }
    img.duck_pc, img.duck_pc1, img.duck_pc2 {
        display: none;
    }

    .grid_container {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 2.08vw;
        margin: 2.08vw 3.13vw;
    }
        figure.about_img2 {
            margin: 0 auto;
            width: 85%;
            padding: 2.08vw 0;
        }    
            .about_img2 img {
                width: 100%;
            }   
            .about_img2 p.name {
                font-size: 1.01em;
                text-align: center;
                margin: 0 auto;
                font-family: sans-serif;
            }

        .life {
            line-height: 25px;
            margin: 0 7px;
        }
            .year {
                background: #51504c85;
            }
            .year h3 {
                color: #fff;
                font-size: 11px;
                margin: 0 auto;
                text-align: center;
                border-bottom: 2px dotted #908f8d;
            }
            .year p {
                color: #b8df80;
                font-size: 14px;
                text-align: center;
                margin: 0 2.08vw 2.08vw 2.08vw;
                font-family: sans-serif;
            }

    figure.about_img3, figure.about_img4 {
        margin: 0 auto;
        width: 85%;
        padding: 2.08vw 0;
    }
        .about_img3 img, .about_img4 img {
            width: 100%;
            border-radius: 50px 0 50px 0;
            border-left: 5px solid #786b60;
        }

    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: 5% 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_nobo {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1 / 11;
    } 
        .about_nobo img {
            width: 100%;
            margin: 0 auto;
        }

        p {
            font-size: 1.13em;
            line-height: 55px;
            margin: 20px 40px;
        }
        p span {
            background: linear-gradient(transparent 58%, #CC3300 99%);
        }
   
    figure.about_img {
        width: 35vw;
        height: auto;
    }
    figure.about_img, figure.about_img img {
        grid-column: 2;
        grid-row: 1 / 3;
        display: block;
    }
    figure.about_img img {
        border-radius: 40px 0 40px 0;
        border-left: 5px solid #786b60;
        margin: 28px 0;
        width: 100%;
        height: 24vw;
        min-width: 342px;
    }
    .p1 {
        grid-column: 1;
        grid-row: 1;
        margin-top: 7vw;
    }
    .p2 {
        grid-column: 1;
        grid-row: 2;
    }

    .grid_container {
        grid-template-columns: 1fr 1fr;
        width: 95%;
        margin: 0 auto;
        padding: 0;
        grid-column: 1 / 2;
        grid-row: 3 / 5;
    }
        figure.about_img2 {
            padding: 50px 0;
        }
        figure.about_img2 img {
            width: 70%;
            padding-left: 40px;
        }
        .life {
            margin: 0;
        }
            .life.year {
                width: 250px;
                margin: 25px 0;
            }
                .year h3 {
                    font-size: 14px;
                }
                .year p {
                    font-size: 16px;
                    line-height: 27px;
                    padding: 5px 20px;
                }
        .p3 {
            grid-column: 2;
            grid-row: 3;
        }
        .p4 {
            grid-column: 2;
            grid-row: 4;
        }

        .p5 {
            grid-column: 1;
            grid-row: 6;
        }
        .p6 {
            grid-column: 1;
            grid-row: 7;
        }
        figure.about_img3 {
            grid-column: 2 / 3;
            grid-row: 6 / 8;
            margin: 0 auto;
            padding: 80px 0;
        }

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

        figure.about_img4, figure.about_img4 img {
            grid-column: 1 / 2;
            grid-row: 9 / 11;
        }
        .p7 {
            grid-column: 2 / 3;
            grid-row: 9 / 10;
        }

        .img_anime {
            grid-column: 2 / 3;
            grid-row: 10 / 11;
        }
        p.button {
            grid-row: 10 / 11;
            grid-column: 2 / 3;
            font-size: 22px;
            font-weight: 400;
            height: 42px;
            line-height: 38px;
            border-radius: 20px;
            padding: 0 20px;
            margin: 0 0 15vw 37vw;
        }

}