@charset "UTF-8";

@font-face {
    font-family: 'Cinzel';
    src: url(/fonts/cinzel-v26-latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-SemiBold.woff2);
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Playfair Display';
    src: url(/fonts/playfair-display-v40-latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: Cinzel;
    src: url(/fonts/cinzel-v26-latin-700.woff2);
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-SemiBold.woff2);
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-Black.woff2);
    font-weight: 900;
    font-display: swap;
}
@font-face {
    font-family: 'Lora';
    src: url(/fonts/lora-v37-latin-500.woff2);
    font-weight: 500;
    font-display: swap;
}
.l-header.org-header {
    margin: 0;
    width: 100%;
    min-height: 70px;
    background: #FFFFFF;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 8;
    overflow: hidden;
}
.l-header * {
    font-family: "Noto Sans JP", sans-serif;
}
    .org-header__box {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
        .org-header__inner {
            padding-inline: 15px 0;
            display: flex;
            margin: 0;
            justify-content: space-between;
            width: 100%;
            align-items: center;
        }
            .org-header__left {
                width: 189px;
                height: 29px;
            }
                .org-header__logo {
                    width: 100%;
                    height: 100%;
                    display: flex;
                }
                .org-header__logo:hover {
                    opacity: 1;
                }
                    .org-header__logo img {
                        width: 100%;
                        height: 100%;
                    }
            .org-header__right {
                padding-top: 4px;
                margin-right: 19px;
            }
                .header-nav__list {
                    display: flex;
                    gap: 40px;
                    align-items: center;
                }
                    .header-nav__item {
                        width: fit-content;
                        height: fit-content;
                        position: relative;
                    }
                    .header-nav__item::before {
                        content: "";
                        position: absolute;
                        background: #F3F3F3;
                        width: 1px;
                        height: 50px;
                        top: 0;
                        bottom: 0;
                        margin: auto;
                        right: -20px;
                    }
                    .header-nav__item:last-child::before {
                        display: none;
                    }
                        .header-nav__link {
                            color: #222;
                            font-size: 17px;
                            font-weight: 500;
                            line-height: 1;
                            letter-spacing: 0.1em;
                            display: flex;
                            width: 100%;
                            height: 100%;
                        }
                        .header-nav__link::after {
                            content: "";
                            position: absolute;
                            background: #003088;
                            width: 100%;
                            height: 1px;
                            left: 0;
                            bottom: -3px;
                            transform-origin: left top;
                            transform: scale(0, 1);
                            transition: transform .3s;
                        }
                        .header-nav__link:hover {
                            color: #003088;
                            opacity: 1;
                        }
                        .header-nav__link:hover::after {
                            transform: scale(1, 1);
                            transition: transform .3s;
                        }
            .header__overview-box {
                background: #F7F7F7;
                padding: 11px 12px;
                display: flex;
                flex-direction: column;
                gap: 0px;
                min-width: 255px;
                flex-shrink: 0;
            }
                .header__tel-text {
                    color: #003088;
                    font-family: Cinzel;
                    font-size: 31px;
                    font-weight: 400;
                    line-height: 1.1;
                    display: flex;
                    gap: 6px;
                }
                .header__tel {
                    color: #6D85B2;
                    font-family: "Noto Sans JP";
                    font-size: 19px;
                    font-weight: 600;
                    line-height: 1.3;
                    letter-spacing: 0.1em;
                    margin-top: 2px;
                }
            .header__time-box {
                display: flex;
                gap: 10px;
                padding-left: 2px;
            }
                .header__time {
                    color: #222;
                    font-size: 12px;
                    font-weight: 350;
                    line-height: 1.2;
                    display: flex;
                    gap: 4px;
                }
.float__wrapper {
    position: fixed;
    top: 190px;
    right: 0;
    z-index: 9;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    visibility: hidden;
}
.float__wrapper.is-show {
    opacity: 1;
    visibility: visible;
}
    .float__list {
        display: flex;
        flex-direction: column;

    }
        [class*="float__link--"] {
            width: 50px;
            padding-block: 9px 10px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            color: #FCFCFC;
            align-items: center;
        }
        [class*="float__link--"]:hover {
            opacity: 1;
            background: #FCFCFC;
        }
        .float__link--reserve {
            background: #008ACF;
            border: 1px solid #008ACF;
        }
        .float__link--contact {
            background: #003088;
            border: 1px solid #003088;
            gap: 2px;
        }
        .float__link--reserve:hover {
            color: #008ACF;
        }
        .float__link--contact:hover {
            color: #003088;
        }
            .float__text {
                color: #FCFCFC;
                text-align: center;
                font-family: "Noto Sans JP";
                font-size: 17px;
                font-weight: 500;
                line-height: 1.1;
                letter-spacing: 0.135em;
                writing-mode: vertical-lr;
                padding-right: 2px;
            }
            .float__link--contact .float__text {
                letter-spacing: 0.118em;
            }
            .float__link--reserve:hover .float__text {
                color: #008ACF;
            }
            .float__link--contact:hover .float__text {
                color: #003088;
            }
            