/* レスポンシブデザイン */

/* タブレット（768px以上） */
@media (min-width: 768px) {
  .container {
    padding: 0 var(--spacing-xl);
  }
  
  .hero {
    min-height: 70vh;
  }
}

/* デスクトップ（1024px以上） */
@media (min-width: 1024px) {
  .hero {
    min-height: 80vh;
  }
  
  .section {
    padding: var(--spacing-4xl) 0;
  }
}

/* 大デスクトップ（1920px以上） */
@media (min-width: 1920px) {
  .container {
    max-width: 1400px;
  }
}

/* モバイル（767px以下） */
@media (max-width: 767px) {
  .hamburger {
    display: flex;
  }
  
  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-bg);
    border-top: 1px solid var(--color-border);
    flex-direction: column;
    padding: var(--spacing-md);
    box-shadow: var(--shadow-lg);
  }
  
  .nav-links.active {
    display: flex;
  }
  
  .nav-link {
    padding: var(--spacing-md);
    border-bottom: 1px solid var(--color-border-light);
  }
  
  .nav-link:last-child {
    border-bottom: none;
  }
  
  .language-toggle {
    border-left: none;
    padding-left: 0;
    margin-top: var(--spacing-md);
  }
  
  .header-content {
    flex-wrap: wrap;
  }
  
  .section {
    padding: var(--spacing-2xl) 0;
  }
  
  .hero-content {
    padding: var(--spacing-xl) var(--spacing-md);
  }
  
  .app-card-content {
    padding: var(--spacing-lg);
  }
  
  .contact-form-wrapper {
    padding: var(--spacing-lg);
  }
}

/* 小型スマートフォン（480px以下） */
@media (max-width: 480px) {
  .container {
    padding: 0 var(--spacing-sm);
  }
  
  .hero h1 {
    font-size: var(--font-size-3xl);
  }
  
  .hero p {
    font-size: var(--font-size-lg);
  }
  
  .app-card-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-md);
  }
}

