@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500;600;700&display=swap');

/* Twitter中央寄せ */
.twitter-timeline {
    margin: 0 auto;
}

/* ビュートランジション */
@view-transition {
    navigation: auto;
}

/* スムーススクロール */
html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--swl-offset_top, 0px) + 24px);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* カテゴリのアイコン消去 */
.icon-folder:before {
    display: none;
}

.c-categoryList:before {
    display: none;
}

/* CTAボタン */
@media screen and (max-width: 959px) {
    .p-fixBtnWrap {
        bottom: 5.5em;
    }

    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
                background-color: #fff;
        padding: .3em .3em;
        margin-bottom: 0;
    }

    #fixed-bottom-menu .swell-block-column {
        padding: .5em;
    }

    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }
}

@media screen and (min-width: 960px) {
    #fixed-bottom-menu {
        display: block;
        position: fixed;
        right: 24px;
        bottom: 24px;
        left: auto;
        width: min(420px, calc(100vw - 48px));
        z-index: 100;
        margin: 0;
        padding: .4em;
        border: 1px solid rgba(47, 68, 56, .18);
        background: #fff;
        box-shadow: 0 8px 28px rgba(25, 38, 31, .16);
    }

    #fixed-bottom-menu .swell-block-columns__inner {
        display: flex;
        flex-wrap: nowrap;
        gap: .35em;
        margin: 0;
    }

    #fixed-bottom-menu .swell-block-column {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: .9em .8em;
        white-space: nowrap;
    }

    #fixed-sidebar-menu {
        display: none;
    }

    .p-fixBtnWrap {
        bottom: 7.5em;
    }
}

/* トップページ: フッター前の余白を削除 */
.home #content.l-content,
.top #content.l-content {
    margin-bottom: 0;
}

/* 見出しフォント */
.p-mainVisual__slideTitle,
.post_content h1,
.c-pageTitle,
.c-postTitle,
.post_content .is-style-section_ttl {
    font-family: "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: 600;
    letter-spacing: .04em;
}

/* フッター直前ウィジェットが固定CTA(#fixed-bottom-menu)のみの場合、フッター手前の謎余白を除去 */
#before_footer_widget:has(#fixed-bottom-menu) {
    margin: 0 auto;
}

/* 固定LINEバー: 最上部・フッター到達時はフェード非表示（foot_codeのJSとセット） */
#fixed-bottom-menu {
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
#fixed-bottom-menu.is-scroll-hidden {
    opacity: 0;
    visibility: hidden;
}

/* H2/H3 セクション見出し装飾（明朝体＋金の鍼ライン、2026-07） */
.post_content h2.is-style-section_ttl {
    padding-bottom: 28px;
}
.post_content h2.is-style-section_ttl::after {
    content: "";
    position: absolute !important;
    top: auto !important;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    width: 110px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b08d57 25%, #b08d57 75%, transparent);
}
.post_content h2.is-style-section_ttl::before {
    content: "";
    position: absolute !important;
    top: auto !important;
    left: 50%;
    bottom: 5.5px;
    transform: translateX(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    background: #b08d57;
}
.post_content h2.is-style-section_ttl .mininote {
    color: #b08d57;
    letter-spacing: .25em;
}
.post_content h3.is-style-section_ttl .mininote {
    color: #b08d57;
    letter-spacing: .12em;
}

/* スマホ開閉メニュー */
@media screen and (max-width: 959px) {
    #sp_menu .p-spMenu__inner {
        width: min(88vw, 380px);
        background: #f7f8f6;
        box-shadow: -18px 0 44px rgba(0, 30, 40, .28);
    }

    #sp_menu .p-spMenu__body {
        padding: 72px 24px 40px;
    }

    #sp_menu .c-widget__title.-spmenu {
        position: relative;
        margin: 0 0 18px;
        padding: 0 0 17px;
        border-bottom: 1px solid rgba(176, 141, 87, .65);
        background: transparent;
        color: #2f4438;
        font-family: "Shippori Mincho B1", "Yu Mincho", "Hiragino Mincho ProN", serif;
        font-size: 1.45rem;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: .12em;
    }

    #sp_menu .c-widget__title.-spmenu::after {
        content: "鍼灸院 Lafull";
        position: absolute;
        right: 0;
        bottom: 17px;
        color: #8b7a5a;
        font-family: "Noto Sans JP", sans-serif;
        font-size: .62rem;
        font-weight: 500;
        letter-spacing: .08em;
    }

    #sp_menu .p-spMenu__nav {
        padding-bottom: 0;
    }

    #sp_menu .c-spnav {
        display: grid;
        gap: 0;
    }

    #sp_menu .c-spnav > li {
        margin: 0;
        border: 0;
    }

    #sp_menu .c-spnav > li > a {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 56px;
        padding: 15px 38px 15px 2px;
        border: 0;
        border-bottom: 1px solid rgba(47, 68, 56, .18);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #2f4438;
        font-size: .96rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .04em;
        transition: border-color .2s ease, color .2s ease, transform .2s ease;
    }

    #sp_menu .c-spnav > li > a::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 19px;
        left: auto;
        width: 7px;
        height: 7px;
        border-top: 1px solid #b08d57;
        border-right: 1px solid #b08d57;
        transform: translateY(-50%) rotate(45deg);
    }

    #sp_menu .c-spnav > li.current-menu-item > a {
        border-color: #b08d57;
        background: transparent;
        box-shadow: none;
        color: #2f4438;
        font-weight: 600;
    }

    #sp_menu .c-spnav > li.current-menu-item > a::before {
        border-color: #d8bc87;
    }

    #sp_menu .c-spnav > li > a:active {
        transform: translateX(2px);
    }

    #sp_menu .p-spMenu__closeBtn {
        top: var(--wp-admin--admin-bar--height, 0px);
        right: 0;
        width: 48px;
        height: 48px;
    }

    #sp_menu .p-spMenu__closeBtn .c-iconBtn {
        width: 48px;
        height: 48px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #2f4438;
    }

    #sp_menu .p-spMenu__closeBtn .c-iconBtn__icon {
        font-size: 24px;
        line-height: 1;
    }

    #sp_menu .p-spMenu__overlay {
        opacity: .62;
    }
}

/* スマホ開閉メニュー：見出し下の余白 */
@media screen and (max-width: 959px) {
    #sp_menu .c-widget__title.-spmenu {
        margin-bottom: 28px;
    }
}


/* スマホ開閉メニュー：高さを画面いっぱいに戻す */
@media screen and (max-width: 959px) {
    #sp_menu .p-spMenu__inner {
        bottom: 0;
        height: 100%;
        min-height: 100%;
    }

    #sp_menu .p-spMenu__body {
        height: calc(100% - 48px);
        min-height: calc(100% - 48px);
        padding: 72px 24px 40px;
    }
}

/* トップページ: メニューCTAの配色 */
#home-menu-cta .swell-block-button__link {
    background: #fff;
    color: #2f4438;
}

/* WEB予約ボタン: 白背景 */
#body_wrap.page-id-88 a.swell-block-button__link[href*="promo_code=hp"],
#access a.swell-block-button__link[href="https://carecle.com/booking/Lafull"] {
    background: #fff;
    color: #2f4438;
}
