@import"https://fonts.googleapis.com/css2?family=Archivo+Black&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #07080d;--card: rgba(20, 23, 32, .72);--line: rgba(255, 255, 255, .14);--text: #f5f6fb;--sub: #b8bfcd;--accent: #ff445f;--accent-soft: rgba(255, 68, 95, .17);--blue-soft: rgba(71, 160, 255, .15)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans JP,sans-serif;background:linear-gradient(120deg,#08090f,#0a0d16 45%,#0b0f18);color:var(--text)}a{color:inherit}.site{position:relative;isolation:isolate;min-height:100vh;overflow:hidden}.ambient{position:absolute;border-radius:999px;filter:blur(42px);z-index:-1;pointer-events:none}.ambient-a{width:240px;height:240px;background:#ff445f4d;top:-60px;right:-30px}.ambient-b{width:260px;height:260px;background:#47a0ff3d;left:-50px;bottom:160px}.hero{padding:18px 16px 48px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22;z-index:-1}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{text-decoration:none;font-size:12px;letter-spacing:.04em;color:var(--sub);padding:6px 10px;border:1px solid var(--line);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-content{margin-top:42px}h1{margin:0 0 14px;font-family:Archivo Black,sans-serif;font-size:clamp(34px,12vw,68px);line-height:1.02}.lead{margin:0;color:var(--sub);max-width:560px;line-height:1.7}.hero-meta{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.hero-meta span{font-size:12px;color:#d9deeb;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#ffffff0a}.cta{margin-top:24px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:700;border:1px solid rgba(255,95,126,.4);background:linear-gradient(135deg,var(--accent-soft),var(--blue-soft))}.main{display:grid;gap:12px;padding:0 16px 24px}.panel{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.photo-panel{overflow:hidden}h2{margin:0 0 10px;font-family:Archivo Black,sans-serif;font-size:24px;letter-spacing:.02em}p{margin:0;color:var(--sub);line-height:1.75}.hours{margin:0;padding:0;list-style:none;display:grid;gap:10px}.hours li{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#ffffff08}.hours li span{color:var(--sub)}.notice{margin-top:10px;font-size:13px}.socials{display:flex;gap:8px;flex-wrap:wrap}.socials a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 14px;min-height:40px;display:inline-flex;align-items:center;font-size:13px;background:#ffffff05}.map-embed{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#ffffff08}.map-embed iframe{display:block;width:100%;min-height:260px;border:0}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gallery-grid img{width:100%;height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.gallery-grid .gallery-portrait{grid-row:span 2;height:328px}@media(min-width:920px){.hero{padding:26px 44px 58px}.main{padding:0 44px 40px;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}#gallery{grid-column:span 5}#about{grid-column:span 7}#menu{grid-column:span 5}#access-hours{grid-column:span 4}#access{grid-column:span 8}#contact{grid-column:span 4}}
