/* Footer head */
#footer .footer__head2026 {
    --footer-head2026-gap: 6.4cqw;
    background-color: #e9e9e9;
    padding: var(--footer-head2026-gap) 0;
}

#footer .footer__head2026--inner {
    padding-bottom: var(--footer-head2026-gap);
}

/* Footer accordion */
#footer #footer-accordion_menu {
    box-sizing: border-box;
    width: 100%;
    margin-top: 0 !important;
    padding-top: 0;
}

#footer #footer-accordion_menu.footer_link_wrap.is-pc {
    display: block !important;
}

#footer #footer-accordion_menu-sp.footer_link_wrap.is-sp {
    display: none !important;
}

#footer #footer-accordion_menu .footer-include-accordion {
    box-sizing: border-box;
    list-style: none;
    padding: 0;
    margin: 0;
    color: #fff;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    border-radius: 12px;
}

#footer #footer-accordion_menu .footer-accordionBtn {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 1cqw;
    border: 1px solid #bbbbbb;
    border-radius: 8px;
    background: #ffffff;
    color: #272727;
    cursor: pointer;
    text-align: left;
    transition: 0.3s;
}

#footer #footer-accordion_menu .footer-accordionBtn::before,
#footer #footer-accordion_menu .footer-accordionBtn::after {
    display: none !important;
}

#footer #footer-accordion_menu .footer-accordionBtn .btn-text {
    display: flex;
    align-items: center;
    color: #272727;
    text-align: left;
    --f-base: 15;
    font-weight: bold;
    line-height: 1.25;
    white-space: normal;
}

#footer #footer-accordion_menu .footer-include-accordion.active .footer-accordionBtn {
    background-color: #ffffff !important;
    color: #e60012 !important;
    transition: 0.3s;
}

#footer #footer-accordion_menu .footer-include-accordion.active .footer-accordionBtn .btn-text {
    color: #e60012;
}

#footer #footer-accordion_menu .footer-accordionBtn .btn-icon-wrap {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 5C12.0523 5 12.5 5.44772 12.5 6V11.5H18C18.5523 11.5 19 11.9477 19 12.5C19 13.0523 18.5523 13.5 18 13.5H12.5V19C12.5 19.5523 12.0523 20 11.5 20C10.9477 20 10.5 19.5523 10.5 19V13.5H5C4.44772 13.5 4 13.0523 4 12.5C4 11.9477 4.44772 11.5 5 11.5H10.5V6C10.5 5.44772 10.9477 5 11.5 5Z' fill='%23D00000'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.3s ease;
}

#footer #footer-accordion_menu .footer-include-accordion.active .footer-accordionBtn .btn-icon-wrap {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='11' width='15' height='2' rx='1' fill='%23D00000'/%3E%3C/svg%3E");
    transform: rotate(0deg);
}

#footer #footer-accordion_menu .footer-include-accordion > .footer-accordion-panel {
    box-sizing: border-box;
    display: none;
    height: auto !important;
    overflow: visible;
    background-color: #ffffff;
    margin: 16px 0;
    padding: 1.33cqw;
    max-width: unset;
    width: calc(500% + 96px);
    position: relative;
    left: 0;
    border-radius: 12px;
}

#footer #footer-accordion_menu .footer-include-accordion.active > .footer-accordion-panel,
#footer #footer-accordion_menu .footer-accordion-panel.is-open {
    display: block;
}

#footer #footer-accordion_menu .footer-accordion-panel.item_list_sheet1 {
    margin-left: calc(-100% - 24px) !important;
}

#footer #footer-accordion_menu .footer-accordion-panel.item_list_sheet2 {
    margin-left: calc(-200% - 48px) !important;
}

#footer #footer-accordion_menu .footer-accordion-panel.item_list_sheet3 {
    margin-left: calc(-300% - 72px) !important;
}

#footer #footer-accordion_menu .footer-accordion-panel.item_list_sheet4 {
    margin-left: calc(-400% - 96px) !important;
}

#footer #footer-accordion_menu .item_list.common-style-area {
    container-type: unset;
    max-width: unset;
    margin: 0;
    --w-ref: unset;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px 24px;
}

#footer #footer-accordion_menu .item_list .item {
    box-sizing: border-box;
    width: auto;
    padding: 0;
    position: relative;
    display: flex;
    align-items: center;
    list-style: none;
    font-size: 16px;
    letter-spacing: 0;
}

#footer #footer-accordion_menu .item_list .common-link-btn {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 62px;
    padding: 0.83cqw 3.67cqw 0.83cqw 1.5cqw;
    gap: 0;
    position: relative;
    background: #ffffff;
    border: 1px solid #bbbbbb;
    border-radius: 999px;
    color: #000000 !important;
    --f-base: 15;
    font-size: 15px !important;
    font-weight: bold;
    line-height: 1.25;
    text-decoration: none;
    transition: opacity 0.3s ease, background-color 0.3s ease;
}

#footer #footer-accordion_menu .item_list .common-link-btn:hover {
    color: #e60012 !important;
    background-color: #f7f7f7;
    opacity: 0.8;
}

#footer #footer-accordion_menu .item_list .common-link-btn::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.5 7L14 12L9.5 17' stroke='%23D00000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Footer accordion - desktop */
@media (min-width: 1025px) {
    #footer #footer-accordion_menu.is-pc .item_list .item {
        min-height: 62px;
    }

    #footer #footer-accordion_menu.is-pc .item_list .common-link-btn {
        min-height: 62px;
        height: 62px;
        white-space: normal;
    }
}

@media (min-width: 1025px) and (max-width: 1130px) {
    #footer #footer-accordion_menu.is-pc .footer-accordionBtn .btn-text,
    #footer #footer-accordion_menu.is-pc .item_list .common-link-btn {
        --f-base: 13;
        font-size: 13px !important;
        line-height: 1.25;
    }
}

#footer #footer-accordion_menu.is-pc .footer-accordion_menu.common-style-area {
    container-type: unset;
    width: min(calc(100% - 48px), 1200px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    --w-ref: unset;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: minmax(68px, auto) auto;
    align-items: stretch;
    gap: 16px 24px;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion {
    display: contents;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion:nth-child(1) .footer-accordionBtn {
    grid-column: 1;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion:nth-child(2) .footer-accordionBtn {
    grid-column: 2;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion:nth-child(3) .footer-accordionBtn {
    grid-column: 3;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion:nth-child(4) .footer-accordionBtn {
    grid-column: 4;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion:nth-child(5) .footer-accordionBtn {
    grid-column: 5;
}

#footer #footer-accordion_menu.is-pc .footer-accordionBtn {
    grid-row: 1;
    align-self: stretch;
    height: 100%;
    min-height: 68px;
}

#footer #footer-accordion_menu.is-pc .footer-include-accordion > .footer-accordion-panel {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: start;
    width: 100%;
    margin: 0 !important;
}

/* Footer accordion - tablet / mobile */
@media (max-width: 1024px) {
    #footer #footer-accordion_menu.footer_link_wrap.is-pc {
        display: none !important;
    }

    #footer #footer-accordion_menu-sp.footer_link_wrap.is-sp {
        display: block !important;
    }

    #footer #footer-accordion_menu-sp.footer_link_wrap {
        box-sizing: border-box;
        width: calc(100% - 24px);
        max-width: 767px;
        margin-top: 0 !important;
        margin: 0 auto;
        padding: 0 2.5cqw;
    }

    #footer #footer-accordion_menu-sp .footer-accordion_menu {
        display: flex;
        flex-direction: column;
        padding: 0;
        margin-top: 0;
    }

    #footer #footer-accordion_menu-sp .acod-item {
        width: 100%;
    }

    #footer #footer-accordion_menu-sp .common-acod {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 0;
        padding: 4cqw;
        border: 0;
        border-bottom: 1px solid transparent;
        border-radius: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
        position: relative;
        transition: border-bottom-color 0.3s ease;
    }

    #footer #footer-accordion_menu-sp .common-acod::before {
        display: none;
    }

    #footer #footer-accordion_menu-sp .common-acod::after {
        content: "";
        flex-shrink: 0;
        display: block;
        width: 6cqw;
        height: 6cqw;
        background-color: transparent;
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 5C12.0523 5 12.5 5.44772 12.5 6V11.5H18C18.5523 11.5 19 11.9477 19 12.5C19 13.0523 18.5523 13.5 18 13.5H12.5V19C12.5 19.5523 12.0523 20 11.5 20C10.9477 20 10.5 19.5523 10.5 19V13.5H5C4.44772 13.5 4 13.0523 4 12.5C4 11.9477 4.44772 11.5 5 11.5H10.5V6C10.5 5.44772 10.9477 5 11.5 5Z' fill='%23D00000'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: transform 0.3s ease;
    }

    #footer #footer-accordion_menu-sp .common-acod.is-active {
        color: inherit;
    }

    #footer #footer-accordion_menu-sp .common-acod.is-active::after {
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='11' width='15' height='2' rx='1' fill='%23D00000'/%3E%3C/svg%3E");
    }

    #footer #footer-accordion_menu-sp .common-acod .body-bold-text {
        line-height: 1.35;
        color: inherit;
    }

    #footer #footer-accordion_menu-sp.is-sp .acod-content {
        box-sizing: border-box;
        max-height: 0;
        overflow: hidden;
        padding: 0 4cqw;
        background-color: transparent;
        border-radius: 0;
        transition: max-height 0.3s ease-out;
    }

    #footer #footer-accordion_menu-sp.is-sp .common-acod.is-active + .acod-content {
        display: block;
    }

    #footer-accordion_menu-sp .acod-content--wrap {
        display: flex;
        flex-direction: column;
        gap: 3cqw;
        padding-bottom: 4cqw;
    }

    #footer #footer-accordion_menu-sp .common-link-btn {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 4cqw;
        position: relative;
        border: var(--border-thick) solid var(--color-gray-dark);
        border-radius: var(--border-radius-m);
        background: var(--color-white);
        color: #000000 !important;
        font-weight: bold;
        text-decoration: none;
        transition: opacity 0.3s ease, background-color 0.3s ease;
    }

    #footer #footer-accordion_menu-sp .common-link-btn:hover {
        color: #e60012 !important;
        background-color: var(--color-gray-light);
        opacity: 0.8;
    }

    #footer #footer-accordion_menu-sp .common-link-btn::after {
        content: "";
        display: block;
        width: 6cqw;
        height: 6cqw;
        flex-shrink: 0;
        position: static;
        transform: none;
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.5 7L14 12L9.5 17' stroke='%23D00000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }

    .footer__cta img {
        width: revert-layer;
    }

}

/* Footer base */
#footer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 6rem;
}

#footer img {
    max-width: 100%;
    vertical-align: top;
}

#footer .footer__head {
    background-color: #f2f2f2;
}

#footer .footer__logo2026--wrap img {
    width: 25%;
    height: auto;
}

#footer .nav {
    margin-top: 30px;
}

#footer .footer__logo2026--text,
#footer .footer__logo2024--text {
    font-size: 14px;
}

/* Footer bottom */
#footer .footer__foot2024 {
    background: #fff;
}

#footer .footer__foot {
    padding-bottom: 3%;
}

#footer .footer__foot--inner {
    padding: 50px 24px 20px;
}

#footer .footer__foot2024--inner {
    background-color: #e60012;
}

#footer .footer__foot2024--inner a {
    color: white;
}

#footer .footer__foot2024--copyrigh {
    font-size: 12px;
}

#footer .nav .gnav__item > a {
    border: none;
    height: 100%;
}

#footer .nav .gnav__item {
    width: 160px;
}

#footer .nav .gnav__item--img img {
    width: 64px;
}

#footer a :hover {
    cursor: pointer;
}

/* Fixed footer CTA */
.footer__cta {
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 999;
    width: 91%;
    text-align: center;
    background-color: #1b983300;
    border-radius: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.footer__cta img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

.footer__cta .footer__cta--top {
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* Footer desktop */
@media (min-width: 769px) {
    #footer .footer__head2026--inner {
        max-width: 1200px;
        margin: 0 auto;
    }

    #footer .footer__logo2026--wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 32px;
    }

    #footer .footer__foot2024--inner_under {
        background-color: white;
        display: flex;
        justify-content: space-around;
        max-width: 1200px;
        margin: auto;
        height: 240px;
        padding: 1.33cqw 0;
    }

    #footer svg {
        width: 400px;
    }

    #footer .corporate__link2024 {
        color: white;
        max-width: 1200px;
        margin: auto;
        padding: 18px 0;
    }

    #footer .corporate__links2024 {
        display: flex;
        flex-wrap: wrap;
        gap: 24px 48px;
        align-items: center;
        padding: 12px 0;
    }

    #footer p.corporate__name2024 {
        font-size: 20px;
    }

    #footer .slash::after {
        content: "／";
        position: absolute;
        margin-left: 16px;
    }

    #footer .related_business {
        margin-right: 3em;
    }

    #footer .nav .gnav__wrap {
        margin: 0;
        padding: 0 5%;
    }

    .footer__cta img {
        max-width: 1018px;
        height: auto;
        width: auto;
    }

    .footer__cta {
        width: 99.5%;
        border-radius: 0;
        padding: 0.67cqw 0 0;
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 20px;
    }

    .footer_cta_img {
        width: 80%;
    }

    .footer_cta_img:hover img {
        transform: scale(1.05);
        opacity: 0.8;
    }

    #footer .footer__foot {
        padding-bottom: 10%;
    }
}

/* Footer tablet */
@media (max-width: 1024px) {
    #footer .corporate__link2024 {
        padding: 12px;
    }
}

/* Footer mobile */
@media (max-width: 768px) {
    #footer .footer__head2026 {
        padding: var(--footer-head2026-gap) 0;
    }

    #footer .footer__head2026--inner {
        padding: 0 0 var(--footer-head2026-gap);
        margin: 0 auto;
    }

    #footer .footer__logo2026--wrap {
        text-align: center;
    }

    #footer .footer__logo2026--wrap img {
        width: clamp(240px, 54vw, 360px);
        height: auto;
    }

    #footer .footer__logo2026--text {
        font-size: clamp(15px, 2.2vw, 18px);
        line-height: 1.55;
        margin-top: 24px;
    }

    #footer .footer__logo2026--text,
    #footer .footer__logo2024--text {
        margin-top: 24px;
    }

    #footer .nav {
        display: none;
    }

    #footer .footer_small_text {
        font-size: 12px;
    }

    #footer .footer__foot2024--inner_under {
        margin: auto;
        height: 200px;
        padding: 4.27cqw 0;
        text-align: center;
        font-size: 12px;
    }

    #footer svg {
        width: 240px;
    }

    #footer .footer__foot {
        padding-bottom: 35%;
    }

    #footer .footer__foot--inner {
        padding: 30px 30px !important;
    }

    .corporate_info_business_wrap a,
    #footer .footer__foot--inner .corporate__link > .item {
        margin-top: 5px !important;
    }

    #footer .footer__foot--permit,
    .corporate_info_business_wrap,
    #footer .footer__foot--inner .corporate__name,
    #footer .footer__foot--inner .corporate__link {
        margin-top: 20px !important;
    }

    #footer .corporate__link2024 {
        color: white;
        margin: auto;
        padding: 12px 0;
    }

    #footer .corporate__links2024 {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 2em;
        align-items: center;
        padding: 2px 12px;
    }

    #footer .corporate__link2024 .right_arrow::after {
        content: "＞";
        position: absolute;
        font-size: 70%;
        line-height: 26px;
        margin-left: 4px;
    }

    #footer .corporate__link2024 .upper_right {
        display: flex;
        align-items: center;
        letter-spacing: 0;
    }

    #footer .corporate__link2024 .upper_right::after {
        content: "";
        background-image: url("/images/common/upper_right.png");
        background-size: contain;
        width: 1em;
        height: 1em;
        position: absolute;
        right: -1.2em;
    }

    #footer .upper_right {
        display: flex;
        align-items: center;
        position: relative;
    }

    #footer .related_business {
        width: 100%;
    }

    #footer .upper_line {
        padding: 12px 0;
    }

    #footer .upper_line::before {
        content: "";
        display: block;
        height: 1px;
        background-color: white;
        width: 100%;
    }

    .footer__cta {
        background-color: #0505052b;
        width: 100%;
    }
}

@media (max-width: 375px) {
    #footer .footer__logo2026--wrap img {
        width: clamp(210px, 58vw, 230px);
    }

    #footer .footer__logo2026--text {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 20px;
    }
}
