.img-con {
    bottom: 0 !important;
    right: 0 !important;
    z-index: 1 !important;
    position: sticky !important;
    clear: both;
    display: flex;
    justify-content: flex-end;
}


.img-wrap .close {
    position: absolute;
    right: 15px;
    z-index: 100;
    color: black;
    border-radius: 50%;
    font-size: 28px !important;
}

.img-wrap:hover .close {
    opacity: 1;
}


.img-wrap img {
    width: 400px;
    height: auto;
}

@media screen and (max-width: 740px) {
    .img-wrap img {
        width: 330px;
        height: auto;
    }

    .image {
        content: url("/assets/main/img/banner/2301bnr02_sp@2x.jpg");
    }
}

/* サイドバー追従（jQueryで制御） */
.sidebar-wrapper {
    position: relative;
}

.sidebar-floating {
    margin-top: 20px;
    background: #fff;
    border-radius: 10px;
    padding: 18px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    border: 1px solid #eee;
}

.sidebar-floating img {
    transition: opacity 0.2s;
}

.sidebar-floating img:hover {
    opacity: 0.9;
}

/* 目次 */
.sidebar-toc {
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
}

.sidebar-toc h4 {
    font-size: 14px !important;
    color: var(--main-color, #053A88);
}

.sidebar-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 320px;
    overflow-y: auto;
}

.sidebar-toc-item {
    transition: border-color 0.2s, background 0.2s;
    border-radius: 4px;
}

.sidebar-toc-item a:hover {
    color: var(--main-color, #053A88) !important;
}

/* おすすめ記事 */
.sidebar-recommend h4 {
    font-size: 14px !important;
    color: var(--main-color, #053A88);
    padding-top: 12px;
}

.sidebar-recommend-item {
    padding: 8px 0;
    border-bottom: 1px solid #f5f5f5;
}

.sidebar-recommend-item:last-child {
    border-bottom: none;
}

.sidebar-recommend-item:hover {
    background: #f8f9fa;
    border-radius: 6px;
}

@media screen and (max-width: 991px) {
    .sidebar-floating {
        box-shadow: none;
        padding: 0;
        border: none;
    }
}
