/* Voice Page Mobile Scroll Fix - 完全修正版 */

/* スクロールジャンプ問題の修正 */
html {
    scroll-behavior: auto !important;
}

* {
    scroll-behavior: auto !important;
}

/* Global mobile fixes */
@media (max-width: 768px) {
    * {
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
    
    html {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        width: 100% !important;
        margin: 0;
        padding: 0;
    }
    
    body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        width: 100% !important;
        position: relative;
        margin: 0;
        padding: 0;
    }
    
    /* Container overflow fix */
    .container {
        max-width: 100% !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        padding: 0 15px !important;
        box-sizing: border-box;
        position: relative;
    }
    
    /* Section overflow fix */
    section {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        position: relative;
        scroll-behavior: auto !important;
    }
    
    /* Testimonials section specific */
    .testimonials-section {
        overflow: hidden !important;
        width: 100% !important;
    }
    
    /* Service tabs mobile scroll */
    .service-tabs {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        width: 100%;
        max-width: 100%;
        padding-bottom: 10px;
    }
    
    .service-tabs::-webkit-scrollbar {
        height: 4px;
    }
    
    .service-tabs::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    
    .service-tabs::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 2px;
    }
    
    /* Tab buttons mobile */
    .tab-button {
        flex-shrink: 0;
        min-width: 120px;
        white-space: nowrap;
    }
    
    /* Testimonials grid mobile */
    .testimonials-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        overflow: visible !important;
    }
    
    /* Testimonial cards mobile */
    .testimonial-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
        box-sizing: border-box;
        word-break: break-word;
        overflow-wrap: break-word;
    }
    
    .testimonial-card:hover {
        transform: none !important;
    }
    
    /* Disable ALL animations and transitions on mobile */
    * {
        animation: none !important;
        transition: none !important;
    }
    
    /* 特定要素のアニメーション無効化 */
    .testimonial-card,
    .industry-item,
    .stat-item,
    .flow-step,
    [data-aos] {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
    
    /* AOS無効化 */
    [data-aos] {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translate(0) scale(1) !important;
    }
    
    /* Text overflow fixes */
    .testimonial-text,
    .testimonial-header h3,
    .testimonial-result {
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    
    /* Industry grid mobile */
    .industry-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    .industry-item {
        width: 100% !important;
        transform: none !important;
        margin: 0 !important;
    }
    
    /* Stats grid mobile */
    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    /* 満足度セクションのスクロール修正 */
    .satisfaction-stats {
        overflow: hidden !important;
        position: relative;
        z-index: 1;
    }
    
    .stat-item {
        width: 100% !important;
        transform: none !important;
        margin: 0 !important;
    }
    
    /* Flow steps mobile */
    .flow-steps {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 !important;
        width: 100% !important;
    }
    
    .flow-step {
        width: 100% !important;
        transform: none !important;
        margin: 0 !important;
    }
    
    .flow-step::after {
        display: none !important;
    }
    
    /* Remove all hover effects on mobile */
    .testimonial-card:hover,
    .industry-item:hover,
    .stat-item:hover,
    .flow-step:hover,
    .tab-button:hover {
        transform: none !important;
        box-shadow: none !important;
    }
}

/* Extra small mobile fixes */
@media (max-width: 480px) {
    .container {
        padding: 0 10px !important;
    }
    
    .testimonial-card {
        padding: 15px !important;
    }
    
    .industry-item,
    .stat-item {
        padding: 20px 15px !important;
    }
    
    .tab-button {
        padding: 8px 16px !important;
        font-size: 13px !important;
        min-width: 100px !important;
    }
    
    /* Font size adjustments for better mobile readability */
    .testimonial-text {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    .customer-details h3 {
        font-size: 16px !important;
    }
    
    .customer-details p {
        font-size: 12px !important;
    }
    
    .industry-item h3 {
        font-size: 16px !important;
    }
    
    .industry-item p {
        font-size: 13px !important;
    }
}

/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
    * {
        -webkit-overflow-scrolling: auto !important;
    }
    
    .testimonials-section,
    .testimonials-grid,
    .testimonial-card {
        -webkit-transform: translate3d(0, 0, 0);
        -webkit-backface-visibility: hidden;
    }
}

/* スクロール位置のジャンプを防ぐ */
.satisfaction-stats,
.testimonials-section {
    scroll-margin-top: 0 !important;
    scroll-snap-align: none !important;
}

/* IntersectionObserverの影響を無効化 */
@media (max-width: 768px) {
    * {
        scroll-margin: 0 !important;
        scroll-padding: 0 !important;
        scroll-snap-type: none !important;
        scroll-snap-align: none !important;
    }
}