@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--font-display:"Manrope", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-body:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--color-primary:#2f5f9f;--color-primary-deep:#1f3e68;--color-sub:#7fa0c8;--color-text:#14253e;--color-text-light:#4f6482;--color-bg:#f4f8fd;--color-bg-alt:#e8f0f9}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.7}img{max-width:100%;display:block}a{color:inherit}.lp-root{color:var(--color-text);background:linear-gradient(#f7fbff 0%,#edf4fb 52%,#f7fbff 100%)}.container{width:min(1120px,100% - 52px);margin:0 auto}#section-header{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--color-sub) 34%, #fff 66%);background:#f9fbfe;position:sticky;top:0}.header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:82px;display:grid}.brand-lockup{align-items:center;gap:12px;display:flex}.shop-logo{border:1px solid color-mix(in srgb, var(--color-sub) 48%, #fff 52%);background:#fff;border-radius:10px;width:auto;height:40px;padding:4px}.shop-name{color:var(--color-primary-deep);font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(1.1rem,2.1vw,1.45rem);font-weight:800}.shop-tagline{color:var(--color-text-light);margin:2px 0 0;font-size:.82rem}.header-nav{justify-content:center;gap:clamp(16px,2.8vw,40px);display:flex}.header-nav a{color:var(--color-primary-deep);letter-spacing:.01em;white-space:nowrap;font-weight:700;text-decoration:none}.header-nav a:hover{color:var(--color-primary)}.header-socials{gap:10px;display:flex}.header-socials a{border:1px solid color-mix(in srgb, var(--color-sub) 50%, #fff 50%);width:40px;height:40px;color:var(--color-primary-deep);background:#fff;border-radius:999px;place-items:center;font-size:.74rem;font-weight:800;text-decoration:none;display:grid}#section-hero{align-items:center;min-height:min(100vh,860px);padding:74px 0 58px;display:grid;position:relative}.hero-overlay{pointer-events:none;background:radial-gradient(circle at 50% 36%,#ffffffd6 0%,#ffffff8f 42%,#ffffff2e 70%,#fff0 100%);position:absolute;inset:0}.hero-inner{z-index:1;text-align:center;place-items:center;gap:14px;display:grid;position:relative}.hero-symbol{margin-bottom:6px}.hero-symbol-image{filter:drop-shadow(0 10px 22px #2f5f9f33);width:min(112px,28vw)}.hero-copy .shop-name{margin-bottom:12px;font-size:clamp(2.8rem,7.8vw,5.1rem);line-height:1.02}.hero-lead{color:var(--color-primary-deep);font-size:clamp(1.35rem,2.8vw,1.86rem);font-family:var(--font-display);letter-spacing:.01em;margin:0 0 10px;font-weight:700}.hero-description{color:var(--color-text-light);max-width:62ch;margin:0;font-size:clamp(1rem,1.5vw,1.08rem);line-height:1.85}#section-about,#section-menu,#section-access,#section-contact{padding:72px 0}h2{font-size:clamp(1.8rem,2.8vw,2.3rem);font-family:var(--font-display);color:var(--color-primary-deep);letter-spacing:.01em;margin:0 0 22px;font-weight:800}.about-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:36px;display:grid}.shop-description{color:var(--color-text-light);margin:0 0 24px;line-height:1.88}.about-highlights{gap:14px;margin:0;padding:0;list-style:none;display:grid}.about-highlights li{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.about-highlight-index{border:1px solid color-mix(in srgb, var(--color-sub) 68%, #fff 32%);width:28px;height:28px;color:var(--color-primary-deep);background:#fff;border-radius:999px;place-items:center;font-size:.76rem;font-weight:800;display:grid}.about-highlights h3{color:var(--color-primary-deep);margin:0 0 4px;font-size:1.02rem}.about-highlights p{color:var(--color-text-light);margin:0;line-height:1.74}.about-gallery-item{border:1px solid color-mix(in srgb, var(--color-sub) 40%, #fff 60%);background:#fff;border-radius:14px;margin:0;overflow:hidden;box-shadow:0 14px 36px #1f3e681a}.about-gallery-item img{aspect-ratio:4/5;object-fit:cover;width:100%}.about-gallery-item figcaption{color:var(--color-primary-deep);padding:10px 12px;font-size:.88rem}.about-gallery-dots{justify-content:center;gap:8px;margin-top:10px;display:flex}.about-gallery-dots span{background:color-mix(in srgb, var(--color-sub) 42%, #fff 58%);border-radius:999px;width:6px;height:6px}.about-gallery-dots span.is-active{background:var(--color-primary);width:18px}#section-menu h2,.menu-intro{text-align:center}.menu-intro{color:var(--color-text-light);margin:0 0 24px}.menu-accordion{gap:12px;display:grid}.menu-accordion-item{border:1px solid color-mix(in srgb, var(--color-sub) 42%, #fff 58%);background:#fff;border-radius:12px}.menu-accordion-trigger{width:100%;color:var(--color-primary-deep);font-family:var(--font-display);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:14px 18px;font-size:1.03rem;font-weight:700;display:flex}.menu-accordion-title{flex:0 auto}.menu-accordion-count{color:var(--color-text-light);font-size:.84rem}.menu-accordion-icon{margin-left:auto;transition:transform .2s}.menu-accordion-item.is-open .menu-accordion-icon{transform:rotate(180deg)}.menu-accordion-panel{border-top:1px solid color-mix(in srgb, var(--color-sub) 36%, #fff 64%);padding:10px 14px 14px}.menu-drink-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.menu-drink-row{background:var(--color-bg-alt);width:100%;color:var(--color-primary-deep);text-align:left;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.menu-drink-row:hover{background:color-mix(in srgb, var(--color-sub) 20%, #fff 80%)}.menu-drink-name{font-weight:600}.menu-drink-price{color:var(--color-primary);font-weight:800}.menu-image-modal-backdrop{z-index:80;background:#14253e94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.menu-image-modal{border:1px solid color-mix(in srgb, var(--color-sub) 40%, #fff 60%);background:#fff;border-radius:14px;width:min(560px,100%);max-height:min(90vh,780px);position:relative;overflow:auto;box-shadow:0 24px 56px #1f3e6857}.menu-image-modal-close{border:1px solid color-mix(in srgb, var(--color-sub) 46%, #fff 54%);width:36px;height:36px;color:var(--color-primary-deep);cursor:pointer;background:#fff;border-radius:999px;position:absolute;top:8px;right:8px}.menu-image-modal-image{aspect-ratio:4/3;object-fit:cover;width:100%}.menu-image-modal-body{padding:14px 14px 16px}.menu-image-modal-name{color:var(--color-primary-deep);margin:0 0 6px}.menu-image-modal-price{color:var(--color-primary);margin:0 0 8px;font-weight:800}.menu-image-modal-desc{color:var(--color-text-light);margin:0;line-height:1.7}#section-access h2,#section-contact h2{margin-bottom:12px}.access-inner{grid-template-columns:1fr 1.1fr;gap:24px;display:grid}.access-address,.contact-links{color:var(--color-text-light)}.access-map{border:1px solid color-mix(in srgb, var(--color-sub) 40%, #fff 60%);border-radius:12px;min-height:320px;overflow:hidden;box-shadow:0 14px 36px #1f3e681a}.access-map iframe{border:0;width:100%;height:100%;min-height:320px}.contact-links{gap:10px;display:grid}.contact-phone,.contact-email{color:var(--color-primary-deep);font-weight:600;text-decoration:none}.footer-grid{border-top:1px solid color-mix(in srgb, var(--color-sub) 38%, #fff 62%);grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:28px 0;display:grid}.footer-grid h3{color:var(--color-primary-deep);font-family:var(--font-display);margin:0 0 10px;font-weight:700}.footer-grid p{color:var(--color-text-light);margin:0 0 6px}.footer-bottom{border-top:1px solid color-mix(in srgb, var(--color-sub) 28%, #fff 72%);padding:16px 0 28px}.copyright{color:var(--color-text-light);margin:0;font-size:.88rem}@media (width<=1023px){.container{width:min(100%,100% - 36px)}.header-inner{grid-template-columns:1fr;justify-items:center;gap:12px;padding:12px 0}.brand-lockup{justify-content:center}.header-nav{flex-wrap:wrap}#section-hero{min-height:auto;padding-top:56px}.about-grid,.access-inner,.footer-grid{grid-template-columns:1fr}}@media (width<=767px){.container{width:min(100%,100% - 24px)}#section-hero,#section-about,#section-menu,#section-access,#section-contact{padding:56px 0}.hero-copy .shop-name{font-size:clamp(2.3rem,14vw,3.6rem)}.hero-lead{font-size:1.35rem}.header-nav{gap:14px;font-size:.92rem}.header-socials{display:none}.menu-accordion-trigger{padding:12px 14px;font-size:.96rem}.access-map,.access-map iframe{min-height:240px}}
