/* 自由に編集してみてください */

section {
  box-sizing: border-box;
  padding: 36px;
}

.flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: 800px;
  margin: 0 auto;
  border: 1px solid gray;
  padding: 4px;
  position: relative;
}

.flex + .flex {
  margin-top: 20px;
}

.flex:nth-child(even) {
  flex-direction: row-reverse;
}

.flex img {
  display: block;
}

.flex .card {
  padding-left: 12px;
}

.flex .card span {
  position: absolute;
  top: -8px;
  right: -8px;
  background: red;
  color: white;
  display: inline-block;
  padding: 8px;
  border: 4px double white;
}

.flex .card h1 {
  padding-bottom: 4px;
  border-bottom: 1px solid gray;
}

.flex .card h1 i {
  margin-left: 8px;
}

.flex .button {
  display: flex;
  justify-content: center;
}

.flex button {
  all: unset;
  cursor: pointer;
  background: red;
  color: white;
  padding: 12px 40px;
  border-radius: 12px;
  font-weight: bold;
  transition: transform 0.5s;
}

.flex button:hover {
  opacity: 0.7;
  transform: scale(120%);
}
