﻿/* ===================================
   レスポンシブ対応（モバイル用フォントサイズ調整）
   =================================== */

@media (max-width: 768px) {
    /* モバイルでは一部のフォントサイズを調整 */
    body {
        font-size: 14px; /* モバイルは14pxでOK */
    }
    
    .breadcrumb {
        font-size: 14px;
    }
    
    .dropdown-link {
        font-size: 14px;
    }
    
    .stat-label {
        font-size: 14px;
    }
    
    .feature-text {
        font-size: 14px;
    }
    
    .visual-caption {
        font-size: 14px;
    }
    
    .detail-toggle {
        font-size: 14px;
    }
    
    .tab-button, .case-tab-button, .sim-tab-button {
        font-size: 14px;
    }
    
    .spec-item li,
    .timeline-details li,
    .data-category li,
    .challenge li, .solution li,
    .factor-item li,
    .step-content li,
    .flow-step .step-details li,
    .comparison-item li,
    .result-details li,
    .partner-advantages li,
    .goal-content li,
    .point-content p,
    .advantage-item p,
    .condition-item li {
        font-size: 14px;
    }
    
    .metric-label,
    .stat-label,
    .data-unit,
    .data-label,
    .co2-equivalent,
    .cert-item p,
    .step-duration,
    .required-documents p,
    .evaluation-criteria p,
    .proposal-contents p,
    .support-details p,
    .aftercare-services p,
    .selected-company .label,
    .recommended .label,
    .reason,
    .matching-item p {
        font-size: 12px;
    }
    
    /* レイアウト調整 */
    .main-nav {
        display: none;
    }
    
    .mobile-menu-toggle {
        display: flex;
    }
    
    .mobile-menu.active {
        display: block;
    }
    
    .header-container {
        height: 60px;
    }
    
    .footer-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .mobile-nav-link {
        font-size: 14px; /* モバイルは14px */
    }
    
    .footer-section address,
    .footer-links a {
        font-size: 14px; /* モバイルは14px */
    }
    
    .footer-note {
        font-size: 14px; /* モバイルは14px */
    }
    
    .copyright {
        font-size: 13px; /* モバイルは13px */
    }
    
    /* ヒーローセクション */
    .hero-features {
        grid-template-columns: 1fr;
    }
    
    /* ソリューションセクション */
    .comparison-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    .vs-divider {
        height: 40px;
        width: 40px;
        font-size: 18px;
    }
    
    .comparison-card.featured {
        transform: none;
    }
    
    .comparison-card.featured::before {
        font-size: 13px;
    }
    
    /* プロセスセクション */
    .process-timeline {
        grid-template-columns: 1fr;
    }
    
    .process-step::after {
        display: none;
    }
    
    /* 実績セクション */
    .result-showcase {
        padding: 40px;
    }
    
    /* 補助金セクション */
    .subsidy-card {
        padding: 40px;
    }
    
    /* 問い合わせセクション */
    .contact-form-container {
        padding: 32px;
    }
    
    /* ケーススタディ・問題提起 */
    .case-grid,
    .problem-cards {
        grid-template-columns: 1fr;
    }
    
    /* 詳細ページ用レスポンシブ */
    .overview-grid,
    .case-overview-grid,
    .spec-details,
    .sim-conditions,
    .co2-example-grid,
    .challenge-solution,
    .factor-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .partner-card {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .comparison-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .vs-indicator {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
    
    .tab-nav,
    .case-tab-nav,
    .sim-tab-nav {
        flex-direction: column;
        align-items: center;
    }
    
    .tab-button,
    .case-tab-button,
    .sim-tab-button {
        width: 100%;
        max-width: 300px;
    }
    
    .step-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .comparison-table-container {
        padding: 10px;
    }
    
    .comparison-table {
        font-size: 12px;
    }
    
    .comparison-table th,
    .comparison-table td {
        padding: 8px 6px;
    }
    
    /* ソリューション詳細CTA */
    .solution-detail-cta {
        margin-top: 40px;
        padding: 30px 0;
    }
    
    .detail-cta-button {
        padding: 16px 28px;
        font-size: 15px;
        gap: 10px;
    }
    
    .detail-cta-button i:first-child {
        font-size: 16px;
    }
    
    .detail-cta-button i:last-child {
        font-size: 14px;
    }
    
    .detail-cta-subtext {
        font-size: 14px;
        padding: 0 20px;
    }
    
    .mobile-nav-menu strong {
        font-size: 15px;
    }
    
    /* 会社情報・プライバシーポリシー */
    .privacy-card {
        padding: 32px;
    }
    
    .privacy-intro {
        padding: 20px;
    }
    
    .contact-info {
        padding: 20px;
    }
    
    /* モバイルではフォントサイズを調整 */
    .company-details li,
    .business-list li,
    .partner-item p,
    .privacy-section p,
    .privacy-list li,
    .contact-info p {
        font-size: 14px;
    }
    
    .privacy-date {
        font-size: 14px;
    }
}

/* さらに小さい画面用 */
@media (max-width: 480px) {
    .hero-features {
        gap: 16px;
    }
    
    .feature-card {
        padding: 24px 20px;
    }
    
    .comparison-container {
        gap: 16px;
    }
    
    .comparison-card {
        padding: 24px;
    }
    
    .process-timeline {
        gap: 16px;
    }
    
    .benefit-cards,
    .sdgs-features {
        gap: 20px;
    }
    
    .company-logos {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 16px;
    }
    
    .subsidy-card {
        padding: 24px;
    }
    
    .contact-form-container {
        padding: 24px;
        margin: 0 10px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
}