
  .rh-e8 * { box-sizing: border-box; font-family: 'Mont', sans-serif; }
  .rh-e8 { box-sizing: border-box !important; width: 100%; background: #ffffff; }
  .rh-e8-wrap { width: 100%; max-width: 1600px; margin: 0 auto; padding: 48px 80px; }
  .rh-e8 h2 { 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 24px 0; }
  .rh-e8 p { font-size: 16px; font-weight: 600; color: #464646; line-height: 1.75; margin: 0 0 20px 0; padding: 0; display: block; }
  .rh-e8-contrast { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0 24px 0; }
  .rh-e8-col { border-radius: 16px; padding: 26px 28px; }
  .rh-e8-col.up { background: #DFECD9; border-top: 3px solid #99AD8F; }
  .rh-e8-col.down { background: #f7f7f7; border-top: 3px solid #CB817D; }
  .rh-e8-col-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; display: block; margin: 0 0 10px 0; }
  .rh-e8-col.up .rh-e8-col-tag { color: #606C59; }
  .rh-e8-col.down .rh-e8-col-tag { color: #CB817D; }
  .rh-e8-col-text { font-size: 14px; font-weight: 600; line-height: 1.65; display: block; }
  .rh-e8-col.up .rh-e8-col-text { color: #2f3a2a; }
  .rh-e8-col.down .rh-e8-col-text { color: #585858; }
  .rh-e8-final { background: #262626; border-radius: 20px; padding: 44px 48px; position: relative; overflow: hidden; }
  .rh-e8-final::before { content: '\201C'; font-size: 90px; font-weight: 600; color: #BFD8B3; line-height: 0.7; display: block; margin: 0 0 14px 0; opacity: 0.5; }
  .rh-e8-final::after { content: ''; position: absolute; right: -30px; bottom: -30px; width: 160px; height: 160px; border-radius: 50%; background: #BFD8B3; opacity: 0.06; }
  .rh-e8-final p { font-size: 17px; font-weight: 600; color: #E6E6E6; line-height: 1.7; margin: 0 0 18px 0; position: relative; z-index: 1; }
  .rh-e8-final p:last-child { margin-bottom: 0; }
  .rh-e8-final strong { color: #BFD8B3; }
  @media (max-width: 1280px) { .rh-e8-wrap { padding: 40px 60px; } }
  @media (max-width: 768px) { .rh-e8-contrast { grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .rh-e8-wrap { padding: 32px 20px; }
    .rh-e8 p { font-size: 15px; }
    .rh-e8-col { padding: 22px 20px; }
    .rh-e8-final { padding: 28px 24px; border-radius: 14px; }
    .rh-e8-final p { font-size: 15px; }
  }
