/* === Tablet (Honda Guideline: 767px以下はスマートフォン表示) === */
@media (max-width: 1024px) {
  .tech-item { flex-direction: column; gap: 32px; }
  .tech-item .tech-content { order: 1; }
  .tech-item .tech-video-frame { order: 2; }
  .tech-item-reverse { padding-right: 0; justify-content: flex-start; gap: 32px; }
  .tech-video-frame { flex: none; width: 100%; }
  .tech-frame-bar { display: none; }
  .summit-exhibits .tech-item,
  .summit-exhibits .tech-item.reverse { flex-direction: column; }
  .summit-exhibits .tech-video { flex: none; width: 100%; }
  .coming-soon-inner { max-width: 90%; }
  .work-scenes-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-card:last-child { grid-column: 1 / -1; max-width: 400px; justify-self: center; }
  .core-message-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-specs { flex-wrap: wrap; }
  .spec-item { flex-basis: 40%; }
  .spec-divider { display: none; }
  .contact-grid { grid-template-columns: 1fr; }
  .outline-grid { grid-template-columns: repeat(2, 1fr); }
  .outline-item:nth-child(2) { border-right: none; }
  .tech-detail-item { grid-template-columns: 1fr; gap: 32px; }
  .tech-detail-item.reverse .tech-detail-content { order: 0; }
  .tech-detail-item.reverse .tech-detail-visual { order: 0; }
  .history-grid { grid-template-columns: 1fr; gap: 40px; }
  .positions-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === Smartphone (767px以下: Honda Design Guideline 2-5) === */
@media (max-width: 767px) {
  .header-inner { height: 56px; padding: 0 20px; }
  .header-nav {
    position: fixed; inset: 0;
    background: rgba(255,255,255,0.98);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: var(--transition-default);
  }
  .header-nav.open { opacity: 1; visibility: visible; }
  .header-nav .nav-list { flex-direction: column; align-items: center; gap: 32px; }
  .header-nav .nav-list a { font-size: var(--font-size-h4); }
  .mobile-menu-btn { display: flex; position: relative; z-index: 1; }
  .header-rd-link { display: none; }
  .hero { height: auto; min-height: calc(100svh - var(--header-height)); overflow: visible; }
  .hero-inner { padding: 40px 16px; align-items: stretch; }
  .hero-content { padding: 0 24px 24px; gap: 0; }
  .hero-title { font-size: 32px; line-height: 1.26; letter-spacing: 4px; }
  .hero-subtitle { font-size: 24px; line-height: 32px; }
  .hero-tagline { padding-top: 20px; padding-bottom: 6px; }
  .hero-tagline-red { font-size: 22px; letter-spacing: 3px; line-height: 35.2px; }
  .hero-tagline-white { font-size: 20px; line-height: 40px; }
  .hero-specs { flex-wrap: wrap; padding: 20px 0 0; gap: 0 20px; }
  .spec-item { flex: none; }
  .spec-item-group { gap: 10px; }
  .spec-number { font-size: 64px; line-height: 52.8px; }
  .spec-unit-inline { font-size: 36px; }
  .spec-unit-inline-sm { font-size: 16px; line-height: 34px; }
  .spec-label { font-size: 16px; }
  .spec-divider { display: none; }
  .spec-slash { font-size: 40px; line-height: 68.8px; }
  .hero-cta-group { padding: 24px 0; gap: 30px; }
  .btn-hero { width: 100%; max-width: 320px; }
  .section-title { font-size: 22px; margin-bottom: 32px; }
  section { padding: var(--section-padding-mobile); }
  .core-message, .technology, .work-scenes, .join-us, .research-dev { padding: var(--section-padding-mobile); }
  .container { padding: var(--container-padding-mobile); }
  .work-scenes-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .cv-grid { grid-template-columns: 1fr; }
  .cv-card:last-child { max-width: none; }
  .cv-card { padding: 32px 24px; }
  .tech-item { margin-bottom: 48px; }
  .tech-video-frame { padding: 27px 0 0 8.68%; margin-bottom: 32px; overflow: visible; }
  .tech-frame-bar { display: block; top: 0; bottom: -32px; left: 0; right: auto; width: 64%; }
  .tech-video-frame-right { padding: 32px 8.68% 0 0; }
  .tech-video-frame-right .tech-frame-bar { left: auto; right: 0; }
  /* === FEATURES chart SP layout (portrait) === */
  .fc-chart-area { aspect-ratio: 333 / 449; font-size: 12px; }
  .fc-bg-outer { top: 4.4%; right: 25%; bottom: 22.6%; left: 18.7%; border-radius: 16px; }
  .fc-bg-inner { top: 14.3%; right: 25.1%; bottom: 20.7%; left: 18.6%; border-radius: 16px; }
  .fc-bg-robot { top: 48.7%; right: 53.5%; bottom: 23.6%; left: 24.5%; border-radius: 14px; }
  .fc-axes { top: 2.3%; right: 18.9%; bottom: 18%; left: 14.5%; }
  .fc-y-arrow { top: 0.2%; left: 11%; right: 82.2%; bottom: 97.2%; }
  .fc-x-arrow { top: 79.4%; left: 81%; right: 15.5%; bottom: 15.6%; }
  .fc-label-y {
    top: 38%; left: 1%; right: auto; bottom: auto;
    writing-mode: vertical-rl; transform: rotate(180deg);
    font-size: 12px;
  }
  .fc-area-label { font-size: 12px; }
  .fc-label-human { top: 7.6%; left: 56.8%; right: auto; text-align: center; }
  .fc-label-multihand { top: 16.7%; left: 53.2%; right: auto; text-align: center; }
  .fc-label-robot { top: 52%; left: 23.4%; right: 50.2%; bottom: 34.3%; font-size: 12px; }
  .fc-photo { border-radius: 16px; }
  .fc-photo::after { border-radius: 16px; }
  .fc-photo-1 { left: 15.5%; top: 14.4%; width: 16.4%; height: 12.1%; }
  .fc-photo-2 { left: 26.4%; top: 36.5%; width: 17.3%; height: 12.1%; }
  .fc-photo-3 { left: 44%; top: 47.1%; width: 18.2%; height: 12.1%; }
  .fc-photo-4 { left: 57.4%; top: 65.5%; width: 16.4%; height: 12.1%; }
  .fc-caption { font-size: 12px; padding: 4px 8px; border-radius: 10px; }
  .fc-caption-1 { left: 21.6%; top: 26.5%; }
  .fc-caption-2 { left: 46.3%; top: 39.9%; }
  .fc-caption-3 { left: 54.7%; top: 50.1%; }
  .fc-caption-4 { left: 54.7%; top: 60.8%; }
  .fc-force { font-size: 16px; }
  .fc-force sub { font-size: 0.65em; }
  .fc-force-1 { left: 15%; top: 86.3%; }
  .fc-force-2 { left: 34%; top: 86.3%; }
  .fc-force-center { left: 50%; top: 92.2%; font-size: 16px; }
  .fc-force-4 { left: 80%; top: 86.3%; }
  .fc-dir { font-size: 12px; top: 96.7%; }
  .fc-dir-left { left: 4.5%; }
  .fc-dir-right { left: 77.5%; transform: none; }
  .tech-performance-desc { margin: 20px auto 0; max-width: 100%; }

  .research-cta-group { flex-direction: column; align-items: center; }
  .links-inner { gap: 20px; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  .footer-policy { gap: 16px; }
  .page-hero { padding: 96px 0 40px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .outline-grid { grid-template-columns: 1fr; }
  .outline-item { border-right: none; border-bottom: 1px solid var(--color-border); }
  .outline-item:last-child { border-bottom: none; }
  .summit-hero { height: 40vh; min-height: 300px; }
  .summit-hero-title { font-size: 28px; }
  .tech-detail-item { grid-template-columns: 1fr; gap: 24px; }
  .tech-detail-item.reverse .tech-detail-content { order: 0; }
  .tech-detail-item.reverse .tech-detail-visual { order: 0; }
  .history-grid { grid-template-columns: 1fr; gap: 32px; }
  .positions-grid { grid-template-columns: 1fr; }
  .process-flow { flex-direction: column; align-items: center; }
  .process-step { max-width: none; width: 100%; }
  .process-arrow { transform: rotate(90deg); padding-top: 0; }
  .perf-legend { flex-direction: column; align-items: center; gap: 12px; }
  .breadcrumb { margin-bottom: 8px; }
  .overseas-grid { flex-direction: column; }
  .overseas-card { flex: none; width: 100%; }
}