/* ここに CSS を記述 */
.photo-slider {
    position: relative;
    max-width: 800px;
    margin: 20px auto;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.slider-container {
    display: flex;
    transition: transform 0.3s ease;
}

/* aタグを追加した場合のスタイリング */
.slider-container a {
    display: block;
    flex-shrink: 0;
    width: 100%; /* ここが重要 */
}

.slider-container img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block; /* ブロック要素に変更 */
}

/* 枚数によって幅を自動調整 - a要素対応版 */
.img2 .slider-container { width: 200%; }
.img2 .slider-container > *, 
.img2 .slider-container > a { width: 50%; }

.img3 .slider-container { width: 300%; }
.img3 .slider-container > *, 
.img3 .slider-container > a { width: 33.333%; }

.img4 .slider-container { width: 400%; }
.img4 .slider-container > *, 
.img4 .slider-container > a { width: 25%; }

.img5 .slider-container { width: 500%; }
.img5 .slider-container > *, 
.img5 .slider-container > a { width: 20%; }

.img6 .slider-container { width: 600%; }
.img6 .slider-container > *, 
.img6 .slider-container > a { width: 16.666%; }

.img7 .slider-container { width: 700%; }
.img7 .slider-container > *, 
.img7 .slider-container > a { width: 14.285%; }

.img8 .slider-container { width: 800%; }
.img8 .slider-container > *, 
.img8 .slider-container > a { width: 12.5%; }

/* 他のCSSは変更なし */

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    z-index: 10;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.slider-btn:hover {
    background: rgba(255,255,255,1);
    transform: translateY(-50%) scale(1.1);
}

.prev-btn {
    left: 10px;
}

.next-btn {
    right: 10px;
}

.slide-counter {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: rgba(0,0,0,0.7);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    z-index: 10;
}

@media (max-width: 768px) {
    .photo-slider {
        margin: 10px;
        border-radius: 5px;
    }

    .slider-container img {
        height: 250px;
    }

    .slider-btn {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .prev-btn {
        left: 8px;
    }

    .next-btn {
        right: 8px;
    }

    .slide-counter {
        bottom: 10px;
        right: 10px;
        font-size: 12px;
        padding: 4px 8px;
    }
}
