
  .rh-a5b4 * { box-sizing: border-box; font-family: 'Mont', sans-serif; }
  .rh-a5b4 { box-sizing: border-box !important; width: 100%; background: #ffffff; }
  .rh-a5b4-wrap { width: 100%; max-width: 1600px; margin: 0 auto; padding: 48px 80px; }

  .rh-a5b4 h2 { font-family: 'Mont', sans-serif; font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; color: #262626; line-height: 1.2; border-top: 3px solid #BFD8B3; padding: 20px 0 0 0; margin: 0 0 28px 0; }

  .rh-a5b4-timeline { display: flex; flex-direction: column; gap: 0; position: relative; margin: 0; }
  .rh-a5b4-timeline::before { content: ''; position: absolute; left: 28px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, #BFD8B3, #CB817D); }

  .rh-a5b4-item { display: flex; gap: 28px; align-items: flex-start; padding: 0 0 32px 0; position: relative; }
  .rh-a5b4-item:last-child { padding-bottom: 0; }

  .rh-a5b4-dot-wrap { flex-shrink: 0; width: 56px; display: flex; justify-content: center; position: relative; z-index: 1; }
  .rh-a5b4-dot { width: 16px; height: 16px; border-radius: 50%; border: 3px solid #ffffff; box-shadow: 0 0 0 2px #BFD8B3; margin-top: 4px; }
  .rh-a5b4-item:nth-child(1) .rh-a5b4-dot { background: #BFD8B3; }
  .rh-a5b4-item:nth-child(2) .rh-a5b4-dot { background: #99AD8F; box-shadow: 0 0 0 2px #99AD8F; }
  .rh-a5b4-item:nth-child(3) .rh-a5b4-dot { background: #E6C87A; box-shadow: 0 0 0 2px #E6C87A; }
  .rh-a5b4-item:nth-child(4) .rh-a5b4-dot { background: #CB817D; box-shadow: 0 0 0 2px #CB817D; }

  .rh-a5b4-content { flex: 1; background: #f7f7f7; border-radius: 16px; padding: 22px 24px; }
  .rh-a5b4-period { font-family: 'Mont', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #99AD8F; display: block; margin: 0 0 6px 0; }
  .rh-a5b4-item:nth-child(3) .rh-a5b4-period { color: #B8973A; }
  .rh-a5b4-item:nth-child(4) .rh-a5b4-period { color: #A26764; }
  .rh-a5b4-title { font-family: 'Mont', sans-serif; font-size: 15px; font-weight: 600; color: #262626; display: block; margin: 0 0 10px 0; }
  .rh-a5b4-text { font-family: 'Mont', sans-serif; font-size: 14px; font-weight: 600; color: #585858; line-height: 1.7; display: block; margin: 0; }

  @media (max-width: 1280px) { .rh-a5b4-wrap { padding: 40px 60px; } }
  @media (max-width: 768px) { .rh-a5b4-wrap { padding: 36px 32px; } }
  @media (max-width: 600px) {
    .rh-a5b4-wrap { padding: 32px 20px; }
    .rh-a5b4-timeline::before { left: 20px; }
    .rh-a5b4-dot-wrap { width: 40px; }
    .rh-a5b4-content { padding: 16px 18px; }
  }
