@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@600;700&display=swap";:root{--font-display:"Noto Serif JP", serif;--font-body:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--color-primary:#2c2118;--color-primary-deep:#15100c;--color-sub:#b9965d;--color-text:#222;--color-text-light:#4d4d4d;--color-bg:#f7f3ec;--color-bg-alt:#efe7db;--shadow-sm:0 8px 18px #1212120d;--shadow-md:0 16px 34px #12121214}*{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);letter-spacing:.02em;font-size:17px;line-height:1.9}img{max-width:100%;display:block}a{color:inherit}.lp-root{color:var(--color-text);background:radial-gradient(circle at -8% 8%,#0f766e29 0%,#0f766e00 42%),radial-gradient(circle at 108% 94%,#0b3f4324 0%,#0b3f4300 44%),linear-gradient(#f6fbfa 0%,#eef5f4 100%)}.container{width:min(1120px,100% - 64px);margin:0 auto}#section-header{z-index:40;background:color-mix(in srgb, var(--color-primary-deep) 88%, #041617 12%);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #ffffff38;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:76px;display:flex}.shop-logo{background:#fff;border:1px solid #e3ecec;border-radius:10px;width:auto;height:42px;padding:5px}.shop-name{letter-spacing:.03em;margin:0;font-weight:700}.header-inner .shop-name{font-family:var(--font-display)}#section-hero,#section-about,#section-menu,#section-access,#section-contact{padding:88px 0}#section-about,#section-access{background:var(--color-bg)}.hero-overlay{display:none}.hero-inner{box-shadow:var(--shadow-md);background:#ffffffb3;border:1px solid #dbe7e6;border-radius:22px;grid-template-columns:1fr 1fr;align-items:center;gap:52px;padding:34px;display:grid}.hero-copy h1{font-family:var(--font-display);color:#103233;margin:0 0 16px;font-size:clamp(2rem,4.5vw,3.4rem);font-weight:700;line-height:1.1}.hero-copy p{color:var(--color-text-light);max-width:44ch;margin:0;line-height:1.85}.hero-image{aspect-ratio:16/10;object-fit:cover;width:100%;box-shadow:var(--shadow-sm);border:1px solid #dbe7e6;border-radius:14px}h2{font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.2;font-family:var(--font-display);letter-spacing:.01em;color:#113335;margin:0 0 20px;font-weight:700}.shop-description,.access-address,.contact-links{color:var(--color-text-light)}.about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:44px;display:grid}.about-inner>div:first-child{order:2}.about-gallery{order:1;width:100%}.about-gallery-item{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe7e6;border-radius:14px;margin:0;overflow:hidden}.about-gallery-item img{aspect-ratio:16/10;object-fit:cover;width:100%}.menu-section-grid{grid-template-columns:minmax(260px,34%) 1fr;align-items:start;gap:34px;display:grid}.menu-section-aside{position:sticky;top:96px}.menu-section-note{color:var(--color-text-light);margin:0 0 16px;font-size:.95rem}.menu-empty{color:var(--color-text-light);background:#ffffffad;border:1px solid #dbe7e6;border-radius:12px;margin:0;padding:14px 16px}.menu-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.menu-category-button{text-align:left;cursor:pointer;background:#ffffffdb;border:1px solid #c7d8d7;border-radius:10px;padding:12px;transition:border-color .2s,color .2s,transform .2s}.menu-category-button:hover{border-color:#95b9b7;transform:translateY(-1px)}.menu-category-button.is-active{border-color:var(--color-primary);color:var(--color-primary-deep);box-shadow:0 0 0 2px #0f766e24}.menu-category-name{margin-bottom:4px;font-weight:700;display:block}.menu-category-count{color:var(--color-text-light);font-size:.86rem;display:block}.menu-category-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.menu-category-current{color:var(--color-primary);margin:0;font-weight:700}.menu-category-close-button{color:var(--color-text);cursor:pointer;background:#ffffffdb;border:1px solid #c7d8d7;border-radius:10px;padding:8px 12px}.menu-list{grid-template-columns:1fr;gap:16px;display:grid}.menu-item{box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #dbe7e6;border-radius:14px;height:256px;overflow:hidden}.menu-item-trigger{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr 1fr;width:100%;height:100%;padding:0;display:grid}.menu-item:nth-child(2n) .menu-item-image{order:2}.menu-item:nth-child(2n) .menu-item-body{order:1}.menu-item-image{object-fit:cover;width:100%;height:100%}.menu-item-body{flex-direction:column;justify-content:center;gap:10px;width:100%;min-width:0;padding:16px;display:flex}.menu-item-head{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.menu-item-name{margin:0;font-size:1rem;font-weight:700}.menu-item-price{color:var(--color-primary);margin:0;font-size:.95rem;font-weight:700}.menu-item-desc{color:var(--color-text-light);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.7;display:-webkit-box;overflow:hidden}.menu-image-modal-backdrop{z-index:50;background:#081617a3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.menu-image-modal{width:min(560px,100%);max-height:min(90vh,780px);box-shadow:var(--shadow-md);background:#fff;border:1px solid #dbe7e6;border-radius:12px;position:relative;overflow:auto}.menu-image-modal-close{color:#fff;cursor:pointer;background:#0f172ac2;border:0;border-radius:8px;width:34px;height:34px;line-height:1;position:absolute;top:8px;right:8px}.menu-image-modal-image{aspect-ratio:16/10;object-fit:cover;width:100%}.menu-image-modal-body{padding:14px 14px 16px}.menu-image-modal-name{margin:0 0 6px;font-size:1rem}.menu-image-modal-price{color:var(--color-primary);margin:0 0 8px;font-weight:700}.menu-image-modal-desc{color:var(--color-text-light);margin:0;font-size:.92rem;line-height:1.65}.access-inner{grid-template-columns:1fr 1.3fr;align-items:start;gap:40px;display:grid}.access-map{min-height:340px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dbe7e6;border-radius:14px;overflow:hidden}.access-map iframe{border:0;width:100%;height:100%;min-height:340px}.contact-links{gap:10px;display:grid}.contact-phone,.contact-email{color:#0e575c;font-weight:700;text-decoration:none}.contact-phone:hover,.contact-email:hover{color:#0c6f68}#section-footer{background:color-mix(in srgb, var(--color-primary-deep) 90%, #041617 10%);color:#fff;text-align:center;padding:28px 0}.copyright{letter-spacing:.04em;margin:0;font-size:.9rem}@media (width<=1199px){.container{width:min(1120px,100% - 44px)}#section-hero,#section-about,#section-menu,#section-access,#section-contact{padding:72px 0}.hero-inner,.about-inner{gap:32px}}@media (width<=1023px){.container{width:min(100%,100% - 36px)}.hero-inner,.about-inner,.menu-section-grid{grid-template-columns:1fr}.menu-section-aside{position:static}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{height:auto}.menu-item-trigger{grid-template-columns:1fr}.menu-item:nth-child(2n) .menu-item-image,.menu-item:nth-child(2n) .menu-item-body{order:initial}.access-inner{grid-template-columns:1fr;gap:24px}}@media (width<=767px){.container{width:min(100%,100% - 24px)}.header-inner{min-height:64px}.shop-logo{height:36px}#section-hero,#section-about,#section-menu,#section-access,#section-contact{padding:56px 0}.hero-inner{border-radius:16px;padding:20px}.menu-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-list{grid-template-columns:1fr}.menu-item-body{padding:14px}.menu-item-desc{-webkit-line-clamp:4}.menu-image-modal{width:min(440px,100%)}.access-map,.access-map iframe{min-height:240px}}.lp-root{background:radial-gradient(circle at 8% -16%, color-mix(in srgb, var(--color-sub) 20%, transparent) 0%, transparent 48%), linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-alt) 100%)}#section-header{background:color-mix(in srgb, var(--color-primary-deep) 90%, black 10%);border-color:color-mix(in srgb, var(--color-sub) 36%, transparent)}#section-hero{background:radial-gradient(circle at 86% 24%, color-mix(in srgb, var(--color-sub) 28%, transparent) 0%, transparent 42%), linear-gradient(130deg, color-mix(in srgb, var(--color-primary-deep) 90%, #2a231c 10%) 0%, color-mix(in srgb, var(--color-primary) 72%, #5b4a38 28%) 100%)}.hero-copy .shop-name,h2,.menu-category-name,.menu-item-name{color:var(--color-primary-deep)}.menu-item-price,.menu-category-current{color:var(--color-primary)}.menu-category-button.is-active{border-color:var(--color-sub);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-sub) 22%, transparent), var(--shadow-sm)}h1,h2,.shop-name{letter-spacing:.06em;text-shadow:0 1px 0 color-mix(in srgb, var(--color-sub) 25%, transparent)}.cta-button,.menu-category-close-button{border:1px solid color-mix(in srgb, var(--color-sub) 56%, transparent);background:linear-gradient(135deg, #fff, color-mix(in srgb, var(--color-sub) 38%, #fff 62%));color:var(--color-primary-deep);border-radius:999px}.cta-button:hover,.menu-category-close-button:hover{box-shadow:0 10px 22px color-mix(in srgb, var(--color-sub) 28%, transparent);transform:translateY(-1px)}.menu-category-button:hover,.menu-item:hover,.card:hover{border-color:color-mix(in srgb, var(--color-sub) 72%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--color-sub) 20%, transparent)}#section-hero .shop-name,#section-hero h1,#section-hero .hero-copy h1,#section-hero .hero-copy .shop-name{color:#fff;text-shadow:0 6px 22px #00000057}#section-hero .hero-copy p,#section-hero .hero-lead,#section-hero .hero-description{color:#f4f7ff}#section-about h2,#section-menu h2,#section-access h2,#section-contact h2{color:var(--color-primary-deep)}#section-about .shop-description,#section-menu .menu-item-desc,#section-access .access-address,#section-contact .contact-links{color:var(--color-text-light)}.menu-category-button,.menu-item,.about-gallery-item,.menu-category-inline-preview,.menu-preview-card{background:#fff}
