/* Portable-page behavior. The reference's layout and responsive CSS precede this file. */
html { scroll-behavior: smooth; }
.local-reveal-pending { opacity: 0; }
.jet-responsive-menu-available-items.jet-empty { display: none !important; }
button.jet-mobile-menu__toggle { border: 0; background: transparent; font: inherit; cursor: pointer; }
#sb_instagram #sbi_images { display: flex; flex-wrap: wrap; }
#sb_instagram .sbi_photo { height: auto !important; aspect-ratio: 1; }
.local-nav-layer[hidden] { display: none; }
.local-nav-layer { position: fixed; inset: 0; z-index: 10001; }
.local-nav-scrim { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(0,0,0,.45); }
.local-nav-panel { position: absolute; left: 0; top: 0; bottom: 0; width: 75%; max-width: 420px; padding: 85px 25px 30px; background: #fdefd9 url("bg_img.png"); overflow-y: auto; animation: local-drawer-in .25s ease-out; }
.local-nav-panel a { display: block; padding: 14px 0; text-decoration: none; color: #4d433d; font-size: 15px; font-weight: 500; }
.local-nav-panel a:first-of-type { color: #f90; }
.local-nav-close { position: absolute; right: 20px; top: 20px; border: 0; background: transparent; color: #6c410e; font: 32px/1 sans-serif; cursor: pointer; }
body.local-nav-open { overflow: hidden; }
.local-lightbox { position: fixed; inset: 0; margin: auto; padding: 25px 50px; width: min(96vw,1000px); max-width: 1000px; max-height: 94vh; overflow: visible; border: 0; border-radius: 3px; background: #fff; box-shadow: 0 20px 80px #0008; color: #444; }
.local-lightbox::backdrop { background: rgba(0,0,0,.86); }
.local-lightbox figure { margin: 0; text-align: center; }
.local-lightbox img { display: block; max-width: 100%; max-height: 75vh; margin: auto; object-fit: contain; }
.local-lightbox figcaption { padding-top: 12px; font: 14px/1.5 "Noto Sans JP",sans-serif; }
.local-lightbox figcaption a { color: #6c410e; }
.local-lightbox button { position: absolute; border: 0; background: transparent; font: 38px/1 sans-serif; color: #555; cursor: pointer; }
.local-lightbox-close { right: 10px; top: 8px; }
.local-lightbox-prev { left: 12px; top: 45%; }
.local-lightbox-next { right: 12px; top: 45%; }
@keyframes local-drawer-in { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@media(max-width:479px) { #sb_instagram #sbi_images .sbi_item:nth-child(n+7) { display: none; } }
@media(max-width:640px) { .local-lightbox { padding: 38px 28px 18px; } .local-lightbox-prev { left: 3px; } .local-lightbox-next { right: 3px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .local-reveal-pending { opacity: 1; } .animated, .local-nav-panel { animation: none !important; } }
