/* 
 * レスポンシブスタイルシート
 * FIVE STAR CLUB - Xサーバー対応版
 */

/* ===== 大画面デスクトップ (1200px以上) ===== */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* ===== デスクトップ (992px以上) ===== */
@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        max-width: 960px;
    }
    
    .hero-content h1 {
        font-size: 3.5rem;
    }
    
    .section-title {
        font-size: 2.2rem;
    }
}

/* ===== タブレット (768px以上) ===== */
@media (min-width: 768px) and (max-width: 991px) {
    .container {
        max-width: 720px;
    }
    
    .header-container {
        padding: 0 1rem;
    }
    
    .logo h1 {
        font-size: 1.5rem;
    }
    
    .nav-menu li {
        margin-left: 1rem;
    }
    
    .hero-content h1 {
        font-size: 3rem;
    }
    
    .hero-subtitle {
        font-size: 1.3rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .concept-card,
    .plan-card,
    .testimonial-card {
        padding: 1.5rem;
    }
    
    .footer-content {
        flex-direction: column;
    }
    
    .footer-section {
        margin-bottom: 2rem;
    }
}

/* ===== モバイル (576px以上) ===== */
@media (min-width: 576px) and (max-width: 767px) {
    .container {
        max-width: 540px;
    }
    
    .header-container {
        padding: 0 1rem;
    }
    
    .logo h1 {
        font-size: 1.4rem;
    }
    
    .main-nav {
        display: none;
    }
    
    .login-button {
        display: none;
    }
    
    .mobile-nav-toggle {
        display: block;
    }
    
    .mobile-nav.active {
        display: block;
    }
    
    .hero-content h1 {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .concept-cards,
    .plan-cards,
    .testimonial-cards {
        flex-direction: column;
    }
    
    .concept-card,
    .plan-card,
    .testimonial-card {
        margin-bottom: 1.5rem;
    }
    
    .footer-content {
        flex-direction: column;
    }
    
    .footer-section {
        margin-bottom: 2rem;
    }
    
    .footer-bottom {
        text-align: center;
    }
}

/* ===== 小型モバイル (576px未満) ===== */
@media (max-width: 575px) {
    .container {
        width: 100%;
        padding: 0 1rem;
    }
    
    .header-container {
        padding: 0 1rem;
    }
    
    .logo h1 {
        font-size: 1.2rem;
    }
    
    .main-nav {
        display: none;
    }
    
    .login-button {
        display: none;
    }
    
    .mobile-nav-toggle {
        display: block;
    }
    
    .mobile-nav.active {
        display: block;
    }
    
    .hero {
        height: 90vh;
    }
    
    .hero-content h1 {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .hero-description {
        font-size: 0.9rem;
    }
    
    .section-title {
        font-size: 1.5rem;
        margin-bottom: 2rem;
    }
    
    .concept-section,
    .plans-section,
    .testimonials-section,
    .faq-section {
        padding: 4rem 0;
    }
    
    .concept-cards,
    .plan-cards,
    .testimonial-cards {
        flex-direction: column;
    }
    
    .concept-card,
    .plan-card,
    .testimonial-card {
        margin-bottom: 1.5rem;
        padding: 1.5rem;
    }
    
    .faq-question h3 {
        font-size: 1.1rem;
    }
    
    .footer-content {
        flex-direction: column;
    }
    
    .footer-section {
        margin-bottom: 2rem;
    }
    
    .footer-bottom {
        text-align: center;
    }
    
    .security-badge {
        bottom: 10px;
        right: 10px;
        font-size: 0.8rem;
        padding: 0.4rem 0.8rem;
    }
    
    .btn-large {
        padding: 0.8rem 1.5rem;
        font-size: 1rem;
    }
}
