.top-sitemap-footer{position:relative;isolation:isolate;overflow:hidden;min-height:460px;background:#26323d url("sapporo-odori-footer.webp") center 48%/cover no-repeat;color:#fff}
.top-footer-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,18,28,.41),rgba(8,18,28,.34) 48%,rgba(8,18,28,.38)),linear-gradient(180deg,rgba(8,18,28,.04),rgba(8,18,28,.16))}
.top-footer-inner{display:grid;grid-template-columns:220px minmax(0,1fr);gap:72px;width:min(1180px,calc(100% - 68px));margin:0 auto;padding:70px 0 66px}
.top-footer-brand img{display:block;width:190px;max-width:100%;height:auto;filter:drop-shadow(0 5px 15px rgba(0,0,0,.3))}
.top-footer-brand p{margin-top:22px;color:rgba(255,255,255,.74);font-size:12px;font-weight:700;line-height:1.85}
.top-footer-social{margin-top:24px}
.top-footer-social-title{display:block;color:rgba(255,255,255,.72);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.top-footer-social-links{display:flex;align-items:center;gap:10px;margin-top:10px}
.top-footer-social-links a{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(7,13,20,.42);color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.16);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.top-footer-social-links a:hover{transform:translateY(-3px);border-color:var(--orange,#f39a00);background:var(--orange,#f39a00)}
.top-footer-social-links a:focus-visible{outline:3px solid rgba(255,255,255,.86);outline-offset:3px}
.top-footer-social-links svg{display:block;width:20px;height:20px}
.top-footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.top-footer-nav section{min-width:0}
.top-footer-nav h2{margin:0 0 19px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.42);color:#fff;font-size:16px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px 10px rgba(0,0,0,.72)}
.top-footer-nav a,.top-footer-nav span{display:block;width:fit-content;margin-top:11px;color:rgba(255,255,255,.94);font-size:13px;font-weight:700;line-height:1.55;text-decoration:none;text-shadow:0 2px 9px rgba(0,0,0,.78)}
.top-footer-nav span{color:rgba(255,255,255,.58)}
.top-footer-nav a{transition:color .2s ease,transform .2s ease}
.top-footer-nav a:hover{color:#fff;transform:translateX(4px)}
.top-footer-bottom{display:flex;align-items:center;justify-content:center;min-height:54px;padding:14px 80px;background:rgba(7,13,20,.94);text-align:center}
.top-footer-bottom p{color:rgba(255,255,255,.78);font-size:11px;font-weight:700;letter-spacing:.05em}
.top-footer-pagetop{position:absolute;right:28px;bottom:72px;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#111820;color:#fff;text-decoration:none;font:900 32px/1 Arial,sans-serif;box-shadow:0 10px 25px rgba(0,0,0,.28);transition:transform .2s ease,background .2s ease}
.top-footer-pagetop:hover{transform:translateY(-4px);background:#283746}
@media(max-width:980px){.top-footer-inner{grid-template-columns:1fr;gap:40px}.top-footer-brand{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.top-footer-brand p{margin:0}.top-footer-social{margin:0}.top-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 44px}}
@media(max-width:620px){.top-sitemap-footer{min-height:0;background-position:center}.top-footer-inner{width:calc(100% - 40px);padding:54px 0 48px}.top-footer-brand{display:block}.top-footer-brand img{width:160px}.top-footer-brand p{margin-top:17px}.top-footer-social{margin-top:22px}.top-footer-social-links a{width:46px;height:46px}.top-footer-nav{grid-template-columns:1fr 1fr;gap:34px 22px}.top-footer-nav h2{font-size:14px}.top-footer-nav a,.top-footer-nav span{font-size:12px}.top-footer-bottom{justify-content:flex-start;padding:16px 84px 16px 20px;text-align:left}.top-footer-pagetop{right:18px;bottom:68px;width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.top-footer-nav a,.top-footer-pagetop,.top-footer-social-links a{transition:none}}
