@charset "UTF-8";

* {
    box-sizing: border-box;
} 

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

body {
    background-color: #908f8d;
}

.container {
    display: grid;
    width: 100%;
    grid-template-columns: 100%;
}
a {
    cursor: help;
}
header, footer {
    cursor: url('../images/cursor-kanabou.png'), auto;
}

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 0px;
            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%; 
                    }

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

div.question {
    display: grid;
    grid-template-columns: 7vw 1fr 32px;
    grid-template-rows: 1 / 5;
    margin: 0 auto;
    box-sizing: border-box;
}
    form {
        grid-column: 2;
        grid-row: 1;
        color: #38250b;
        margin: 5vw 0;
    }

    .contact_form .p_label {
        height: 9.8vw;
        margin: 0;
    }

    .contact_form span.s_label {
        display: inline-block;
        width: 30%;
    }
 
    .p_submit {
        display: flex;
        grid-column: 1 / -1;
        grid-row: 2 / 3;
        justify-content: center;
        width: 100%;
        gap: 2.9vw;
        margin: 0;
    }

    .p_memo span.s_memo {
        display: block;
        margin: 0vw 0 2vw 0;
    }

    textarea {
        width: 98.8%;
        padding: 0;
    }
    input, select {
        vertical-align: middle;
    }
    input, select, textarea {
        border: 3.5px solid #b8df80;
        border-radius: 6px;
    }

    p.button {
        grid-row: 4 / 5;
        margin-left: 60vw;
    }
    .button {
        width: fit-content;
        background: linear-gradient(18deg,#573910, #9f9127);
        color: #FFFFFF;
        font-size: 15px;
        font-weight: 400;
        height: 36px;
        line-height: 34px;
        border-radius: 50px;
        padding: 0 15px;
        margin: 0 25px;
        box-shadow: 0 3px 7px #51504c;
        border: none;
    }
        .button:hover {
            background: #CC3300;
            box-shadow: none;
            transform: scale(1.08);
        }
        .button a {
            text-decoration: none;
            color: #d3e3bc
        }

img.duck_phone {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 3 / 4;
    width: 100%;
    height: auto;
    margin: 9.2vw 0 6vw 0;
}
img.duck_pc {
    display: none;
}

.img_anime {
    grid-row: 4 / 5;
    margin-left: 11vw;
    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.question {
            display: grid;
            grid-template-columns: 20.2vw 1fr 20.2vw;
            grid-template-rows: 1 / 5;
            margin: 0;
        }
            form {
                margin: 2vw 0;
            }
            
            .contact_form .p_label {
                height: 59px;
            }
            .contact_form span.s_label, .p_memo span.s_memo {
                font-size: 1.2em;
            }

            input {
                height: 1.8vw;
            }
            select {
                height: 2.3vw;
            }
            textarea {
                width: 99.3%;
            }

        p.p_submit {
            grid-row: 2 / 3;
            padding: 0;
            font-size: 22px;
        }
        p.p_submit input {
            font-size: 0.83em;
        }
      
        p.p_submit, p.button {
            font-size: 22px;
            font-weight: 400;
            height: 36px;
            line-height: 35px;
            border-radius: 20px;
            margin: 0;
        }
        p.button {
            margin-left: 46vw;
        }
        .button {
            height: 48px;
            padding: 0 25px;
        }

        img.duck_phone {
            display: none;
        }
        img.duck_pc {
            display: grid;
            grid-column: 1 / -1;
            grid-row: 3 / 4;
            width: 100%;
            height: auto;
            margin: 3vw 0 1.8vw 0;
        }

        div.img_anime, p.button {
            grid-row: 4 / 5;
        }
        div.img_anime {
            margin: 0 33vw;
            padding: 0;
        }

    }
