.footer{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:120px 0 0;padding:80px 0 40px;gap:40px;max-width:100%;background-color:#f6f6f6;color:#333;box-sizing:border-box;position:relative}.footer__container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:40px;padding:0;width:100%;max-width:calc(100% - 64px)}.footer__branding{display:flex;flex-direction:column;align-items:flex-start;gap:40px;width:180px}.footer__logo-link{display:flex;width:180px;height:54.5938px;text-decoration:none}.footer__logo{width:180px;height:54.5938px;object-fit:fill;display:block}.footer__tagline{font-family:"Open Sans","Noto Sans JP",sans-serif;font-size:14px;font-weight:500;line-height:24.5px;color:#222;margin:0}.footer__nav{display:flex;flex-direction:row;gap:80px}.footer__menu{display:flex;flex-direction:column;gap:14px;padding:0;margin:0;list-style:none}.footer__menu a{display:flex;align-items:center;flex-shrink:0;font-family:"Open Sans","Noto Sans JP",sans-serif;font-size:14px;font-weight:500;line-height:24.5px;color:#424242;text-decoration:none;transition:.3s cubic-bezier(.4, .4, 0, 1)}.footer__menu a:hover{opacity:1}.footer__link--external{display:inline-flex;align-items:center;gap:6px}.footer__link--external i{font-family:"Font Awesome 6 Free";font-weight:900;font-size:14px;color:#424242;line-height:1}.footer__copyright{font-family:"Open Sans","Noto Sans JP",sans-serif;font-size:12px;font-weight:500;line-height:24px;color:#424242;text-align:center;width:100%;margin:0;padding-top:16px;border-top:1px solid #e2e2e2}@media screen and (max-width:1140px){.footer{padding:60px 0 30px;width:100%}.footer__container{flex-direction:column;align-items:flex-start;width:100%;max-width:90%}.footer__branding{align-items:flex-start}.footer__nav{flex-direction:column;align-items:flex-start;gap:40px;width:100%}.footer__menu{align-items:flex-start}}@media screen and (max-width:767px){.footer{margin-top:20px;padding:40px 0 20px}}@media screen and (max-width:540px){.footer{padding:var(--footer-mobile-padding);gap:var(--footer-gap);margin:var(--footer-mobile-margin-top) 0 0}.footer__branding{gap:var(--footer-gap)}.footer__logo,.footer__logo-link{width:var(--footer-mobile-logo-width);height:auto}.footer__nav{gap:var(--footer-gap)}.footer__menu{gap:14px}.footer__menu a{font-size:13px;line-height:22.75px}}