@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ========================================
   HOME：新ファーストビュー
======================================== */

.home-hero {
    background-color: #f7f8f8;
    padding: 64px 48px;
    margin-bottom: 56px;
    box-sizing: border-box;
}

.home-hero .wp-block-columns {
    align-items: center;
    gap: 48px;
    margin-bottom: 0;
}

/* 左側：ロゴ・文章 */
.home-hero-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-hero-text img {
    width: 220px;
    max-width: 100%;
    height: auto;
    margin-bottom: 28px;
}

.home-hero-text h1 {
    margin-top: 0;
    margin-bottom: 24px;
    font-size: 36px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #303840;
}

.home-hero-text p {
    margin-top: 0;
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 1.9;
    color: #555d63;
}

.home-hero-text p:nth-of-type(2) {
    margin-bottom: 28px;
    font-weight: 600;
    color: #303840;
}

/* 右側：院内写真（PC） */
.home-hero-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px;
}

/* スマホ */
@media screen and (max-width: 480px) {

    .home-hero {
        padding: 32px 20px;
        margin-bottom: 40px;
    }

    .home-hero .wp-block-columns {
        gap: 28px;
    }

    .home-hero-text img {
        width: 135px;
        margin-bottom: 20px;
    }

    .home-hero-text h1 {
        margin-bottom: 18px;
        font-size: 28px;
        line-height: 1.45;
    }

    .home-hero-text p {
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 1.8;
    }

    .home-hero-text p:nth-of-type(2) {
        margin-bottom: 22px;
    }

/* スマホ：院内写真は拡大せず、天井だけ少しカット */
.home-hero-image .wp-block-image {
    overflow: hidden;
    border-radius: 12px;
}

.home-hero-image img {
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    margin-top: -20px;
}
}
/* HOME：新ファーストビューの予約ボタン */
.home-hero-text .wp-block-button__link {
    background-color: #6b8e9d;
    color: #ffffff;
    border-radius: 4px;
    padding: 14px 32px;
    font-weight: 600;
}

.home-hero-text .wp-block-button__link:hover {
    opacity: 0.85;
}
/* HOME：旧Grayishメインビジュアル領域を非表示 */
.skin-grayish.front-top-page #header-container #header {
    display: none;
}
/* ヘッダー：検索アイコンを非表示 */
.search-menu-button {
    display: none !important;
}
/* PCヘッダー：「予約する」をCTAボタン化 */
@media screen and (min-width: 1024px) {

    .header-reserve > a {
        height: 38px !important;
        margin-top: 9px !important;
        margin-bottom: 9px !important;
        padding: 0 20px !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        background-color: #6b8e9d !important;
        color: #ffffff !important;

        border-radius: 4px;
    }

    .header-reserve > a:hover {
        opacity: 0.85;
    }
}
/* スマホ・タブレット：ハンバーガーメニューを右上へ */
@media screen and (max-width: 1023px) {

    .mobile-header-menu-buttons {
        justify-content: flex-end !important;
    }
}
/* ========================================
   HOME：スマホ専用ファーストビュー
   写真＋白グラデーション＋文字重ね
======================================== */
@media screen and (max-width: 480px) {

    .home-hero {
        padding: 0 14px 28px !important;
        background-color: #ffffff;
    }

    .home-hero .wp-block-columns {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        position: relative;
        min-height: 680px;
        overflow: hidden;
        border-radius: 16px;
        background-color: #f7f8f8;
    }

    /* 写真と文字を同じ位置に重ねる */
    .home-hero-text,
    .home-hero-image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
    }

    /* 背景になる院内写真 */
    .home-hero-image {
        z-index: 1;
        height: 100%;
    }

    .home-hero-image .wp-block-image {
        height: 100%;
        margin: 0 !important;
        overflow: hidden;
        border-radius: 16px;
    }

    .home-hero-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 680px;
        margin: 0 !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        border-radius: 16px;
    }

    /* 上側の文字エリア */
    .home-hero-text {
        position: relative;
        z-index: 2;
        align-self: start;
        padding: 24px 22px 150px !important;

        background: linear-gradient(
            to bottom,
            rgba(247, 248, 248, 0.98) 0%,
            rgba(247, 248, 248, 0.96) 58%,
            rgba(247, 248, 248, 0.72) 76%,
            rgba(247, 248, 248, 0) 100%
        );
    }

    .home-hero-text img {
        width: 130px;
        margin-bottom: 18px;
    }

    .home-hero-text h1 {
        font-size: 28px;
        line-height: 1.45;
        margin-bottom: 16px;
    }

    .home-hero-text p {
        font-size: 15px;
        line-height: 1.75;
        margin-bottom: 10px;
    }

    .home-hero-text p:nth-of-type(2) {
        margin-bottom: 18px;
    }
}
/* ========================================
   HOME：TOP写真スライド
   PCは1枚目のみ／スマホは2枚をフェード
======================================== */

/* PCでは2枚目を非表示 */
.home-hero-image .hero-slide-2 {
    display: none;
}


/* スマホ */
@media screen and (max-width: 480px) {

    .home-hero-image {
        position: relative;
        overflow: hidden;
    }

    /* 2枚を同じ場所に重ねる */
    .home-hero-image .hero-slide-1,
    .home-hero-image .hero-slide-2 {
        display: block !important;
        position: absolute !important;
        inset: 0;
        width: 100%;
        height: 100% !important;
        margin: 0 !important;
    }

    .home-hero-image .hero-slide-1 img,
    .home-hero-image .hero-slide-2 img {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        object-fit: cover !important;
        object-position: center bottom !important;
        border-radius: 16px;
    }

    /* 1枚目 */
    .home-hero-image .hero-slide-1 {
        animation: heroFade1 14s infinite ease-in-out;
    }

    /* 2枚目 */
    .home-hero-image .hero-slide-2 {
        animation: heroFade2 14s infinite ease-in-out;
    }
}


/* 約6秒ごとにゆっくり切替 */
@keyframes heroFade1 {
    0%, 42% {
        opacity: 1;
    }

    50%, 92% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes heroFade2 {
    0%, 42% {
        opacity: 0;
    }

    50%, 92% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* 動きを減らす設定の端末では1枚目固定 */
@media (prefers-reduced-motion: reduce) {

    .home-hero-image .hero-slide-1 {
        animation: none !important;
        opacity: 1 !important;
    }

    .home-hero-image .hero-slide-2 {
        animation: none !important;
        opacity: 0 !important;
    }
}
/* スマホ：2枚目の施術写真だけ表示位置を調整 */
@media screen and (max-width: 480px) {

    .home-hero-image .hero-slide-2 img {
        object-position: center 25% !important;
    }
}
/* ========================================
   HOME：スマホ H2・お悩みBOX最終調整
======================================== */
@media screen and (max-width: 480px) {

    /* H2はH1より一段小さく */
    .home .entry-content h2 {
        font-size: 22px !important;
        line-height: 1.45 !important;
    }

    /* お悩みBOXをスマホ画面いっぱい近くまで広げる */
    body.home .entry-content .trouble-box {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;

        margin-left: calc(50% - 50vw + 14px) !important;
        margin-right: 0 !important;

        padding: 16px 12px !important;
        box-sizing: border-box;
    }

    body.home .entry-content .trouble-box > * {
        width: 100% !important;
        max-width: none !important;
    }

    body.home .entry-content .trouble-box p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 7px !important;
    }

    body.home .entry-content .trouble-box p:last-child {
        margin-bottom: 0 !important;
    }
}
/* スマホだけ指定位置で改行 */
br.sp-only {
    display: none;
}

@media screen and (max-width: 480px) {
    br.sp-only {
        display: block;
    }
}
/* スマホ：お悩みBOXの2行目をチェックマークの右に揃える */
@media screen and (max-width: 480px) {

    .trouble-box p {
        padding-left: 1.4em !important;
        text-indent: -1.4em !important;
    }
}
/* PCだけ改行 */
br.pc-only {
    display: block;
}

@media screen and (max-width: 480px) {
    br.pc-only {
        display: none;
    }
}
/* PC：3つの特徴カード「01〜03」と見出しの間を詰める */
@media screen and (min-width: 1024px) {

    .feature-card > :first-child {
        margin-bottom: 24px !important;
    }

    .feature-card h3 {
        margin-top: 0 !important;
    }
}
/* PC：01〜03の特徴カード内部を揃える */
@media screen and (min-width: 1024px) {

    .feature-card {
        height: 100% !important;
        box-sizing: border-box;
    }

    /* 見出しBOXの高さを統一 */
    .feature-card h3 {
        height: 96px !important;
        min-height: 96px !important;
        margin-top: 0 !important;
        margin-bottom: 28px !important;

        display: flex !important;
        align-items: center !important;
        box-sizing: border-box;
    }

    /* 本文の開始位置を統一 */
    .feature-card p {
        margin-top: 0 !important;
    }
}
/* PCだけ01と見出しの間に空白を入れる */
.pc-only-space {
    display: inline;
}

@media screen and (max-width: 480px) {
    .pc-only-space {
        display: none;
    }
}
/* スマホ：Googleマップの高さ調整 */
@media screen and (max-width: 480px) {
    .home iframe[src*="google.com/maps"] {
        height: 290px !important;
    }
}
/* スマホ：右上メニューを右側からスライド表示 */
@media screen and (max-width: 1023px) {

    .navi-menu-content {
        left: auto !important;
        right: 0 !important;

        -webkit-transform: translateX(105%) !important;
        transform: translateX(105%) !important;
    }

    #navi-menu-input:checked ~ .navi-menu-content {
        -webkit-transform: translateX(0) !important;
        transform: translateX(0) !important;
    }
}
/* HOME：施術の流れ写真 */
.flow-photo {
    width: 70%;
    max-width: 900px;
    margin: 0 auto 28px;
}

.flow-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 2.4 / 1;
    object-fit: cover;
    object-position: center 48%;
    border-radius: 14px;
}

@media screen and (max-width: 480px) {
    .flow-photo {
        width: 100%;
        max-width: none;
        margin-bottom: 24px;
    }

    .flow-photo img {
        aspect-ratio: auto;
        height: auto;
        object-fit: initial;
    }
}
/* HOME：身体全体を見るセクションの写真 */
.body-check-photo {
    width: 70%;
    max-width: 900px;
    margin: 28px auto 30px;
}

.body-check-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 2.4 / 1;
    object-fit: cover;
    object-position: center 48%;
    border-radius: 14px;
}

@media screen and (max-width: 480px) {
    .body-check-photo {
        width: 100%;
        max-width: none;
        margin: 22px auto 24px;
    }

    .body-check-photo img {
        aspect-ratio: auto;
        height: auto;
        object-fit: initial;
    }
}
/* HOME：画像の長押し・ドラッグ保存を抑制 */
.home img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}
/* スマホ：下部固定メニューを見やすく */
@media screen and (max-width: 1023px) {

    .mobile-footer-menu-buttons {
        background-color: rgba(255, 255, 255, 0.96) !important;
        border-top: 1px solid #e1e6e8;
        box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    }

    .mobile-footer-menu-buttons .menu-button > a {
        background-color: transparent !important;
        padding-top: 5px !important;
        padding-bottom: 4px !important;
    }

    .mobile-footer-menu-buttons .menu-icon {
        font-size: 18px !important;
        color: #687a82 !important;
    }

    .mobile-footer-menu-buttons .menu-caption {
        font-size: 11px !important;
        font-weight: 500;
        color: #687a82 !important;
    }
}
/* 定期ケア「もっと詳しく」：PCだけ少しコンパクトに */
@media screen and (min-width: 1024px) {
    .care-more-button .wp-block-button__link {
        padding: 9px 22px !important;
        font-size: 15px !important;
        line-height: 1.4;
        border-radius: 6px !important;
    }
}
/* 定期ケアプラン詳細：冒頭BOX */
.care-intro-box {
    width: 100%;
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 32px 36px;
    margin: 24px 0 40px;
    color: #4d5559;
}

.care-intro-box p {
    margin-top: 0;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.9;
    color: #4d5559;
}

.care-intro-box p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 480px) {
    .care-intro-box {
        padding: 22px 18px;
        margin: 18px 0 32px;
        border-radius: 12px;
    }

    .care-intro-box p {
        font-size: 15px;
        line-height: 1.8;
        margin-bottom: 16px;
    }

    .care-intro-box p:last-child {
        margin-bottom: 0;
    }
}
/* 月2回 定期ケアプラン：投稿日・更新日を非表示 */
#post-501 .date-tags {
    display: none !important;
}
/* 定期ケアプラン詳細：セクション見出し */
.care-section-title {
    margin-top: 44px !important;
    margin-bottom: 24px !important;
    padding-bottom: 10px;
    border-bottom: 3px solid #a9c4d0;
    color: #34444c;
    font-size: 28px;
    line-height: 1.4;
}

/* 定期ケアプラン詳細：料金カード */
.care-price-card {
    height: 100%;
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 30px 32px;
}

.care-price-card h3 {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: #34444c;
    font-size: 20px;
    line-height: 1.5;
}

.care-price-card p {
    margin-top: 0;
    color: #4d5559;
}

.care-price-card p:nth-of-type(1) {
    margin-bottom: 10px;
    color: #34444c;
    font-size: 26px;
    line-height: 1.4;
    font-weight: 600;
}

.care-price-card p:nth-of-type(2) {
    margin-bottom: 0;
    color: #7a8286;
    font-size: 14px;
    line-height: 1.6;
}

@media screen and (max-width: 480px) {
    .care-section-title {
        margin-top: 36px !important;
        margin-bottom: 18px !important;
        padding-bottom: 8px;
        font-size: 22px;
    }

    .care-price-card {
        padding: 24px 20px;
        border-radius: 12px;
    }

    .care-price-card h3 {
        margin-bottom: 14px !important;
        font-size: 18px;
    }

    .care-price-card p:nth-of-type(1) {
        font-size: 24px;
    }

    .care-price-card p:nth-of-type(2) {
        font-size: 13px;
    }
}
/* 定期ケアプラン詳細：対象・利用条件 */
.care-rule-box {
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 40px;
}

.care-rule-box p {
    margin-top: 0;
    margin-bottom: 12px;
    color: #4d5559;
    font-size: 16px;
    line-height: 1.8;
}

.care-rule-box p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 480px) {
    .care-rule-box {
        padding: 22px 18px;
        border-radius: 12px;
        margin-bottom: 32px;
    }

    .care-rule-box p {
        font-size: 15px;
        line-height: 1.75;
        margin-bottom: 10px;
    }
}
/* 定期ケアプラン詳細：よくある質問 */
.care-faq {
    width: 72%;
    max-width: 900px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 40px;
}

@media screen and (max-width: 480px) {
    .care-faq {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 32px;
    }
}

.care-faq details {
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 10px;
    margin-bottom: 12px;
    padding: 0 22px;
}

.care-faq summary {
    padding: 18px 0;
    color: #34444c;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    cursor: pointer;
}

.care-faq details p {
    margin: 0;
    padding: 0 0 20px;
    color: #4d5559;
    font-size: 15px;
    line-height: 1.8;
}

@media screen and (max-width: 480px) {
    .care-faq {
        margin-bottom: 32px;
    }

    .care-faq details {
        padding: 0 16px;
        border-radius: 10px;
        margin-bottom: 10px;
    }

    .care-faq summary {
        padding: 16px 0;
        font-size: 15px;
        line-height: 1.6;
    }

    .care-faq details p {
        padding-bottom: 18px;
        font-size: 14px;
        line-height: 1.8;
    }
}
/* 定期ケアプラン詳細：最後の予約CTA */
.care-final-cta {
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 36px 32px;
    margin-top: 44px;
    margin-bottom: 48px;
    text-align: center;
}

.care-final-cta h3 {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    color: #34444c;
    font-size: 24px;
    line-height: 1.5;
}

.care-final-cta p {
    margin-top: 0;
    margin-bottom: 24px;
    color: #4d5559;
    font-size: 16px;
    line-height: 1.8;
}

.care-final-cta .wp-block-button__link {
    background-color: #6b8e9d;
    color: #ffffff;
    border-radius: 6px;
    padding: 11px 28px;
    font-size: 16px;
    font-weight: 600;
}

.care-final-cta .wp-block-button__link:hover {
    opacity: 0.85;
}

@media screen and (max-width: 480px) {
    .care-final-cta {
        padding: 28px 18px;
        margin-top: 36px;
        margin-bottom: 36px;
        border-radius: 12px;
    }

    .care-final-cta h3 {
        font-size: 21px;
        line-height: 1.5;
        margin-bottom: 14px !important;
    }

    .care-final-cta p {
        font-size: 15px;
        line-height: 1.75;
        margin-bottom: 20px;
    }

    .care-final-cta .wp-block-button__link {
        padding: 11px 26px;
        font-size: 15px;
        border-radius: 6px;
    }
}
/* 定期ケアプラン詳細：情報BOXは左基準に統一 */
#post-501 .care-intro-box,
#post-501 .care-rule-box {
    text-align: left;
}

#post-501 .care-intro-box > *,
#post-501 .care-rule-box > * {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.care-faq {
    width: 72%;
    max-width: 900px;
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 40px;
}

@media screen and (max-width: 480px) {
    .care-intro-box > *,
    .care-rule-box > * {
        max-width: none !important;
    }

    .care-faq {
        width: 100%;
        max-width: none;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 32px;
    }
}
/* 定期ケアプラン詳細：予約ボタン */
.care-reserve-button .wp-block-button__link {
    background-color: #6b8e9d !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 10px 26px !important;
    font-size: 15px !important;
    line-height: 1.5;
    font-weight: 600;
    text-decoration: none !important;
}

.care-reserve-button .wp-block-button__link:hover {
    opacity: 0.85;
}

@media screen and (max-width: 480px) {
    .care-reserve-button .wp-block-button__link {
        padding: 11px 26px !important;
        font-size: 15px !important;
        border-radius: 6px !important;
    }
}
/* ==================================================
   月2回 定期ケアプラン：スマホ最終調整
   Page ID 501
================================================== */
@media screen and (max-width: 480px) {

    /* パンくずはこのページでは非表示 */
    #post-501 .breadcrumb {
        display: none !important;
    }

    /* ページタイトル */
    #post-501 .entry-title {
        font-size: 26px !important;
        line-height: 1.4 !important;
        color: #34444c !important;
    }

    /* セクション見出し */
    #post-501 .care-section-title {
        margin-top: 38px !important;
        margin-bottom: 18px !important;
        padding-bottom: 9px !important;
        font-size: 22px !important;
        line-height: 1.45 !important;
        color: #34444c !important;
        border-bottom: 3px solid #a9c4d0 !important;
    }

    /* 冒頭BOX */
    #post-501 .care-intro-box {
        padding: 24px 20px !important;
        margin: 0 0 36px !important;
        background-color: #f7f8f8 !important;
        border: 1px solid #dfe5e8 !important;
        border-radius: 12px !important;
    }

    #post-501 .care-intro-box p {
        margin: 0 0 18px !important;
        font-size: 15px !important;
        line-height: 1.85 !important;
        color: #4d5559 !important;
    }

    #post-501 .care-intro-box p:last-child {
        margin-bottom: 0 !important;
    }

    /* 料金カード */
    #post-501 .care-price-card {
        padding: 24px 20px !important;
        margin-bottom: 14px !important;
        background-color: #f7f8f8 !important;
        border: 1px solid #dfe5e8 !important;
        border-radius: 12px !important;
    }

    #post-501 .care-price-card h3 {
        margin-bottom: 14px !important;
        font-size: 18px !important;
        line-height: 1.5 !important;
        color: #34444c !important;
    }

    #post-501 .care-price-card p:nth-of-type(1) {
        margin-bottom: 6px !important;
        font-size: 25px !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
        color: #34444c !important;
    }

    #post-501 .care-price-card p:nth-of-type(2) {
        margin-bottom: 0 !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        color: #7a8286 !important;
    }

    /* 対象・利用条件 / ご利用について */
    #post-501 .care-rule-box {
        padding: 22px 20px !important;
        margin-bottom: 34px !important;
        background-color: #f7f8f8 !important;
        border: 1px solid #dfe5e8 !important;
        border-radius: 12px !important;
    }

    #post-501 .care-rule-box p {
        margin: 0 0 12px !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
        color: #4d5559 !important;
    }

    #post-501 .care-rule-box p:last-child {
        margin-bottom: 0 !important;
    }

    /* FAQ */
    #post-501 .care-faq {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 34px !important;
    }

    #post-501 .care-faq details {
        margin-bottom: 10px !important;
        padding: 0 18px !important;
        background-color: #f7f8f8 !important;
        border: 1px solid #dfe5e8 !important;
        border-radius: 10px !important;
    }

    #post-501 .care-faq summary {
        padding: 17px 0 !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
        font-weight: 600 !important;
        color: #34444c !important;
    }

    #post-501 .care-faq details p {
        margin: 0 !important;
        padding: 0 0 18px !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
        color: #4d5559 !important;
    }

    /* 最後のCTA */
    #post-501 .care-final-cta {
        padding: 28px 20px !important;
        margin-top: 38px !important;
        margin-bottom: 38px !important;
        background-color: #f7f8f8 !important;
        border: 1px solid #dfe5e8 !important;
        border-radius: 12px !important;
    }

    #post-501 .care-final-cta h3 {
        margin-bottom: 14px !important;
        font-size: 21px !important;
        line-height: 1.5 !important;
        color: #34444c !important;
    }

    #post-501 .care-final-cta p {
        margin-bottom: 20px !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
        color: #4d5559 !important;
    }

    #post-501 .care-reserve-button .wp-block-button__link {
        padding: 11px 24px !important;
        background-color: #6b8e9d !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }
}
/* PC・スマホで文章を切り替える */
.pc-text {
    display: inline;
}

.sp-text {
    display: none;
}

@media screen and (max-width: 480px) {
    .pc-text {
        display: none;
    }

    .sp-text {
        display: inline;
    }
}
/* 定期ケアプラン：スマホ箇条書きの2行目位置調整 */
@media screen and (max-width: 480px) {
    #post-501 .care-rule-box p {
        padding-left: 0.75em !important;
        text-indent: -0.75em !important;
    }
}

/* 定期ケアプラン：三本線を右端に配置 */
@media screen and (max-width: 1023px) {

    body.page-id-501 .mobile-header-menu-buttons {
        display: flex !important;
        justify-content: flex-end !important;
    }

    body.page-id-501 .mobile-header-menu-buttons .navi-menu-button {
        order: 99 !important;
        flex: 0 0 70px !important;
        width: 70px !important;
        max-width: 70px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    body.page-id-501 .navi-menu-icon,
    body.page-id-501 .navi-menu-caption {
        text-align: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* 定期ケアプラン詳細：施術写真 */
.page-id-501 .care-detail-photo {
    display: block;
    width: 70%;
    max-width: 900px;
    margin: 0 auto !important;
}

.page-id-501 .care-detail-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2.6 / 1;
    object-fit: cover;
    object-position: center center;
    border-radius: 14px;
}

/* スマホ表示 */
@media screen and (max-width: 480px) {
    .page-id-501 .care-detail-photo {
        width: 100%;
        max-width: none;
    }

    .page-id-501 .care-detail-photo img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center center;
        border-radius: 12px;
    }
}

/* 定期ケアプラン：画像の長押し・ドラッグ保存を抑制 */
body.page-id-501 img {
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

/* 肩こり改善整体：冒頭見出し */
.shoulder-intro-title {
    color: #34444c !important;
    font-size: 28px !important;
    line-height: 1.5 !important;
    margin-top: 32px !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px;
    border-bottom: 3px solid #a9c4d0;
}

/* 肩こり改善整体：冒頭文章 */
.shoulder-intro-text {
    color: #4d5559 !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    margin-bottom: 22px !important;
}

/* スマホ */
@media screen and (max-width: 480px) {
    .shoulder-intro-title {
        font-size: 22px !important;
        line-height: 1.45 !important;
        margin-top: 24px !important;
        margin-bottom: 20px !important;
        padding-bottom: 10px;
    }

    .shoulder-intro-text {
        font-size: 15px !important;
        line-height: 1.85 !important;
        margin-bottom: 18px !important;
    }
}

/* 全固定ページ：投稿日・更新日を非表示 */
body.page .date-tags {
    display: none !important;
}

/* ======================================
   肩こり改善整体：文章＋施術写真
====================================== */

/* PC：文章左・写真右 */
body:is(.page-id-554, .page-id-634) .shoulder-intro-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    grid-template-rows: auto auto;
    column-gap: 32px;
    row-gap: 18px;
    align-content: center;
    align-items: center;

    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 32px 36px;
    margin: 24px 0 40px;
    box-sizing: border-box;
}

/* WordPressの内部グループ構造にも対応 */
body:is(.page-id-554, .page-id-634) .shoulder-intro-layout > .wp-block-group__inner-container {
    display: contents;
}

/* 文章：左側に2段落 */
body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text {
    grid-column: 1;
    margin: 0 !important;
    color: #4d5559 !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text:first-of-type {
    grid-row: 1;
}

body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text:last-of-type {
    grid-row: 2;
}

/* 写真：右側 */
body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-photo {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: center;
}

body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center center;
    border-radius: 12px;
}

/* スマホ：文章の下に写真 */
@media screen and (max-width: 767px) {

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 18px !important;

        padding: 22px 18px;
        margin: 18px 0 32px;
        border-radius: 12px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text {
        font-size: 15px !important;
        line-height: 1.85 !important;
        margin: 0 !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-photo {
        width: 100% !important;
        max-width: none !important;
        margin: 4px 0 0 !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-photo img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center center;
        border-radius: 10px;
    }
}

/* 肩こり改善整体：PCの文章間隔を調整 */
@media screen and (min-width: 768px) {

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout {
        row-gap: 22px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text:first-of-type {
        align-self: end !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-intro-text:last-of-type {
        align-self: start !important;
    }
}

/* 肩こり改善整体：PCのBOX上下余白を調整 */
@media screen and (min-width: 768px) {

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-intro-layout .shoulder-photo img {
        aspect-ratio: 2 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

/* 肩こり改善整体：スマホの三本線を右上へ */
@media screen and (max-width: 1023px) {

    body:is(.page-id-554, .page-id-634) .mobile-header-menu-buttons {
        display: flex !important;
        justify-content: flex-end !important;
    }

    body:is(.page-id-554, .page-id-634) .mobile-header-menu-buttons .navi-menu-button {
        order: 99 !important;
        flex: 0 0 70px !important;
        width: 70px !important;
        max-width: 70px !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    body:is(.page-id-554, .page-id-634) .navi-menu-icon,
    body:is(.page-id-554, .page-id-634) .navi-menu-caption {
        text-align: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ====================================
   肩こり改善整体：肩こりを繰り返す理由
==================================== */

/* PC：3列カード */
body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px !important;
    align-items: stretch;
    margin-top: 24px !important;
    margin-bottom: 44px !important;
}

/* 各カード */
body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid > .wp-block-column {
    width: auto !important;
    min-width: 0;
    flex-basis: auto !important;
    margin: 0 !important;
    padding: 26px 24px;
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
}

/* カード見出し */
body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid h3 {
    margin: 0 0 18px !important;
    padding-left: 12px;
    border-left: 3px solid #a9c4d0;
    color: #34444c !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
    font-weight: 600;
}

/* カード本文 */
body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid p {
    margin: 0 !important;
    color: #4d5559 !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
}

/* スマホ：縦1列 */
@media screen and (max-width: 767px) {

    body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid {
        grid-template-columns: 1fr;
        gap: 14px !important;
        margin-top: 18px !important;
        margin-bottom: 36px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid > .wp-block-column {
        padding: 22px 18px;
        border-radius: 12px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid h3 {
        font-size: 18px !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid p {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }
}

/* =====================================
   肩こり改善整体：3つの施術アプローチ
===================================== */

body:is(.page-id-554, .page-id-634) .shoulder-approach {
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 32px 36px;
    margin: 24px 0 44px;
    box-sizing: border-box;
    counter-reset: approach;
}

/* 各ステップ見出し */
body:is(.page-id-554, .page-id-634) .shoulder-approach h3 {
    counter-increment: approach;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 12px !important;
    color: #34444c !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
    font-weight: 600;
}

body:is(.page-id-554, .page-id-634) .shoulder-approach h3::before {
    content: counter(approach, decimal-leading-zero);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    background-color: #e6eef1;
    color: #506d79;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 600;
}

/* 説明文 */
body:is(.page-id-554, .page-id-634) .shoulder-approach p {
    margin: 0 0 30px 56px !important;
    color: #4d5559 !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
}

/* 最終項目の下余白をなくす */
body:is(.page-id-554, .page-id-634) .shoulder-approach p:last-child {
    margin-bottom: 0 !important;
}

/* スマホ表示 */
@media screen and (max-width: 767px) {
    body:is(.page-id-554, .page-id-634) .shoulder-approach {
        padding: 24px 18px;
        margin: 18px 0 36px;
        border-radius: 12px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-approach h3 {
        gap: 10px;
        font-size: 17px !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-approach h3::before {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        border-radius: 8px;
        font-size: 15px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-approach p {
        margin: 0 0 26px 0 !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-approach p:last-child {
        margin-bottom: 0 !important;
    }
}

/* 肩こり改善整体：番号と見出しの配置を修正 */
body:is(.page-id-554, .page-id-634) .shoulder-approach h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;

    padding: 0 !important;
    margin-left: 0 !important;
    text-indent: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Cocoonの見出し装飾をリセット */
body:is(.page-id-554, .page-id-634) .shoulder-approach h3::after {
    content: none !important;
}

/* 自動番号 */
body:is(.page-id-554, .page-id-634) .shoulder-approach h3::before {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    box-sizing: border-box;
}

/* スマホ */
@media screen and (max-width: 767px) {
    body:is(.page-id-554, .page-id-634) .shoulder-approach h3 {
        gap: 12px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-approach h3::before {
        flex: 0 0 36px !important;
        width: 36px !important;
    }
}

/* =====================================
   肩こり改善整体：料金カード
===================================== */

body:is(.page-id-554, .page-id-634) .shoulder-price-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px !important;
    align-items: stretch;
    margin: 24px 0 40px !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-price-grid > .wp-block-column {
    width: auto !important;
    min-width: 0;
    flex-basis: auto !important;
    margin: 0 !important;
    padding: 26px 24px;
    box-sizing: border-box;
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
}

/* 90分コースを強調 */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid > .wp-block-column:nth-child(2) {
    border: 2px solid #6b8e9d;
    background-color: #f0f5f6;
}

/* コース名 */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid h3 {
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #a9c4d0 !important;
    color: #34444c !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
}

/* 料金 */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(1) {
    margin: 0 0 12px !important;
    color: #34444c !important;
    font-size: 27px !important;
    font-weight: 700 !important;
}

/* 説明 */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(2) {
    margin: 0 !important;
    color: #4d5559 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
    body:is(.page-id-554, .page-id-634) .shoulder-price-grid {
        grid-template-columns: 1fr;
        gap: 14px !important;
        margin: 18px 0 36px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-price-grid > .wp-block-column {
        padding: 22px 18px;
        border-radius: 12px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-price-grid h3 {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(1) {
        font-size: 25px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(2) {
        font-size: 15px !important;
    }
}

/* 肩こり改善整体：90分おすすめラベル */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid .price-recommend-label {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    padding: 3px 9px;
    background-color: #e6eef1;
    color: #506d79;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

/* 肩こり改善整体：料金カードの見出し位置を修正 */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid h3 {
    padding: 0 0 12px 14px !important;
    text-indent: 0 !important;
    border-left: 3px solid #a9c4d0 !important;
    border-bottom: 1px solid #a9c4d0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-price-grid h3::before,
body:is(.page-id-554, .page-id-634) .shoulder-price-grid h3::after {
    content: none !important;
}

/* おすすめラベル */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid .price-recommend-label {
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 3px 9px !important;
    background-color: #e6eef1 !important;
    color: #506d79 !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
    white-space: nowrap;
}

/* 肩こり改善整体：料金の文字サイズ */
body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(1) {
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    color: #34444c !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
    body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(1) {
        font-size: 16px !important;
    }
}

/* =====================================
   肩こり改善整体：定期ケアプラン案内
===================================== */

body:is(.page-id-554, .page-id-634) .shoulder-care-cta {
    background-color: #f7f8f8;
    border: 1px solid #dfe5e8;
    border-radius: 14px;
    padding: 30px 36px;
    margin: 28px 0 44px !important;
    box-sizing: border-box;
}

/* 見出し */
body:is(.page-id-554, .page-id-634) .shoulder-care-cta h3 {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    color: #34444c !important;
    font-size: 21px !important;
    line-height: 1.5 !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-care-cta h3::before,
body:is(.page-id-554, .page-id-634) .shoulder-care-cta h3::after {
    content: none !important;
}

/* 説明文 */
body:is(.page-id-554, .page-id-634) .shoulder-care-cta p {
    color: #4d5559 !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    margin: 0 0 18px !important;
}

/* ボタンを中央に配置 */
body:is(.page-id-554, .page-id-634) .shoulder-care-cta .wp-block-buttons {
    justify-content: center !important;
    margin-top: 24px !important;
}

/* ボタンの色・形 */
body:is(.page-id-554, .page-id-634) .shoulder-care-cta .wp-block-button__link {
    background-color: #6b8e9d !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-care-cta .wp-block-button__link:hover {
    opacity: 0.85;
}

/* スマホ */
@media screen and (max-width: 767px) {

    body:is(.page-id-554, .page-id-634) .shoulder-care-cta {
        padding: 24px 18px;
        margin: 22px 0 36px !important;
        border-radius: 12px;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-care-cta h3 {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-care-cta p {
        font-size: 15px !important;
        line-height: 1.8 !important;
        margin-bottom: 14px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-care-cta .wp-block-buttons {
        margin-top: 20px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-care-cta .wp-block-button__link {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }
}

/* =====================================
   肩こり改善整体：最終予約案内（HOME型）
===================================== */
/* 説明文のBOX */
body:is(.page-id-554, .page-id-634) .shoulder-final-cta {
    background-color: #eef3f5;
    border: 1px solid #d5e1e6;
    border-radius: 12px;
    padding: 32px 36px;
    margin: 22px 0 28px !important;
    box-sizing: border-box;
}

/* BOX内の文章 */
body:is(.page-id-554, .page-id-634) .shoulder-final-cta p {
    color: #4d5559 !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    text-align: left !important;
    margin: 0 0 22px !important;
}

body:is(.page-id-554, .page-id-634) .shoulder-final-cta p:last-child {
    margin-bottom: 0 !important;
}

/* BOX直後の予約ボタンを中央へ */
body:is(.page-id-554, .page-id-634) .shoulder-final-cta + .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    margin: 28px 0 48px !important;
}

/* ボタン */
body:is(.page-id-554, .page-id-634) .shoulder-final-cta + .wp-block-buttons .wp-block-button__link {
    background-color: #6b8e9d !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* スマホ */
@media screen and (max-width: 767px) {
    body:is(.page-id-554, .page-id-634) .shoulder-final-cta {
        padding: 22px 18px;
        margin: 18px 0 24px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-final-cta p {
        font-size: 15px !important;
        line-height: 1.85 !important;
        margin-bottom: 18px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-final-cta + .wp-block-buttons {
        margin: 24px 0 40px !important;
    }

    body:is(.page-id-554, .page-id-634) .shoulder-final-cta + .wp-block-buttons .wp-block-button__link {
        font-size: 14px !important;
        padding: 12px 24px !important;
    }
}

/* HOME：症状別の詳細ページへのリンク */
.home-symptom-link {
    width: 100% !important;
    max-width: 900px !important;
    box-sizing: border-box;
    padding: 0 60px !important;
    margin: 26px auto 54px !important;
    text-align: left !important;
}

.home-symptom-link a,
.home-symptom-link a:visited {
    color: #6b8e9d !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.home-symptom-link a:hover {
    opacity: 0.75;
}

/* スマホ */
@media screen and (max-width: 767px) {
    .home-symptom-link {
        max-width: 100% !important;
        padding: 0 10px !important;
        margin: 20px auto 42px !important;
    }

    .home-symptom-link a {
        font-size: 15px !important;
    }
}

/* =====================================
   固定ページ共通：スマホ上部の余白
===================================== */
@media screen and (max-width: 767px) {

    body.page:not(.home) .breadcrumb {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    body.page:not(.home) .article-header {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.page:not(.home) .entry-title {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.page:not(.home) .entry-content {
        margin-top: 0 !important;
    }

    body.page:not(.home) .entry-content > :first-child {
        margin-top: 0 !important;
    }

    body.page:not(.home) .entry-content > h2:first-of-type {
        margin-top: 0 !important;
    }

    body.page:not(.home) .entry-content > .wp-block-group:first-child > h2:first-child {
        margin-top: 0 !important;
    }
}

/* 固定ページ共通：スマホのタイトル上余白 */
@media screen and (max-width: 767px) {
    body.page:not(.home) #main {
        padding-top: 12px !important;
    }
}


/* HOME：施術の流れ4つのBOXサイズ統一 */
@media screen and (min-width: 768px) {
    body.home .flow-grid > .home-step-box {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        height: 230px !important;
        min-height: 230px !important;
        box-sizing: border-box !important;
    }
}

/* ========================================
   ONE FIT：全ページ共通 文字サイズの基準
   通常本文：PC16px / スマホ15px
   BOX説明：PC・スマホともに15px
   料金・見出し・注釈・ボタンは既存の個別指定を維持
======================================== */

/* 記事本文全体の基準。個別の見出し・料金などの指定は優先されます。 */
.entry-content {
    font-size: 16px;
    line-height: 1.85;
}
@media screen and (max-width: 767px) {
    .entry-content {
        font-size: 15px;
    }
}

/* 通常本文（HTMLで文字サイズを特別指定していない段落） */
body:is(.home, .page) .entry-content > p:not([style*="font-size"]),
body.page-id-501 .care-intro-box p,
body.page-id-501 .care-rule-box p,
body.page-id-501 .care-final-cta p,
body:is(.page-id-554, .page-id-634) .shoulder-intro-text,
body:is(.page-id-554, .page-id-634) .shoulder-approach p,
body:is(.page-id-554, .page-id-634) .shoulder-care-cta p,
body:is(.page-id-554, .page-id-634) .shoulder-final-cta p {
    font-size: 16px !important;
    line-height: 1.85 !important;
}

/* 施術の特徴・流れ・各種説明カードの本文 */
body.home .feature-card p,
body.home .feature-card p span,
body.home .flow-grid .home-step-box p,
body.home .flow-grid .home-step-box p span,
body.page-id-501 .care-faq details p,
body:is(.page-id-554, .page-id-634) .shoulder-reasons-grid p,
body:is(.page-id-554, .page-id-634) .shoulder-price-grid p:nth-of-type(2) {
    font-size: 15px !important;
    line-height: 1.85 !important;
}

/* スマホ：本文は15px、BOX内は15pxのまま */
@media screen and (max-width: 767px) {
    body:is(.home, .page) .entry-content > p:not([style*="font-size"]),
    body.page-id-501 .care-intro-box p,
    body.page-id-501 .care-rule-box p,
    body.page-id-501 .care-final-cta p,
    body:is(.page-id-554, .page-id-634) .shoulder-intro-text,
    body:is(.page-id-554, .page-id-634) .shoulder-approach p,
    body:is(.page-id-554, .page-id-634) .shoulder-care-cta p,
    body:is(.page-id-554, .page-id-634) .shoulder-final-cta p {
        font-size: 15px !important;
        line-height: 1.85 !important;
    }
}

/* HOME：スマホの施術の流れ4BOXを同じ横幅にする */
@media screen and (max-width: 767px) {
    body.home .flow-grid .home-step-box {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        align-self: stretch !important;
    }
}

/* スマホのみ改行 */
.onefit-sp-br {
  display: none;
}

@media screen and (max-width: 767px) {
  .onefit-sp-br {
    display: inline;
  }
}
