@charset "UTF-8";
.shop-cat-term {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  flex: 0 0 7.5em;
  width: 7.5em;
  height: 3em;
  overflow: hidden;
  padding: 0.8em 0.5em;
  border-radius: 3em;
  font-size: 80%;
  line-height: 1;
  text-align: center;
}
.shop-cat-term .line-break {
  display: block; /* ここで強制改行 */
}
.shop-cat-link {
  transition: 0.3s ease all;
}
.shop-cat-link:hover {
  transform: scale(0.9);
}

.article-header__inner {
  padding-bottom: 0 !important;
}
.article-header .article-title {
  font-size: 250% !important;
}

.article-body {
  container-type: inline-size;
  padding-top: 0 !important;
}
@media (max-width: 767px) {
  .article-body {
    padding-top: 0 !important;
  }
}

@media (min-width: 768px) {
  .map {
    display: flex;
    justify-content: space-between;
    padding-top: 0 !important;
    margin-bottom: 3cqw;
    width: min(100%, 1000px);
    margin: auto;
  }
}

.floor-navi a {
  color: #231815;
  transition: 0.1s all ease-in;
}
.floor-navi a:hover {
  color: #ba1d22;
}
@media (min-width: 768px) {
  .floor-navi {
    width: 10%;
    padding-right: 4cqw;
    border-right: solid 1px #231815;
  }
  .floor-navi li {
    height: 5.5cqw;
  }
  .floor-navi li:not(:last-of-type) {
    border-bottom: solid 1px #231815;
  }
  .floor-navi a {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    color: #231815;
    font-size: 3cqw;
    font-weight: 400;
    line-height: 1;
  }
  .floor-navi a:hover {
    color: #ba1d22;
  }
}
@media (max-width: 767px) {
  .floor-navi {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 15cqw;
  }
  .floor-navi li {
    width: 16cqw;
    margin: 4.5cqw;
    text-align: center;
    border-bottom: solid 1px #231815;
    font-size: 8cqw;
  }
}

.clickable-map {
  display: block;
  aspect-ratio: 810/500;
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .clickable-map {
    width: 85%;
    margin-top: 0 !important;
  }
}

g,
g * {
  transition: all 0.1s ease-in;
}
g [data-name=bar] {
  fill: transparent;
}
g:not(.empty):hover [data-name=shape] {
  fill: #ecaeb0;
}
g:not(.empty):hover [data-name=bar] {
  fill: #ba1c22;
}
g.empty [data-name=shape] {
  fill: #c9cac8;
}

.legend {
  display: flex;
}
.legend li {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .legend {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
  }
  .legend li {
    flex: 1 1 auto;
  }
  .legend li img {
    width: 4cqw; /* 親幅の6%でアイコン幅を固定 */
    height: 4cqw; /* 正方形にする場合 */
    object-fit: contain;
    margin-bottom: 1cqw;
  }
  .legend li div {
    font-size: 1.5cqw; /* 親幅に合わせてフォントサイズを可変 */
    line-height: 1;
    white-space: nowrap; /* テキストの意図しない改行を防ぐ */
  }
}
@media (max-width: 767px) {
  .legend {
    flex-wrap: wrap;
    row-gap: 2cqw;
    margin-bottom: 10cqw;
  }
  .legend li {
    column-gap: 2cqw;
    width: 50%;
  }
  .legend li img {
    width: 12.5cqw;
  }
  .legend li div {
    width: 35.5cqw;
    font-size: 4cqw;
  }
}
