.furnished-story-page-heading {
    margin-bottom: 2rem;
    text-align: center;
}

.furnished-story-page-heading h1,
.furnished-story-detail h1 {
    /* サイト共通CSSでh1が本文と同じ16pxになるため、ページタイトルの大きさを明示する */
    color: #333;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
}

.furnished-story-page-heading p {
    margin-top: 0.75rem;
    color: #666;
}

.furnished-story-card {
    /* 縦flexにして「事例を見る」を下端に固定し、並んだカードの底辺を揃える */
    display: flex;
    flex-direction: column;
    /* スライド側がflexのため、幅の小さい画像でもカードが内容幅に縮まないよう全幅を明示する */
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
    background: #fff;
    color: #333;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.furnished-story-card:hover {
    color: #333;
    transform: translateY(-3px);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.1);
}

.furnished-story-card__image {
    /* カード幅が画面サイズで変わっても常に同じ縦横比で表示する */
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.furnished-story-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem;
}

.furnished-story-card__title {
    /* タイトルの行数差でカードの高さが揃わなくなるため、2行で省略する（全文は詳細で読める） */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 0.75rem;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.5;
}

.furnished-story-card__summary {
    min-height: 4.5em;
    margin-bottom: 1rem;
    color: #666;
    line-height: 1.5;
}

.furnished-story-card__link {
    /* flexの余白を上に寄せて、リンクを常にカード下端へ配置する */
    margin-top: auto;
    color: #137a74;
    font-weight: 700;
}

/* トップのスライダー内で各スライドを同じ高さに伸ばす（swiper既定ではスライドが中身の高さになるため） */
.swiper-slide--furnished-story {
    display: flex;
    height: auto;
}

.furnished-story-detail {
    /* 大画面で画像・本文が横に広がりすぎないよう、記事全体を読み物幅に制限する */
    max-width: 800px;
    margin-inline: auto;
    padding: 2rem;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.07);
}

.furnished-story-detail__back {
    display: inline-block;
    margin-bottom: 1.5rem;
    color: #137a74;
    text-decoration: none;
}

.furnished-story-detail__image {
    /* 画面幅やアップロード画像の縦横比によらず常に同じ形で表示する */
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 1.5rem 0 2rem;
    border-radius: 10px;
    object-fit: cover;
}

.furnished-story-detail__slider {
    /* サイト共通の .slider-wrapper は幅560px固定のため、記事カラムの中央へ寄せる */
    margin: 1.5rem auto 2rem;
}

.furnished-story-detail__section {
    margin-top: 1.5rem;
}

.furnished-story-detail__section h2 {
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #137a74;
    font-size: 1.3rem;
    font-weight: 700;
}

.furnished-story-detail__section p {
    margin-bottom: 0;
    white-space: pre-line;
    line-height: 1.9;
}

.furnished-story-detail__section--success {
    padding: 1.5rem;
    border-radius: 8px;
    background: #f3faf9;
}

@media (max-width: 767.98px) {
    .furnished-story-detail {
        padding: 1.25rem;
    }
}
