/* 公開時に画像ファイルがリネームされた場合に変更 */
.footer_contact {
  --bgimg_top_inquiry:url(/img/usr/default/Lls-N-aMdA-1.png);
}


.footer_wrapper {
  color: var(--background);
  position:relative;
}

.footer_contact {
    display: flex;
    justify-content: space-between;
    padding: 80px 120px;
    background-color: var(--primaryColor);
    text-align: center;
    background-image:linear-gradient(rgb(0 0 0 / 50%),rgb(0 0 0 / 50%)),var(--bgimg_top_inquiry);
    background-position: center;
    background-size: cover;
}

.footer_contact_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    tex-align:center;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    max-width:1200px;
}

.footer_contact_content {
    display: flex;
    flex-direction: column;
}

.footer_contact_heading {
    margin: 0;
    font-size: var(--font-20);
    line-height: 160%;
    font-weight: 500;
}

.footer_contact_title {
    margin: 0;
    font-size: var(--font-40);
    line-height: 120%;
    font-weight: var(--font-weight-bold);
}

.footer_contact_text {
    margin: 0;
    font-size: var(--font-20);
    line-height: 160%;
    font-weight: var(--font-weight-medium);
    margin:50px 0;
}

.footer_main {
  background-color: var(--background);
  color: var(--color-black);
}

.footer_main_inner {
    display: flex;
    justify-content: space-around;
    width: 100%;
    margin: 70px auto 60px;
    max-width:1200px;
}

.footer_company {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer_logo_link {
    display: inline-flex;
    width: 200px;
    height: auto;
}

.footer_logo_link img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.footer_logo {
    display: block;
}

.footer_company_info {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.footer_company_name {
    margin: 0;
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 500;
}

.footer_company_meta {
    display: flex;
    flex-direction: column;
    font-size: var(--font-12);
    line-height: 160%;
    font-weight: 500;
}

.footer_company_address {
    margin: 0;
}

.footer_company_tel {
    margin: 0;
}

.footer_nav {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 10px;
}

.footer_page_links {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
}

.footer_page_link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-black);
    text-decoration: none;
    font-size: var(--font-16);
    line-height: 160%;
    font-weight: 700;
}

.footer_page_link_text {
    margin: 0;
    position: relative;
    display: inline-block;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.footer_page_link:hover .footer_page_link_text {
    border-bottom-color: var(--primaryColor);
}

.footer_legal_links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

.footer_legal_link {
    color: #191919;
    font-size: var(--font-14);
    line-height: 160%;
    font-weight: 500;
    text-decoration: none;
}

.footer_legal_link_text {
    margin: 0;
}

.footer_copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 32px;
  max-width: 1200px;
  margin: 0 auto;
}

.footer_copyright_text {
    margin: 0;
}

.footer_copyright_small {
    font-size: var(--font-12);
    line-height: 160%;
    font-weight: 500;
}

@media (max-width: 1280px) {
    .footer_contact {
        padding: 80px 30px;
        height: auto;
    }

    .footer_main_inner {
        padding: 20px 30px;
    }

}

@media (max-width: 768px) {
    /* font size */
    .footer_legal_link {
        font-size: var(--font-12);
        flex:auto;
    }

    .footer_contact_text,
    .footer_company_name,
    .footer_page_link {
        font-size: var(--font-14);
        flex: auto;
    }

    .footer_contact_heading {
        font-size: var(--font-16);
    }

    .footer_contact_title {
        font-size: var(--font-32);
    }

    /* footer contact style */
    .footer_contact {
        padding: 20px 15px 30px;
    }

    .footer_contact_inner  {
        gap: 30px;
        justify-content: center;
    }

    .footer_logo_link {
        width: 150px;
        padding-bottom: 10px;
    }
    .footer_wrapper{
      padding: 0 0 20px;
    }
    .footer_main{
      padding: 40px 20px;
    }
    .footer_main_inner {
        flex-direction: column;
        margin: 0;
        padding: 0;
    }

    .footer_company {
        gap: 24px;
    }

    .footer_company_info {
        flex-direction: column;
        text-align: left;
        gap: 5px;
    }

    .footer_nav {
        gap: 5px;
        flex-direction: column;
        margin: 0;
    }

    .footer_page_links {
        flex-direction: column;
        padding: 30px 0;
        gap: 20px 40px;
        flex-wrap: nowrap;
    }
    .footer_copyright{
      flex-direction: column;
      align-items: unset;
      height: unset;
      margin-bottom: 40px;
    }
    .footer_legal_links {
        flex-direction: column;
        justify-content: center;
        align-items: unset;
        gap: 10px;
        padding: 20px 0;
        border-top:1px solid rgba(212, 216, 226, 1);
    }
}