@charset "UTF-8";
.floor:not(:last-of-type) {
  border-bottom: solid 1px #231815;
  margin-top: 0 !important;
}
.floor a {
  display: flex;
  padding: 2em 0;
  color: #231815;
}
.floor a:hover .shops {
  color: #231815;
}
.floor a:hover .number {
  color: #ba1d22;
}
.floor .number {
  font-size: 300%;
  font-weight: 400;
  line-height: 1;
  transition: 0.3s all;
}
.floor .shops li {
  font-size: 120%;
}
.floor .shops li::before {
  content: "●";
}
.floor .facilities {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 140px;
}
.floor .facilities img {
  width: 40px;
}
@media (max-width: 767px) {
  .floor .number {
    flex: 0 0 2em;
    margin-right: 0.5em;
    text-align: center;
  }
  .floor .facilities {
    margin-top: 1.5em;
  }
}
@media (min-width: 768px) {
  .floor a {
    align-items: stretch;
    min-height: 160px;
  }
  .floor a > * {
    display: flex;
    align-items: center;
  }
  .floor .number {
    flex: 0 0 150px;
    justify-content: center;
  }
  .floor .contents {
    flex: 1 1 auto;
    justify-content: space-between;
    align-items: center;
  }
  .floor .shops {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 5em;
  }
  .floor .shops li {
    margin-right: 3em;
  }
  .floor .facilities {
    flex-shrink: 0;
    flex-grow: 0;
  }
}

.legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.legend dl {
  display: flex;
  align-items: center;
}
.legend dd {
  flex: 1 1 auto;
}
@media (min-width: 768px) {
  .legend dl {
    width: min(30%, 180px);
  }
  .legend img {
    width: 65px;
  }
}
@media (max-width: 767px) {
  .legend {
    row-gap: 1em;
  }
  .legend dl {
    width: calc(50% - 0.5em);
  }
  .legend dt {
    margin-right: 1em;
  }
  .legend img {
    width: 65px;
  }
}
