:root{--brand-brown: #5e4739;--brand-brown-deep: #3d2c20;--brand-brown-soft: #8a6e5c;--brand-teal: #b9dbe0;--brand-teal-deep: #6e9da3;--brand-cream: #faf5ec;--brand-white: #ffffff;--c-bg: var(--brand-cream);--c-text: var(--brand-brown-deep);--c-text-soft: var(--brand-brown);--c-text-mute: var(--brand-brown-soft);--c-line: #e2d4be;--c-primary: var(--brand-brown);--c-primary-hover: var(--brand-brown-deep);--font-base: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: var(--font-base);--font-serif-en: var(--font-base);--font-sans: var(--font-base)}*{box-sizing:border-box}html,body{overflow-x:hidden}html,body,#root{margin:0;padding:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-feature-settings:"palt";line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}em{font-style:normal;font-family:var(--font-serif);color:var(--brand-brown-deep);font-weight:700;background:linear-gradient(transparent 62%,var(--brand-teal) 62%);padding:0 4px}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.site-header{position:fixed;top:0;left:0;right:0;background:#faf5eceb;-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--c-line);z-index:50}.site-header-inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand-logo img{height:40px;width:auto;display:block}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-family:var(--font-serif);font-weight:700;font-size:14px;color:var(--c-text)}.nav-links a:hover{color:var(--c-primary)}.nav-cta{background:var(--c-primary);color:#fff!important;padding:10px 22px;border-radius:999px;font-family:var(--font-serif-en)!important;font-weight:700!important;letter-spacing:.12em!important;font-size:13px!important}.nav-cta:hover{background:var(--brand-brown-deep)}@media(max-width:720px){.brand-logo img{height:30px}.nav-links a:not(.nav-cta){display:none}}@keyframes heartPop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes logoSoft{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scrollHint{0%{transform:scaleY(0);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom;opacity:.4}}@keyframes scrollCueIn{0%{opacity:0;transform:translate(-50%,28px)}to{opacity:1;transform:translate(-50%)}}.intro{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:96px 24px;background:var(--brand-cream);position:relative;overflow:hidden}.intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 50% 30%,rgba(185,219,224,.25),transparent 70%);pointer-events:none}.intro-stage{text-align:center;position:relative;z-index:1;display:grid;gap:36px;justify-items:center}.intro-heart{width:56px;height:56px;color:var(--brand-teal-deep);opacity:0;animation:heartPop 1.2s cubic-bezier(.34,1.56,.64,1) .2s forwards}.intro-heart svg{width:100%;height:100%;display:block;animation:heartbeat 2.4s ease-in-out 1.4s infinite}.intro-text{font-family:var(--font-serif);font-weight:700;font-size:clamp(28px,7vw,64px);line-height:1.6;letter-spacing:.04em;margin:0;color:var(--brand-brown-deep)}.intro-text .line{display:block;opacity:0;white-space:nowrap;animation:fadeUp .9s cubic-bezier(.22,1,.36,1) forwards}.intro-text .line-1{animation-delay:.9s}.intro-text .line-2{animation-delay:1.6s}.intro-text .line-3{animation-delay:2.3s}.intro-logo{margin-top:12px;opacity:0;animation:logoSoft 1.4s cubic-bezier(.22,1,.36,1) 3.2s forwards;display:flex;flex-direction:column;align-items:center;gap:10px}.intro-logo img{height:clamp(64px,9vw,96px);width:auto}.intro-by{font-family:var(--font-serif);font-weight:600;font-size:13px;letter-spacing:.16em;color:var(--brand-brown)}.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:scrollCueIn 1s ease 4.4s forwards}@media(max-width:720px){.intro{padding:80px 18px 64px}.intro-stage{gap:26px}.intro-heart{width:44px;height:44px}.intro-text{font-size:clamp(26px,7.6vw,38px);letter-spacing:.03em;line-height:1.55}.intro-logo{margin-top:6px;gap:8px}.intro-logo img{height:56px}.intro-by{font-size:11.5px;letter-spacing:.14em}.scroll-cue{bottom:20px;gap:8px}.scroll-line{height:40px}}.scroll-label{font-family:var(--font-serif-en);font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--brand-brown);margin-right:-.3em}.scroll-line{display:block;width:1px;height:56px;background:var(--brand-brown);animation:scrollHint 2s ease-in-out infinite 5s}.about{padding:140px 24px;background:var(--brand-cream)}.about-inner{max-width:720px;margin:0 auto;text-align:center}.about-lead,.about-body{word-break:keep-all;line-break:strict}.about-lead,.about-body{margin:0}.about-lead span,.about-body span{display:inline-block;margin:0 .15em}.about-lead{font-family:var(--font-serif);font-weight:700;font-size:clamp(19px,2.6vw,26px);line-height:2.05;letter-spacing:.05em;color:var(--brand-brown-deep);margin-bottom:56px}.about-divider{width:36px;height:1px;background:var(--brand-brown-soft);margin:0 auto 56px}.about-body{font-size:15.5px;line-height:2.2;color:var(--brand-brown-deep);font-weight:500;letter-spacing:.02em}.about-body+.about-body{margin-top:28px}@media(max-width:720px){.about{padding:72px 20px}.about-lead{font-size:17px;line-height:2;margin-bottom:40px}.about-divider{margin-bottom:40px}.about-body{font-size:14.5px;line-height:2.1}.about-body+.about-body{margin-top:20px}}.welfare{background:var(--brand-teal);color:var(--brand-brown-deep);padding:130px 24px}.welfare-inner{max-width:820px;margin:0 auto;text-align:center}.welfare-title,.welfare-lead{word-break:keep-all;line-break:strict}.welfare-eyebrow{font-family:var(--font-serif);font-weight:700;font-size:13px;letter-spacing:.25em;color:var(--brand-brown-deep);margin-bottom:22px;display:inline-block;padding:6px 18px;background:var(--brand-cream);border-radius:999px}.welfare-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(24px,4vw,38px);line-height:1.7;letter-spacing:.05em;color:var(--brand-brown-deep);margin:0 0 56px}.welfare-title span{display:inline-block;margin:0 .1em}.welfare-lead{font-size:16px;line-height:2.1;color:var(--brand-brown-deep);margin:0 0 20px;font-weight:600;letter-spacing:.04em}.welfare-lead span{display:inline-block;margin:0 .2em}.activities{margin-top:80px;text-align:left}.activities-title{font-family:var(--font-serif);font-weight:700;font-size:18px;letter-spacing:.1em;color:var(--brand-brown-deep);text-align:center;margin:0 0 36px;display:inline-block;width:100%}.activities-title:before,.activities-title:after{content:"";display:inline-block;width:22px;height:1px;background:var(--brand-brown-deep);vertical-align:middle;margin:0 14px}.activity-card{background:var(--brand-cream);padding:40px 36px;border-radius:6px;margin-bottom:18px;position:relative}.activity-card:last-child{margin-bottom:0}.activity-num{font-family:var(--font-serif-en);font-weight:700;font-size:38px;color:var(--brand-teal-deep);line-height:1;margin-bottom:14px;letter-spacing:.02em}.activity-card h4{font-family:var(--font-serif);font-weight:700;font-size:20px;line-height:1.6;color:var(--brand-brown-deep);margin:0 0 22px;padding-bottom:18px;border-bottom:2px solid var(--brand-teal-deep);letter-spacing:.04em}.activity-card p{margin:0 0 16px;font-size:14.5px;line-height:2.1;color:var(--brand-brown);font-weight:500;letter-spacing:.02em;word-break:normal;overflow-wrap:anywhere}.activity-card p:last-of-type{margin-bottom:0}.activity-note{margin-top:20px!important;padding-top:18px;border-top:1px dashed var(--brand-brown-soft);font-weight:600!important;color:var(--brand-brown-deep)!important}.welfare-cta{margin-top:64px;background:var(--brand-brown-deep);color:#fff;padding:36px 28px;border-radius:4px}.welfare-notice{font-size:14px;line-height:1.9;margin-bottom:24px;color:#fff;font-weight:500}.welfare-notice strong{display:inline-block;background:var(--brand-teal);color:var(--brand-brown-deep);padding:3px 12px;font-weight:700;font-family:var(--font-serif);margin-bottom:8px}.welfare-cta .btn-primary{background:var(--brand-teal);color:var(--brand-brown-deep);padding:16px 36px;font-size:15px}.welfare-cta .btn-primary:hover{background:#fff}@media(max-width:720px){.welfare{padding:80px 18px}.welfare-title{margin-bottom:36px}.activities{margin-top:56px}.activities-title{font-size:16px;margin-bottom:28px}.activities-title:before,.activities-title:after{width:16px;margin:0 10px}.activity-card{padding:28px 22px;margin-bottom:14px}.activity-num{font-size:30px;margin-bottom:10px}.activity-card h4{font-size:17px;margin-bottom:18px;padding-bottom:14px}.activity-card p{font-size:13.5px;line-height:2}.welfare-cta{padding:28px 22px;margin-top:48px}}.gallery{padding:120px 0 140px;background:var(--brand-cream)}@media(max-width:720px){.gallery{padding:64px 0 80px}}.gallery-grid{max-width:1280px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:220px;gap:16px}.gallery-item{margin:0;position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{position:absolute;left:16px;bottom:14px;padding:6px 12px;background:#faf5eceb;font-family:var(--font-serif);font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--brand-brown-deep)}.gallery-item-1{grid-column:span 4;grid-row:span 2}.gallery-item-2,.gallery-item-3{grid-column:span 2;grid-row:span 1}.gallery-item-4{grid-column:span 6;grid-row:span 2}@media(max-width:820px){.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4{grid-column:span 2;grid-row:span 1}}.access{padding:130px 24px;background:var(--brand-brown-deep);color:#fff}.access-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center}.access-eyebrow{font-family:var(--font-serif-en);font-weight:700;font-size:14px;letter-spacing:.32em;color:var(--brand-teal);margin-bottom:18px;text-transform:uppercase}.access-store{font-family:var(--font-serif);font-weight:700;font-size:24px;margin-bottom:14px;letter-spacing:.04em;color:#fff}.access-addr{font-size:15px;color:#ffffffe0;margin-bottom:32px;line-height:2;font-weight:500}.access-ctas{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.access-map{width:100%;aspect-ratio:16/11;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.access-map iframe{width:100%;height:100%;border:0}@media(max-width:820px){.access{padding:80px 20px}.access-inner{grid-template-columns:1fr;gap:32px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 30px;border-radius:999px;font-family:var(--font-serif);font-weight:700;font-size:14.5px;letter-spacing:.06em;cursor:pointer;border:none;transition:transform .12s,background .12s,color .12s;text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:11px 24px;font-size:13px}.btn-primary{background:var(--brand-teal);color:var(--brand-brown-deep)}.btn-primary:hover{background:#fff}.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}.btn-ghost:hover{background:#fff;color:var(--brand-brown-deep);border-color:#fff}footer{background:var(--brand-cream);color:var(--brand-brown);padding:64px 0 48px;text-align:center}.footer-logo{height:44px;width:auto;margin:0 auto 14px}.footer-tag{font-family:var(--font-serif);font-size:14px;color:var(--brand-brown-deep);letter-spacing:.08em;margin-bottom:28px;font-weight:700}.footer-meta{font-family:var(--font-serif-en);font-size:12px;color:var(--brand-brown-soft);letter-spacing:.06em}
