/* =========================
   Facility Single
========================= */

.facility-single{

padding:40px 5vw 80px;

}

.facility-single .container{

max-width:1080px;
margin:0 auto;

}


/* タイトル */

.facility-title{

font-size:32px;
margin-bottom:10px;

}


/* メタ */

.facility-meta{

display:flex;
align-items:center;
gap:20px;
margin-bottom:30px;

}


/* タグ */

.facility-tag{

display:inline-block;

background:#e7f2ec;

color:#3b7960;

padding:5px 12px;

border-radius:20px;

font-size:13px;

}


/* 日付 */

.facility-date{

font-size:13px;
color:#777;

}


/* アイキャッチ */

.facility-thumbnail{

margin-bottom:40px;

}

.facility-thumbnail img{

width:100%;
height:auto;

border-radius:10px;

}


/* 本文 */

.facility-content{

font-size:16px;

line-height:1.9;

}

.facility-content h2{

font-size:24px;
margin-top:50px;
margin-bottom:20px;

}

.facility-content p{

margin-bottom:20px;

}

.facility-content img{

max-width:100%;
height:auto;
border-radius:8px;

}


/* 前後リンク */

.facility-nav{

display:flex;

justify-content:space-between;

margin-top:60px;

}


/* 一覧戻る */

.facility-back{

text-align:center;

margin-top:40px;

}

.facility-back a{

display:inline-block;

padding:12px 24px;

border:1px solid #3b7960;

color:#3b7960;

border-radius:30px;

text-decoration:none;

}

.facility-back a:hover{

background:#3b7960;
color:white;

}

/* =========================
   アイキャッチ（小さめ）
========================= */

.facility-thumbnail{

max-width:200px;
margin:0 auto 30px;

}

.facility-thumbnail img{

width:100%;
height:auto;

border-radius:10px;

box-shadow:0 8px 20px rgba(0,0,0,0.12);

}

/* =========================
   施設カテゴリナビ
========================= */

.facility-category-nav{

margin-top:80px;
padding-top:40px;

border-top:1px solid #eee;

text-align:center;
padding: 40px 0;
background: #f9f9f9;
margin-bottom: 60px;
}

.facility-category-nav h3{

font-size:18px;
margin-bottom:20px;

}

.facility-category-buttons{

display:flex;
flex-wrap:wrap;
gap:12px;
justify-content:center;

}

.facility-category-button{

display:inline-block;

padding:14px 26px;

background:#f2f6f4;

color:#3b7960;

border-radius:28px;

text-decoration:none;

font-size:16px;

font-weight:600;

letter-spacing:0.03em;

transition:0.25s;

}

.facility-category-button:hover{

background:#3b7960;

color:#fff;

transform:translateY(-2px);

}

/* =========================
   施設一覧 共通
========================= */

/* 1. ページヘッダー（新規追加分） */
.facility-header {
    background: linear-gradient(rgba(59, 121, 96, 0.9), rgba(59, 121, 96, 0.9)), 
                url('images/header-bg.jpg') center/cover; /* 背景画像が必要ならパスを指定 */
    background-color: #3b7960; /* 画像がない場合の保険 */
    color: #fff;
    padding: 80px 20px;
    text-align: center;
    width: 100% !important;
}

.facility-header .page-title {
    font-size: clamp(24px, 5vw, 36px); /* 画面幅に合わせて可変 */
    font-weight: 700;
    margin: 0 0 15px 0;
    color: #fff !important;
    letter-spacing: 0.05em;
}

.breadcrumb {
    font-size: 13px;
    opacity: 0.9;
}

.breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}
.facility-header .page-sub-title {
    font-size: 14px;
    opacity: 0.8;
    letter-spacing: 0.1em;
}

/* 2. 一覧セクション全体 */
.facility-archive {
    padding: 60px 5vw;
    background: #fcfdfc; /* わずかに色をつけてカードを際立たせる */
}

/* 3. カテゴリ選択ナビ（新規追加分） */
.facility-category-nav {
    padding: 40px 0;
    background: #f9f9f9;
}

.category-list {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1000px;
}

.category-list li {
    margin: 0;
}

.category-list a {
    display: inline-block;
    padding: 12px 28px;
    background: #fff;
    border: 1px solid #3b7960;
    color: #3b7960;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* 他のカテゴリを選べるように、ホバー時の反応を強くする */
.category-list a:hover {
    background: #eef5f2;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(59, 121, 96, 0.15);
}

/* 現在地（今表示しているカテゴリ）のスタイル */
.category-list a.is-active {
    background: #3b7960;
    color: #fff;
    cursor: default; /* 今いる場所なので、クリック不要な感じを出す */
    pointer-events: none; /* クリックを無効化しても良い */
}
/* 4. 施設グリッドの統一 */
.facility-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 1100px; /* 少し広げてゆとりを持たせる */
    margin: 0 auto;
}

/* 5. 施設カードの統一 */
.facility-card {
    display: block;
    text-decoration: none;
    color: #333;
    transition: 0.3s ease;
}
.facility-card:hover {
    opacity: 0.8;
}

.facility-card-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    background: #f5f8f6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.facility-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
}

.facility-card-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

/* スマホ対応（上書き） */
@media (max-width: 768px) {
    .facility-header {
        padding: 40px 5vw;
    }
    .facility-header .page-title {
        font-size: 24px;
    }
    .facility-grid {
        grid-template-columns: repeat(1, 1fr); /* スマホは1列が読みやすい */
        gap: 30px;
    }
    .category-list a {
        padding: 8px 18px;
        font-size: 13px;
    }
}

/* =========================
   自立訓練事業所 詳細ページ
========================= */

/* post-160 の小サムネイルを非表示（ヒーローで代替） */
.postid-160 .facility-thumbnail {
    display: none !important;
}

/* post-160 の上部パディングを縮小してヒーローを早く表示 */
.postid-160 .facility-single {
    padding-top: 40px !important;
}

/* ヒーロー画像 */
.jiritsu-hero {
    position: relative;
    width: 100%;
    height: 440px;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.jiritsu-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}
.jiritsu-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.0) 35%,
        rgba(0,0,0,0.62) 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px 32px;
}
.jiritsu-hero__badge {
    display: inline-block;
    background: #3b7960;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 10px;
    width: fit-content;
}
.jiritsu-hero__caption {
    color: rgba(255,255,255,0.88);
    font-size: 14px;
    margin: 0;
    letter-spacing: 0.04em;
}
@media (max-width: 768px) {
    .jiritsu-hero {
        height: 240px;
    }
    .jiritsu-hero__overlay {
        padding: 20px;
    }
}

/* Google Map */
.jiritsu-map {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 20px;
    margin-bottom: 48px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}
.jiritsu-map iframe {
    width: 100%;
    height: 320px;
    border: 0;
    display: block;
}

/* 概要テキスト */
.jiritsu-intro {
    background: #f0f7f3;
    border-left: 5px solid #3b7960;
    padding: 22px 28px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 40px;
    font-size: 17px;
    line-height: 1.9;
}

/* 基本情報テーブル */
.jiritsu-info-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 48px;
    font-size: 17px;
}
.jiritsu-info-table th,
.jiritsu-info-table td {
    padding: 16px 20px;
    border: 1px solid #d8e9e1;
    text-align: left;
    vertical-align: top;
    line-height: 1.7;
}
.jiritsu-info-table th {
    background: #3b7960 !important;
    color: #fff !important;
    font-weight: 700 !important;
    width: 110px;
    white-space: nowrap;
}
.jiritsu-info-table td {
    background: #fff;
}

/* セクション共通 */
.jiritsu-section {
    margin-bottom: 52px;
}
.jiritsu-section__title {
    font-size: 24px;
    font-weight: 700;
    color: #3b7960;
    border-bottom: 2px solid #3b7960;
    padding-bottom: 10px;
    margin-bottom: 28px;
}

/* おすすめリスト */
.jiritsu-target-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 28px;
}
.jiritsu-target-list li {
    background: #f0f7f3;
    border-radius: 8px;
    padding: 18px 20px 18px 50px;
    font-size: 17px;
    line-height: 1.7;
    position: relative;
    overflow: hidden;
}
.jiritsu-target-list li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #3b7960 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    background: none !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    display: block !important;
    line-height: 1 !important;
}

/* プログラムリスト */
.jiritsu-program-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.jiritsu-program-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #d8e9e1;
    border-radius: 8px;
    font-size: 17px;
}
.jiritsu-program-icon {
    font-size: 22px;
    flex-shrink: 0;
}

/* 施設写真グリッド */
.jiritsu-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.jiritsu-gallery__item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* 活動写真グリッド */
.jiritsu-activity {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.jiritsu-activity__item {
    margin: 0;
}
.jiritsu-activity__item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    margin-bottom: 8px;
}
.jiritsu-activity__item figcaption {
    font-size: 13px;
    color: #555;
    text-align: center;
}

/* =========================================
   中村西ホーム (postid-158) 固有スタイル
========================================= */

/* テーマのアイキャッチ表示を抑制 */
.postid-158 .facility-thumbnail {
    display: none !important;
}
.postid-158 .facility-single {
    padding-top: 40px !important;
}

/* グループホーム 写真ヒーロー */
.gh-hero {
    position: relative;
    width: 100%;
    height: 440px;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
.gh-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
    display: block;
}
.gh-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(27,63,92,0.0) 30%, rgba(27,63,92,0.75) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px 32px;
}
.gh-hero__badge {
    display: inline-block;
    background: #317fa8;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 10px;
    width: fit-content;
}
.gh-hero__caption {
    color: rgba(255,255,255,0.88);
    font-size: 14px;
    margin: 0;
    letter-spacing: 0.04em;
}

/* postid-158 の共有クラスを青系にオーバーライド */
.postid-158 .jiritsu-info-table th {
    background: #255d82 !important;
}
.postid-158 .jiritsu-target-list li::before {
    color: #317fa8 !important;
}
.postid-158 .jiritsu-section__title::after {
    background: #317fa8 !important;
}
.postid-158 .jiritsu-intro {
    border-left-color: #317fa8 !important;
}

/* グループホーム テキストバナー（写真なし版） */
.gh-banner {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 40px;
    background: linear-gradient(135deg, #1b3f5c 0%, #255d82 50%, #317fa8 100%);
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    padding: 48px 40px;
    position: relative;
}
/* 背景に薄いパターン装飾 */
.gh-banner::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 60%),
                radial-gradient(circle at 10% 80%, rgba(255,255,255,0.05) 0%, transparent 50%) !important;
    pointer-events: none !important;
}
.gh-banner__inner {
    position: relative;
    z-index: 1;
}
.gh-banner__badge {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 14px;
    border: 1px solid rgba(255,255,255,0.35);
}
.gh-banner__title {
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    letter-spacing: 0.04em !important;
}
.gh-banner__address {
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    margin: 0;
    letter-spacing: 0.04em;
}

/* =========================================
   平和台ホーム (postid-153) 固有スタイル
========================================= */

.postid-153 .facility-thumbnail { display: none !important; }
.postid-153 .facility-single { padding-top: 40px !important; }
.postid-153 .jiritsu-info-table th { background: #255d82 !important; }
.postid-153 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-153 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* =========================================
   祇園ホーム (postid-159) 固有スタイル
========================================= */

/* テーマのアイキャッチ表示を抑制 */
.postid-159 .facility-thumbnail {
    display: none !important;
}
.postid-159 .facility-single {
    padding-top: 40px !important;
}

/* 青系カラーオーバーライド */
.postid-159 .jiritsu-info-table th {
    background: #255d82 !important;
}
.postid-159 .jiritsu-target-list li::before {
    color: #317fa8 !important;
}
.postid-159 .jiritsu-section__title::after {
    background: #317fa8 !important;
}
.postid-159 .jiritsu-intro {
    border-left-color: #317fa8 !important;
}

/* ── postid-154 大橋ホーム ── */
.postid-154 .facility-thumbnail { display: none !important; }
.postid-154 .facility-single { padding-top: 40px !important; }
.postid-154 .jiritsu-info-table th { background: #255d82 !important; }
.postid-154 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-154 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* ── postid-155 南宮崎ホーム ── */
.postid-155 .facility-thumbnail { display: none !important; }
.postid-155 .facility-single { padding-top: 40px !important; }
.postid-155 .jiritsu-info-table th { background: #255d82 !important; }
.postid-155 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-155 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* ── postid-156 おおよどホーム ── */
.postid-156 .facility-thumbnail { display: none !important; }
.postid-156 .facility-single { padding-top: 40px !important; }
.postid-156 .jiritsu-info-table th { background: #255d82 !important; }
.postid-156 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-156 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* ── postid-157 清水ホーム ── */
.postid-157 .facility-thumbnail { display: none !important; }
.postid-157 .facility-single { padding-top: 40px !important; }
.postid-157 .jiritsu-info-table th { background: #255d82 !important; }
.postid-157 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-157 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* ── postid-152 神宮ホーム ── */
.postid-152 .facility-thumbnail { display: none !important; }
.postid-152 .facility-single { padding-top: 40px !important; }
.postid-152 .jiritsu-info-table th { background: #255d82 !important; }
.postid-152 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-152 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* ── postid-151 江平ホーム ── */
.postid-151 .facility-thumbnail { display: none !important; }
.postid-151 .facility-single { padding-top: 40px !important; }
.postid-151 .jiritsu-info-table th { background: #255d82 !important; }
.postid-151 .jiritsu-section__title::after { background: #317fa8 !important; }
.postid-151 .jiritsu-intro { border-left-color: #317fa8 !important; }

/* スマホ対応 */
@media (max-width: 768px) {
    .facility-single {
        padding: 24px 4vw 60px;
    }
    .jiritsu-section__title {
        font-size: 20px;
    }
    .jiritsu-info-table {
        font-size: 15px;
    }
    .jiritsu-info-table th,
    .jiritsu-info-table td {
        padding: 12px 14px;
    }
    .jiritsu-info-table th {
        width: 80px;
    }
    .jiritsu-intro {
        font-size: 15px;
    }
    .jiritsu-target-list {
        grid-template-columns: 1fr;
    }
    .jiritsu-target-list li {
        font-size: 15px;
    }
    .jiritsu-gallery,
    .jiritsu-activity {
        grid-template-columns: repeat(2, 1fr);
    }
    .gh-hero,
    .jiritsu-hero {
        height: 280px;
    }
    .gh-banner {
        padding: 36px 24px;
    }
    .gh-banner__title {
        font-size: 22px;
    }
}
