/* Shared footer: separate lodging choice, exploration, and direct contact. */
.footer.kaiji-footer{padding:60px 0 24px;background:#294f41;margin-top:80px;color:#fff}
.reservation-banner+.footer.kaiji-footer{margin-top:0}
.kaiji-footer .footer-inner{width:min(1200px,calc(100% - 96px));display:grid;grid-template-columns:.75fr 1.9fr 1fr;gap:60px;font-size:1rem}
.kaiji-footer a{margin:0;text-decoration:none;overflow-wrap:anywhere}
.kaiji-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.kaiji-footer .footer-home{display:block;width:126px;min-height:44px}
.kaiji-footer .footer-logo{width:126px;margin:0 0 24px}
.kaiji-footer .footer-social{display:flex;align-items:center;gap:24px;min-height:44px;font-size:.9375rem;width:fit-content;color:#e1e9e3}
.kaiji-footer h2{font-family:ZenOld,serif;font-size:1.25rem;line-height:1.6;margin:0 0 24px;color:#fff}
.kaiji-footer .footer-stay-groups{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}
.kaiji-footer .footer-brand{font-size:.875rem;letter-spacing:.04em;color:#e0ebe3;line-height:1.7;padding:0 0 14px;border-bottom:1px solid #ffffff35;margin:0 0 10px;min-height:38px}
.kaiji-footer .footer-property{padding:12px 0;display:flex;flex-direction:column;gap:2px;font-family:ZenOld,serif;font-size:1.125rem;line-height:1.65;min-height:48px}
.kaiji-footer .footer-location{font-family:ZenKaku,sans-serif;font-size:.875rem;margin-left:14px;color:#e2eae4}
.kaiji-footer .footer-property small{font-family:ZenKaku,sans-serif;font-size:.875rem;color:#d3dfd6;line-height:1.7}
.kaiji-footer .footer-guide>a{font-size:1rem;padding:8px 0;min-height:44px;line-height:1.7}
.kaiji-footer .footer-guide>a>span{display:block;font-size:.875rem;color:#d3dfd6}
.kaiji-footer .footer-contact{width:min(1200px,calc(100% - 96px));margin:44px auto 0;padding:28px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;display:flex;align-items:center;gap:40px}
.kaiji-footer .footer-contact-heading{font-size:1rem;font-family:ZenOld,serif}
.kaiji-footer .footer-phone{margin-right:auto}
.kaiji-footer .tel{font-size:1.35rem;line-height:1.5;min-height:36px;letter-spacing:.04em}
.kaiji-footer .footer-phone p{font-size:.875rem;color:#d3dfd6;margin:2px 0 0;line-height:1.7}
.kaiji-footer .footer-mail{display:flex;align-items:center;gap:25px;font-size:1rem;min-height:44px}
.kaiji-footer .copyright{width:min(1200px,calc(100% - 96px));margin:22px auto 0;font-size:.8125rem;color:#d3dfd6}
@media(max-width:1050px){.kaiji-footer .footer-inner{grid-template-columns:.65fr 1.8fr 1fr;gap:32px}.kaiji-footer .footer-stay-groups{gap:22px}.kaiji-footer .footer-contact{gap:28px}.kaiji-footer .footer-mail{font-size:.9375rem;gap:12px}}
@media(max-width:760px){
 .footer.kaiji-footer{padding-top:40px;margin-top:60px}
 .kaiji-footer .footer-inner{width:calc(100% - 48px);grid-template-columns:1fr;gap:34px}
 .kaiji-footer .footer-identity{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #ffffff35}
 .kaiji-footer .footer-home,.kaiji-footer .footer-logo{width:112px}.kaiji-footer .footer-logo{margin:0}
 .kaiji-footer h2{font-size:1.2rem;margin-bottom:20px}
 .kaiji-footer .footer-stay-groups{grid-template-columns:1.15fr 1fr;gap:22px}
 .kaiji-footer .footer-brand{letter-spacing:0;font-size:.875rem}
 .kaiji-footer .footer-guide{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid #ffffff35;padding-top:28px}
 .kaiji-footer .footer-guide h2{grid-column:1/-1}
 .kaiji-footer .footer-guide>a{font-size:.9375rem}
 .kaiji-footer .footer-contact{width:calc(100% - 48px);display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;padding:26px 0}
 .kaiji-footer .footer-phone{margin:0}.kaiji-footer .tel{font-size:1.4rem;min-height:40px;line-height:1.7}
 .kaiji-footer .footer-mail{justify-content:space-between;width:fit-content;gap:24px}
 .kaiji-footer .copyright{width:calc(100% - 48px);margin-top:24px}
}
@media(max-width:360px){.kaiji-footer .footer-stay-groups{grid-template-columns:1fr;gap:26px}.kaiji-footer .footer-social{gap:12px}.kaiji-footer .footer-guide{gap:0 14px}}
