.footer-container{
  max-width: 1242px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}
h2,h4{
    margin: 0.7em 0;
}
footer {
    background-color: #FFFFFF;
    padding-bottom: 40px;
    padding-top: 80px;
}
@media (max-width: 767px) {
footer {
    padding-top: 80px;
}
}
footer .footer-row {
display: flex;
justify-content: flex-start;
gap: 40px;
line-height: 1.75;
transition: all 0.3s ease;
}
@media (min-width: 768px) and (max-width: 955px) {
footer .footer-row {
    flex-wrap: wrap;
}
}
footer .footer-col-xl p {
display: flex;
width: 86%;
transition: all 0.3s ease;
}
@media (max-width: 767px) {
footer .footer-col-xl p {
    width: 100%;
}
}
footer .footer-col {
flex-basis: calc(25% - 10px);
margin-bottom: 10px;
transition: flex-basis 0.3s ease;
display: flex;
flex-direction: column;
gap: 10px;
}
footer .footer-col.md {
flex-basis: calc(36% - 10px);
}
@media (max-width: 767px) {
footer .footer-col {
    gap: 10px;
}
}
footer .footer-col img {
width: 100%;
}
footer .footer-col h4 {
color: #282828;
font-size: 24px;
font-weight: 600;
}
@media (max-width: 767px) {
footer .footer-col h4 {
    margin: 10px 0;
}
}
footer .footer-col ul {
margin: 0;
padding: 0;
list-style: none;
}
footer .footer-col ul li {
position: relative;
transition: all 0.3s;
}
footer .footer-col ul li::before {
margin-right: 8px;
}
footer .footer-col ul li a {
text-decoration: none;
color: #747474;
}
footer .footer-col ul li:hover {
transform: translateY(-3px);
}
footer .footer-col ul.social-link {
list-style: none;
display: flex;
gap: 40px;
}
footer .footer-col ul.social-link li::before {
content: "";
display: none;
}
footer .footer-row.bottom-text{
    text-align: center;
    display: block;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.footer-col img {
  width: 50px!important;
  height: 50px!important;
  /* 画像の周りにマージン */
  margin: 0 10px 0 0;
}
/* Mobile Styles */
@media (max-width: 767px) {
    .footer-row {
      flex-wrap: wrap;
      gap: 0 !important;
    }
    .footer-col {
      flex-basis: 100%;
    }


    .footer-col-xl {
      flex-basis: 100%;
    }
    .footer-col-xl img {
      width: 200px;
    }
    .footer-col:nth-child(1),
    .footer-col:nth-child(4) {
      flex-basis: 100%;
    }
    .footer-col:nth-child(2),
    .footer-col:nth-child(3) {
      flex-basis: 50%;
    }
}
/* Tablet Styles */
@media (min-width: 768px) and (max-width: 1024px) {
.footer-col {
    flex-basis: 50%;
}
}
