@charset "utf-8";

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: inherit;
}

body {
    margin: 0;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
}

.pcbr {
    display: block;
}

.spbr {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .spbr {
        display: block;
    }
}

@media screen and (max-width: 767px) {
    .pcbr {
        display: none;
    }

    .spbr {
        display: block;
    }

    body {
        font-size: 16px;
    }
}


/* -----------------header------------------ */

.site-header {
    background: #312D2C;
    padding: 20px 40px 24px;
    font-family: "Shippori Mincho";
}

.site-header * {
    box-sizing: border-box;
    font-family: "Shippori Mincho";
}

.site-header__inner {
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.site-header__branding {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-header__title {
    margin: 0 0 6px;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.08em;
}

.site-header__logo {
    display: block;
    line-height: 0;
}

.site-header__logo img {
    display: block;
    width: 520px;
    max-width: 100%;
    height: auto;
}

.site-header__cta {
    display: flex;
    align-items: center;
    gap: 26px;
    padding-top: 20px;
}

.site-header__btn {
    min-height: 72px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    color: #FFF;
    text-align: center;
    font-family: "Shippori Mincho";
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    white-space: nowrap;
    transition: opacity 0.3s ease;
}

.site-header__btn:hover {
    opacity: 0.9;
}

.site-header__btn--tel {
    background: rgba(194, 146, 67, 0.70);
    box-shadow: 0 4px 4px 0 rgba(218, 120, 49, 0.55);
    min-width: 289px;
}

.site-header__btn--web {
    background: rgba(237, 226, 198, 0.70);
    box-shadow: 0 4px 4px 0 rgba(226, 187, 89, 0.55);
    min-width: 219px;
}

.site-header__btn-icon {
    display: inline-block;
    flex: 0 0 auto;
    background-color: currentColor;
}

.site-header__btn-icon--tel {
    width: 30px;
    height: 30px;
    -webkit-mask: url("../images/mdi_telephone.svg") no-repeat center / contain;
    mask: url("../images/mdi_telephone.svg") no-repeat center / contain;
}

.site-header__btn-icon--web {
    width: 29px;
    height: 29px;
    -webkit-mask: url("../images/fluent-mdl2_reservation-orders.svg") no-repeat center / contain;
    mask: url("../images/fluent-mdl2_reservation-orders.svg") no-repeat center / contain;
}

.site-header__btn-text {
    display: inline-block;
    transform: translateY(-1px);
}

/* タブレット */
@media screen and (max-width: 1200px) {
    .site-header {
        padding: 18px 24px 22px;
    }

    .site-header__inner {
        gap: 24px;
    }

    .site-header__logo img {
        width: 420px;
    }

    .site-header__cta {
        gap: 16px;
        padding-top: 16px;
    }

    .site-header__btn {
        font-size: 24px;
        min-height: 60px;
        padding: 0 18px;
    }

    .site-header__btn--tel {
        min-width: 240px;
    }

    .site-header__btn--web {
        min-width: 180px;
    }

    .site-header__btn-icon--tel,
    .site-header__btn-icon--web {
        width: 24px;
        height: 24px;
    }
}

/* SP：電話ボタン・WEBボタン非表示 */
@media screen and (max-width: 767px) {
    .site-header {
        padding: 16px 16px 18px;
    }

    .site-header__inner {
        display: block;
    }

    .site-header__title {
        font-size: 11px;
        margin-bottom: 6px;
    }

    .site-header__logo img {
        width: 280px;
    }

    .site-header__cta {
        display: none;
    }
}

/* ===== ナビゲーションメニュー ===== */
/* 最初は通常の位置に */
.nav {
    width: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    transition: all 0.3s ease-in-out;
    z-index: 100;
}

/* 固定されるときのスタイル */
.nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); */
    background: #ffffff;
    transition: all 0.3s ease-in-out;
    z-index: 15;
}


/* メニューリスト */
.nav-list {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 80%;
    list-style: none;
    padding: 0;
    margin: 0 auto;
}

/* メニュー項目 */
.nav-item {
    position: relative;
}

/* メニューリンク */
.nav-item a {
    text-decoration: none;
    color: #666;
    font-size: 16px;
    font-weight: bold;
    padding: 15px 0;
    display: block;
    position: relative;
    transition: color 0.3s ease;
}

.nav-item-menu {
    text-decoration: none;
    color: #666;
    font-size: 16px;
    font-weight: bold;
    padding: 15px 0;
    display: block;
    position: relative;
    transition: color 0.3s ease;
}

/* ホバー時のエフェクト（下線アニメーション） */
.nav-item a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 5px;
    width: 0;
    height: 2px;
    background: #938068;
    transition: all 0.3s ease-out;
    transform: translateX(-50%);
}

.nav-item a:hover::after {
    width: 100%;
}

.nav-item a:hover {
    color: #b19768;
}

/* プルダウンメニュー */
.has-dropdown .dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    list-style: none;
    padding: 10px;
    margin: 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* プルダウンメニュー項目 */
.dropdown li {
    padding: 12px 5px;
}

.dropdown li a {
    text-decoration: none;
    color: #666;
    display: block;
    font-size: 14px;
    transition: background 0.3s ease, padding-left 0.3s ease;
}

.dropdown li a:hover {
    background: #f4f4f4;
    padding-left: 5px;
}

/* ホバー時にプルダウンを表示 */
.has-dropdown:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
    z-index: 1;
}

/* ハンバーガーメニュー（スマホ対応） */
.menu-toggle {
    display: none;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
}

.sp-only {
    display: none;
}

/* ----------------------------------------------------
タブレット用（768px〜1024px）
---------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .pcbr {
        display: none;
    }
}

/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media (max-width: 768px) {

    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .drawer-hamburger {
        position: fixed;
        top: 20px;
        right: 20px;
        background: #C29243;
        width: 60px;
        height: 60px;
        color: #fff;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 10001;
        cursor: pointer;
    }

    .drawer-hamburger-icon {
        width: 24px;
        height: 2px;
        background: #fff;
        position: relative;
        transition: all 0.3s ease;
        top: 8px;
    }

    span.menu_txt {
        top: 12px;
        position: relative;
    }

    .drawer-hamburger-icon::before,
    .drawer-hamburger-icon::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 2px;
        background: #fff;
        transition: all 0.3s ease;
    }

    .drawer-hamburger-icon::before {
        top: -8px;
    }

    .drawer-hamburger-icon::after {
        top: 8px;
    }

    .menu_txt::before {
        content: 'MENU';
        font-size: 10px;
        margin-top: 6px;
    }

    #drawer-checkbox:checked+#drawer-icon .drawer-hamburger-icon {
        background: transparent;
    }

    #drawer-checkbox:checked+#drawer-icon .drawer-hamburger-icon::before {
        transform: rotate(45deg);
        top: 0;
    }

    #drawer-checkbox:checked+#drawer-icon .drawer-hamburger-icon::after {
        transform: rotate(-45deg);
        top: 0;
    }

    #drawer-checkbox:checked+#drawer-icon .menu_txt::before {
        content: 'CLOSE';
    }

    #drawer-checkbox {
        position: absolute;
        opacity: 0;
        pointer-events: none;
        top: -100px;
        left: -9999px;
    }

    #drawer-content {
        opacity: 0;
        transform: translateY(-20px);
        pointer-events: none;
        transition: opacity 0.4s ease, transform 0.4s ease;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        background: #312D2C;
        z-index: 10000;
        overflow-y: auto;
        padding: 2rem 1rem 4rem;
        box-sizing: border-box;
    }

    .drw_contact {
        margin-bottom: 2rem;
    }

    .web-reserve a {
        display: inline-block;
        font-size: 1.2rem;
        margin-top: 0.5em;
        background: #f7961d;
        color: #fff;
        padding: 0.6em 1.2em;
        border-radius: 30px;
        text-decoration: none;
    }
}

#drawer-checkbox:checked~#drawer-content {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    color: #fff;
}

/* ここが重要 */
.drawer-nav dl,
.drawer-nav dt,
.drawer-nav dd {
    margin: 0;
    padding: 0;
}

.com_sp_menu,
.com_medical {
    margin: 0;
    padding: 0;
    list-style: none;
}

.com_sp_menu li,
.com_medical li {
    list-style: none;
    margin-bottom: 0.6em;
    font-size: 1rem;
}

li.littl {
    font-size: 1rem;
    font-weight: 600;
    padding-left: 0;
    margin-top: 1.2em;
    color: #A18838;
}

.com_sp_menu li:not(.littl),
.com_medical li:not(.littl) {
    position: relative;
    padding-left: 1.4em;
    color: #ffffff;
}

.com_sp_menu li:not(.littl)::before,
.com_medical li:not(.littl)::before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 0.5em;
    height: 0.5em;
    background-color: #D5B37C;
    border-radius: 50%;
}

.drw_index {
    font-weight: bold;
    font-size: 1.2em;
    margin: 1.5em 0 0.5em;
    color: #D5B37C;
}

.drw_info .schedule-table {
    margin: 10px 0;
}

.telp {
    font-size: 1.5rem;
}

.telp i {
    margin: 0 5px 0 0;
}

.web-reserve a {
    display: inline-block;
    font-size: 1.2rem;
    margin-top: 0.5em;
    background: #D5B37C;
    color: #fff;
    padding: 0.6em 1.2em;
    border-radius: 30px;
    text-decoration: none;
}


.nav-item a.active {
    color: #333333;
    /* テキスト色 */
    background-color: rgba(74, 144, 226, 0.1);
    /* 薄いブルーの背景色 */
    border-radius: 50%;
    /* 円形にする */
    padding: 10px;
    /* 上下左右に均等なパディング */
    display: inline-flex;
    /* flexを使用して中央揃えを容易に */
    justify-content: center;
    /* 横軸中央揃え */
    align-items: center;
    /* 縦軸中央揃え */
    min-width: 30px;
    /* 最小幅を指定 */
    height: 30px;
    /* 高さを指定 */
    transition: background-color 0.3s ease;
    /* 背景色の変化にトランジションを適用 */
    text-align: center;
    /* テキストを中央揃えに */
    white-space: nowrap;
    /* テキストを折り返さない */
}

.nav-item a.active:hover {
    background-color: rgba(74, 144, 226, 0.2);
    /* ホバー時に背景色を少し濃くする */
}

/* ボタン */
.button-1-unit {
    max-width: 290px;
    margin: 0 auto;
}

.button-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 20px auto 0;
    padding: .5em 1em;
    border: none;
    color: #175899;
    font-size: 1.6rem;
    z-index: 1;
}

.button-1::before {
    position: absolute;
    transform: skewX(-25deg);
    width: 100%;
    height: 100%;
    border: 1px solid #175899;
    content: '';
    background-color: #f7fafd;
    z-index: -5;
}

.button-1::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #175899;
    border-right: 2px solid #175899;
    content: '';
}

/* ホバー時のスタイル */
.button-1:hover {
    color: #fff;
    /* テキストを白に */
}

.button-1:hover::before {
    background-color: #175899;
    /* 平行四辺形の背景色を変更 */
    z-index: -10;
}

.button-1:hover::after {
    border-top-color: #fff;
    /* 矢印の色も白に */
    border-right-color: #fff;
}

/* ホバー時に少しふわっと縮むアニメーション */
.button-1:active {
    transform: scale(0.95);
    /* ボタンが縮むエフェクト */
}


/* ボタン2 */
.button-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: .5em 1em .5em 1em;
    border: 1px solid #175899;
    background-color: #fff;
    color: #175899;
    font-size: 1.6rem;
    max-width: 290px;
}


.button-2:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}

/* =================================
   汎用ボタン
================================= */
.btn__link {
    display: inline-block;
    position: relative;
    overflow: visible;
    color: #fff;
    border: 1px solid #D5B37C;
    background-color: #D5B37C;
    padding: 1.0rem 4.5rem 1.0rem 3.0rem;
    transition: background-color .3s ease, color .3s ease;
    margin-top: 20px;
    font-size: 20px;
    text-decoration: none;
}

.btn__link::after {
    content: "";
    position: absolute;
    display: block;
    width: 7px;
    height: 18px;
    top: 50%;
    right: 2.0rem;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: translateY(-50%) rotate(45deg) skewX(-45deg);
    transition: transform .3s ease, right .3s ease;
}

.btn__link:hover {
    background-color: #caa35f;
    color: #fff;
}

.btn__link:hover::after {
    right: 1.2rem;
    transform: translateY(-50%) rotate(45deg) skewX(-45deg);
}
/* ----------------------------------------------------
タブレット
---------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .btn__link::after {
        right: 8rem;
    }

    .btn__link {
        font-size: 20px;
    }
}

/* ----------------------------------------------------
スマホ用（〜767px）
---------------------------------------------------- */
@media (max-width: 768px) {
    .btn__link {
        display: inline-block;
        position: relative;
        overflow: visible;
        color: #fff;
        border: 1px solid #D5B37C;
        background-color: #D5B37C;
        padding: 0.5rem 3.5rem 0.5rem 2rem;
        transition: background-color .3s ease, color .3s ease;
        margin-top: 20px;
        font-size: 16px;
        text-decoration: none;
    }

    .btn__link::after {
        content: "";
        position: absolute;
        display: block;
        width: 7px;
        height: 18px;
        top: 50%;
        right: 2.0rem;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        transform: translateY(-50%) rotate(45deg) skewX(-45deg);
        transition: transform .3s ease, right .3s ease;
    }

    .btn__link:hover {
        background-color: #caa35f;
    }

    .btn__link:hover::after {
        right: 1.2rem;
        transform: translateY(-50%) rotate(45deg) skewX(-45deg);
    }
}

/* ------------------- footer ------------------- */
.footer * {
    color: #fff;
}

.footer {
    position: relative;
    padding: 68px 42px 24px;
    background:
        linear-gradient(0deg, rgba(31, 31, 31, 0.70) 0%, rgba(31, 31, 31, 0.70) 100%),
        url("../images/footer-back.png") lightgray 50% / cover no-repeat;
    background-position: center;
    background-repeat: no-repeat;
}

.footerinner {
    position: relative;
    z-index: 2;
    max-width: 1255px;
    margin: 0 auto;
}

/* top */
.footer-top {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 74px;
    padding-bottom: 46px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.9);
}

.footer-left {
    width: 550px;
}

.footer-logo img {
    display: block;
    width: 455px;
    max-width: 100%;
    margin: 0 auto 28px;
}

.footer-schedule {
    text-align: center;
}

.medical-hours {
    margin: 0 0 14px;
    font-family: "Shippori Mincho", serif;
    font-size: 24px;
    font-weight: 500;
    line-height: normal;
}

/* table */
.schedule-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

.schedule-table th,
.schedule-table td {
    border: 1px solid #5c5c5c;
    text-align: center;
    padding: 6px 8px;
    line-height: 1.2;
}


.schedule-table th {
    background: #6a6a6a;
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: 16px;
    font-weight: 500;
}

.schedule-table td {
    background: rgba(255, 255, 255, 0.88);
    color: #091B2C;
    font-family: "Shippori Mincho", serif;
    font-size: 16px;
    font-weight: 500;
}

.schedule-table .footer-time {
    color: #6b6b6b;
    font-size: 16px;
    white-space: nowrap;
}

.schedule-table .close {
    color: #091B2C;
    background: #E0E0E0;
}


.schedule-table .star {
    color: #091B2C;
    background: #E0E0E0;
}

/* note */
.footer-schedule-note {
    margin-top: 20px;
}

.footer-schedule-note p {
    margin: 2px 0 0;
    font-family: "Shippori Mincho", serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

/* info */
.footer-info {
    width: 420px;
    padding-top: 78px;
}

.footer-info p {
    position: relative;
    margin: 0 0 18px;
    padding-left: 38px;
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
}

.footer-info p:nth-child(1)::before,
.footer-info p:nth-child(2)::before,
.footer-info p:nth-child(3)::before {
    content: "";
    position: absolute;
    top: 0.2em;
    left: 0;
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.footer-info p:nth-child(1)::before,
.footer-info p:nth-child(2)::before {
    background-image: url("../images/footer-icon-map.svg");
}

.footer-info p:nth-child(3)::before {
    background-image: url("../images/footer-icon-tel.svg");
}

/* nav */
.footer-nav {
    padding: 30px 0 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.9);
}

.footer-nav-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px 34px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav-item {
    position: relative;
}

.footer-nav-item a {
    text-decoration: none;
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    padding: 4px 0;
    display: block;
    position: relative;
    transition: color 0.3s ease;
}

.footer-nav-item a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: #938068;
    transition: all 0.3s ease-out;
    transform: translateX(-50%);
}

.footer-nav-item a:hover::after {
    width: 100%;
}

.footer-nav-item a:hover {
    color: #b19768;
}

/* copyright */
.footer-bottom {
    text-align: center;
    padding-top: 12px;
}

.footer-bottom p {
    margin: 0;
    font-family: "Shippori Mincho", serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}

/* ----------------------------------------------------
   tablet
---------------------------------------------------- */
@media (max-width: 1100px) {
    .footer {
        padding: 56px 24px 22px;
    }

    .footer-top {
        gap: 36px;
    }

    .footer-left {
        width: 56%;
    }

    .footer-info {
        width: 44%;
        padding-top: 62px;
    }

    .footer-logo img {
        width: 420px;
    }

    .footer-info p {
        font-size: 18px;
    }

    .footer-nav-list {
        gap: 16px 24px;
    }

    .footer-nav-item a {
        font-size: 15px;
    }
}

/* ----------------------------------------------------
   smartphone
---------------------------------------------------- */
@media (max-width: 768px) {
    .footer {
        padding: 52px 20px 26px;
    }

    .footerinner {
        max-width: 100%;
    }

    .footer-top {
        display: block;
        padding-bottom: 28px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.9);
    }

    .footer-left,
    .footer-info {
        width: 100%;
    }

    .footer-logo img {
        width: 100%;
        max-width: 259px;
        margin: 0 auto 26px;
    }

    .footer-info {
        padding: 30px 10px 0px;
    }

    .medical-hours {
        font-size: 16px;
        margin-bottom: 14px;
    }

    .schedule-table th,
    .schedule-table td {
        font-size: 11px;
        padding: 6px 4px;
    }

    .schedule-table .footer-time {
        font-size: 11px;
    }

    .footer-schedule-note {
        margin-top: 16px;
    }

    .footer-schedule-note p {
        font-size: 11px;
        line-height: 1.6;
        text-align: center;
    }

    .footer-info p {
        padding-left: 20px;
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .footer-nav {
        padding: 28px 0 24px;
    }

    .footer-nav-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px 32px;
        width: 100%;
        padding: 0 20px;
    }

    .footer-nav-item a {
        font-size: 15px;
        text-align: left;
    }

    .footer-bottom {
        padding-top: 16px;
    }

    .footer-bottom p {
        font-size: 10px;
        line-height: 1.7;
    }
}

/* =================================
   下層のFV
================================= */
:root {
    /* color */
    --lower-black-back: #3C3837;
    --lower-h2title-yellow: linear-gradient(90deg, #C29243 0%, #E0C495 100%);
    --lower-gold: #97743C;
    --lower-yellow: #C29243;
    --lower-white: #FFFFFF;
    --lower-black: #312D2C;
    --lower-gray: #E4E4E4;

    /* font */
    --lower-font-family: "Shippori Mincho", serif;
    --lower-font-size-pc: 20px;
    --lower-font-size-sp: 16px;

    /* lower fv */
    --lower-fv-height-pc: 520px;
    --lower-fv-height-sp: 136px;

    --lower-fv-title-size-pc: 40px;
    --lower-fv-title-size-sp: 16px;
    --lower-fv-title-weight: 600;

    --lower-fv-title-line-color: rgba(255, 255, 255, 0.7);

    --lower-fv-bottom-pc: 59px;
    --lower-fv-bottom-sp: 16px;

    --lower-fv-line-gap-pc: 14px;
    --lower-fv-line-gap-sp: 8px;

    --lower-fv-side-padding-pc: 40px;
    --lower-fv-side-padding-sp: 12px;
}

.lower-fv {
    position: relative;
    width: 100%;
    min-height: var(--lower-fv-height-pc);
    background-color: lightgray;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, 0.60) 0%, rgba(102, 102, 102, 0.36) 100%),
        var(--lower-fv-bg-pc);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}

.lower-fv__inner {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    width: 100%;
    min-height: var(--lower-fv-height-pc);
    padding: 0 0 var(--lower-fv-bottom-pc) var(--lower-fv-side-padding-pc);
    box-sizing: border-box;
}

.lower-fv__titleWrap {
    position: relative;
    display: inline-block;
    width: fit-content;
    max-width: calc(100% - var(--lower-fv-side-padding-pc));
    padding: 0 0 var(--lower-fv-line-gap-pc);
    box-sizing: border-box;
}

.lower-fv__titleWrap::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -9px;
    width: 100%;
    height: 1px;
    background: var(--lower-fv-title-line-color);
}

.lower-fv__title {
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 0;
    color: var(--lower-white);
    text-align: left;
    font-size: var(--lower-fv-title-size-pc);
    font-style: normal;
    font-weight: var(--lower-fv-title-weight);
    line-height: 1.2;
}

/* =========================
   タブレット
========================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .lower-fv__title {
        font-size: 28px;
    }
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
    body.lower-page {
        font-size: var(--lower-font-size-sp);
    }

    .lower-fv {
        min-height: var(--lower-fv-height-sp);
        background-image:
            linear-gradient(90deg, rgba(0, 0, 0, 0.60) 0%, rgba(102, 102, 102, 0.36) 100%),
            var(--lower-fv-bg-sp);
        background-repeat: no-repeat, no-repeat;
        background-position: 0 0, center center;
        background-size: 100% 100%, cover;
    }

    .lower-fv__inner {
        min-height: var(--lower-fv-height-sp);
        padding: 0 0 var(--lower-fv-bottom-sp) var(--lower-fv-side-padding-sp);
    }

    .lower-fv__titleWrap {
        width: fit-content;
        max-width: calc(100% - var(--lower-fv-side-padding-sp));
        padding: 0 0 var(--lower-fv-line-gap-sp);
    }

    .lower-fv__title {
        font-size: var(--lower-fv-title-size-sp);
    }
}


/* =================================
   下層パンくず
================================= */
:root {
    --lower-breadcrumb-bg: #3C3837;
    --lower-breadcrumb-home-color: #97743C;
    --lower-breadcrumb-link-color: #97743C;
    --lower-breadcrumb-current-color: #FFFFFF;
    --lower-breadcrumb-separator-color: rgba(255, 255, 255, 0.72);

    --lower-breadcrumb-font-size-pc: 16px;
    --lower-breadcrumb-font-size-sp: 10px;

    --lower-breadcrumb-letter-spacing-pc: 0.08em;
    --lower-breadcrumb-letter-spacing-sp: 0.06em;

    --lower-breadcrumb-padding-top-pc: 39px;
    --lower-breadcrumb-padding-bottom-pc: 39px;
    --lower-breadcrumb-padding-top-sp: 18px;
    --lower-breadcrumb-padding-bottom-sp: 18px;

    --lower-breadcrumb-side-padding-pc: 80px;
    --lower-breadcrumb-side-padding-sp: 16px;

    --lower-breadcrumb-gap-pc: 28px;
    --lower-breadcrumb-gap-sp: 16px;
}

.lower-breadcrumb {
    background: var(--lower-breadcrumb-bg);
}

.lower-breadcrumb__inner {
    width: 100%;
    padding:
        var(--lower-breadcrumb-padding-top-pc) var(--lower-breadcrumb-side-padding-pc) var(--lower-breadcrumb-padding-bottom-pc);
    box-sizing: border-box;
}

.lower-breadcrumb__nav {
    width: 100%;
}

.lower-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lower-breadcrumb__item {
    position: relative;
    display: flex;
    align-items: center;
    font-size: var(--lower-breadcrumb-font-size-pc);
    line-height: 1.5;
    letter-spacing: var(--lower-breadcrumb-letter-spacing-pc);
}

.lower-breadcrumb__item+.lower-breadcrumb__item {
    margin-left: var(--lower-breadcrumb-gap-pc);
}

.lower-breadcrumb__item+.lower-breadcrumb__item::before {
    content: ">";
    position: absolute;
    left: calc(var(--lower-breadcrumb-gap-pc) * -0.55);
    top: 50%;
    transform: translateY(-50%);
    color: var(--lower-breadcrumb-separator-color);
    font-size: 11px;
    line-height: 1;
}

.lower-breadcrumb__link,
.lower-breadcrumb__current {
    font-family: var(--lower-font-family);
    text-decoration: none;
    white-space: nowrap;
}

.lower-breadcrumb__link {
    color: var(--lower-breadcrumb-link-color);
}


.lower-breadcrumb__link--home {
    color: var(--lower-breadcrumb-home-color);
}

.lower-breadcrumb__current {
    color: var(--lower-breadcrumb-current-color);
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
    .lower-breadcrumb__inner {
        padding:
            var(--lower-breadcrumb-padding-top-sp) var(--lower-breadcrumb-side-padding-sp) var(--lower-breadcrumb-padding-bottom-sp);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lower-breadcrumb__list {
        flex-wrap: nowrap;
        width: max-content;
        min-width: 100%;
    }

    .lower-breadcrumb__item {
        font-size: var(--lower-breadcrumb-font-size-sp);
        letter-spacing: var(--lower-breadcrumb-letter-spacing-sp);
    }

    .lower-breadcrumb__item+.lower-breadcrumb__item {
        margin-left: var(--lower-breadcrumb-gap-sp);
    }

    .lower-breadcrumb__item+.lower-breadcrumb__item::before {
        left: calc(var(--lower-breadcrumb-gap-sp) * -0.56);
        font-size: 9px;
    }
}

/* =================================
   下層共通｜無料カウンセリング導線
================================= */
#lower-free-consultation-cta {
    padding: 20px 6.5% 100px 6.5%;
    background: var(--lower-black-back);
    box-sizing: border-box;
}

#lower-free-consultation-cta .lower-section-h2 {
    margin: 0 auto;
}

.lower-contact-cta__sp-br {
    display: none;
}

.lower-contact-cta__lead {
    width: 100%;
    max-width: 958px;
    margin: 75px auto 0;
}

.lower-contact-cta__lead p {
    margin: 0;
    color: var(--lower-white);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
	text-align:center;
}

.lower-contact-cta__card {
    display: grid;
    grid-template-columns: 1fr 360px;
    width: 100%;
    max-width: 802px;
    margin: 42px auto 0;
    border: 2px solid #C29243;
    background: #FFF;
    box-shadow: 0 6.571px 6.571px 0 rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    overflow: hidden;
}

.lower-contact-cta__image {
    order: 2;
    margin: 0;
}

.lower-contact-cta__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lower-contact-cta__body {
    order: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 30px 26px;
    background: #FFF;
    box-sizing: border-box;
}

.lower-contact-cta__telLead {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    color: #777;
    font-size: 23px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-align: center;
}

.lower-contact-cta__telLead img {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: 0 0 auto;
}

.lower-contact-cta__tel {
    margin: 10px 0 0;
    text-align: center;
    line-height: 1;
}

.lower-contact-cta__tel a {
    color: var(--lower-black);
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration: none;
}

.lower-contact-cta__webBtn {
    display: flex;
    width: 100%;
    max-width: 266px;
    margin: 16.43px auto 0;
    padding: 4px 32px;
    justify-content: center;
    align-items: center;
    gap: 32px;
    border-radius: 82.143px;
    background: #D5B37C;
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;
    transition:
        background-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease,
        opacity .3s ease;
}

.lower-contact-cta__webBtn:hover {
    background: #caa35f;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.lower-contact-cta__access {
    margin-top: 16.43px;
    text-align: center;
}

.lower-contact-cta__accessLine {
    margin: 0;
    color: #312D2C;
    font-size: 23px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.lower-contact-cta__accessLine+.lower-contact-cta__accessLine {
    margin-top: 10px;
}

.lower-contact-cta__accessAccent {
    color: #C29243;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

/* =================================
   タブレット
================================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .lower-contact-cta__telLead {
        font-size: 14px;
        gap: 2px;
    }

    .lower-contact-cta__tel a {
        font-size: 35px;
    }

    .lower-contact-cta__webBtn {
        width: 100%;
        max-width: 170px;
        font-size: 23px;
    }

    .lower-contact-cta__accessLine {
        font-size: 16px;
    }

    .lower-contact-cta__accessAccent {
        font-size: 23px;
    }


}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
    #lower-free-consultation-cta {
        padding: 20px 2.7% 40px 2.7%;
    }

    .lower-contact-cta__sp-br {
        display: block;
    }

    .lower-contact-cta__lead {
        max-width: 330px;
        margin-top: 40px;
    }

    .lower-contact-cta__lead p {
        font-size: 16px;
        line-height: 1.75;
		text-align:start;
    }

    .lower-contact-cta__lead br {
        display: none;
    }

    .lower-contact-cta__card {
        grid-template-columns: 1fr;
        max-width: 314px;
        margin-top: 28px;
    }

    .lower-contact-cta__image {
        order: 1;
    }

    .lower-contact-cta__image img {
        height: auto;
        object-fit: cover;
    }

    .lower-contact-cta__body {
        order: 2;
        padding: 10px 14px 16px;
    }

    .lower-contact-cta__telLead {
        gap: 8px;
        font-size: 16px;
    }

    .lower-contact-cta__telLead img {
        width: 16px;
        height: 16px;
    }

    .lower-contact-cta__tel {
        margin-top: 8px;
    }

    .lower-contact-cta__tel a {
        font-size: 24px;
    }

    .lower-contact-cta__webBtn {
        max-width: 266px;
        margin-top: 16.43px;
        padding: 4px 32px;
        gap: 32px;
        font-size: 16px;
    }

    .lower-contact-cta__access {
        margin-top: 16.43px;
    }

    .lower-contact-cta__accessLine {
        font-size: 16px;
    }

    .lower-contact-cta__accessLine+.lower-contact-cta__accessLine {
        margin-top: 8px;
    }

    .lower-contact-cta__accessAccent {
        font-size: 24px;
    }
}

/* =========================
   下層共通H2
========================= */
.lower-section-h2 {
    display: flex;
    width: 100%;
	max-width: 1120px;
    margin: 0 auto;
    padding: 20px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background: var(--lower-h2title-yellow);
    color: var(--lower-white);
    text-align: center;
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .lower-section-h2 {
        max-width: 820px;
        padding: 18px 16px;
        font-size: 27px;
        line-height: 1.45;
    }
}

@media screen and (max-width: 767px) {
    .lower-section-h2 {
        max-width: none;
        padding: 20px 10px;
        font-size: 20px;
    }
}

/* =========================
   下層共通H3（ボックス内見出し）
========================= */
.lower-box-h3 {
    position: relative;
    margin: 0 2%;
    padding-left: 16px;
    color: var(--lower-black);
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
}

.lower-box-h3::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 4px;
    height: calc(100% - 4px);
    background: var(--lower-yellow);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .lower-box-h3 {
        font-size: 22px;
        line-height: 1.6;
    }
}

@media screen and (max-width: 767px) {
    .lower-box-h3 {
        padding-left: 14px;
        font-size: 18px;
        line-height: 1.7;
    }

    .lower-box-h3::before {
        top: 3px;
        width: 3px;
        height: calc(100% - 6px);
    }
}

/* =================================
   下層共通FAQアコーディオン
================================= */
#lower-faq-accordion {
    padding: 20px 6.5% 100px 6.5%;
    background: var(--lower-black-back);
    box-sizing: border-box;
}

#lower-faq-accordion .lower-section-h2 {
    margin: 0 auto;
}

.lower-faq-accordion__inner {
    width: 100%;
    max-width: 1042px;
    margin: 75px auto 0;
}

.lower-faq-accordion__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.lower-faq-accordion__item {
    background: var(--lower-white);
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
}

.lower-faq-accordion__question {
    margin: 0;
}

.lower-faq-accordion__trigger {
    display: grid;
    grid-template-columns: 34px 1fr 24px;
    column-gap: 16px;
    align-items: center;
    width: 100%;
    padding: 24px 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    font-family: inherit;
    color: inherit;
}

.lower-faq-accordion__label {
    display: inline-block;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

.lower-faq-accordion__label--q {
    color: #C29243;
    font-size: 32px;
    margin-bottom: 5px;
}

.lower-faq-accordion__label--a {
    color: #BEBEBE;
    font-size: 32px;
    margin-top: 2px;
}

.lower-faq-accordion__questionText {
    color: var(--lower-black);
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
}

.lower-faq-accordion__icon {
    position: relative;
    width: 18px;
    height: 18px;
    justify-self: end;
    flex-shrink: 0;
}

.lower-faq-accordion__icon::before,
.lower-faq-accordion__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #C29243;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.lower-faq-accordion__icon::before {
    width: 18px;
    height: 1px;
}

.lower-faq-accordion__icon::after {
    width: 1px;
    height: 18px;
}

.lower-faq-accordion__item.is-open .lower-faq-accordion__icon::after {
    opacity: 0;
}

.lower-faq-accordion__answer {
    display: none;
    padding: 0 20px 24px;
}

.lower-faq-accordion__item.is-open .lower-faq-accordion__answer {
    display: block;
}

.lower-faq-accordion__answerInner {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 16px;
    align-items: start;
}

.lower-faq-accordion__answerText {
    color: #4B4643;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
}

.lower-faq-accordion__answerText p {
    margin: 0;
}

.lower-faq-accordion__answerText p+p {
    margin-top: 4px;
}

/* =================================
     タブレット
 ================================= */

@media screen and (min-width: 768px) and (max-width: 1024px) {

    .lower-faq-accordion__inner {
        max-width: 760px;
        margin-top: 56px;
    }

    .lower-faq-accordion__list {
        gap: 24px;
    }

    .lower-faq-accordion__trigger {
        grid-template-columns: 28px 1fr 18px;
        column-gap: 12px;
        padding: 20px 16px;
    }

    .lower-faq-accordion__label--q,
    .lower-faq-accordion__label--a {
        font-size: 24px;
    }

    .lower-faq-accordion__questionText {
        font-size: 20px;
        line-height: 1.6;
    }

    .lower-faq-accordion__answer {
        padding: 0 16px 20px;
    }

    .lower-faq-accordion__answerInner {
        grid-template-columns: 28px 1fr;
        column-gap: 12px;
    }

    .lower-faq-accordion__answerText {
        font-size: 18px;
        line-height: 1.8;
    }
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
    #lower-faq-accordion {
        padding: 20px 2.7% 40px 2.7%;
    }

    .lower-faq-accordion__inner {
        max-width: 350px;
        margin-top: 40px;
    }

    .lower-faq-accordion__list {
        gap: 20px;
    }

    .lower-faq-accordion__trigger {
        grid-template-columns: 22px 1fr 16px;
        column-gap: 5px;
        align-items: start;
        padding: 18px 10px;
    }

    .lower-faq-accordion__label--q {
        font-size: 20px;
        margin-bottom: 0;
        margin-top: 5px;
    }

    .lower-faq-accordion__label--a {
        font-size: 20px;
        margin-top: 5px;
    }

    .lower-faq-accordion__questionText {
        font-size: 18px;
        line-height: 1.6;
    }

    .lower-faq-accordion__icon {
        width: 14px;
        height: 14px;
        margin-top: 6px;
    }

    .lower-faq-accordion__icon::before {
        width: 14px;
    }

    .lower-faq-accordion__icon::after {
        height: 14px;
    }

    .lower-faq-accordion__answer {
        padding: 0 10px 18px;
    }

    .lower-faq-accordion__answerInner {
        grid-template-columns: 22px 1fr;
        column-gap: 5px;
    }

    .lower-faq-accordion__answerText {
        font-size: 16px;
        line-height: 1.85;
    }

    .lower-faq-accordion__answerText p+p {
        margin-top: 2px;
    }
}

/* =================================
   下層共通｜症例
================================= */
#lower-case {
    padding: 20px 6.5% 100px 6.5%;
    background: var(--lower-black-back);
    box-sizing: border-box;
}

#lower-case .lower-section-h2 {
    margin: 0 auto;
}

.lower-case__imageBox {
    width: 100%;
    max-width: 1042px;
    margin: 75px auto 0;
    background: #D9D9D9;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.lower-case__picture {
    display: block;
    width: 100%;
}

.lower-case__picture img {
    display: block;
    width: 100%;
    height: auto;
}

.lower-case__tableBox {
    width: 100%;
    max-width: 1042px;
    margin: 20px auto;
    padding: 20px 20px 30px;
    background: #FFFEFE;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
}

.lower-case__table {
    margin: 0;
}

.lower-case__row {
    display: grid;
    grid-template-columns: 154px 1fr;
    align-items: center;
    column-gap: 44px;
    padding: 0;
    border-bottom: 1px solid #ECEAE5;
}

.lower-case__row:first-child {
    border-bottom: 1px solid #ECEAE5;
}

.lower-case__head {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin: 0;
    padding: 8px 10px;
    background: #ECEAE5;
    color: #C29243;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    box-sizing: border-box;
}

.lower-case__data {
    margin: 0;
    padding: 18px 0;
    color: var(--lower-black);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
}

#lower-case .button {
    display: flex;
    justify-content: center;
}



/* =================================
タブレット版
================================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .lower-case__imageBox {
        max-width: 760px;
        margin-top: 56px;
    }

    .lower-case__tableBox {
        max-width: 760px;
        padding: 20px 20px 24px;
    }

    .lower-case__row {
        grid-template-columns: 132px 1fr;
        column-gap: 24px;
    }

    .lower-case__head {
        font-size: 20px;
    }

    .lower-case__data {
        font-size: 18px;
        line-height: 1.7;
    }
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
    #lower-case {
        padding: 20px 2.7% 40px 2.7%;
    }

    .lower-case__imageBox {
        max-width: 350px;
        margin-top: 40px;
    }

    .lower-case__tableBox {
        max-width: 350px;
        margin-top: 16px;
        padding: 12px 10px 8px;
    }

    .lower-case__row {
        grid-template-columns: 1fr;
        row-gap: 10px;
        padding: 10px 0;
    }

    .lower-case__row:first-child {
        border-top: none;
    }

    .lower-case__head {
        min-height: 42px;
        font-size: 20px;
    }

    .lower-case__data {
        padding: 0 0 2px;
        font-size: 16px;
        line-height: 1.75;
    }
}

/*------------------------------------- 追跡バー --------------------------------------*/
.mobile-tracking-bar {
        display: none;
    }

.tracking-bar {
    position: fixed;
    bottom: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    width: 650px;
    height: 60px;
    z-index: 1000;
    font-family: "Noto Serif JP", serif;
}

.tracking-button {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    padding: 12px 0;
    text-decoration: none;
    font-size: 20px;
}

.phone-btn {
    background: linear-gradient(
        90deg, 
        rgba(111, 111, 111, 0.92) 0%, 
        rgba(89, 89, 89, 0.88) 50%, 
        rgba(84, 84, 84, 0.92) 100%
    );
	
}

.phone-btn:hover {
    background: linear-gradient(
        90deg,
        rgba(210, 210, 215, 0.92) 0%, 
        rgba(230, 230, 235, 0.88) 50%, 
        rgba(210, 210, 215, 0.92) 100%
    );
}

.web-btn {
    background: linear-gradient(
        90deg,
        rgba(231, 202, 125, 0.92) 0%,
        rgba(212, 177, 95, 0.88) 55%,
        rgba(170, 138, 58, 0.92) 100%
    );
}

.web-btn:hover {
    background: linear-gradient(
        90deg,
        rgba(193, 164, 85, 0.92) 0%,
        rgba(168, 138, 58, 0.88) 55%,
        rgba(125, 100, 35, 0.92) 100%
    );
}

.contact-btn {
    background: linear-gradient(
        90deg,
        rgba(109, 123, 158, 0.92) 0%,
        rgba(88, 87, 102, 0.88) 55%,
        rgba(60, 69, 90, 0.92) 100%
    );
}

.contact-btn:hover {
    background: linear-gradient(
        90deg,
        rgba(82, 97, 120, 0.92) 0%,
        rgba(62, 60, 53, 0.88) 55%,
        rgba(43, 41, 36, 0.92) 100%
    );
}

.top-btn {
    background-color: #52555d;
    width: 80px;
    flex: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

.top-arrow {
    font-size: 20px;
    margin-bottom: 2px;
}

.top-btn span {
    display: inline-block;
    line-height: 1;
}


/* モバイル用 */
@media (max-width: 768px) {
    .tracking-bar {
        display: none;
    }

    .mobile-tracking-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: space-evenly;
        background-color: #f1f1f1;
        z-index: 1000;
        font-family: "Noto Serif JP", serif;
    }

    .mobile-tracking-bar .tracking-button {
        color: white;
        padding: 20px 8px;
        font-size: 14px;
		font-weight: 500;
        flex: 1;
        text-align: center;
        text-decoration: none;
    }

    .phone-btn {
        background: linear-gradient(
            90deg, 
        rgba(111, 111, 111) 0%, 
        rgba(89, 89, 89) 50%, 
        rgba(84, 84, 84) 100%
        );
    }

    .web-btn {
        background: linear-gradient(
            90deg,
            rgba(231, 202, 125, 0.82) 0%,
            rgba(212, 177, 95, 0.88) 60%,
            rgba(170, 138, 58, 0.92) 100%
        );
    }

    .contact-btn {
        background: linear-gradient(
            90deg,
            rgba(109, 123, 158, 0.82) 0%,
            rgba(88, 87, 102, 0.88) 60%,
            rgba(60, 69, 90, 0.92) 100%
        );
    }

    .time-btn {
    background: linear-gradient(
        90deg,
        rgba(231, 202, 125, 0.78) 0%,
        rgba(212, 177, 95, 0.88) 55%,
        rgba(170, 138, 58, 0.95) 100%
    );
}

    .top-btn {
        position: absolute;
        right: 5px;
        top: -60px;
        background-color: #585766;
        width: 50px;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        color: white;
    }

    .mobile-tracking-bar a:last-child {
        font-size: 12px;
    }
}