body {
    letter-spacing: 0.08em;
}

/* ==========================================================================
   お知らせセクション全体
   ========================================================================== */
   .t-home-news {
    padding: 80px 0;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    color: #333;
    height: auto; /* 高さは自動に */
}

.t-home-news__inner {
    margin: 0 auto;
    padding: 0 30px;
}

/* タイトルエリア */
.t-home-news__label {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 40px;
}

.t-home-heading__en {
    font-size: var(--fs-12);
    color: var(--theme-color);
    letter-spacing: 0.35em;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
}

.t-home-heading__ja {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: var(--fs-32);
    font-weight: 700;
    color: #333;
    letter-spacing: 0.15em;
    line-height: 1.2;
    margin: 0;
}

/* 一覧を見るボタン */
.c-button.-top-blue a {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    font-weight: 700;
    border: 2px solid var(--theme-color);
    padding: 10px 40px;
    border-radius: 50px;
    font-size: var(--fs-15);
    background-color: var(--theme-color);
    transition: all 0.3s ease;
}

.c-button.-top-blue a:hover {
    background-color: #fff;
    color: var(--theme-color);
}

/* 2カラムレイアウト（白背景と枠線を削除） */
.t-home-news__body {
    display: flex;
    gap: 40px; /* PCでの左右の間隔を少し広めに */
    align-items: flex-start;
    background-color: transparent; /* 背景透過 */
    border: none; /* 枠線を削除 */
    border-radius: 0;
}

/* ==========================================================================
   左カラム：重要なお知らせ (30%)
   ========================================================================== */
   .t-home-important__wrap {
    flex: 0 0 30%;
    padding: 25px;
}

.t-home-heading4 {
    color: #fff;
    font-size: var(--fs-18);
    font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding-bottom: 12px;
    margin-bottom: 10px;
}

.t-home-important {
    list-style: none;
    border-bottom: 1px dotted #fff;
}

.t-home-important a {
    display: block;
    padding: 12px 10px; /* 余白を微調整して隙間を詰める */
    text-decoration: none;
    background-color: transparent;
    transition: background-color 0.3s ease;
}

.t-home-important__inner {
    display: flex;
    flex-direction: column;
    gap: 2px; /* 日付とタイトルの隙間を最小限に */
}

.t-home-important .c-news-date {
    font-size: var(--fs-13);
    color: #fff;
    margin: 0;
    padding: 0;
}

.t-home-important__bottom {
    display: flex;
    align-items: flex-end; /* タイトルと矢印を裾合わせ */
    justify-content: space-between;
    gap: 10px;
}

.t-home-important .c-news-title {
    flex: 1;
    color: #fff;
    font-weight: 700;
    font-size: var(--fs-15);
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin: 0;
}

/* ホバー：下線を消す */
.t-home-important a:hover .c-news-title {
    text-decoration: none;
}

/* ==========================================================================
   右カラム：通常お知らせ (残り)
   ========================================================================== */
.t-home-post {
    flex: 1;
    padding: 30px;
}

.t-home-post__cate {
    display: flex;
    gap: 8px;
    margin-bottom: 0;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
}

/* カテゴリタブ（ボタン風） */
.t-home-cate {
    cursor: pointer;
    font-size: var(--fs-18);
    letter-spacing: 0;
    font-weight: 500;
    line-height: 1.7;
    padding: 4px 15px;
    border: 1px solid #00552e;
    background: #F8F8F8;
    color: #00552e;
    font-weight: 600;
    transition: 0.3s;
    border-radius: 15px;
}

.t-home-cate.js-open,
.t-home-cate:hover {
    background: #00552e;
    color: #fff;
}

/* 記事リストアイテム */
.c-news {
    list-style: none;
    border-bottom: 1px dotted #ccc;
}

.c-news a {
    display: flex;
    align-items: center;
    padding: 20px 0;
    text-decoration: none;
    color: #333;
}

/* 2. ホバー時の状態（共通） */
.c-news a:hover {
    background-color: #f7f3e9;
}

.c-news-date {
    font-size: var(--fs-18);
    color: var(--theme-color);
    font-family: Arial, sans-serif;
}

/* 記事内カテゴリラベル（緑ボタン風） */
.c-news-cate {
    flex: 0 0 100px;
    font-size: var(--fs-15);
    display: inline-block;
    padding: 2px 8px;
    background: #F8F8F8;
    border: solid 1px #E9E9E9;
    color: var(--theme-color);
    text-align: center;
    border-radius: 15px;
    margin: 0 15px;
    font-weight: 700;
}

.c-news-title {
    flex: 1;
    font-size: var(--fs-20);
    line-height: 1.6;
    font-weight: 500;
}

/* ==========================================================================
   共通：右端矢印アイコン
   ========================================================================== */
/* 1. 通常時の状態（共通） */
.c-icon-roundArrow {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 1px solid #ccc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #003399; /* 矢印の色 */
    background-color: transparent;
    margin-left: auto; /* 右端固定 */
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    /* transform の指定をここから削除、または transition から transform を外す */
}

/* 2. ホバー時の状態（共通） */
.c-news a:hover .c-icon-roundArrow {
    background-color: #003399; /* 背景を紺に */
    color: #fff;               /* 矢印を白に */
    border-color: #003399;     /* 枠線も紺に */
    
    /* 横移動を無効化 */
    transform: none !important; 
}

/* 3. 重要なお知らせ（左カラム）の矢印位置の最終固定 */
.t-home-important__bottom {
    display: flex;
    align-items: flex-end;
    width: 100%;
}

.t-home-important .c-icon-roundArrow {
    margin-left: auto; /* タイトルが短くても必ず右端へ */
}

.c-icon-roundArrow svg {
    width: 10px;
    height: 10px;
}

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (max-width: 1024px) {
    .t-home-news__body {
        flex-direction: column;
    }
    .t-home-important__wrap {
        width: 100%;
        margin-bottom: 40px;
    }
    .t-home-post {
        width: 100%;
    }
}


/* ==========================================================================
   重要なお知らせ（左カラム）の矢印右寄せ調整
   ========================================================================== */

/* 1. リンクエリア全体の幅を100%に固定 */
.t-home-important a {
    display: block;
    width: 100%; /* 親の25%幅の中でいっぱい広げる */
    box-sizing: border-box;
}

/* 2. タイトルと矢印のコンテナを横幅いっぱいにする */
.t-home-important__bottom {
    display: flex;
    align-items: flex-end;   /* 下揃え */
    justify-content: flex-start; /* 基本は左詰め */
    width: 100%;             /* ここが重要：右端まで広げる */
}

/* 3. タイトルを可能な限り広げ、矢印を右へ押し出す */
.t-home-important .c-news-title {
    flex: 1;                 /* 残りの幅をすべてタイトルが占有する */
    margin: 0;
    padding-right: 10px;     /* 矢印との隙間 */
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* 4. 矢印を強制的に右端へ */
.t-home-important .c-icon-roundArrow {
    margin-left: auto;       /* 左側に自動で余白を作り、右端へ押し出す */
    flex: 0 0 24px;          /* 矢印のサイズを固定 */
}

/* 5. ホバー時の連動（重要側も再定義） */
.t-home-important a:hover .c-news-title {
    text-decoration: none;
}

/* ==========================================================================
   ニュースタイトルの下線制御（ホバー時のみ表示）
   ========================================================================== */

/* 通常のお知らせ：デフォルトは下線なし */
.t-home-post .c-news-title {
    text-decoration: none;
    transition: color 0.3s ease;
}

/* 通常のお知らせ：ホバー時に下線を表示 */
.t-home-post .c-news a:hover .c-news-title {
    text-decoration: underline;
    text-underline-offset: 4px; /* 下線の位置を少し下げて読みやすく */
    font-weight: 700;
    color: var(--theme-color);
}

/* 【再確認】重要なお知らせ（左側）：こちらは武田さん風に逆の動き */
.t-home-important .c-news-title {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.t-home-important a:hover .c-news-title {
    text-decoration: none; /* ホバーで下線を消す */
}

/* ==========================================================================
   矢印アイコン：位置固定・色のみ変化
   ========================================================================== */
.c-icon-roundArrow {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 1px solid #ccc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-color);
    background-color: transparent;
    margin-left: auto; /* 右端に固定 */
    transition: all 0.3s ease;
    transform: none !important; /* 横移動を完全に無効化 */
}

/* ホバー時の色変化（共通） */
.c-news a:hover .c-icon-roundArrow {
    background-color: var(--theme-color);
    color: #fff;
    border-color: var(--theme-color);
    /* transform: translateX は書かない */
}

/* --- 右側のお知らせリスト全体の再調整 --- */
.t-home-post .c-news a {
    display: flex;
    align-items: center;    /* 垂直方向中央 */
    justify-content: flex-start; /* 左詰めベース */
    width: 100%;            /* 横幅いっぱい */
    text-decoration: none;
}

/* 日付とカテゴリの幅を固定して安定させる */
.t-home-post .c-news-date {
    flex: 0 0 100px; /* 日付の幅 */
    white-space: nowrap;
}

.t-home-post .c-news-cate {
    flex: 0 0 128px; /* カテゴリラベルの幅（「重要なお知らせ」も1行で収まる幅に） */
    margin: 0 20px;
    font-size: var(--fs-14); /* 種類によらず統一 */
    white-space: nowrap;
}

/* タイトルを中央に大きく広げる（これが矢印を右へ押し出します） */
.t-home-post .c-news-title {
    flex: 1;         /* 余った幅をすべて占有 */
    margin: 0;
    padding-right: 20px; /* 矢印との衝突防止 */
    text-align: left;
}

/* 矢印：右端に完全に固定 */
.t-home-post .c-icon-roundArrow {
    flex: 0 0 24px;   /* 矢印のサイズを固定 */
    margin-left: auto; /* 強制的に右端へ */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 重要なお知らせ側の矢印も同様に右端へ */
.t-home-important__bottom {
    display: flex;
    align-items: flex-end;
    width: 100%;
}

.t-home-important .c-news-title {
    flex: 1;
}

.t-home-important .c-icon-roundArrow {
    margin-left: auto;
}

/* ==========================================================================
   中央の境界線設定
   ========================================================================== */

/* PCサイズ時のみ境界線を表示 */
@media (min-width: 1025px) {
    .t-home-important__wrap {
        position: relative;
        /* gapの半分（20px）だけ右側に余白を作って、線を中央に配置 */
        padding-right: 20px;
    }
}

/* ==========================================================================
   レスポンシブ対応
   ========================================================================== */

/* タブレットサイズ（1024px以下） */
@media (max-width: 1024px) {
    .t-home-news {
        height: auto; /* 高さを固定解除 */
        padding: 60px 0;
    }

    .t-home-news__inner {
        padding: 0 20px;
    }

    .t-home-news__body {
        flex-direction: column; /* 縦並びに変更 */
        gap: 0;
    }

    /* 左カラム：重要なお知らせ */
    .t-home-important__wrap {
        flex: 0 0 auto;
        width: 100%;
        border-radius: 15px 15px 0 0; /* 上側だけ角丸 */
        padding: 25px;
    }

    /* 右カラム：通常お知らせ */
    .t-home-post {
        width: 100%;
        padding: 25px;
    }
}

/* スマホサイズ（767px以下） */
@media (max-width: 767px) {
    .t-home-news__label {
        gap: 8px;
        margin-bottom: 30px;
    }

    .t-home-heading__ja {
        font-size: var(--fs-29);
    }

    /* 通常のお知らせ：スマホでは要素を折り返す */
    .t-home-post .c-news a {
        flex-wrap: wrap; /* 折り返しを許可 */
        padding: 15px 0;
        position: relative; /* 矢印の絶対配置用 */
    }

    .t-home-post .c-news-date {
        flex: 0 0 auto;
        margin-bottom: 5px;
    }

    .t-home-post .c-news-cate {
        flex: 0 0 auto;
        margin: 0 0 5px 15px; /* 左側に隙間、下にも余白 */
        font-size: var(--fs-13);
        padding: 1px 10px;
    }

    .t-home-post .c-news-title {
        flex: 0 0 100%; /* タイトルを100%幅にして改行させる */
        order: 3; /* 日付・カテゴリの下に配置 */
        font-size: var(--fs-15);
        padding-right: 35px; /* 矢印と被らないように */
    }

    /* 矢印アイコンを右上に固定（スマホでのレイアウト崩れ防止） */
    .c-icon-roundArrow {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) !important; /* 中央配置 */
    }

    .t-home-important .c-icon-roundArrow {
        position: static; /* 重要エリアは元のままでOK */
        transform: none !important;
    }

    /* 重要なお知らせのタイトルサイズ微調整 */
    .t-home-heading4 {
        font-size: var(--fs-18);
        height: auto;
        padding-bottom: 10px;
    }
}

/* スマホサイズ（767px以下）の調整 */
@media (max-width: 767px) {
    /* ボタンの中の a タグを横幅いっぱいにする（押しやすくする） */
    .c-button.-top-blue a {
        display: block;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    /* フッターボタン：スマホでは中央寄せ */
    .t-home-news__footer {
        justify-content: center !important;
        margin-top: 24px;
    }
}

/* ==========================================================================
   お知らせセクション全体（囲み枠を廃止）
   ========================================================================== */
   .t-home-news {
    padding: 10px 0;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    color: #333;
    height: auto; /* 高さは自動に */
    background-color: #fff;
}

/* 2カラムレイアウト（白背景と枠線を削除） */
.t-home-news__body {
    display: flex;
    gap: 40px; /* PCでの左右の間隔を少し広めに */
    align-items: flex-start;
    background-color: transparent; /* 背景透過 */
    border: none; /* 枠線を削除 */
    border-radius: 0;
}

/* ==========================================================================
   左カラム：重要なお知らせ
   ========================================================================== */
.t-home-important__wrap {
    flex: 0 0 30%;
    padding: 25px;
}

.t-home-heading4 {
    color: #fff;
    font-size: var(--fs-18);
    font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding-bottom: 12px;
    margin-bottom: 10px;
}

/* ==========================================================================
   右カラム：通常お知らせ
   ========================================================================== */
.t-home-post {
    flex: 1;
    padding: 0; /* 余計な内側の余白を削除 */
}

/* 記事リストアイテム（線を見やすく） */
.c-news {
    list-style: none;
    border-bottom: 1px solid #D1CDC4; /* 背景に馴染む少し濃いベージュの線 */
}

.c-news a {
    display: flex;
    align-items: center;
    padding: 20px 0;
    text-decoration: none;
    color: #333;
    transition: background-color 0.3s;
}

.c-news a:hover {
    background-color: rgba(255,255,255,0.4); /* 透過した白でほんのり光らせる */
}

/* ==========================================================================
   レスポンシブ（スマホ対応）
   ========================================================================== */
@media (max-width: 1024px) {
    .t-home-news__body {
        flex-direction: column;
        gap: 30px;
    }
    .t-home-important__wrap {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .t-home-news {
        /* padding-bottom: p-clinic-intro の margin-top:-60px 分を吸収するため80pxに設定 */
        padding: 50px 0 80px;
    }

    /* スマホでは「重要」の横幅いっぱいを活かす */
    .t-home-important__wrap {
        padding: 20px;
        border-radius: 10px;
    }

    /* 通常お知らせのレイアウト調整 */
    .t-home-post .c-news a {
        flex-wrap: wrap;
        padding: 15px 0;
        position: relative;
    }

    .t-home-post .c-news-date {
        font-size: var(--fs-13);
    }

    .t-home-post .c-news-cate {
        margin: 0 0 5px 10px;
        font-size: var(--fs-12);
    }

    .t-home-post .c-news-title {
        flex: 0 0 100%;
        order: 3;
        font-size: var(--fs-15);
        line-height: 1.5;
        padding-right: 30px; /* 矢印と重ならないよう */
    }

    /* 矢印：右端に絶対配置 */
    .c-icon-roundArrow {
        position: absolute;
        right: 0;
    }
}

/* ==========================================================================
   表示・非表示の制御
   ========================================================================== */

/* PC用ボタンの基本形（デフォルト） */
.u-hidden-pc {
    display: none !important;
}

/* スマホサイズ（767px以下）の調整 */
@media (max-width: 767px) {
    /* PC用のボタンを消す */
    .u-hidden-sp {
        display: none !important;
    }

    /* スマホ用のボタンを表示する */
    .u-hidden-pc {
        display: block !important;
        margin-top: 30px; /* お知らせリストとの間隔 */
        text-align: center;
    }

    /* ボタンのデザインをスマホ向けに最適化 */
    .c-button.-top-blue a {
        display: inline-block;
        width: 100%;
        max-width: 300px; /* 横に広がりすぎないように制限 */
        padding: 15px 20px;
        box-sizing: border-box;
    }

    /* タイトルまわりの余白調整 */
    .t-home-news__label {
        margin-bottom: 25px;
    }
}

:root {
    --corp-primary: #00552e; 
    --corp-accent-red: #FF4F4B;
    --corp-bg-beige: #F7F3E9;
}

.t-corp-news {
}
/* 右上の透かし英字：.p-section-head__ja-row::before に content/color だけ与える */
.t-corp-news .p-section-head__ja-row::before {
    content: 'NEWS';
    color: rgba(0, 85, 46, 0.05);
}

/* 施設カラー（style.cssの .is-* と同値） */
.t-corp-news {
    --news-color-senshou-clinic: #1e3a8a;
    --news-color-muratatouseki-clinic: #c53030;
    --news-color-natoritouseki-clinic: #2f855a;
}

/* ==========================================================================
   災害時の緊急連絡バナー（お知らせの上に配置）
   ========================================================================== */
.t-corp-emergency {
    --emg-color: #00552e;
    --emg-bg-start: #ecf6f0;
    --emg-bg-end: #f7f3e9;
    margin: 0;
    border-top: 1px solid #d8d2bf;
    border-bottom: none;
    background: linear-gradient(90deg, var(--emg-bg-start) 0%, var(--emg-bg-end) 100%);
}
.t-corp-emergency.is-caution {
    --emg-color: #b8861f;
    --emg-bg-start: #fbf2d8;
    --emg-bg-end: #faf6e8;
}
.t-corp-emergency.is-emergency {
    --emg-color: #c93030;
    --emg-bg-start: #fbe6e6;
    --emg-bg-end: #fef5f5;
}
.t-corp-emergency__inner {
    /* 左右パディングはお知らせカラムと完全一致（56px / SP 18px / 14px） */
    padding: 32px 56px;
    display: flex;
    flex-direction: column;
}

/* === 見出しエリア（お知らせカラム見出しと同じ構造） === */
.t-corp-emergency__head {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 72px;
    margin-bottom: 16px;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--emg-color);
}
.t-corp-emergency__head-text {
    flex: 1;
    min-width: 0;
}
.t-corp-emergency__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--emg-color);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.t-corp-emergency__icon svg { width: 24px; height: 24px; }
.t-corp-emergency__tag {
    margin: 0 0 4px;
    font-size: var(--fs-12);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--emg-color);
    line-height: 1;
}
.t-corp-emergency__title {
    margin: 0;
    font-size: var(--fs-22); /* お知らせ見出しと同サイズ */
    font-weight: 700;
    color: var(--emg-color);
    letter-spacing: 0.02em;
    line-height: 1.4;
    white-space: nowrap;
}

/* === 本文エリア（説明 + ステータス + ボタン） === */
.t-corp-emergency__body {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.t-corp-emergency__desc {
    margin: 0;
    flex: 1 1 280px;
    min-width: 0;
    font-size: var(--fs-17);
    color: #333;
    line-height: 1.7;
}
.t-corp-emergency__meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
    flex-wrap: wrap;
}
.t-corp-emergency__timestamp {
    flex: 1 1 100%;
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px dashed color-mix(in srgb, var(--emg-color) 30%, transparent);
    font-size: var(--fs-16);
    color: #666;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
}
.t-corp-emergency__status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--emg-color) 30%, #fff);
    border-radius: 999px;
    font-size: var(--fs-15);
    font-weight: 700;
    color: var(--emg-color);
}
.t-corp-emergency__status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--emg-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--emg-color) 18%, transparent);
    animation: emgPulse 2s ease-in-out infinite;
}
.t-corp-emergency.is-emergency .t-corp-emergency__status-dot {
    animation-duration: 0.9s;
}
@keyframes emgPulse {
    0%, 100% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--emg-color) 18%, transparent); }
    50%      { box-shadow: 0 0 0 7px color-mix(in srgb, var(--emg-color) 8%, transparent); }
}
.t-corp-emergency__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--emg-color);
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: var(--fs-15);
    font-weight: 700;
    letter-spacing: 0.04em;
    transition: opacity 0.2s ease;
}
.t-corp-emergency__link:hover { opacity: 0.85; }
.t-corp-emergency__link svg { width: 14px; height: 14px; }

/* === 施設単体版（clinic-detail.php）：被災・透析バッジ／お知らせ本文／電話番号を
   /emergency/ ページへ遷移しなくてもその場で確認できるように表示する === */
.t-corp-emergency__body--facility {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.t-corp-emergency__body--facility .t-corp-emergency__desc {
    flex: none;
    width: 100%;
}
.t-corp-emergency__body--facility .t-corp-emergency__link {
    width: 100%;
    justify-content: center;
}
.t-corp-emergency__badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.t-corp-emergency__notice {
    width: 100%;
}
.t-corp-emergency__notice-title {
    margin: 0 0 4px;
    font-size: var(--fs-16);
    font-weight: 700;
    color: #333;
}
.t-corp-emergency__notice-content {
    font-size: var(--fs-15);
    color: #555;
    line-height: 1.7;
}
.t-corp-emergency__notice-content p { margin: 0 0 0.6em; }
.t-corp-emergency__notice-content p:last-child { margin-bottom: 0; }
.t-corp-emergency__tel {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 12px 18px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--emg-color) 30%, #fff);
    border-radius: 16px;
    color: var(--emg-color);
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.t-corp-emergency__tel:hover { opacity: 0.85; }
.t-corp-emergency__tel-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--emg-color);
    color: #fff;
}
.t-corp-emergency__tel-icon svg { width: 20px; height: 20px; }
.t-corp-emergency__tel-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.t-corp-emergency__tel-label {
    font-size: var(--fs-12);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #888;
}
.t-corp-emergency__tel-number {
    font-size: var(--fs-22);
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--emg-color);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1024px) {
    .t-corp-emergency__inner { padding: 24px 28px; }
}
@media (max-width: 768px) {
    .t-corp-emergency__inner { padding: 22px 18px; }
    .t-corp-emergency__head {
        min-height: 0;
        gap: 12px;
        margin-bottom: 12px;
        padding-bottom: 12px;
    }
    .t-corp-emergency__icon { width: 32px; height: 32px; }
    .t-corp-emergency__icon svg { width: 18px; height: 18px; }
    .t-corp-emergency__title { font-size: var(--fs-18); }
    .t-corp-emergency__body {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
    .t-corp-emergency__desc  { flex: 1 1 auto; font-size: var(--fs-13); }
    .t-corp-emergency__meta {
        flex: 1 1 auto;
        justify-content: space-between;
        gap: 10px;
    }
    .t-corp-emergency__link  { padding: 8px 14px; font-size: var(--fs-14); }
    .t-corp-emergency__timestamp { font-size: var(--fs-10); text-align: left; }
}
@media (max-width: 600px) {
    .t-corp-emergency__inner { padding: 20px 14px; }
    .t-corp-emergency__title { font-size: var(--fs-17); }
    .t-corp-emergency__meta {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .t-corp-emergency__status { justify-content: center; }
    .t-corp-emergency__link { justify-content: center; }
}

/* お知らせ全体を画面端までベタ付け（コーポレートtopのみ）
   ※下部 .t-home-news__inner { padding: 0 20px !important } を !important で上書き */
.t-corp-news .t-home-news__inner {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* 見出しも緊急バナー／カラムと同じ左右ガターで全幅展開（中央寄せの 1360px 縛りは廃止） */
.t-corp-news .t-home-news__label,
.t-corp-news .p-section-head {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--corp-gutter, 56px);
    padding-right: var(--corp-gutter, 56px);
}

/* 1枚のカードに見せる：7:3 の grid（左＝各施設／広め、右＝泉松会／狭め）。
   コンテナ全体を角丸の枠線で囲い、中は左右とも透明にしてセクション背景
   （--corp-bg-beige）にそのまま馴染ませる。中央の縦線（各カラム側の
   border-right）のみ内側の区切りとして残す。 */
.t-corp-news-body-container {
    display: grid;
    grid-template-columns: 7fr 3fr;
    align-items: stretch;
    background-color: transparent;
    border: 1px solid #e0d5b8;
    border-radius: 20px;
    overflow: hidden;
    /* .t-home-news__inner が padding:0 でフルブリードのため、角丸枠が画面端で
       切れないよう見出しと同じ --corp-gutter を左右マージンとして持たせる。 */
    margin: 0 var(--corp-gutter, 56px);
}

/* 「お知らせ一覧を見る」：見出しのリード文と同じ行に右寄せで配置 */
.p-section-head__lead-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}
.p-section-head__lead-row .p-section-head__lead { margin: 2px 0 0; }

.t-corp-news-column {
    padding: 48px 56px;
    display: flex;
    flex-direction: column;
}

.t-corp-news-column.-facility {
    border-right: 1px solid #e6dbb8;
    background-color: transparent; /* セクション背景に馴染ませる */
}
.t-corp-news-column.-corp {
    background-color: transparent; /* セクション背景に馴染ませる */
}

/* 見出しエリア（共通の土台）
   緊急バナーの見出しと同じ「アイコン+テキストブロック」の横並びレイアウト */
.t-corp-news-column__head {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 72px;
    margin-bottom: 16px;
    padding-bottom: 18px;
}
.t-corp-news__head-text {
    flex: 1;
    min-width: 0;
}
/* 見出し横の円形アイコン（緊急バナーと同じ作り） */
.t-corp-news__head-icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.t-corp-news__head-icon svg {
    width: 24px;
    height: 24px;
}


.t-corp-news__head-tag {
    margin: 0 0 6px;
    font-size: var(--fs-12);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 700;
}

.t-corp-news__heading {
    font-size: var(--fs-22);
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #222;
    white-space: nowrap;
}

/* === 左カラム（ベージュ背景）：文字はゴールドブラウン === */
.t-corp-news-column.-corp .t-corp-news-column__head { color: #b8945a; }
.t-corp-news-column.-corp .t-corp-news__head-tag    { color: #b8945a; }
.t-corp-news-column.-corp .t-corp-news__heading     { color: #8a6d3b; }
.t-corp-news-column.-corp .t-corp-news__head-icon   { background: #b8945a; }

/* === 右カラム（白背景）：文字はグリーン === */
.t-corp-news-column.-facility .t-corp-news-column__head { color: var(--corp-primary); }
.t-corp-news-column.-facility .t-corp-news__head-tag    { color: var(--corp-primary); }
.t-corp-news-column.-facility .t-corp-news__heading     { color: var(--corp-primary); }
.t-corp-news-column.-facility .t-corp-news__head-icon   { background: var(--corp-primary); }

.t-corp-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ==========================================================================
   記事行（共通）
   ※ news.css 下部の `.c-news { border-bottom: none !important }` を !important で上書き
   ========================================================================== */
.t-corp-news .c-news {
    border-bottom: 1px dashed #c9bf9d !important;
}
/* 表示中の最終行は下線なし（下のページネーション上線とのダブりを回避）。
   ページ送りで変動するため JS が .is-last-visible を付与。
   フォールバックとして :last-child も同様に外す。 */
.t-corp-news .c-news.is-last-visible,
.t-corp-news .c-news:last-child { border-bottom: none !important; }

.t-corp-news .c-news a {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px 10px;
    text-decoration: none;
    color: #333;
    transition: background-color 0.25s ease;
    border-radius: 6px;
    position: relative;
}

.t-corp-news .c-news a:hover {
    background-color: rgba(0, 85, 46, 0.04);
}

.t-corp-news .c-news-date {
    color: var(--corp-primary);
    font-weight: 600;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: var(--fs-16);
    letter-spacing: 0.02em;
    margin: 0;
}

.t-corp-news .c-news-title {
    flex: 1;
    margin: 0;
    font-size: var(--fs-17);
    line-height: 1.6;
    color: #222;
}

/* ==========================================================================
   左カラム：日付改行→タイトル
   ========================================================================== */
.t-corp-news-column.-corp .c-news a {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

/* ==========================================================================
   右カラム：日付 / カテゴリ（固定幅）/ タイトル
   タイトル開始位置が施設名の長さに左右されないよう、カテゴリ列を固定幅に
   ========================================================================== */
.t-corp-news-column.-facility .c-news a {
    display: grid;
    grid-template-columns: auto 11em 1fr auto; /* 末尾に矢印列 */
    /* 泉松会カラム（右）と行内容の開始位置（日付の上端）を揃えるため上寄せにする。
       1行中央寄せだと、タイトルが2行の行で日付が下がり右カラムとズレるため。 */
    align-items: start;
    gap: 20px;
}
/* 矢印だけは行の高さに対して中央に置く（上寄せだと2行タイトル時に浮いて見える） */
.t-corp-news-column.-facility .c-icon-roundArrow { align-self: center; }

/* 施設バッジ（[]無し・施設カラー / 固定幅） */
.t-corp-news .c-news-facility {
    font-size: var(--fs-14);
    font-weight: 600;
    color: var(--news-facility-color, var(--corp-primary));
    background: color-mix(in srgb, var(--news-facility-color, var(--corp-primary)) 10%, #fff);
    border: 1px solid color-mix(in srgb, var(--news-facility-color, var(--corp-primary)) 35%, #fff);
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
    margin: 0;
    width: fit-content;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* PC・タブレット：省略せず施設名を全部表示したいので、列幅を少し広げた上で
   バッジのフォントサイズも少し縮小して確実に収まるようにする
   （600px以下はモバイル側の別ルールが担当） */
@media (min-width: 601px) {
    .t-corp-news-column.-facility .c-news-facility {
        font-size: var(--fs-12);
        padding: 4px 8px;
        /* 固定幅の列いっぱいに広げ、全ラベルの左右端を揃える（テキストは中央寄せ） */
        width: 100%;
        text-align: center;
    }

    /* 泉松会カラムのカテゴリラベルも、施設ラベル（11em 列＝11rem）と同じ枠に揃える。
       min-width なので「レポート」など短いものも同じ幅になり、
       将来もっと長い名称が来た場合は枠のほうが広がる（省略されない）。 */
    .t-corp-news-column.-corp .c-news-facility.is-corpcat {
        min-width: 11rem;
        text-align: center;
    }
}

.t-corp-news .c-news.is-senshou-clinic       { --news-facility-color: var(--news-color-senshou-clinic); }
.t-corp-news .c-news.is-muratatouseki-clinic { --news-facility-color: var(--news-color-muratatouseki-clinic); }
.t-corp-news .c-news.is-natoritouseki-clinic { --news-facility-color: var(--news-color-natoritouseki-clinic); }
/* 全施設共通のお知らせは目立たせる（アクセントレッド） */
.t-corp-news .c-news.is-all-clinics          { --news-facility-color: var(--corp-accent-red); }

.t-corp-news .c-news a:hover .c-news-facility {
    background: var(--news-facility-color, var(--corp-primary));
    color: #fff;
    border-color: var(--news-facility-color, var(--corp-primary));
}

.t-corp-news .c-news.-empty p {
    color: #888;
    padding: 14px 12px;
    margin: 0;
    font-size: var(--fs-14);
}

/* ==========================================================================
   カテゴリ絞り込みフィルタ（右カラム）
   ========================================================================== */
/* クリニック詳細ページのお知らせタブ（l-clinic-news__tabs）と同じ、
   横一列に繋がったセグメントコントロール風デザイン。PC/モバイルとも
   同一仕様で、はみ出す分は折り返さず横スクロールにする。 */
.t-corp-news__filter {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0 0 24px;
    padding: 0;
    width: fit-content; /* ブロック要素のままだと親幅いっぱいに伸びて最後のボタンの
                            右側に余白ができるため、内容にぴったり詰める */
    max-width: 100%;
    border: 2px solid var(--corp-primary);
    border-radius: 50px;
    background: color-mix(in srgb, var(--corp-primary) 8%, #fff);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.t-corp-news__filter::-webkit-scrollbar {
    display: none;
}
.t-corp-news__filter-btn {
    border: none;
    border-left: 1px solid color-mix(in srgb, var(--corp-primary), #fff 60%);
    background: transparent;
    color: #333;
    font-size: var(--fs-15);
    font-weight: 700;
    padding: 8px 22px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-family: inherit;
    white-space: nowrap;
    flex-shrink: 0;
}
.t-corp-news__filter-btn:first-child {
    border-left: none;
}
.t-corp-news__filter-btn:hover {
    background-color: color-mix(in srgb, var(--corp-primary), #fff 82%);
}
.t-corp-news__filter-btn.is-active {
    background: var(--corp-primary);
    border-color: var(--corp-primary);
    color: #fff;
}
.t-corp-news__filter-btn.is-senshou-clinic.is-active       { background: var(--news-color-senshou-clinic); border-color: var(--news-color-senshou-clinic); }
.t-corp-news__filter-btn.is-muratatouseki-clinic.is-active { background: var(--news-color-muratatouseki-clinic); border-color: var(--news-color-muratatouseki-clinic); }
.t-corp-news__filter-btn.is-natoritouseki-clinic.is-active { background: var(--news-color-natoritouseki-clinic); border-color: var(--news-color-natoritouseki-clinic); }

/* === 泉松会カラム：フィルターをゴールドベースに === */
.t-corp-news-column.-corp .t-corp-news__filter {
    border-color: #b8945a;
    background: color-mix(in srgb, #b8945a 8%, #fff);
}
.t-corp-news-column.-corp .t-corp-news__filter-btn {
    border-left-color: color-mix(in srgb, #b8945a, #fff 60%);
}
.t-corp-news-column.-corp .t-corp-news__filter-btn:hover {
    background-color: color-mix(in srgb, #b8945a, #fff 82%);
}
.t-corp-news-column.-corp .t-corp-news__filter-btn.is-active {
    background: #b8945a;
    border-color: #b8945a;
    color: #fff;
}

/* === 泉松会カラム：カテゴリラベル（is-corpcat）をゴールド＋日付の横に配置 === */
.t-corp-news-column.-corp .c-news a {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "date cat"
        "title title";
    align-items: start; /* 施設カラム（左）と日付の開始位置を揃える */
    column-gap: 12px;
    row-gap: 6px;
}
.t-corp-news-column.-corp .c-news-date        { grid-area: date; }
.t-corp-news-column.-corp .c-news-title       { grid-area: title; }
.t-corp-news-column.-corp .c-news-facility.is-corpcat {
    grid-area: cat;
    justify-self: start;
    --news-facility-color: #b8945a; /* ゴールド */
    font-size: var(--fs-12); /* 施設バッジ（左・PC 0.78rem）とラベル文字サイズを揃える */
}

/* ==========================================================================
   ページネーション
   ========================================================================== */
.t-corp-news-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    padding-top: 18px;
    border-top: 1px dashed #c9bf9d;
}
.t-corp-news-pagination:empty {
    display: none;
}
.t-corp-news-pagination__btn {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid #d8d2bf;
    background: #fff;
    color: #555;
    font-size: var(--fs-15);
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    line-height: 1;
}
.t-corp-news-pagination__btn:hover:not(.is-disabled):not(.is-current) {
    border-color: var(--corp-primary);
    color: var(--corp-primary);
}
.t-corp-news-pagination__btn.is-current {
    background: var(--corp-primary);
    border-color: var(--corp-primary);
    color: #fff;
    cursor: default;
}
.t-corp-news-pagination__btn.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.t-corp-news-pagination__btn.-nav {
    font-size: var(--fs-18);
}

/* --- レスポンシブ --- */
@media (max-width: 1024px) {
    .t-corp-news-body-container {
        grid-template-columns: 1fr;
    }
    .t-corp-news-column.-facility {
        border-right: none;
        border-bottom: 1px solid #ece5d2;
    }
    .t-corp-news-column {
        padding: 32px 28px;
    }
}

/* 「お知らせ一覧を見る」モバイル専用配置：PCでは見出し横のボタン（.p-section-head__lead-row内）
   を使うため、本文カード下のこちらは非表示にしておく。768px以下で入れ替える（下の
   @media (max-width: 768px) 内で表示に切り替え）。 */
.t-corp-news__cta-mobile {
    display: none;
}

@media (max-width: 768px) {
    .t-corp-news .t-home-news__label {
        padding-left: 16px;
        padding-right: 16px;
    }
    .t-corp-news .p-section-head {
        align-items: center;
        text-align: center;
    }
    .t-corp-news .p-section-head__en {
        justify-content: center;
    }
    .p-section-head__lead-row {
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }
    .t-corp-news-column {
        padding: 24px 18px;
        min-width: 0; /* グリッド／フレックスアイテムのデフォルト min-width:auto を解除し、
                          中の横スクロール要素がコンテナ幅を押し広げないようにする */
    }
    .t-corp-news-column__head {
        margin-bottom: 14px;
        padding-bottom: 10px;
    }

    /* 「お知らせ一覧を見る」はモバイルのみ本文カード（.t-corp-news-body-container）の
       下に移動する。PC用（見出し横）は隠し、モバイル専用の複製ボタンを表示する。 */
    .t-corp-news .p-section-head__lead-row .c-button.-top-blue {
        display: none;
    }
    .t-corp-news__cta-mobile {
        display: flex;
        justify-content: center;
        margin-top: 28px;
    }
    /* 767px以下の共通ルール（.c-button.-top-blue a { display:block; width:100% }）が
       ボタンを横幅いっぱいにするため、text-align:start のままだと文字が左寄りに
       見えてしまう。中央寄せにする。 */
    .t-corp-news__cta-mobile a {
        text-align: center;
    }

    .t-corp-news .c-news-facility {
        font-size: var(--fs-12);
        padding: 3px 9px;
    }
}

/* スマホ〜小型タブレット（768px以下）：お知らせ一覧を2行構成に最適化。
   （単カラム化は1024px以下だが、ラベル全幅の間延びが目立つのはこの幅帯以下） */
@media (max-width: 768px) {
    .t-corp-news-column {
        padding: 20px 14px;
    }
    .t-corp-news .c-news a {
        gap: 8px;
        padding: 14px 4px;
    }
    /* 右カラム：SPでは2行構成（上:日付+施設、下:タイトル） */
    .t-corp-news-column.-facility .c-news a {
        /* auto auto にすると、2列にまたがるタイトル（1行目の下）の長さに応じて
           列幅の配分が行ごとに変わり、同じ施設名でも省略されたりされなかったり
           する。日付は内容ぴったり、ラベルは残り全部と固定して行差をなくす。 */
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-areas:
            "date facility"
            "title title";
        row-gap: 6px;
        /* PC用の gap:20px を上書き。泉松会カラムと同じ 8px にして
           両カラムのラベル幅を一致させる */
        column-gap: 8px;
    }
    .t-corp-news-column.-facility .c-news-date     { grid-area: date; }
    /* モバイルでは全幅ストレッチをやめ、日付のすぐ横に内容ぴったりの
       コンパクトなラベルを左寄せで置く（ニュース一覧の一般的な体裁）。 */
    .t-corp-news-column.-facility .c-news-facility {
        grid-area: facility;
        width: fit-content;
        justify-self: start;
        text-align: center;
    }
    /* 泉松会カラムのカテゴリラベルも同様に、日付の横へコンパクトに左寄せ。 */
    .t-corp-news-column.-corp .c-news-facility.is-corpcat {
        justify-self: start;
        width: fit-content;
        text-align: center;
    }
    /* 泉松会カラムも同じ理由（タイトルの長さで列幅が変わる）で列を固定する。
       gap も施設カラムと同じ 8px にして、左右カラムのラベル幅を揃える。 */
    .t-corp-news-column.-corp .c-news a {
        grid-template-columns: max-content minmax(0, 1fr);
        column-gap: 8px;
    }
    .t-corp-news-column.-facility .c-news-title    { grid-area: title; font-size: var(--fs-15); }
    /* SPでは矢印は非表示（行全体がタップ領域） */
    .t-corp-news-column.-facility .c-icon-roundArrow { display: none; }
    /* 3見出し統一：SPでも nowrap を維持するためサイズダウン */
    .t-corp-news__heading,
    .t-corp-emergency__title { font-size: var(--fs-17); }
}

/* 極小幅（320px級）：日付とラベルを横並びにすると
   「名取透析クリニック」など長い施設名が入りきらず省略されるため、
   ラベルを1行落として全文を表示する（右端の揃えは維持）。 */
@media (max-width: 359px) {
    .t-corp-news-column.-facility .c-news a {
        grid-template-columns: 1fr;
        grid-template-areas:
            "date"
            "facility"
            "title";
    }
    .t-corp-news-column.-corp .c-news a {
        grid-template-columns: 1fr;
        grid-template-areas:
            "date"
            "cat"
            "title";
    }
    .t-corp-news-column.-facility .c-news-facility,
    .t-corp-news-column.-corp .c-news-facility.is-corpcat {
        justify-self: start;
        width: fit-content;
        text-align: center;
    }
}

/* 英語のサブタイトル (news) */
.t-corp-news .t-home-heading__en {
    color: var(--corp-primary) !important;
}

/* ===== セクション見出しを代表サイト共通の統一スタイルへ =====
   施設サイトは中央寄せ。代表サイトは左寄せで少し動きを持たせる。
   構成：シンボル → 日本語タイトル → 英字（頭大文字・Montserrat） */
.t-corp-news .t-home-news__label {
    align-items: flex-start;
    text-align: left;
    gap: 14px;
}
.t-corp-news .t-home-heading__ja {
    font-family: var(--font-heading);
    letter-spacing: 0.08em;
}
.t-corp-news .t-home-heading__en {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: var(--font-en);
    font-size: var(--fs-14);
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: none; /* 頭大文字（News） */
}
.t-corp-news .t-home-heading__en::before {
    content: '';
    display: block;
    width: 42px;
    height: 1px;
    background: currentColor;
}

/* お知らせ一覧を見るボタン */
.t-corp-news .c-button.-top-blue a {
    background-color: var(--corp-primary) !important;
    border-color: var(--corp-primary) !important;
    color: #fff !important;
    transition: all 0.3s ease;
}

/* ボタンホバー時：白背景に文字色グリーン */
.t-corp-news .c-button.-top-blue a:hover {
    background-color: #fff !important;
    color: var(--corp-primary) !important;
}

/* ==========================================================================
   見出しエリアのカスタマイズ
   ========================================================================== */
.t-home-heading-group {
    flex: 1;
    margin-right: 20px; /* ボタンとの間隔 */
}

.t-home-heading-flex {
    display: flex;
    align-items: baseline; /* 下揃え */
    gap: 15px;
    margin-bottom: 8px;
}

.t-home-heading__clinic {
    font-size: var(--fs-18);
    font-weight: 700;
    color: var(--theme-color);
}

/* ==========================================================================
   お知らせリストの調整（下線削除・ホバー角丸）
   ========================================================================== */
.c-news {
    list-style: none;
    border-bottom: none !important; /* 下線を削除 */
    margin-bottom: 5px; /* リスト間の微調整 */
}

.c-news a {
    display: flex;
    align-items: center;
    padding: 15px 20px; /* 内側に余白を作って背景変化を見やすく */
    text-decoration: none;
    color: #333;
    border-radius: 12px; /* 外側を丸める */
    transition: background-color 0.3s ease;
}

/* ホバー時の背景色変化（施設カラーの超淡い色、または薄いグレー） */
.c-news a:hover {
    background-color: rgba(0, 0, 0, 0.05); /* 汎用的な薄グレー */
    /* もし施設カラーの透過にしたい場合は以下 */
    /* background-color: color-mix(in srgb, var(--theme-color), transparent 92%); */
}

/* 重要なお知らせ側の角丸対応 */
.t-home-important a {
    border-radius: 12px;
}

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (max-width: 767px) {
    .t-home-heading-flex {
        flex-direction: column;
        gap: 5px;
    }
    
    .t-home-heading__ja {
        font-size: var(--fs-29);
    }
    
    .t-home-heading__clinic {
        font-size: var(--fs-14);
        padding: 10px;
        text-align: right;
    }
    
    .c-news a {
        padding: 15px 10px;
    }
}


.t-home-heading-group {
    width: 100%;
}

/* 見出しテキストとボタンを包むコンテナ */
.t-home-heading-top-row {
    display: flex;
    justify-content: space-between; /* 両端に配置 */
    align-items: flex-end;       /* 下揃えでラインに乗せる */
    padding-bottom: 15px;        /* ラインとの隙間 */
}

.t-home-heading-flex {
    display: flex;
    align-items: baseline;       /* 日本語とクリニック名を下揃え */
    gap: 30px;
}


.t-home-heading__clinic {
    font-size: var(--fs-18);
    font-weight: 700;
    color: var(--theme-color);
}

/* PCボタンの微調整：ラインの上に綺麗に乗るように */
.t-home-heading-top-row .c-button.-top-blue {
    margin: 0;
}

.t-home-heading-top-row .c-button.-top-blue a {
    padding: 8px 30px; /* 少し高さを抑えるとラインの上で綺麗に見えます */
    font-size: var(--fs-14);
}

/* 見出し下のライン：施設カラー */
.t-home-heading__line_news {
    width: 100%;
    height: 1px;
    background-color: var(--theme-color);
}

/* ==========================================================================
   お知らせリスト：下線なし・ホバー角丸（前回の回答を維持）
   ========================================================================== */
/* 1. リスト項目（外枠）の調整 */
.c-news {
    list-style: none;
    border-bottom: none !important; /* 下線なし */
    padding: 0;               /* ★ここがポイント：左右に20pxの「進入禁止エリア」を作る */
    margin-bottom: 8px;            /* リスト同士の上下間隔 */
}

/* 2. リンク（背景色が変わる部分）の調整 */
.c-news a {
    display: flex;
    align-items: center;
    
    /* 背景色の中の文字・矢印までの余白 */
    padding: 15px 25px; 
    
    /* カプセル状の丸み */
    border-radius: 50px; 
    
    transition: all 0.3s ease;
    text-decoration: none;
    color: #333;
    
    /* aタグが親のpaddingの内側に収まるようにする */
    width: 100%;
    box-sizing: border-box;
}

/* 3. ホバー時の背景色 */
.c-news a:hover {
    background-color: rgba(255, 255, 255, 0.6); /* ベージュに馴染む白 */
}

/* 重要なお知らせ（左側）も同様に調整する場合 */
.t-home-important {
    padding: 0 15px; /* 外枠に余白 */
}

.t-home-important a {
    padding: 12px 20px;
    border-radius: 50px;
}

/* ==========================================================================
   レスポンシブ
   ========================================================================== */
@media (max-width: 767px) {
    .t-home-heading-top-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-bottom: 10px;
    }

    .t-home-heading-flex {
        flex-direction: column;
        gap: 5px;
    }

    .t-home-heading__ja {
        font-size: var(--fs-29);
    }
}


/* ==========================================================================
   【リデザイン】t-home-news：センター見出し＋SVGシンボル＋タブ
   ========================================================================== */

/* ---- シンボルSVG ---- */
.t-home-heading__symbol {
  width: 44px;
  height: 44px;
  color: var(--theme-color);
}
.t-home-heading__symbol svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ---- 旧：横並び行を非表示 ---- */
.t-home-heading-top-row {
  display: none !important;
}
.t-home-heading__line_news {
  display: none !important;
}

/* ---- カテゴリタブ ---- */
.t-home-news__tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.t-home-tab {
  cursor: pointer;
  font-size: var(--fs-15);
  font-weight: 700;
  font-family: inherit;
  padding: 8px 26px;
  border: 2px solid var(--theme-color);
  background: transparent;
  color: var(--theme-color);
  border-radius: 50px;
  transition: background-color 0.2s ease, color 0.2s ease;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.t-home-tab:hover {
  background-color: color-mix(in srgb, var(--theme-color), #fff 82%);
}

.t-home-tab.is-active {
  background-color: var(--theme-color);
  color: #fff;
}

/* ---- PC一覧ボタン（タブの下に配置） ---- */
.t-home-heading-group .c-button.-top-blue,
.t-home-news__all-btn {
  margin: 0;
}

/* ---- ニュースボディ：単一カラム ---- */
.t-home-news__body {
  display: block !important;
  max-width: 860px;
  margin: 0 auto;
}

/* ---- 重要なお知らせブロック（通常リストと統一） ---- */
.t-home-important__wrap {
  flex: none !important;
  width: 100% !important;
  background-color: transparent;
  border-left: none;
  border-radius: 0;
  padding: 0 !important;
  margin-bottom: 0;
  box-sizing: border-box;
}

.t-home-heading4 {
  color: var(--theme-color) !important;
  font-size: var(--fs-14) !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: none;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-color), #fff 65%) !important;
}

/* 重要お知らせ内のアイテム */
.t-home-important a {
  border-radius: 8px;
  padding: 10px 12px;
}

.t-home-important .c-news-date {
  color: var(--theme-color) !important;
  font-size: var(--fs-14);
}

.t-home-important .c-news-title {
  color: #333 !important;
  text-decoration: none !important;
  font-size: var(--fs-16);
}

.t-home-important a:hover .c-news-title {
  color: var(--theme-color) !important;
  text-decoration: none !important;
}

.t-home-important .c-icon-roundArrow {
  color: var(--theme-color) !important;
  border-color: var(--theme-color) !important;
}

/* ---- 通常お知らせブロック ---- */
.t-home-post {
  flex: none !important;
  width: 100% !important;
  padding: 0 !important;
}

/* ---- セクション上下余白 ----
   以前は p-clinic-intro が -80px で重なる想定で padding-bottom:200px を確保していたが、
   お知らせの直後にコラムセクションを差し込んだため、この下余白は不要な空白として
   残っていた。下余白を撤去して詰める（背景色はそのまま維持）。 */
.t-home-news {
  padding: 80px 0 !important;
  background-color: #fff;
}

/* クリニックページのお知らせ：直後の p-clinic-intro（当院について）ドームが
   margin-top:-100px(PC)/-60px(SP) で重なるため、十分な下余白を確保して詰まりを防ぐ。
   （トップページの t-corp-news はコラムが続くので対象外＝80pxのまま） */
@media (min-width: 768px) {
  body.is-facility-page .t-home-news:not(.t-corp-news) {
    padding-bottom: 180px !important;
  }
}

/* ---- 横幅を他セクションと統一（max-width: 1400px） ---- */
.t-home-news__inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* ---- ニュースボディ：1400px幅に合わせてフルに広げる ---- */
.t-home-news__body {
  max-width: none !important;
  margin: 0 !important;
}

/* ---- PCボタンフッター：ボディ下・中央寄せ ---- */
.t-home-news__footer {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.t-home-news__footer .c-button.-top-blue {
  margin: 0;
  padding: 0;
}

/* ---- ホバー背景：丸みのあるうっすらベージュ ---- */
.t-home-news .c-news a {
  border-radius: 10px;
  transition: background-color 0.22s ease;
}
.t-home-news .c-news a:hover {
  background-color: #f7f3e9 !important; /* ベースカラーと同系ベージュ */
  border-radius: 10px;
}

/* ==========================================================================
   レスポンシブ（リデザイン追加分）
   ========================================================================== */
@media (max-width: 767px) {
  .t-home-news {
    padding: 56px 0 120px !important; /* bottom: p-clinic-intro margin-top:-60px 吸収分 */
  }
  .t-home-heading__ja {
    font-size: var(--fs-30) !important;
  }
  .t-home-news__tabs {
    gap: 8px;
  }
  .t-home-tab {
    font-size: var(--fs-14);
    padding: 7px 18px;
  }
  .t-home-important__wrap {
    padding: 16px 18px !important;
  }
}

/* ==========================================================================
   クリニック単体ページ専用：お知らせ見出しエリア（l-clinic-news__）
   t-home-news__ 系と分離し、表示崩れを防ぐ
   ========================================================================== */

.l-clinic-news__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  margin-bottom: 40px;
}

.l-clinic-news__symbol {
  color: var(--theme-color);
}
.l-clinic-news__symbol img { height: 45px; width: auto; }

.l-clinic-news__title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: var(--fs-32);
  font-weight: 700;
  color: #333;
  letter-spacing: 0.15em;
  line-height: 1.2;
  margin: 0;
}

.l-clinic-news__en-label {
  font-size: var(--fs-12);
  color: var(--theme-color);
  letter-spacing: 0.35em;
  font-weight: 600;
  margin: 0;
  text-transform: capitalize;
}

/* タブ：横一列に繋がったセグメントコントロール風デザイン。
   枠線・角丸はグループ全体（.l-clinic-news__tabs）だけに付け、
   ボタン同士の境目は内部の区切り線（border-left）で表現する。
   親(.l-clinic-news__label)がalign-items:centerのため、
   このタブ自体はshrink-to-fitで自動的に中央寄せになる。 */
.l-clinic-news__tabs {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 8px;
  max-width: 100%;
  border: 2px solid var(--theme-color);
  border-radius: 50px;
  background: color-mix(in srgb, var(--theme-color) 8%, #fff);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.l-clinic-news__tabs::-webkit-scrollbar {
  display: none;
}

.l-clinic-tab {
  cursor: pointer;
  font-size: var(--fs-18);
  font-weight: 700;
  font-family: inherit;
  padding: 10px 28px;
  border: none;
  border-left: 1px solid color-mix(in srgb, var(--theme-color), #fff 60%);
  background: transparent;
  color: #333;
  transition: background-color 0.2s ease, color 0.2s ease;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
  flex-shrink: 0;
}

.l-clinic-tab:first-child {
  border-left: none;
}

.l-clinic-tab:hover {
  background-color: color-mix(in srgb, var(--theme-color), #fff 82%);
}

.l-clinic-tab.is-active {
  background-color: var(--theme-color);
  color: #fff;
}

@media (max-width: 767px) {
  .l-clinic-news__label {
    gap: 8px;
    margin-bottom: 30px;
  }
  .l-clinic-news__title {
    font-size: var(--fs-26);
  }
  .l-clinic-news__en-label {
    font-size: var(--fs-12);
  }
  .l-clinic-news__tabs {
    max-width: 100%;
    justify-content: flex-start;
  }
  .l-clinic-tab {
    font-size: var(--fs-16);
    padding: 9px 20px;
  }
}

/* ==========================================================================
   施設トップページ：重要なお知らせを通常アイテムと統一 ＋ タブ表示制御
   ========================================================================== */

/* タブコンテンツ：デフォルト表示。JS が非表示にする */
.js-news-content {
  display: block;
}
.js-news-content.is-hidden {
  display: none !important;
}

/* wrap の背景・ボーダーをリセットして t-home-post と同じ見た目に */
.t-home-news .t-home-news-list.js-news-content {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

/* 重要アイテムの「重要」ラベル：施設カラーに関わらず固定色で統一 */
.c-news-cate.is-important {
  background-color: #c53030 !important;
  color: #fff !important;
  border-color: #c53030 !important;
}

/* 重要アイテムのホバー時タイトル色 */
.t-home-important a:hover .c-news-title {
  color: var(--theme-color) !important;
}

/* ==========================================================================
   /news/ ページ専用スタイル（p-news-* 系）
   ========================================================================== */
.p-news-hero { background-position: center 40%; }

.p-news-cat-btn {
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

.p-news-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
}
.p-news-filter__btn {
    padding: 7px 20px;
    border: 1px solid rgba(0,85,46,0.25);
    border-radius: 50px;
    background: #fff;
    color: #5a7060;
    font-size: var(--fs-14);
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    font-family: inherit;
}
.p-news-filter__btn:hover,
.p-news-filter__btn.is-active {
    background: var(--color-primary, #00552e);
    color: #fff;
    border-color: var(--color-primary, #00552e);
}

.p-news-list { display: flex; flex-direction: column; }
.p-news-item {
    padding: 24px 0;
    border-bottom: 1px solid rgba(0,85,46,0.1);
}
.p-news-item:first-child { border-top: 1px solid rgba(0,85,46,0.1); }

.p-news-item__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.p-news-item__date {
    font-family: var(--font-en, 'Montserrat', sans-serif);
    font-size: var(--fs-13);
    color: #8a9e8e;
    letter-spacing: 0.04em;
}
.p-news-item__cat {
    font-size: var(--fs-12);
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--color-primary, #00552e);
    background: rgba(0,85,46,0.07);
    padding: 3px 12px;
    border-radius: 50px;
}
.p-news-item__title {
    font-size: clamp(15px, 1.6vw, 17px);
    font-weight: 700;
    line-height: 1.6;
    margin: 0 0 8px;
    letter-spacing: 0.03em;
}
.p-news-item__title a { color: #1a2b1e; text-decoration: none; transition: color 0.2s; }
.p-news-item__title a:hover { color: var(--color-primary, #00552e); }
.p-news-item__excerpt { font-size: var(--fs-14); line-height: 1.8; color: #6a7e6e; margin: 0; }

.p-news-pager {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 40px;
    flex-wrap: wrap;
}
.p-news-pager .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(0,85,46,0.2);
    border-radius: 6px;
    font-size: var(--fs-14);
    color: #5a7060;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.p-news-pager .page-numbers.current,
.p-news-pager .page-numbers:hover {
    background: var(--color-primary, #00552e);
    color: #fff;
    border-color: var(--color-primary, #00552e);
}
.p-news-pager .page-numbers.prev,
.p-news-pager .page-numbers.next { width: auto; padding: 0 16px; }

@media (max-width: 860px) {
    .p-news-filter { gap: 6px; }
    .p-news-filter__btn { padding: 6px 14px; font-size: var(--fs-12); }
}

/* ==========================================================================
   お知らせ記事単体 (single-default.php)
   ========================================================================== */

.p-news-single {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 28px rgba(0,85,46,0.07);
    overflow: hidden;
    margin-bottom: 32px;
}

.p-news-single__head {
    padding: 36px 40px 28px;
    border-bottom: 1px solid rgba(0,85,46,0.1);
}

.p-news-single__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.p-news-single__title {
    font-family: var(--font-heading, 'Zen Kaku Gothic New', sans-serif);
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 700;
    color: var(--color-primary, #00552e);
    line-height: 1.55;
    letter-spacing: 0.03em;
    margin: 0;
}

.p-news-single__body {
    padding: 36px 40px 40px;
    font-size: clamp(16px, 1.8vw, 18px);
    line-height: 2.1;
    color: #333;
}

.p-news-single__body h2,
.p-news-single__body h3 {
    font-family: var(--font-heading, 'Zen Kaku Gothic New', sans-serif);
    font-weight: 700;
    color: #1a2b1e;
    margin: 2em 0 0.8em;
}
.p-news-single__body h2 { font-size: clamp(19px, 2.2vw, 24px); border-left: 4px solid var(--color-primary, #00552e); padding-left: 12px; }
.p-news-single__body h3 { font-size: clamp(17px, 2vw, 21px); }
.p-news-single__body p  { margin: 0 0 1.4em; }
.p-news-single__body img { max-width: 100%; height: auto; border-radius: 8px; }
.p-news-single__body a  { color: var(--color-primary, #00552e); text-decoration: underline; text-underline-offset: 3px; }
.p-news-single__body a:hover { opacity: 0.75; }

/* 前後ナビ */
.p-news-single__nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    padding: 20px 40px 28px;
    border-top: 1px solid rgba(0,85,46,0.1);
}

.p-news-single__nav-prev a,
.p-news-single__nav-next a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-13);
    color: #5a7060;
    text-decoration: none;
    transition: color 0.2s;
    line-height: 1.5;
}
.p-news-single__nav-prev a:hover,
.p-news-single__nav-next a:hover { color: var(--color-primary, #00552e); }
.p-news-single__nav-prev a svg,
.p-news-single__nav-next a svg {
    width: 18px; height: 18px;
    stroke: currentColor;
    flex-shrink: 0;
}
.p-news-single__nav-prev { text-align: left; }
.p-news-single__nav-next { text-align: right; justify-content: flex-end; }
.p-news-single__nav-next a { flex-direction: row-reverse; }

.p-news-single__nav-list {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    border: 1px solid rgba(0,85,46,0.3);
    border-radius: 50px;
    font-size: var(--fs-12);
    font-weight: 700;
    color: var(--color-primary, #00552e);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}
.p-news-single__nav-list:hover {
    background: var(--color-primary, #00552e);
    color: #fff;
}

@media (max-width: 860px) {
    .p-news-single__head { padding: 24px 24px 20px; }
    .p-news-single__body { padding: 24px 24px 28px; }
    .p-news-single__nav  { padding: 16px 24px 22px; gap: 8px; }
}

@media (max-width: 600px) {
    .p-news-single__head { padding: 20px 18px 16px; }
    .p-news-single__body { padding: 20px 18px 22px; font-size: var(--fs-14); }
    .p-news-single__nav  {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "list list" "prev next";
        padding: 14px 18px 18px;
    }
    .p-news-single__nav-list { grid-area: list; }
    .p-news-single__nav-prev { grid-area: prev; }
    .p-news-single__nav-next { grid-area: next; }
}

/* 施設バッジ（p-news-item__meta 内） */
.p-news-item__facility {
    font-size: var(--fs-12);
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--about-gold, #bfa67a);
    background: rgba(191,166,122,0.1);
    border: 1px solid rgba(191,166,122,0.35);
    padding: 2px 10px;
    border-radius: 50px;
}

/* サイドナビの絞り込みボタン（施設／カテゴリ共通のリセット） */
.p-news-fac-btn,
.p-news-corp-cat-btn {
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

/* お知らせ記事：アイキャッチ画像（角丸なし） */
.p-news-detail__thumb {
    margin: 0 0 28px;
    overflow: hidden;
}
.p-news-detail__thumb img {
    display: block;
    width: 100%;
    height: auto;
}

/* 法人お知らせ記事（single-default）：サイドバー無し・中央寄せ（コラムと同じ 1000px） */
.p-news-single-layout .p-about-layout__inner {
    display: block;
    max-width: 1000px;
    margin: 0 auto;
}

/* /news/・トップのお知らせ：矢印ホバー色をカテゴリラベルに合わせる
   （施設＝施設カラー、泉松会＝ゴールド。--news-facility-color 未設定時はゴールド） */
.t-corp-news .c-news a:hover .c-icon-roundArrow {
    background-color: var(--news-facility-color, #bfa67a);
    border-color: var(--news-facility-color, #bfa67a);
    color: #fff;
}

/* お知らせ一覧ページ：各セクションブロック */
.p-news-block { scroll-margin-top: 110px; }

/* メイン上部フィルターの幅調整（p-about-main 内なので余白合わせ） */
.p-news-fac-filter { margin-bottom: 4px; }

/* -----------------------------------------------------------------------
   お知らせ一覧：各記事を p-news-single 風カードで表示
   ----------------------------------------------------------------------- */
.p-news-block .t-corp-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
    /* 背景の白箱・枠線は撤去（泉松会トップと同様に地の背景に馴染ませる） */
    background: transparent;
    border: none;
    border-radius: 0;
}

/* 区切り線のみ（背景なし） */
.p-news-block .c-news {
    background: transparent;
    border-bottom: 1px solid rgba(0, 85, 46, 0.12) !important;
}

/* 行の塗りつぶしは無し。ホバー時はカテゴリ名を色で強調する
   （.t-corp-news .c-news a:hover .c-news-facility の既存ルールが担当）。 */
.p-news-block .c-news a {
    padding: 18px 12px;
    transition: background-color 0.2s ease;
}
.p-news-block .c-news a:hover {
    background-color: transparent;
}

/* 最終行の下線不要 */
.p-news-block .c-news.is-last-visible,
.p-news-block .c-news:last-child { border-bottom: none !important; }

/* ラベル固定幅 → タイトル開始位置を揃える */
.p-news-block .c-news-facility {
    flex: 0 0 152px;
    width: 152px;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    text-align: center;
}

/* =======================================================================
   お知らせ一覧：発信元タブ（泉松会 / 各施設）
   ======================================================================= */
.p-news-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.p-news-tab {
    flex: 1 1 auto;
    min-width: 180px;
    padding: 14px 20px;
    border: 2px solid var(--color-primary, #00552e);
    border-radius: 50px;
    background: #fff;
    color: var(--color-primary, #00552e);
    font-family: inherit;
    font-size: var(--fs-16);
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.p-news-tab:hover {
    background: color-mix(in srgb, var(--color-primary, #00552e), #fff 88%);
}
.p-news-tab.is-active {
    background: var(--color-primary, #00552e);
    color: #fff;
}

/* パネル／サイドナビグループの表示切替 */
.p-news-panel.is-hidden,
.p-news-sidenav__group.is-hidden {
    display: none;
}

/* サイドナビ：カテゴリ別と施設フィルター、アーカイブを縦に並べる余白 */
.p-news-sidenav__group > nav + nav {
    margin-top: 28px;
}

/* アーカイブ：年月セレクタ */
.p-news-archive__select {
    width: 100%;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 85, 46, 0.25);
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    font-size: var(--fs-15);
    color: #333;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300552e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 38px;
}
.p-news-archive__select:focus {
    outline: none;
    border-color: var(--color-primary, #00552e);
}

/* =======================================================================
   お知らせ一覧（/news/）モバイル最適化
   PCは「日付 / ラベル(固定152px) / タイトル / 矢印」の横1行だが、
   スマホ〜小型タブレットでは幅が足りずタイトルが極端に潰れる（1文字改行）。
   768px以下では2行構成（上：日付＋ラベル、下：タイトル）に切り替える。
   ======================================================================= */
@media (max-width: 768px) {
    .p-news-block .c-news a {
        display: grid;
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-areas:
            "date facility"
            "title title";
        column-gap: 10px;
        row-gap: 6px;
        align-items: center;
        padding: 16px 4px;
    }
    .p-news-block .c-news-date {
        grid-area: date;
        font-size: var(--fs-15);
    }
    /* 固定152px幅・flexを解除し、日付の横にコンパクトなラベルを左寄せ */
    .p-news-block .c-news-facility {
        grid-area: facility;
        flex: initial;
        width: fit-content;
        justify-self: start;
        font-size: var(--fs-12);
        padding: 3px 10px;
    }
    .p-news-block .c-news-title {
        grid-area: title;
        font-size: var(--fs-15);
        line-height: 1.55;
    }
    /* 行全体がタップ領域なので矢印は隠す（外部リンクの挙動は維持） */
    .p-news-block .c-icon-roundArrow {
        display: none;
    }
}

/* 極小幅（359px以下）：日付とラベルも入りきらない場合があるため縦積み */
@media (max-width: 359px) {
    .p-news-block .c-news a {
        grid-template-columns: 1fr;
        grid-template-areas:
            "date"
            "facility"
            "title";
    }
    .p-news-block .c-news-facility {
        justify-self: start;
    }
}
