@charset "UTF-8";

@font-face {
    font-family: "Zen Maru Gothic";
    src: url(/fonts/zen-maru-gothic-v19-japanese-regular.woff2) format("woff2");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "Zen Maru Gothic";
    src: url(/fonts/zen-maru-gothic-v19-japanese-500.woff2) format("woff2");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "Zen Maru Gothic";
    src: url(/fonts/zen-maru-gothic-v19-japanese-700.woff2) format("woff2");
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: "Zen Maru Gothic";
    src: url(/fonts/zen-maru-gothic-v19-japanese-900.woff2) format("woff2");
    font-weight: 900;
    font-display: swap;
}
@font-face {
    font-family: "Poppins";
    src: url(/fonts/poppins-v24-latin-600.woff2) format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Nunito";
    src: url(/fonts/nunito-v32-latin-500.woff2) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

.l-header.header-wrap {
    display: block;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 20px 0 0;
    background-color: transparent;
}

.l-header.header-wrap--fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
}

.l-header.header-wrap--sticky {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 20px 0;
    background-color: #FCFAF5;
}

.l-header.header-wrap * {
    box-sizing: border-box;
    font-family: "Zen Maru Gothic", sans-serif;
}

    .header-wrap .header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 1140px;
        height: 60px;
        margin: 0 auto;
        padding: 7px 7px 7px 25px;
        background-color: #fff;
        border-radius: 32px;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    }

        .header-wrap .header__inner h1 {
            display: block;
            margin: 0;
            font-size: inherit;
            font-weight: inherit;
        }

        .header-wrap .header__logo {
            display: block;
            width: 68px;
            height: 50px;
        }

            .header-wrap .header__logo img {
                display: block;
                width: 68px;
                height: 50px;
                max-width: 68px;
                max-height: 50px;
                object-fit: contain;
            }

        .header-wrap .header__nav {
            display: flex;
            flex-shrink: 0;
            align-items: center;
            gap: 20px;
            height: 46px;
        }

            .header-wrap .header__links {
                display: flex;
                align-items: center;
                gap: 30px;
                height: 37px;
            }

                .header-wrap .header-search {
                    display: flex;
                    align-items: center;
                    gap: 30px;
                    border: 0;
                }

                    .header-wrap .header-search__items {
                        position: relative;
                        display: flex;
                        align-items: center;
                        height: 60px;
                    }

                    .header-wrap .header-search__items:not(:last-child) {
                        border: 0;
                    }

                        .header-wrap .header-search__btn {
                            display: flex;
                            align-items: center;
                            justify-content: flex-start;
                            gap: 10px;
                            width: auto;
                            height: auto;
                            margin: 0;
                            padding: 0;
                            border: 0;
                            background-color: transparent;
                            color: #5F4A30;
                            font-size: 16px;
                            font-weight: 700;
                            line-height: 1;
                            letter-spacing: 0;
                            white-space: nowrap;
                            cursor: pointer;
                        }

                        .header-wrap .header-search__btn.is-active,
                        .header-wrap .header-search__btn[aria-expanded="true"] {
                            color: #EB690B;
                        }

                            .header-wrap .header-search__btn svg {
                                display: block;
                                width: 12px;
                                height: 6px;
                                margin: 0;
                                fill: none;
                                color: currentColor;
                                transition: transform 0.2s ease;
                            }

                            .header-wrap .header-search__btn.is-active svg,
                            .header-wrap .header-search__btn[aria-expanded="true"] svg {
                                transform: scaleY(-1);
                            }

                        .header-wrap .header-pulldown {
                            position: absolute;
                            top: 100%;
                            left: 50%;
                            z-index: 20;
                            width: 197px;
                            opacity: 1;
                            visibility: visible;
                            transform: translateX(-50%);
                        }

                            .header-wrap .header-pulldown__list {
                                display: none;
                                flex-direction: column;
                                gap: 5px;
                                position: static;
                                top: auto;
                                left: auto;
                                width: 197px;
                                margin: 0;
                                padding: 15px;
                                list-style: none;
                                background-color: #FFD9BF;
                                border-radius: 10px;
                                box-shadow: none;
                                opacity: 1;
                                visibility: visible;
                                transition: none;
                            }

                            .header-wrap .header-pulldown__list[aria-hidden="true"],
                            .header-wrap .header-pulldown__list.is-hide {
                                display: none;
                                opacity: 0;
                                visibility: hidden;
                            }

                            .header-wrap .header-pulldown__list.is-show,
                            .header-wrap .header-pulldown__list[aria-hidden="false"] {
                                display: flex;
                                opacity: 1;
                                visibility: visible;
                            }

                                .header-wrap .header-pulldown__items {
                                    margin: 0;
                                    border: 0;
                                }

                                .header-wrap .header-pulldown__items:not(:last-child) {
                                    border: 0;
                                }

                                    .header-wrap .header-pulldown__link {
                                        display: flex;
                                        align-items: center;
                                        justify-content: space-between;
                                        gap: 10px;
                                        width: 167px;
                                        height: 36px;
                                        padding: 0 15px 0 20px;
                                        border: 0;
                                        border-radius: 9999px;
                                        background-color: #fff;
                                        color: #3E2C16;
                                        font-size: 16px;
                                        font-weight: 500;
                                        line-height: 1.5;
                                        text-align: left;
                                        text-decoration: none;
                                        transform: none;
                                    }

                                        .header-wrap .header-pulldown__link svg {
                                            display: block;
                                            width: 10px;
                                            height: 6px;
                                            flex-shrink: 0;
                                            fill: none;
                                            color: #EB690B;
                                            transform: rotate(-90deg);
                                        }

                .header-wrap .header-nav__list {
                    display: flex;
                    align-items: center;
                    gap: 30px;
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }

                    .header-wrap .header-nav__link {
                        position: relative;
                        display: inline-block;
                        color: #5F4A30;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0;
                        text-decoration: none;
                        white-space: nowrap;
                    }

                .header-wrap .header-phone {
                    display: flex;
                    flex-shrink: 0;
                    flex-direction: column;
                    gap: 4px;
                    align-items: center;
                }

                    .header-wrap .header-phone__num {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 2px;
                        width: 100%;
                    }

                        .header-wrap .header-phone__num svg {
                            display: block;
                            width: 22px;
                            height: 22px;
                            color: #EB690B;
                            fill: none;
                        }

                        .header-wrap .header-phone__tel {
                            color: #3E2C16;
                            font-size: 23px;
                            font-weight: 900;
                            line-height: 1;
                            letter-spacing: 0;
                            white-space: nowrap;
                        }

                    .header-wrap .header-phone__hours {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 12px;
                        width: 100%;
                        color: #3E2C16;
                        font-size: 12px;
                        font-weight: 500;
                        line-height: 0.9;
                        letter-spacing: 0;
                        white-space: nowrap;
                    }

                        .header-wrap .header-phone__hours-item {
                            display: flex;
                            align-items: center;
                            gap: 5px;
                        }

            .header-wrap .header-contact {
                position: relative;
                z-index: 1;
                height: 46px;
            }

                .header-wrap .header-contact__btn {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 150px;
                    height: 46px;
                    margin: 0;
                    padding: 0;
                    border: 2px solid transparent;
                    border-radius: 9999px;
                    background-color: #EB690B;
                    color: #fff;
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 1;
                    letter-spacing: 0;
                    text-align: center;
                    text-decoration: none;
                }

            .header-wrap .header-service,
            .header-wrap .header-menu {
                display: none;
            }

            .header-wrap .menu[aria-hidden="true"] {
                display: none;
            }

.l-detail__side .contact-card {
    top: 50px;
}