.offer {
  max-width: 1040px;
  margin: 16px auto 32px;
  padding: 20px 40px;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #333;
  line-height: 1.7;
}
.offer a { color: inherit; text-decoration: none; }
.rest { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.name { font-weight: 800; font-size: 22px; }
.logo { width: 118px; height: auto; display: block; }
.label { font-weight: 800; }
.offer hr { border: 0; border-top: 1px solid #e0e0e0; margin: 16px 0; }
.photo { width: 100%; height: auto; display: block; margin-top: 12px; }
.offer ol { margin: 8px 0 0; padding-left: 1.4em; }
.others img { width: 140px; height: auto; }
@media (max-width: 767px) {
  .offer { padding: 16px; }
  .name { font-size: 18px; }
}
