@charset "UTF-8";

/*///////////////////// font-face ///////////////////////////*/
/*Shippori Mincho 400（ヘッダー営業時間・プルダウン）*/
@font-face {
    font-family: "Shippori Mincho";
    src: url(/fonts/ShipporiMincho-Regular.woff2) format('woff2');
    font-weight: 400;
    font-display: swap;
}
/*Shippori Mincho 500*/
@font-face {
    font-family: "Shippori Mincho";
    src: url(/fonts/ShipporiMincho-Medium.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*Shippori Mincho 700（ヘッダー見出し・ナビ・ボタン）*/
@font-face {
    font-family: "Shippori Mincho";
    src: url(/fonts/ShipporiMincho-Bold.woff2) format('woff2');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: "Shippori Mincho";
    src: url(/fonts/ShipporiMincho-ExtraBold.woff2) format('woff2');
    font-weight: 800;
    font-display: swap;
}
/*Noto Sans JP 400*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Regular.woff2) format('woff2');
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Medium.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*Noto Sans JP 700*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Bold.woff2) format('woff2');
    font-weight: 700;
    font-display: swap;
}
/*Noto serif JP 700*/
@font-face {
    font-family: "Noto Serif JP";
    src: url(/fonts/NotoSerifJP-Bold.woff2) format('woff2');
    font-weight: 700;
    font-display: swap;
}
/*///////////////////// font-face ///////////////////////////*/

/*//////////////////// Header ////////////////////*/
.org-header * {
    box-sizing: border-box;
    font-family: "Shippori Mincho", serif;
    font-weight: 700;
}

.org-header {
    display: block;
    position: fixed;
    top: 0;
    z-index: 3;
    width: 100%;
    padding: 0;
    background-color: transparent;
}

.org-header.is-stuck {
    background-color: #FFF7FC;
}

.org-header.org-header--sub.is-stuck {
    position: sticky;
    top: 0;
    left: 0;
}

.org-header a {
    text-decoration: none;
}

    .org-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 81px;
        margin: 0 auto;
        padding-left: 15px;
    }

        .org-header__logo {
            width: 323px;
            height: 70px;
            margin: 0;
        }

            .org-header__logo-link {
                display: block;
                width: 323px;
                height: auto;
            }

            .org-header__logo-link:hover{
                opacity: 1;
            }

                .org-header__logo-link img {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

        .org-header__content {
            display: flex;
            align-items: center;
            gap: 15px;
            height: 81px;
        }

            .org-header__info {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
                justify-content: flex-end;
                gap: 15px;
                height: 81px;
                padding-top: 8px;
            }

                .org-header__util {
                    display: flex;
                    align-items: flex-end;
                    gap: 14px;
                }

                    .util__list {
                        display: flex;
                        align-items: center;
                        gap: 6px;
                        margin: 0;
                        padding: 0;
                        list-style: none;
                    }

                        .util__item {
                            display: flex;
                        }

                            .util__link {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                padding: 6px 10px;
                                border-radius: 9999px;
                                background-color: #f72592;
                                color: #fff;
                                font-size: 14px;
                                font-weight: 700;
                                line-height: 1;
                                letter-spacing: 0;
                                white-space: nowrap;
                            }

                    .org-header__tel {
                        display: flex;
                        align-items: center;
                        gap: 8px;
                        margin: 0;
                        color: #ff7f2c;
                        font-size: 26px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        white-space: nowrap;
                    }

                        .org-header__tel img {
                            display: block;
                            width: 35px;
                            height: 23px;
                        }

                    .org-header__hours {
                        margin: 0;
                        color: #707070;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.3;
                        letter-spacing: 0;
                        white-space: nowrap;
                    }

                .gnavi {
                    position: relative;
                }

                    .gnavi__list {
                        display: flex;
                        align-items: center;
                        gap: 22px;
                        margin: 0;
                        padding: 0;
                        list-style: none;
                    }

                        .gnavi__item {
                            position: relative;
                        }

                            .gnavi__link {
                                display: flex;
                                align-items: center;
                                gap: 4px;
                                margin: 0;
                                padding-bottom: 8px;
                                border: none;
                                background: none;
                                color: #333;
                                font-family: inherit;
                                font-size: 14px;
                                font-weight: 700;
                                line-height: 1;
                                letter-spacing: 0;
                                white-space: nowrap;
                                cursor: pointer;
                            }
                            .gnavi__link:hover{
                                opacity: 1;
                                color: #F72592;
                            }

                                .gnavi__arrow {
                                    position: relative;
                                    display: block;
                                    width: 14px;
                                    height: 14px;
                                    flex-shrink: 0;
                                    border-radius: 50%;
                                    background-color: #f72592;
                                }

                                .gnavi__arrow::before {
                                    content: "";
                                    position: absolute;
                                    top: 50%;
                                    left: 50%;
                                    border-style: solid;
                                    border-width: 3px 0 3px 5px;
                                    border-color: transparent transparent transparent #fff;
                                    transform: translate(-30%, -50%);
                                }

                            .gnavi__menu {
                                display: none;
                                position: absolute;
                                top: 100%;
                                left: 50%;
                                z-index: 3;
                                flex-direction: column;
                                gap: 1px;
                                width: 100px;
                                margin: 0;
                                padding: 0;
                                background-color: rgba(247, 37, 146, 0.4);
                                list-style: none;
                                transform: translateX(-50%);
                            }

                            .gnavi__item:hover .gnavi__menu {
                                display: flex;
                            }

                                .gnavi__menu-item {
                                    width: 100px;
                                    height: 34px;
                                    background-color: #fff;
                                }

                                    .gnavi__menu-link {
                                        display: flex;
                                        align-items: center;
                                        justify-content: center;
                                        width: 100%;
                                        height: 100%;
                                        padding: 10px;
                                        color: #f72592;
                                        font-size: 14px;
                                        font-weight: 400;
                                        line-height: 1;
                                        letter-spacing: 0;
                                        white-space: nowrap;
                                    }
                                    .gnavi__menu-link:hover{
                                        opacity: 1;
                                        color: #CC0000;
                                        text-decoration: underline;
                                    }

            .member__list {
                display: flex;
                flex-direction: column;
                gap: 1px;
                width: 120px;
                margin: 0;
                padding: 0;
                list-style: none;
            }

                .member__item {
                    width: 120px;
                    height: 40px;
                }

                    [class*="member__link"] {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 2px;
                        width: 120px;
                        height: 40px;
                        padding: 0 10px;
                        color: #fff;
                        font-size: 14px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        white-space: nowrap;
                    }

                    .member__link--register,
                    .member__link--mypage {
                        background-color: #f72592;
                    }

                    .member__link--login,
                    .member__link--logout {
                        background-color: #ff93cb;
                    }

                        [class*="member__link"] img {
                            display: block;
                            width: 20px;
                            height: 20px;
                            flex-shrink: 0;
                        }
