body {
  padding-bottom: 20vw;
  background-color: #BFD8DA;
}

.header {
  position: relative;
  width: calc(100vw-10vw);
  margin: 0;
  padding: 5vw;
}

.main {
  background-color: #BFD8DA;
}

.header-title {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 3vw;
}

.button-map { 
  position: absolute;
  right: 5vw;
  bottom: 3vw;
  font-size: 0.8em;
  padding: 1.5vw 4vw;
  background-color: #931B1B;
  color: #ffffff;
  border-radius: 2vw;
  z-index: 2;
}

.stamp-container {
  display: grid;
  width: calc(100vw-2vw);
  grid-template-columns: repeat(3, 1fr);
  gap: 5vw 1vw;
  padding: 2vw;
  margin-left: auto;
  margin-right: auto;
}

.stamp-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.stamp-content {
  width: 28vw;
  height: 25vw;
  border-radius: 2vw;
  overflow: hidden;
  background-color: #fff;
}

.stamp-image {
  object-fit: cover;
  width: 100%;
  height: auto;
}

.stamp-text {
  position: absolute;
  width: 28vw;
  left:auto;
  right:auto;
  bottom: 0;
  padding-bottom: 1.5vw;
  border-radius: 0 0 2vw 2vw;
  font-size: 0.5em;
  color: #fff;
  background-color: #5DAFB5;
  text-align: center;
}

.stamp-text-before   {
  background-color: #000000CC;
}

.stamp-pushed {
  position: absolute;
  width: 40%;
  height: auto;
  top: 1vw;
  right: 3vw;
}

.grayscale {
  filter: grayscale(100%);
  opacity: 0.3;
}