/* 組立・ライン作業：ページ固有の図と写真。共通CSSは変更しない。 */
#fv .fv-scope { order: 8; }
#fv .assembly-hero { order: 9; min-width: 0; }
.assembly-photo { min-width: 0; margin: 0; }
.assembly-photo .photo-placeholder { aspect-ratio: 4 / 3; }
.assembly-photo-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.assembly-chart-group { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.assembly-chart-category { color: var(--color-navy); line-height: 1.65; }
.assembly-chart-rows { display: grid; gap: var(--space-4); margin-top: var(--space-4); }
.assembly-chart-row { display: grid; grid-template-columns: 2.5em minmax(0, 1fr); gap: 10px; align-items: end; }
.assembly-chart-region { padding-bottom: 2px; font-size: 14px; font-weight: 700; }
.assembly-chart-detail { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: baseline; line-height: 1.8; }
.assembly-chart-detail .small { font-size: 14px; }
.assembly-chart-amount { font-variant-numeric: tabular-nums; color: var(--color-navy); }
.assembly-chart-track { position: relative; height: 18px; margin-top: 4px; background: var(--color-bg-alt); border-radius: 3px; }
.assembly-chart-bar { display: block; height: 100%; background: var(--color-primary); border-radius: 3px; }
.assembly-chart-reference { position: absolute; top: -4px; bottom: -4px; border-left: 2px dashed var(--color-text); }
.assembly-reference-label { margin-top: var(--space-3); display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.assembly-reference-label::before { content: ""; height: 18px; border-left: 2px dashed var(--color-text); }
.assembly-chart-detail .chart-caution { font-size: 14px; color: var(--color-text-sub); }
.assembly-person-icon { width: 64px; height: 64px; margin-bottom: var(--space-3); color: var(--color-navy); }
@media (min-width: 768px) {
  #fv .fv-scope { grid-column: 1 / -1; grid-row: 8; }
  #fv .assembly-hero { grid-area: 4 / 2 / 6 / 3; align-self: start; }
  #fv .assembly-hero .photo-placeholder { aspect-ratio: 16 / 9; }
  .assembly-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #flow > .assembly-flow { max-width: var(--width-wide); grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-3); }
  #flow .assembly-flow .step { grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-3); padding: 0; }
  #flow .assembly-flow .step::after { top: calc(var(--size-number) / 2); bottom: auto; left: var(--size-number); right: calc(-1 * var(--space-3)); width: auto; height: 2px; }
  #flow .assembly-flow .h3 { font-size: 18px; }
  #flow .assembly-flow .step p { font-size: 14px; }
}
@media print {
  .assembly-chart-group, .assembly-chart-row, .assembly-photo { break-inside: avoid; }
  .assembly-chart-bar { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
