.mf-keyVisual__top {
  display: grid;
  place-items: center;
  padding-top: clamp(3.375rem, 2.905527735rem + 2.0030816641vw, 4.1875rem);
  padding-right: 3.375rem;
  padding-bottom: clamp(3.3125rem, 2.8069144838rem + 2.157164869vw, 4.1875rem);
  padding-left: 3.375rem;
  background-color: var(--color-blue-10);
  background-image: url(/images/hamanocontact/img_kv_bg.webp);
  background-position: center;
  background-size: 100% 100%;
}
@media screen and (max-width: 48rem) {
  .mf-keyVisual__top {
    background-image: url(/images/hamanocontact/img_kv_bg_sp.webp);
  }
}
.mf-keyVisual__anchor {
  display: grid;
  grid-template-columns: min(25rem, 100%);
  justify-content: center;
  padding-top: 2.75rem;
  padding-right: var(--gap);
  padding-bottom: 2.75rem;
  padding-left: var(--gap);
  background-color: var(--color-grey-80);
}
@media screen and (max-width: 48rem) {
  .mf-keyVisual__anchor {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.mf-keyVisual__anchor a {
  display: grid;
  justify-items: center;
  padding: 0.75rem 1rem 1.25rem;
  background-color: var(--color-blue-10);
  border-width: var(--border-width-lg);
  border-style: solid;
  border-color: var(--color-blue-10);
  font-size: 1.5625rem;
  line-height: 1.48;
  color: var(--color-light);
  text-align: center;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--border-radius-md);
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
}
@media (any-hover: hover) {
  .mf-keyVisual__anchor a:hover {
    background-color: var(--color-light);
    color: var(--color-blue-10);
  }
}
.mf-keyVisual__anchor a:after {
  display: block;
  width: 1.375rem;
  height: 0.75rem;
  margin-top: 0.5rem;
  background-color: currentColor;
  -webkit-mask-image: var(--arrow-image);
  mask-image: var(--arrow-image);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  content: "";
}
@media screen and (max-width: 48rem) {
  .mf-keyVisual__anchor a {
    padding-top: 0.4375rem;
    padding-bottom: 0.5625rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.hamano-shops {
  display: grid;
  grid-template-columns:
    [full-start] var(--full) [content-start] var(--content) [content-end] var(
      --full
    )
    [full-end];
}
.hamano-shops > * {
  grid-column: content;
}
.hamano-shops__heading {
  grid-column: full;
  margin-bottom: 2.5rem;
  padding-top: 1.0625rem;
  padding-right: var(--gap);
  padding-bottom: 1.125rem;
  padding-left: var(--gap);
  background-color: var(--color-blue-40);
  font-size: 2.1875rem;
  line-height: 1.2857142857;
  font-weight: 700;
  color: var(--color-light);
  text-align: center;
}
@media screen and (max-width: 48rem) {
  .hamano-shops__heading {
    margin-bottom: 1.8125rem;
    padding-top: 0.6875rem;
    padding-bottom: 0.75rem;
    font-size: 1.5625rem;
    line-height: 1.48;
  }
}
.hamano-shops__lead {
  margin-bottom: 2.3125rem;
  font-size: 1.375rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 48rem) {
  .hamano-shops__lead {
    margin-bottom: 1.625rem;
    font-size: 1rem;
    line-height: 1.6875;
  }
}
.hamano-shops__list {
  width: min(40rem, 100%);
  margin-right: auto;
  margin-left: auto;
}
.hamano-shops__item + .hamano-shops__item {
  margin-top: 3rem;
}
@media screen and (max-width: 48rem) {
  .hamano-shops__item + .hamano-shops__item {
    margin-top: 2.375rem;
  }
}
.hamano-shops__more {
  display: grid;
  place-items: center;
  width: min(25rem, 100%);
  min-height: 5rem;
  margin-top: 5rem;
  margin-right: auto;
  margin-left: auto;
  padding: 0.6875rem 0.8125rem 0.8125rem;
  background-color: var(--color-blue-40);
  border-width: var(--border-width-lg);
  border-style: solid;
  border-color: var(--color-blue-40);
  font-size: 1.875rem;
  line-height: 1;
  font-weight: 700;
  color: var(--color-light);
  text-decoration: none;
  border-radius: var(--border-radius-infinity);
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
}
@media screen and (max-width: 48rem) {
  .hamano-shops__more {
    min-height: 4.375rem;
    padding: 0.5rem 0.625rem 0.625rem;
    font-size: 1.5625rem;
    line-height: 1;
  }
}
@media (any-hover: hover) {
  .hamano-shops__more:hover {
    background-color: var(--color-light);
    color: var(--color-blue-40);
  }
}
.hamano-shop__name {
  margin-bottom: 1.125rem;
  font-size: 1.25rem;
  line-height: 1.65;
  font-weight: 700;
  color: var(--color-blue-10);
  text-align: center;
}
.hamano-shop__img {
  margin-bottom: 1.0625rem;
  text-align: center;
}
@media screen and (max-width: 48rem) {
  .hamano-shop__img {
    margin-bottom: 1.25rem;
  }
}
.hamano-shop__details {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: max(0px, 5.9375%);
  row-gap: 0.625rem;
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.5555555556;
}
@media screen and (max-width: 48rem) {
  .hamano-shop__details {
    row-gap: 1.1875rem;
    font-size: 0.9375rem;
    line-height: 1.4666666667;
  }
}
.hamano-shop__tel {
  display: grid;
  place-items: center;
  row-gap: 0.375rem;
  width: min(18.9375rem, 100%);
  margin-top: 1.1875rem;
  margin-right: auto;
  margin-left: auto;
  padding: 0.6875rem 0.8125rem 0.8125rem;
  background-color: var(--color-blue-10);
  border-width: var(--border-width-lg);
  border-style: solid;
  border-color: var(--color-blue-10);
  color: var(--color-light);
  text-decoration: none;
  border-radius: var(--border-radius-infinity);
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
}
@media screen and (max-width: 48rem) {
  .hamano-shop__tel {
    row-gap: 0.5rem;
    width: min(17.5rem, 100%);
    padding: 0.5rem 0.625rem 0.625rem;
  }
}
@media (any-hover: hover) {
  .hamano-shop__tel:hover {
    background-color: var(--color-light);
    color: var(--color-blue-10);
  }
}
.hamano-shop__tel__label {
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 48rem) {
  .hamano-shop__tel__label {
    font-size: 0.9375rem;
    line-height: 1;
  }
}
.hamano-shop__tel__num {
  font-size: 1.875rem;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 48rem) {
  .hamano-shop__tel__num {
    font-size: 1.5625rem;
    line-height: 1;
  }
}
