/* Shared typography and navigation. Legacy page content keeps its layout. */
:root{--ah-gradient:linear-gradient(110deg,#087bb8 0%,#615284 52%,#ce2634 100%);--ah-black:#191919}
body,input,button,textarea,select{font-family:'M PLUS Rounded 1c',sans-serif}
.eng,.ah-en,a[href^='tel:'],.customer-phone,.tel{font-family:'Cal Sans','M PLUS Rounded 1c',sans-serif;font-weight:400}
.ah-site-header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px max(24px,calc((100% - 1320px)/2));background:#fff;color:#191919}
.ah-site-logo{display:block;flex-shrink:0;width:96px}
.ah-site-logo img{display:block;width:100%;height:auto;object-fit:contain}
.ah-header-menu{display:flex;align-items:center;gap:28px}
.ah-site-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin:0;padding:0;list-style:none}
.ah-site-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;color:inherit;text-align:center;white-space:nowrap}
.ah-site-nav img{width:28px;height:28px;object-fit:contain;margin-bottom:2px}
.ah-site-nav .ah-en{font-size:15px;line-height:1.2;letter-spacing:.025em}
.ah-nav-jp{font-size:11px;line-height:1.5}
.ah-site-nav a:hover{color:#b7282e}
.ah-online-shop{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;min-height:54px;border-radius:12px;background:#ffe331;color:#191919;white-space:nowrap}
.ah-online-shop strong{display:block;font-size:13px;font-weight:700;line-height:1.6}
.ah-online-shop .ah-en{display:block;font-size:13px;line-height:1.5}
.ah-menu-toggle{display:none;background:#fff;color:#191919;border:1px solid #ddd;border-radius:6px;padding:8px 12px;cursor:pointer;align-items:center;gap:8px;font-size:12px}
.ah-menu-toggle>span:first-child{font-size:24px}
.ah-site-footer{padding:64px 24px 32px;background:var(--ah-black);color:#fff;text-align:center}
.ah-footer-logo{display:block;width:100px;margin:0 auto 16px}
.ah-footer-logo img{display:block;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen}
.ah-footer-name{margin:0 0 8px;font-size:20px;letter-spacing:.08em}
.ah-footer-since{margin:0;font-size:12px;letter-spacing:.08em}
.ah-site-footer nav{margin-top:36px;padding-top:36px;border-top:1px solid #555}
.ah-site-footer .ah-site-nav{gap:44px}
.ah-site-footer .ah-site-nav img{filter:invert(1)}
.ah-footer-company{font-size:12px;margin:36px 0 14px}
.ah-copyright{font-size:12px;margin:0;color:#bbb;letter-spacing:.04em}
.ah-site-header a:focus-visible,.ah-site-header button:focus-visible,.ah-site-footer a:focus-visible{outline:3px solid #1681bc;outline-offset:4px}
@media(max-width:1100px){
 .ah-site-header{flex-wrap:wrap;padding:10px 20px;gap:12px}.ah-site-logo{width:70px}
 .ah-site-header.has-js .ah-menu-toggle{display:flex}
 .ah-header-menu{flex-basis:100%;flex-direction:column;padding:20px 0 14px;gap:24px}
 .ah-site-header.has-js .ah-header-menu{display:none}.ah-site-header.has-js .ah-header-menu.is-open{display:flex}
 .ah-site-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;width:100%}
 .ah-header-menu nav{width:100%}.ah-online-shop{width:min(100%,340px)}
 .ah-site-footer .ah-site-nav{gap:28px 20px}
}
@media(max-width:540px){.ah-site-footer{padding:44px 20px 28px}.ah-site-nav .ah-en{font-size:13px}.ah-site-nav{gap:22px 10px}}
@media(prefers-reduced-motion:reduce){.ah-site-header a,.ah-site-footer a{transition:none}}

/* Existing English title selectors use the same approved font. */
.page:not(.home) .mainvisual .title-eng,.tax-shop_brand .mainvisual .title-eng{font-family:'Cal Sans','M PLUS Rounded 1c',sans-serif}
.section-restaurant .restaurant-item .name{font-family:'M PLUS Rounded 1c',sans-serif}

/* Header brand signature added in v1.1.1. */
.ah-site-logo{width:128px;text-align:center}
.ah-site-logo img{width:96px;margin:0 auto}
.ah-logo-caption{display:block;margin-top:8px;font-size:10px;line-height:1.4;letter-spacing:.02em;color:#191919;white-space:nowrap}
@media(max-width:1100px){.ah-site-logo{width:108px}.ah-site-logo img{width:70px}.ah-logo-caption{font-size:8px;margin-top:6px}}

/* Published store links stay in sync with the store directory. */
.ah-footer-stores{max-width:1200px;margin:0 auto 72px;padding-bottom:64px;border-bottom:1px solid #ffffff30;text-align:left}
.ah-footer-stores h2{text-align:center;font-size:24px;font-weight:700;line-height:1.6;margin:0 0 40px}
.ah-footer-store-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.ah-footer-store-groups h3{font-size:15px;font-weight:700;line-height:1.8;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #ffffff30}
.ah-footer-store-groups ul{list-style:none;padding:0;margin:0}.ah-footer-store-groups li{margin:0}
.ah-footer-store-groups a{display:block;font-size:13px;line-height:1.8;padding:7px 0;color:inherit;overflow-wrap:anywhere}
.ah-footer-store-groups a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.ah-footer-store-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:540px){.ah-footer-store-groups{grid-template-columns:minmax(0,1fr);gap:28px}.ah-footer-stores{margin-bottom:48px;padding-bottom:48px}.ah-footer-stores h2{font-size:21px;margin-bottom:32px}}

.ah-site-footer .ah-footer-stores{margin-top:0;padding-top:0;border-top:0}
