.site-footer {
    background: #111;
    color: white;
    margin-top: 80px;
    padding: 0;
    text-align: center;
    padding: 40px 20px;
}

.footer-top {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
    max-width: 1024px;
    margin: 0 auto 40px;
    gap: 15px;
}

.footer-shop-info {
    /* text-align: center; */
    flex: 1;
    text-align: left;
}

.footer-shop-info p {
    font-size: 14px;
    margin: 0 0 10px 0;
    padding: 0;
}

.footer-map {
    flex: 1;
    text-align: left;
}

.footer-map p.footer-access {
    font-size: 14px;
    margin-block-start: 0;
    margin-block-end: 5px;
}

.site-footer a {
  color: white;
  text-decoration: none;
}

.footer-sns {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1024px;
  margin: 50px auto;
}

.footer-sns a {
  display: flex;
  align-items: center;
  margin: 0 20px;
}

.footer-sns a:hover {
    color:rgb(64, 64, 64);
}

.footer-nav .footer-left a,
.footer-copy {
  font-size: 14px;
}

.footer-sns a {
    font-size: 40px;
}

.footer-poricy {
    margin: 0;
    padding: 0;
}

.footer-poricy a {
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.footer-poricy a:hover {
    color:rgb(64, 64, 64);
}

.footer-copy {
    margin: 25px 0 0 0;
}

@media ( max-width: 1024px ) {
    .footer-top,
    .footer-sns {
        max-width: 767px;
    }
}

@media ( max-width: 767px ) {
    .footer-top {
        flex-direction: column;
        align-items: center;
    }

    .footer-shop-info {
        text-align: center;
    }

    .footer-map {
        margin-top: 25px;
        width: 100%;
        max-width: 500px;
    }

    .footer-map iframe {
        min-height: 200px;
    }

    .footer-shop-info p,
    .footer-nav .footer-left a,
    .footer-copy {
        font-size: 12px;
    }

    .footer-sns {
        justify-content: center;
    }

    .footer-sns a {
        font-size: 30px;
    }
}