@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Outfit:wght@400;600;700&display=swap";:root{--font-base:"Noto Sans JP", sans-serif;--font-english:"Outfit", sans-serif;--bg-primary:#faf9f6;--bg-secondary:#fffdf9;--text-main:#3c3530;--text-muted:#70635c;--color-primary:#d07272;--color-primary-hover:#b55858;--color-accent:#7a8b7b;--color-accent-hover:#5a6b5c;--color-bg-card:#fff;--color-border:#efeae4;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out forwards fadeInUp}.container{max-width:1100px;margin:0 auto;padding:0 20px}header{background-color:var(--bg-secondary);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0;box-shadow:0 2px 10px #00000005}.header-container{justify-content:space-between;align-items:center;height:80px;display:flex}.logo-link{align-items:center;text-decoration:none;display:flex}.logo-img{object-fit:contain;width:auto;height:60px}nav ul{gap:24px;list-style:none;display:flex}nav a{color:var(--text-main);transition:var(--transition-smooth);font-size:.95rem;font-weight:500;text-decoration:none}nav a:hover{color:var(--color-primary)}.hero{text-align:center;background:radial-gradient(circle at 100% 0,#fffdf9 0%,#faf9f6 100%);padding:80px 0}.hero-content{flex-direction:column;align-items:center;max-width:800px;margin:0 auto;display:flex}.hero-logo-large{object-fit:contain;max-width:280px;height:auto;margin-bottom:24px}@media (width<=768px){.hero-logo-large{max-width:200px}}.badge{background-color:var(--color-accent);color:#fff;border-radius:20px;margin-bottom:16px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.hero-title{color:var(--text-main);margin-bottom:24px;font-size:2.8rem;font-weight:900;line-height:1.3}.hero-desc{color:var(--text-muted);margin-bottom:36px;font-size:1.1rem}.cta-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.btn{transition:var(--transition-smooth);cursor:pointer;border:none;border-radius:30px;justify-content:center;align-items:center;padding:12px 28px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-2px)}.btn-outline{border:2px solid var(--color-accent);color:var(--color-accent);background-color:#0000}.btn-outline:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.section{padding:80px 0}.section-alt{background-color:var(--bg-secondary)}.section-title{text-align:center;width:100%;margin-bottom:16px;font-size:2rem;font-weight:800;display:block}.section-title:after{content:"";background-color:var(--color-primary);border-radius:2px;width:40px;height:3px;margin:8px auto 0;display:block}.section-desc{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto 48px;font-size:.95rem}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about-text{text-align:left}.about-text h3{color:var(--text-main);margin-bottom:16px;font-size:1.5rem}.about-text p{color:var(--text-muted);margin-bottom:20px}.about-features{grid-template-columns:1fr 1fr;gap:20px;display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:20px;box-shadow:0 4px 12px #00000003}.feature-icon{margin-bottom:8px;font-size:1.5rem}.feature-card h4{margin-bottom:6px;font-size:1rem}.feature-card p{margin:0;font-size:.85rem}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;display:grid}.menu-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);transition:var(--transition-smooth);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #00000005}.menu-card:hover{transform:translateY(-6px);box-shadow:0 10px 25px #0000000d}.menu-img-placeholder{height:200px;color:var(--text-muted);background-color:#f3efea;justify-content:center;align-items:center;font-weight:500;display:flex;position:relative}.menu-tag{background-color:var(--color-primary);color:#fff;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700;position:absolute;top:12px;left:12px}.menu-info{padding:24px}.menu-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.menu-name{font-size:1.2rem;font-weight:700}.menu-price{font-family:var(--font-english);color:var(--color-primary);font-size:1.3rem;font-weight:700}.menu-desc{color:var(--text-muted);font-size:.9rem}.vending{text-align:center;flex-direction:column;align-items:center;max-width:800px;margin:0 auto;display:flex}.vending-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;width:100%;padding:40px;box-shadow:0 8px 24px #00000005}.vending-badge{color:#5a7b50;background-color:#e2ecdf;border-radius:20px;margin-bottom:20px;padding:6px 16px;font-size:.9rem;font-weight:700;display:inline-block}.access-grid{grid-template-columns:1fr 1.2fr;gap:48px;display:grid}.access-info h3{margin-bottom:24px;font-size:1.4rem}.info-table{border-collapse:collapse;width:100%;margin-bottom:32px}.info-table tr{border-bottom:1px solid var(--color-border)}.info-table th{text-align:left;width:120px;color:var(--text-muted);padding:14px 0;font-weight:600}.info-table td{text-align:left;padding:14px 0}.map-container{border:1px solid var(--color-border);border-radius:16px;height:350px;overflow:hidden;box-shadow:0 6px 18px #00000003}.map-container iframe{border:none;width:100%;height:100%}.contact-cta{border:1px solid var(--color-border);text-align:center;background:linear-gradient(135deg,#fdfbf7 0%,#f5efeb 100%);border-radius:16px;margin-top:48px;padding:48px}.contact-cta h3{margin-bottom:12px;font-size:1.6rem}.contact-tel{font-family:var(--font-english);color:var(--color-primary);margin:16px 0;font-size:2.2rem;font-weight:700;text-decoration:none;display:block}footer{background-color:var(--text-main);color:#faf9f6;text-align:center;padding:40px 0;font-size:.9rem}footer p{opacity:.7}@media (width<=768px){.header-container{height:70px}nav{display:none}.hero-title{font-size:2rem}.about-grid,.access-grid{grid-template-columns:1fr;gap:32px}.vending-card{padding:24px}.contact-tel{font-size:1.8rem}}
