:root{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:#faf8f5}body{margin:0;min-width:320px;min-height:100vh;background:#faf8f5;color:#2d2d2d;font-family:Inter,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}.landing-page{--page-bg: #faf8f5;--surface: #ffffff;--surface-muted: #f0ede8;--surface-soft: #f8f4ee;--surface-warm: #f3e9da;--surface-sage: #eaf0e8;--text-main: #2d2d2d;--text-body: #5a5a5a;--text-soft: #8a8a8a;--line: #e6dfd3;--accent: #7c9082;--accent-deep: #6e7e68;--accent-pale: #e6efe1;--shadow: 0 28px 80px rgba(112, 94, 72, .08);--radius-xl: 32px;--radius-lg: 28px;--radius-md: 24px;--radius-sm: 20px;position:relative;max-width:1440px;margin:0 auto;padding:24px 0 0}.landing-page:before{content:"";position:absolute;inset:80px 60px auto;height:540px;border-radius:999px;background:radial-gradient(circle at 20% 20%,rgba(243,233,218,.95),transparent 40%),radial-gradient(circle at 80% 30%,rgba(234,240,232,.9),transparent 38%),radial-gradient(circle at 50% 80%,rgba(255,255,255,.7),transparent 45%);filter:blur(8px);pointer-events:none;z-index:0}.site-header,.hero,.section,.site-footer{position:relative;z-index:1}.site-header,.hero,.section,.site-footer{padding-right:80px;padding-left:80px}.site-header{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-bottom:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:24px;font-weight:500;font-family:Fraunces,Yu Mincho,Hiragino Mincho ProN,serif;letter-spacing:-.02em}.brand-mark{display:block;width:32px;height:32px;flex-shrink:0}.site-nav ul{display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0;list-style:none}.site-nav a,.footer-links a{color:var(--text-body);font-size:14px;transition:color .18s ease,opacity .18s ease}.site-nav a:hover,.footer-links a:hover{color:var(--text-main)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;cursor:pointer;font-size:14px;font-family:inherit;font-weight:600;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.header-cta{min-height:44px;padding:12px 20px;background:var(--accent);color:#fff;box-shadow:0 12px 24px #7c908233}.header-cta:hover,.button:hover{transform:translateY(-1px)}.hero{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:40px;padding-top:24px;padding-bottom:72px;align-items:center}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:20px}.eyebrow{margin:0;color:var(--accent);font-size:14px;letter-spacing:.04em}h1,h2{margin:0;color:var(--text-main);font-family:Fraunces,Yu Mincho,Hiragino Mincho ProN,serif;font-weight:500;letter-spacing:-.03em;text-wrap:balance}h1{font-size:clamp(3.2rem,6vw,4.5rem);line-height:.98}h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02}.hero-lead,.section-copy,.reservation-card p,.footer-brand p{margin:0;color:var(--text-body);font-size:1.05rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px}.button{min-height:48px;padding:14px 22px}.button-primary{background:var(--accent);color:#fff;box-shadow:0 18px 36px #7c908238}.button-secondary{background:var(--surface-muted);color:var(--text-main)}.hero-visual,.photo-panel,.map-card,.reservation-card,.info-card,.support-note{border:1px solid rgba(230,223,211,.7)}.hero-visual{display:flex;flex-direction:column;gap:0;min-height:0;padding:24px;border-radius:var(--radius-lg);background:linear-gradient(160deg,#fffc,#f0ede8e6),var(--surface-muted);box-shadow:var(--shadow)}.visual-caption,.photo-label{margin:0;color:var(--text-soft);font-size:16px;line-height:1.6}.visual-stage{position:relative;flex:none;display:flex;aspect-ratio:3 / 2;border-radius:calc(var(--radius-lg) - 8px);background:linear-gradient(140deg,#ffffffdb,#f4ece0db),linear-gradient(180deg,#fff9,#f3e9dabf);overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.visual-chip{position:absolute;bottom:8%;padding:10px 14px;border-radius:999px;background:#ffffffdb;color:var(--text-main);font-size:13px;box-shadow:0 14px 26px #705e4814}.chip-left{left:8%}.chip-center{left:34%}.chip-right{right:8%}.section{padding-top:56px;padding-bottom:56px}.section-copy{margin-top:16px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.info-card{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 18px 42px #705e480d}.concept-card{gap:14px}.concept-card-image{width:100%;height:clamp(160px,16vw,220px);border-radius:16px;object-fit:cover;object-position:center}.info-card h3{margin:0;font-size:1rem;font-weight:600}.info-card p{margin:0;color:var(--text-body);font-size:.95rem;line-height:1.7}.card-plain{background:var(--surface)}.card-warm,.card-peach{background:#f7f1e8}.card-sage,.card-mint{background:var(--surface-sage)}.card-soft{background:var(--surface-soft)}.section-menu{margin-top:8px;background:#ffffffeb;border-radius:var(--radius-xl);box-shadow:var(--shadow)}.menu-card{gap:14px}.menu-card-media{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(150px,14vw,190px);padding:12px;border-radius:16px;background:#ffffffc7;overflow:hidden}.menu-card-image{width:100%;height:100%;object-fit:contain;object-position:center}.section-experience{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:40px;align-items:start}.photo-panel{display:flex;flex-direction:column;gap:20px;min-height:360px;padding:24px;border-radius:var(--radius-md);background:linear-gradient(160deg,#ffffffc7,#f0ede8eb);box-shadow:var(--shadow)}.bunny-carousel{min-height:0;gap:16px}.carousel-stage{position:relative;flex:none;display:grid;aspect-ratio:3 / 2;min-height:250px;padding:10px;border-radius:calc(var(--radius-md) - 8px);background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.26),transparent 22%),linear-gradient(150deg,rgba(255,255,255,.22),transparent 42%),linear-gradient(180deg,#f4eadb,#eadcc8);overflow:hidden}.carousel-slide{grid-area:1 / 1;min-width:0;height:100%;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .18s ease,transform .18s ease}.carousel-slide.is-active{opacity:1;pointer-events:auto;transform:scale(1)}.carousel-image{width:100%;height:100%;border-radius:18px;object-fit:cover;object-position:center}.experience-copy{display:flex;flex-direction:column;gap:18px;padding-top:8px}.experience-title,.experience-summary{white-space:pre-line}.experience-summary{max-width:34ch}.carousel-footer{display:flex;align-items:center;gap:16px}.carousel-meta{display:flex;min-width:0;flex:1;align-items:flex-start}.carousel-meta-item{display:none;min-width:0;flex-direction:column;gap:6px}.carousel-meta-item.is-active{display:flex}.carousel-meta h3,.carousel-meta p{margin:0}.carousel-meta h3{font-family:Fraunces,Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.6rem;font-weight:500;line-height:1.05}.carousel-meta p{color:var(--text-body);font-size:.94rem;line-height:1.6}.carousel-controls{display:inline-flex;gap:8px;flex-shrink:0}.carousel-control{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;padding:0;border-radius:50%;background:#7c90821f;color:var(--accent);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;line-height:1;transition:background-color .18s ease,transform .18s ease}.carousel-control:hover{background:#7c908233;transform:translateY(-1px)}.carousel-dots{display:flex;align-items:center;gap:6px}.carousel-dot{display:block;width:6px;height:6px;border:0;padding:0;border-radius:999px;background:#7c90823d;cursor:pointer;transition:width .18s ease,background-color .18s ease}.carousel-dot.is-active{width:10px;background:var(--accent)}.section-access{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;margin-top:8px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#f3e9daeb,#f3e9dad1),var(--surface-warm)}.access-copy{display:flex;flex-direction:column;gap:18px}.map-card{padding:20px;border-radius:var(--radius-sm);background:#ffffffd1;box-shadow:0 18px 40px #705e480f}.map-card p{margin:0 0 14px;font-weight:600}.map-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--text-body)}.map-card li:before{content:"・";color:var(--accent);margin-right:6px}.reservation-card{display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:var(--radius-md);background:#fffffff0;box-shadow:0 24px 60px #705e4814;align-self:center}.reservation-form{display:grid;gap:14px}.reservation-form label{display:grid;gap:8px;font-size:14px;color:var(--text-body)}.reservation-form span{font-weight:600;color:var(--text-main)}.reservation-form input,.reservation-form select{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;color:var(--text-main);font:inherit}.reservation-form .button{width:fit-content;margin-top:6px}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) 180px 200px;gap:40px;margin-top:8px;padding-top:40px;padding-bottom:40px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:linear-gradient(180deg,#6e7e68fa,#6e7e68),var(--accent-deep);color:#fff}.footer-brand{display:grid;gap:12px}.footer-brand-link{color:#fff}.footer-brand p,.footer-meta p{color:var(--accent-pale);font-size:.95rem;line-height:1.7}.footer-links,.footer-meta{display:grid;gap:10px;align-content:start}.footer-links a{color:#fff;font-size:16px}.footer-meta p{margin:0}@media(max-width:1080px){.hero,.section-experience,.section-access,.site-footer{grid-template-columns:1fr}.hero-copy,.reservation-card{max-width:680px}.section-access{padding-top:48px;padding-bottom:48px}.site-footer{border-radius:24px 24px 0 0}}@media(max-width:900px){.site-header,.hero,.section,.site-footer{padding-right:32px;padding-left:32px}.site-header{flex-wrap:wrap;row-gap:16px}.site-nav{order:3;width:100%}.site-nav ul{gap:16px}.landing-page:before{inset:80px 16px auto}.card-grid{grid-template-columns:1fr}.section-experience{grid-template-columns:1fr;gap:24px}}@media(max-width:640px){.landing-page{padding-top:16px}.site-header,.hero,.section,.site-footer{padding-right:20px;padding-left:20px}h1{font-size:clamp(2.8rem,12vw,3.6rem)}h2{font-size:clamp(2rem,10vw,2.7rem)}.hero-lead,.section-copy,.reservation-card p,.footer-brand p{font-size:.96rem;line-height:1.7}.hero-visual,.photo-panel,.section-menu,.section-access,.site-footer{border-radius:24px}.carousel-stage{min-height:280px}.visual-chip{position:static;display:inline-flex;margin:8px 8px 0 0}.carousel-footer{align-items:start}.carousel-meta h3{font-size:1.35rem}.reservation-card .button{width:100%}}
