@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');

/* フォントのメモ
font-family: "Playfair Display", sans-serif;
font-weight: 400~900;

font-family: "Shippori Mincho", sans-serif;
font-weight: 400~800 ?; */

/* 変数 */
:root {
    --main-bgcolor: #ffffff;
    --main-minWidth: 1000px;
    --main-maxWidth: 1200px;
    --main-padding: 40px;
}

/* 全ての要素 */
* {
    text-decoration: none;
    list-style-type: none;
}

/* body */
body {
    font-size: 18px;
    color: #b97f55;
    background-color: #FAF9F8;
    font-family: "Shippori Mincho", "Playfair Display", sans-serif;
    font-weight: 400;
}

h2 {
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

/* ヘッダー */
header {
    display: flex;
    background-color: #FAF9F8;
    position: fixed;
    width: 100%;
    z-index: 9999;
    flex-direction: column;
    left: 0;
    top: 0;
}

/* 1行目 */
.header_wrapper {
    height: 50px;
    padding: 5px 60px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header {
    h1 a {
        display: flex;
        color: #b97f55;
        align-items: center;
        gap: 20px;

        img {
            height: 50px;
            width: auto;
            border-radius: 50px;
        }
        span {
            font-size: 30px;
            font-weight: 600;
        }
    }
}

.top_links {
    display: flex;
    margin-left: auto;
    gap: 20px;

    li {
    background-color: #b97f55;
    font-size: 18px;
    color: #ffffff;
    width: 160px;
    height: 30px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    clip-path: polygon(5% 0%, 95% 0%, 100% 20%, 100% 80%, 95% 100%, 5% 100%, 0% 80%, 0% 20%);
    }

    li:last-child {
        margin-right: 0;
    }
    li:hover {
        background: #9E6D49;
        color: #FAF9F8;
        transition: 0.6s
    }
}

/* 2行目 */
.header_nav {
    height: 30px;
    padding: 10px 30px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;

    ul {
        display: flex;
        gap: 120px;
    }
    li {
        position: relative;
        padding-bottom: 5px;
    }
    li::before {
        background: #b97f55;
        content: '';
        width: calc(100% + 10px);
        height: 1px;
        position: absolute;
        left: -5px;
        bottom: 0;
        transform-origin: center top;
        transform: scale(0,1);
        transition: transform 0.5s;
    }
    li:hover::before {
        transform: scale(1, 1);
    }

}


/* ヒーロー */
.top {
    display: flex;
    justify-content: center;
    max-width: 1200px;
    max-height: 700px;
    aspect-ratio: 1200/700;
    width: 100%;
    padding-top: 120px;
    margin: 80px auto;
    background-image: url(../img/ヒーロー.jpg);
    background-size: cover;
    background-position: center;
    align-items: flex-start;
    background-repeat: no-repeat;
}
.wrap {
    text-align: center;

    h2 {
        font-size: 40px;
        font-weight: 300;
        color: #b97f55;
        padding-bottom: 14px;
        border-bottom: 1px solid #99A4C4;
    }
    /* なし！ */
    p {
        font-size: 24px;
        color: #b97f55;
        display: none;
    }
}

/* 選ばれる理由 */
.reason-section {
    background-color: #b97f55;
}
.reason {
    display: flex;
    max-width: 1000px;
    margin: 0px auto;
    justify-content: space-between;
    padding: 50px 0;

    .text {
        color: #FFF0DF;
        width: 55%;
        padding: 80px 0px;
        h2 {
            text-align: center;
            border-bottom: 1px solid #FFF0DF;
            padding-bottom: 20px;
        }
        p {
            padding-top: 30px;
        }
    }
    .candle {
        width: 40%;
        img {
            width: 100%;
            height: auto;
        }
    }
}

/* ニュース */
.news {
    padding: 100px 0px;
    margin: 60px 0px;
    .inner {
        width: 800px;
        margin: 0px auto;
        h2 {
            text-align: center;
            border-bottom: 1px solid #b97f55;
            padding-bottom: 20px;
            width: 800px;
            margin: 0 auto 20px;
        }
        .news-list {
            ul {
                display: flex;
                flex-direction: column;
                gap: 20px;
                margin: 10px 0px;
                padding: 0;
                li a {
                    display: flex;
                    gap: 30px;
                    border-bottom: 1px dashed #99A4C4;
                }
            }
        }
        .news-btn {
            display: flex;
            justify-content: center;
            width: 100%;
            max-width: 800px;
            margin-top: 30px;
            a {
                background-color: #b97f55;
                color: #FAF9F8;
                border-radius: 30px;
                padding: 5px 50px;
            }
            a:hover {
                background: #9E6D49;
                color: #FAF9F8;
                transition: 0.6s
            }
        }
    }
}

/* メニュー */
.menu {
    padding: 60px 0px;
    .contents_wrapper {
        display: block;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        .menu-lead {
            margin: auto;
            padding: 30px 0px;
            display: flex;
            width: 100%;
            max-width: 800px;
            justify-content: center;
            align-items: center;
            h2 {
                width: 30%;
                text-align: right;
            }
            p {
                width: 70%;
                font-size: 16px;
                border-left: 1px solid #b97f55;
                padding-left: 50px;
                margin-left: 50px;
            }
        }
        .wrap {
            display: flex;
            justify-content: center;
            margin: 30px auto;
            gap: 20px;
            .menu-box {
                width: 30%;
                .inner {
                    img {
                        display: block;
                        width: 100%;
                        border-radius: 15px;
                        object-fit: cover;
                        border: 0.5px solid #99A4C4;
                    }
                    dl {
                        margin-top: 10px;
                        color: #b97f55;
                        dt {
                            font-size: 26px;
                        }
                        dd {
                            font-size: 14px;
                            padding: 0 10px;
                        }
                    }
                }
            }
        }
    }
    .menu-btn {
        display: flex;
        justify-content: center;
        width: 100%;
        max-width: 1200px;
        margin: 50px auto;
        a {
            background-color: #b97f55;
            color: #FAF9F8;
            font-weight: 500;
            border-radius: 30px;
            padding: 5px 50px;
        }
        a:hover {
            background: #9E6D49;
            color: #FAF9F8;
            transition: 0.6s
        }
    }
}

/* アクセス */
.access {
    margin: 0 auto;
    max-width: 1000px;
    padding: 50px 0;
    h2 {
        border-bottom: 1px solid #b97f55;
        width: 100%;
        padding-bottom: 20px;
        margin: 0 auto 20px;
        text-align: center;
    }
    .access-box {
        display: flex;
        gap: 5%;
        .map {
            width: 50%;
            iframe {
                width: 100%;
                aspect-ratio: 1/1;
            }
        }
        .access-text {
            width: 45%;
            dl {
                dt {
                    font-weight: 800;
                }
                dd {
                    margin-bottom: 10px;
                }
            }
        }
    }
}

/* フッター */
footer {
    background-color: #99A4C4;
    color: #FAF9F8;
    .footer_wrapper {
        margin: 0;
        padding: 20px 60px;
        .reserve {
            display: flex;
            justify-content: center;
            padding-top: 20px;
            a {
                display: flex;
                justify-content: center;
                text-align: center;
                align-items: center;
                font-size: 26px;
                color: #b97f55;
                width: 400px;
                height: 50px;
                cursor: pointer;
                background-color: #FAF9F8;
                border-radius: 20px;
                box-shadow: 0 4px 0 #838DA8;
            }
            a:hover {
                transform: translateY(4px);
                box-shadow: none;
                transition: .2s
            }
        }

        .footer_middle {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px 0;
            .footer_logo {
                img {
                    height: 120px;
                    width: auto;
                    max-width: 200px;
                    border-radius: 20px;
                }
            }
            .footer_link {
                display: flex;
                justify-content: center;
                .html-btn {
                    font-size: 20px;
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                    margin: 0;
                    li {
                        display: flex;
                        justify-content: center;
                        text-align: center;
                        align-items: center;
                        background-color: #838DA8;
                        color: #FAF9F8;
                        border-radius: 20px;
                        height: 40px;
                        padding: 0 20px;
                    }
                    li:hover {
                        background: #737C94;
                        color: #FAF9F8;
                        transition: 0.6s
                    }
                }
            }
        }

        .footer_nav {
            display: flex;
            justify-content: center;
            .sns ul {
                display: flex;
                gap: 20px;
                margin: 0;
                img {
                    height: 30px;
                }
            }
            .nav-btn ul {
                display: flex;
                gap: 20px;
                margin: 0;
            }
        }
        
        small {
            color: #ffffff;
            font-size: 0.8rem;
            font-weight: 400;
            text-align: center;
            display: block;
            padding: 10px 0;
        }
    }
}
