@charset "UTF-8";

/*///////////////////// font-face 読み込み例 ///////////////////////////*/
@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url(/fonts/JosefinSans-Light.ttf);
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url(/fonts/JosefinSans-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url(/fonts/JosefinSans-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url(/fonts/JosefinSans-SemiBold.ttf);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url(/fonts/JosefinSans-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}
/*///////////////////// font-face 読み込み例 ///////////////////////////*/
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}
.org-header *{
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.org-header {
    width: 100%;
    background: #FFF;
    z-index: 5;
    position: sticky;
    top: 0px;
}
    .org-header__inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: 80px;
        padding-left: 10px;
        border-bottom: 1px solid #A2A2A2;
    }
        .org-header__logo {
            width: 248px;
            height: 62px;
        }
            .org-header__logo img {
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
        .org-header__right {
            display: flex;
            align-items: center;
            gap: 30px;
        }
            .org-header__nav {
                display: flex;
                align-items: center;
                height: 79px;
                border-left: 1px solid #A2A2A2;
                padding-left: 29px;
            }
                .org-header__nav-list {
                    display: flex;
                    gap: 30px;
                }
                    .org-header__nav-link {
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1;
                        color: #3B3B3B;
                    }
            .org-header-service {
                display: flex;
            }
                [class*="org-header-service__link"] {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-direction: column;
                    gap: 3px;
                    width: 80px;
                    height: 79px;
                    padding-bottom: 3px;                
                    border-left: 1px solid #A2A2A2;
                }
                    [class*="org-header-service__link"] span {
                        font-size: 13px;
                        font-weight: 400;
                        line-height: 1;
                        color: #3B3B3B;
                    }
                    .org-header-service__link--favorite svg {
                        color: #D00D0D;
                    }
                    .org-header-service__link--history svg {
                        color: #EBB214;
                    }

.float__wrap {
    position: fixed;
    top: 140px;
    right: 10px;
    z-index: 4;
    transition: opacity 0.3s, visibility 0.3s;
}
.float__wrap.is-footer-in-view,
.float__wrap.float__wrap--top.is-visible.is-footer-in-view {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.float__wrap.float__wrap--top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.float__wrap.float__wrap--top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
    .float__list {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
        [class*="float__link"] {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 1px;
            width: 80px;
            height: 80px;
            border-radius: 5px;
            border: 1px solid #3B3B3B;
            box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.20);
            padding-bottom: 3px;
            font-family: "Zen Kaku Gothic New", sans-serif;
            font-size: 16px;
            font-weight: 400;
            line-height: 1;
            color: #fff;
        }
        .float__link--reservation {
            background: #3EB133;
        }
        .float__link--line {
            background: #06C755;
        }
        .float__link--mail {
            background: #EBB214;
        }
        .float__link--tiktok {
            background: #000;
        }
        .float__link--instagram {
            background: #D52F98;
        }
        .float__link--youtube {
            background: #D00D0D;
        }