.whole-article {
    background-color: #ffffff;
    color: #333333;
    border-radius: 4px;
    padding: 20px 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}
.whole-article h2 {
    font-size: 28px;
    color: #4C5052;
    padding-bottom: 15px;
    border-bottom: 2px solid #E5E5E5;
    margin-top: 0;
    margin-bottom: 20px;
}
.whole-article h3 {
    font-size: 22px;
    color: #5A5E60;
    padding-bottom: 8px;
    border-bottom: 1px solid #E5E5E5;
    margin-top: 40px;
    margin-bottom: 20px;
}
.whole-article p { font-size: 16px; line-height: 1.8; }

.description { display: flex; align-items: flex-start; gap: 25px; margin-bottom: 20px; }
.description .text-part { flex: 1; min-width: 0; }
.descimage { max-width: 1300px; width: 100%; height: auto; display: block; border-radius: 4px; }
.description > p:not(.text-part) { flex-shrink: 0; }
.resizable-image-container {
    flex-basis: 45%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative; /* ← 追加 */
}
/* スライダーのラッパー */
.slider-wrapper {
    width: 100%;
    margin-bottom: 5px;
    text-align: right; /* ← スライダーを右寄せにする */
    position: absolute; /* ← 追加 */
    top: 0;           /* ← 追加 */
    right: 0;         /* ← 追加 */

}

/* ▼▼▼ スマートフォン表示用のスタイル ▼▼▼ */
@media (max-width: 800px) {
    .whole-article {
        padding: 15px; /* スマホ用に余白を調整 */
    }
    .whole-article h2 {
        font-size: 24px;
    }
    .whole-article h3 {
        font-size: 20px;
    }
    /* --- 記事のテキストと画像のレイアウト --- */
    .description {
        flex-direction: column; /* 縦積みに変更 */
        align-items: center;
    }
    .description .text-part {
        width: 100%; /* テキストブロックの幅を100%にする */
    }
    .descimage {
        max-width: 100%;
    }
    /* 画像リサイズ機能を非表示に */
    .resizable-image-container {
        flex-basis: auto; /* 幅の設定をリセット */
        width: 100%;
        align-items: center; /* 中央揃えに */
    }
    .slider-wrapper {
        display: none; /* スライダーを非表示にする */
    }
}