/* お客様の声セクション */
.testimonials-section {
    background-color: white;
    padding: 5vw 0;
}

.testimonials-section .container {
    max-width: 80vw;
    margin: 0 auto;
    background-color: white;
}

/* 見出し */
.testimonials-heading {
    font-size: 1.8vw;
    font-weight: bold;
    color: var(--black);
    text-align: center;
    margin-bottom: 3vw;
    line-height: 1.3;
}

/* スライダーコンテナ */
.testimonials-slider-container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* スライダー */
.testimonials-slider {
    width: 55vw;
    height: 33vw;
    overflow: hidden;
    position: relative;
}

.testimonials-slides {
    display: flex;
    width: 600%;
    height: 100%;
    transition: transform 0.5s ease;
}

.testimonials-slide {
    width: 16.666%;
    height: 100%;
    flex-shrink: 0;
}

/* ケースエリア */
.testimonials-case {
    width: 100%;
    height: 100%;
    background-color: var(--white);
    border: 2px solid #F47F2D;
    border-radius: 1vw;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ケースサブタイトル */
.testimonials-case-subtitle {
    font-size: 1.1vw;
    color: var(--black);
    font-weight: 500;
    padding: 1vw 1.5vw 0.5vw;
    line-height: 1.2;
    text-align: left;
}

.testimonials-case-subtitle .case-number {
    font-family: 'Futura', 'Arial Black', 'Arial', sans-serif;
    color: #F47F2D;
    font-weight: bold;
}

/* ケースタイトル */
.testimonials-case-title {
    background-color: #F47F2D;
    color: white;
    font-size: 1.3vw;
    font-weight: bold;
    padding: 0.8vw 1.5vw;
    line-height: 1.3;
    margin: 0;
    text-align: left;
}

/* ケース本文エリア */
.testimonials-case-content {
    flex: 1;
    display: flex;
    padding: 1vw;
    gap: 1vw;
}

/* 画像カラム */
.testimonials-case-image-column {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5vw;
    overflow: hidden;
}

.testimonials-case-image {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* テキストカラム */
.testimonials-case-text-column {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0.5vw;
}

.testimonials-case-text {
    font-size: 1.275vw;
    color: var(--black);
    line-height: 1.5;
    text-align: left;
}

.testimonials-highlight {
    color: #F47F2D;
    font-weight: 600;
}

/* 矢印ボタン */
.testimonials-arrow {
    width: 3vw;
    height: 3vw;
    background-color: #F47F2D;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.testimonials-arrow:hover {
    background-color: #E06B1A;
    transform: scale(1.1);
}

.testimonials-arrow-left {
    margin-right: 2vw;
}

.testimonials-arrow-right {
    margin-left: 2vw;
}

.testimonials-arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
}

.testimonials-arrow-left::before {
    border-width: 0.6vw 1vw 0.6vw 0;
    border-color: transparent white transparent transparent;
}

.testimonials-arrow-right::before {
    border-width: 0.6vw 0 0.6vw 1vw;
    border-color: transparent transparent transparent white;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .testimonials-section {
        padding: 15vw 0;
    }
    
    .testimonials-section .container {
        max-width: 90vw;
    }
    
    .testimonials-heading {
        font-size: 5.4vw;
        margin-bottom: 9vw;
    }
    
    .testimonials-slider-container {
        flex-direction: column;
        gap: 6vw;
    }
    
    .testimonials-slider {
        width: 90vw;
        height: 160vw;
    }
    
    .testimonials-case {
        border-radius: 3vw;
    }
    
    .testimonials-case-subtitle {
        font-size: 3.52vw;
        padding: 4vw 4.5vw 1.5vw;
    }
    
    .testimonials-case-title {
        font-size: 4.16vw;
        padding: 3vw 4.5vw;
    }
    
    .testimonials-case-content {
        flex-direction: column;
        padding: 3vw;
        gap: 3vw;
    }
    
    .testimonials-case-image-column {
        border-radius: 1.5vw;
        height: 25vw;
    }
    
    .testimonials-case-text-column {
        padding: 0;
    }
    
    .testimonials-case-text {
        font-size: 4.08vw;
        text-align: left;
    }
    
    .testimonials-arrow {
        width: 12vw;
        height: 12vw;
    }
    
    .testimonials-arrow-left::before {
        border-width: 2.4vw 4vw 2.4vw 0;
    }
    
    .testimonials-arrow-right::before {
        border-width: 2.4vw 0 2.4vw 4vw;
    }
    
    .testimonials-arrow-left,
    .testimonials-arrow-right {
        margin: 0 3vw;
        flex-shrink: 0;
    }
    
    /* SP版では矢印をカードの下に配置 */
    .testimonials-slider-container {
        align-items: center;
        justify-content: center;
    }
    
    .testimonials-arrows-container {
        display: flex !important;
        justify-content: center;
        gap: 6vw;
    }
    
    /* PC版の矢印を非表示 */
    .testimonials-slider-container > .testimonials-arrow {
        display: none;
    }
}