@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";:root{--font-display:"Inter", "Noto Sans JP", sans-serif;--font-body:"Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--color-primary:#1e3a8a;--color-primary-deep:#13285f;--color-sub:#d6deef;--color-text:#1f2937;--color-text-light:#4b5563;--color-bg:#f7f9fc;--color-bg-alt:#eef3fa;--shadow-sm:0 4px 14px #0f172a0f;--shadow-md:0 10px 26px #0f172a17}*{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:.01em;font-size:16px;line-height:1.7}img{max-width:100%;display:block}a{color:inherit}.lp-root{color:var(--color-text);background:linear-gradient(#f5f7fb 0%,#eef2f8 100%)}.container{width:min(1120px,100% - 56px);margin:0 auto}#section-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1326d6;border-bottom:1px solid #ffffff1f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:74px;display:flex}.shop-logo{background:#fff;border-radius:12px;width:auto;height:44px;padding:6px}.header-inner .shop-name{font-family:var(--font-display);color:#f8faff;letter-spacing:.08em;margin:0;font-size:clamp(.98rem,1.8vw,1.2rem);font-weight:700}#section-hero{background:radial-gradient(circle at 88% 20%,#477efa3b 0%,#477efa00 34%),linear-gradient(130deg,#0f1d3b 0%,#1f3568 44%,#2848a0 100%);position:relative;overflow:hidden}#section-hero:before{content:"";pointer-events:none;background:linear-gradient(#080c1c1f 0%,#080c1c5c 100%);position:absolute;inset:0}.hero-overlay{pointer-events:none;background:radial-gradient(circle,#ffffff38 0%,#fff0 68%);border-radius:999px;width:52vw;max-width:760px;height:52vw;max-height:760px;position:absolute;inset:auto auto -32% -10%}.hero-inner{grid-template-columns:1fr 1.08fr;align-items:center;gap:clamp(26px,4vw,50px);padding:clamp(56px,9vw,102px) 0;animation:.78s ease-out both fade-rise;display:grid;position:relative}.hero-copy{z-index:1}.hero-copy .shop-name{font-family:var(--font-display);color:#fff;letter-spacing:.05em;margin:0 0 14px;font-size:clamp(2.3rem,5vw,4rem);font-weight:800;line-height:1.08}.hero-copy p{color:#e9f0fff0;max-width:38ch;margin:0;font-size:clamp(1rem,1.9vw,1.14rem)}.cta-button{color:#102349;letter-spacing:.05em;background:linear-gradient(135deg,#f8fbff 0%,#dbe8ff 100%);border-radius:999px;align-items:center;gap:8px;margin-top:24px;padding:12px 18px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 14px 30px #080f1e42}.cta-button:after{content:"→"}.cta-button:hover{transform:translateY(-2px);box-shadow:0 18px 34px #080f1e4d}.hero-image{aspect-ratio:16/10;object-fit:cover;border:1px solid #ffffff5c;border-radius:22px;width:100%;box-shadow:0 30px 60px #080e1d6b}#section-about,#section-menu,#section-access,#section-contact{padding:clamp(62px,8vw,94px) 0}#section-about,#section-contact{background:#f8fbff}#section-menu,#section-access{background:#eff4fb}h2{font-family:var(--font-display);letter-spacing:.04em;color:#111f40;margin:0 0 26px;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;line-height:1.15}.shop-description,.access-address,.contact-links{color:var(--color-text-light)}.shop-description{max-width:760px;line-height:1.85}.about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,38px);display:grid}.about-gallery{justify-self:end;width:100%;max-width:460px;display:block}.about-gallery-item{box-shadow:var(--shadow-md);background:#fff;border:1px solid #c9d8f2;border-radius:18px;margin:0;overflow:hidden}.about-gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;min-height:0;max-height:320px}.menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.menu-category-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.menu-category-cell{display:contents}.menu-category-button{text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #c8d8f6;border-radius:14px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s}.menu-category-button:hover{border-color:#8dafef;transform:translateY(-2px)}.menu-category-inline-preview{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #ccd9f1;border-radius:18px;grid-column:1/-1;margin:2px 0 0;padding:16px}.menu-category-name{color:#142a55;margin-bottom:6px;font-weight:800;display:block}.menu-category-count{color:#5f6f8f;font-size:.9rem;display:block}.menu-category-current{color:var(--color-primary);margin:0;font-weight:700}.menu-category-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px;display:flex}.menu-category-close-button{color:#142a55;cursor:pointer;background:#fff;border:1px solid #b8cbf1;border-radius:999px;padding:9px 14px;font-weight:700}.menu-item{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d2def3;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden}.menu-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-item-image{aspect-ratio:4/3;object-fit:cover;width:100%}.menu-item-image-trigger{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.menu-image-modal-backdrop{z-index:40;background:#080f1eb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.menu-image-modal{width:min(580px,100%);max-height:min(90vh,780px);box-shadow:var(--shadow-md);background:#fff;border:1px solid #cedbf2;border-radius:18px;position:relative;overflow:auto}.menu-image-modal-close{color:#fff;cursor:pointer;background:#0d172ddb;border:0;border-radius:999px;width:38px;height:38px;position:absolute;top:10px;right:10px}.menu-image-modal-image{aspect-ratio:4/3;object-fit:cover;width:100%}.menu-image-modal-body{padding:16px 16px 18px}.menu-image-modal-name{color:#112347;margin:0 0 8px;font-size:1.14rem}.menu-image-modal-price{color:#2a58be;margin:0 0 10px;font-weight:700}.menu-image-modal-desc{color:var(--color-text-light);margin:0;font-size:.95rem;line-height:1.7}.menu-item-body{padding:14px}.menu-item-name{color:#112347;flex:1;margin:0 0 8px;font-size:1rem}.menu-item-head{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.menu-item-price{color:#2f5fc8;margin:0;font-size:.92rem;font-weight:700}.menu-item-desc{color:var(--color-text-light);margin:0;font-size:.92rem}.access-inner{grid-template-columns:1fr 1.25fr;align-items:start;gap:24px;display:grid}.access-address{line-height:1.85}.access-map{min-height:330px;color:var(--color-text-light);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #cddaf0;border-radius:18px;overflow:hidden}.access-map iframe{border:0;width:100%;height:100%;min-height:330px}.contact-links{gap:12px;max-width:480px;display:grid}.contact-phone,.contact-email{color:#1a3a79;background:#fff;border:1px solid #cbd9f1;border-radius:14px;padding:12px 14px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.contact-phone:hover,.contact-email:hover{border-color:#8aaef1;transform:translateY(-1px);box-shadow:0 10px 22px #0e1a321f}#section-footer{color:#e9efff;text-align:center;background:#0b1326;padding:24px 0}.copyright{letter-spacing:.06em;margin:0;font-size:.9rem}@keyframes fade-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=1023px){.container{width:min(100%,100% - 40px)}.hero-inner{grid-template-columns:1fr;gap:26px;padding:56px 0}.about-inner,.access-inner{grid-template-columns:1fr}.about-gallery{justify-self:start;max-width:440px}}@media (width<=767px){.container{width:min(100%,100% - 28px)}.header-inner{min-height:64px}.shop-logo{height:38px}.header-inner .shop-name{font-size:.94rem}.menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-category-button{text-align:left;padding:12px}.menu-category-name,.menu-category-count,.menu-category-current{text-align:left}.menu-item-name{white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin-bottom:4px;font-size:.82rem;line-height:1.35}.menu-item-price{font-size:.78rem}.menu-item-desc{display:none}.menu-image-modal{width:min(440px,100%)}.about-gallery{max-width:100%}.access-map,.access-map iframe{min-height:240px}}.lp-root{background:radial-gradient(circle at 10% -16%, color-mix(in srgb, var(--color-primary) 16%, transparent) 0%, transparent 46%), 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) 44%, transparent)}#section-hero{background:radial-gradient(circle at 86% 22%, color-mix(in srgb, var(--color-primary) 22%, transparent) 0%, transparent 44%), linear-gradient(130deg, color-mix(in srgb, var(--color-primary-deep) 92%, #1a2b49 8%) 0%, color-mix(in srgb, var(--color-primary) 64%, #3c5e9e 36%) 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-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent), var(--shadow-sm)}h1,h2,.shop-name{letter-spacing:.03em}.cta-button,.menu-category-close-button{border:1px solid color-mix(in srgb, var(--color-sub) 68%, transparent);background:linear-gradient(135deg, #fff, color-mix(in srgb, var(--color-sub) 42%, #fff 58%));color:var(--color-primary-deep);border-radius:10px}.cta-button:hover,.menu-category-close-button:hover{box-shadow:0 10px 20px color-mix(in srgb, var(--color-primary) 22%, transparent);transform:translateY(-1px)}.menu-category-button:hover,.menu-item:hover,.card:hover{border-color:color-mix(in srgb, var(--color-primary) 62%, var(--color-sub) 38%);box-shadow:0 10px 22px color-mix(in srgb, var(--color-primary) 16%, 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}
