body {
    font-size: calc(16 * var(--px));
}

/* パンくずリスト共通スタイル（モバイル） */
.breadcrumb_section {
    margin: 1em 0;

    .container {
        padding: 0 1em;
    }

    .breadcrumb {
        font-size: calc(12 * var(--px));
    }
}

header.main_header {
    top: 0;
    position: sticky;
    padding: 0;
    .container {
        padding: 1em;
    }
    .logo {
        font-size: 0;
        img {
            max-width: 150px;
        }
    }
    .contact_section {
        gap: 0.5em;
    }
    .hours {
        display: none;
    }
    .tel {
        .text {
            display: none;
        }
        .image {
            border-radius: 0.5em;
            border: 1px solid var(--main-color);
            display: flex;
            align-items: center;
            justify-content: center;
            width: 2.5em;
            height: 2.5em;
            box-sizing: border-box;
            img {
                width: 70%;
                height: 70%;
            }
        }
    }
    .contact {
        span {
            display: none;
        }
        a {
            width: 2.5em;
            height: 2.5em;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            img {
                width: 70%;
                height: 70%;
                position: static;
                transform: none;
            }
            &::after {
                display: none;
            }
        }
    }
    .sp_menu {
        display: block;
        width: 2.5em;
        height: 2.5em;
        margin: 0;
        img {
            width: 100%;
            height: 100%;
        }
    }
    .header_menu_nav {
        position: absolute;
        top: 100%;
        right: 0;
        width: 100%;
        overflow: hidden;
        z-index: -1;
        transition: 0.3s transform;
        transform: translateY(-100%);
        &.open {
            transform: translateY(0);
        }
    }
    .header_menu {
        margin: 0;
        border-top: 1px solid #ccc;
        background-color: #fff;
        overflow: scroll;
        width: 100%;
        box-sizing: border-box;
        gap: 0;
        flex-direction: column;
        padding: 0;
        li {
            width: 100%;
            a {
                padding: 1em;
                display: block;
            }
        }
        & > li {
            border-bottom: 1px solid #ccc;
            &.menu-item-has-children {
                & > a {
                    &::after {
                        display: none;
                    }
                }
            }
        }
    }
    .sub-menu {
        display: flex;
        position: static;
        padding: 0;
        gap: 0;
        li {
            border-top: 1px solid #ccc;
        }
        a {
            &:before {
                content: '-';
                margin-right: 0.5em;
            }
        }
    }
}

header.mini_header {
    display: none;
}

footer {
    padding: 2em;
    .container {
        flex-direction: column;
    }
    .footer_menu {
        margin-top: 2em;
        margin-right: 0;
        columns: 2;
        line-height: 1.4em;
    }
}

.section_title {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em;
    padding-bottom: 1em;
    &::before {
        bottom: 0;
    }
    .jp {
        font-size: calc(30 * var(--px));
        margin: 0;
    }
    .en {
        margin: 0;
        font-size: calc(16 * var(--px));
    }
}
