*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Zen Maru Gothic,"M PLUS Rounded 1c",sans-serif;font-feature-settings:"palt";letter-spacing:.02em;background:var(--bg);color:var(--fg);transition:background .4s,color .4s}:root{--bg: #fbf7f1;--bg2: #f3ede1;--bg3: #ebdfcc;--fg: #3a2e22;--fg2: rgba(58, 46, 34, .7);--fg3: rgba(58, 46, 34, .38);--accent: #7a9b6e;--accent2: #5e7d55;--accent-soft: rgba(122, 155, 110, .1);--card-bg: #fffdf8;--border: rgba(122, 155, 110, .22);--hero-overlay: linear-gradient( to bottom, rgba(20, 15, 10, .35) 0%, rgba(20, 15, 10, .7) 100% );--section-alt: #f3ede1;--nav-bg: rgba(251, 247, 241, .94);--input-bg: #fffdf8;--input-border: rgba(122, 155, 110, .28);--shadow-soft: 0 14px 44px rgba(90, 70, 50, .08)}button{font-family:inherit}a{color:inherit;text-decoration:none}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:64px}.nav-logo{font-family:Klee One,Zen Maru Gothic,serif;font-size:1.5rem;font-weight:600;color:var(--accent);letter-spacing:.08em}.nav-cta{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:11px 26px;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .25s ease;white-space:nowrap;box-shadow:0 4px 14px #00000014}.nav-cta:hover{opacity:.85}.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg2) url(/assets/top.jpg) center / cover no-repeat}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-overlay)}.hero-content{position:relative;z-index:2;text-align:center;padding:100px 5vw 60px;max-width:900px}.hero-tag{display:inline-block;background:#ffffff2e;color:#fbf7f1;font-size:.78rem;letter-spacing:.18em;padding:8px 20px;border-radius:999px;margin-bottom:36px;font-weight:600;font-family:"Klee One",inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-title{font-family:Zen Maru Gothic,serif;font-size:clamp(1.9rem,5vw,3.6rem);font-weight:700;color:#fbf7f1;line-height:1.65;letter-spacing:.04em;margin-bottom:28px}.hero-title span{color:#e8c896}.hero-sub{font-size:clamp(1rem,2.3vw,1.3rem);color:#fbf7f1eb;line-height:1.9;margin-bottom:52px;font-weight:500;font-family:Klee One,Zen Maru Gothic,serif;letter-spacing:.05em}.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:18px 42px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;letter-spacing:.08em;box-shadow:0 6px 20px #0000001f;display:inline-block}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0000002e}.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fbf7f1b3;font-size:.7rem;letter-spacing:.15em;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.section{padding:100px 5vw;background:var(--bg)}.section.alt{background:var(--section-alt)}.section-inner{max-width:1100px;margin:0 auto}.section-label{font-size:.78rem;letter-spacing:.25em;color:var(--accent);font-weight:600;text-transform:uppercase;margin-bottom:18px;font-family:"Klee One",inherit}.section-title{font-family:Zen Maru Gothic,serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:700;color:var(--fg);line-height:1.55;margin-bottom:24px;letter-spacing:.03em}.section-lead{font-size:clamp(.95rem,1.5vw,1.08rem);color:var(--fg2);line-height:2;max-width:680px;font-weight:500}.divider{width:56px;height:3px;background:var(--accent);margin:28px 0;border-radius:999px}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}@media (max-width: 768px){.story-layout{grid-template-columns:1fr;gap:48px}}.story-photo{aspect-ratio:3 / 4;background:var(--bg3) center / cover no-repeat;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-soft)}.story-photo-label{position:absolute;bottom:0;left:0;right:0;background:var(--accent);padding:16px 22px;font-size:.95rem;font-weight:700;color:#fff;font-family:"Klee One",inherit;letter-spacing:.05em}.story-text{color:var(--fg2)}.story-text h3{font-family:"Klee One",inherit;font-size:.95rem;color:var(--accent);font-weight:600;margin-bottom:12px;letter-spacing:.18em}.story-text p{line-height:2.15;font-size:1rem;margin-bottom:22px;font-weight:500}.story-text p strong{color:var(--accent);font-weight:700}.story-quote{border-left:4px solid var(--accent);padding:20px 24px;margin:32px 0;background:var(--accent-soft);border-radius:4px 16px 16px 4px}.story-quote p{font-size:1.15rem;font-weight:600;color:var(--fg);line-height:1.9;margin:0;font-family:Klee One,Zen Maru Gothic,serif}.story-closing{margin-top:32px;font-style:italic;color:var(--fg)}.offer-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;margin-top:8px}.offer-intro-text{max-width:none}.offer-intro-photo{aspect-ratio:4 / 3;background:var(--bg3) center / cover no-repeat;border-radius:24px;box-shadow:var(--shadow-soft)}@media (max-width: 768px){.offer-intro{grid-template-columns:1fr;gap:28px}.offer-intro-photo{aspect-ratio:16 / 10}}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px}@media (max-width: 900px){.pillars-grid{grid-template-columns:1fr}}.pillar-card{background:var(--card-bg);border:1px solid var(--border);border-radius:24px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.pillar-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #5a463224}.pillar-photo{width:100%;aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:var(--bg3)}.pillar-body{padding:36px 32px 40px;position:relative}.pillar-num{font-size:3.6rem;font-weight:800;color:var(--accent);opacity:.18;position:absolute;top:20px;right:24px;line-height:1;font-family:Klee One,serif;font-style:italic}.pillar-icon{width:56px;height:56px;margin-bottom:24px;background:var(--accent-soft);border-radius:50%;display:flex;align-items:center;justify-content:center}.pillar-icon svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2}.pillar-title{font-size:1.35rem;font-weight:700;color:var(--fg);margin-bottom:18px;font-family:Zen Maru Gothic,serif;letter-spacing:.04em}.pillar-text{font-size:.93rem;line-height:2;color:var(--fg2);font-weight:500}.marquee{position:relative;margin-top:48px;overflow:hidden;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}.marquee-track{display:flex;gap:20px;width:max-content;animation:marquee-scroll 40s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.house-card{flex-shrink:0;width:340px;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-soft)}@media (max-width: 640px){.house-card{width:280px}}.house-photo{aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:var(--bg3)}.house-info{padding:20px 24px}.house-tag{font-size:.7rem;color:var(--accent);font-weight:700;letter-spacing:.15em;margin-bottom:6px}.house-name{font-size:1.15rem;font-weight:700;color:var(--fg);margin-bottom:10px;font-family:Zen Maru Gothic,serif}.house-desc{font-size:.88rem;color:var(--fg2);line-height:1.85;font-weight:500}.houses-note{margin-top:24px;font-size:.8rem;color:var(--fg3)}.gallery-marquee{position:relative;margin-top:48px;overflow:hidden;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}.gallery-track{display:flex;gap:16px;width:max-content;animation:marquee-scroll-rev 50s linear infinite}.gallery-marquee:hover .gallery-track{animation-play-state:paused}@keyframes marquee-scroll-rev{0%{transform:translate(-50%)}to{transform:translate(0)}}.gallery-item{flex-shrink:0;width:280px;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--bg3) center / cover no-repeat;box-shadow:var(--shadow-soft)}.gallery-item.large{width:420px;border-radius:24px}@media (max-width: 640px){.gallery-item{width:220px}.gallery-item.large{width:280px}}.donation-section{background:var(--bg)}.donation-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}.donation-lead{max-width:none}.donation-visual{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft)}.donation-visual img{display:block;width:100%;aspect-ratio:16 / 11;object-fit:cover}@media (max-width: 820px){.donation-layout{grid-template-columns:1fr;gap:32px}}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:60px}@media (max-width: 768px){.pricing-grid{grid-template-columns:1fr}}.plan-card{border-radius:28px;padding:52px 44px;border:1px solid var(--border);background:var(--card-bg);position:relative;overflow:hidden;transition:transform .3s ease;box-shadow:var(--shadow-soft)}.plan-card:hover{transform:translateY(-4px)}.plan-card.vip{border-color:var(--accent);background:linear-gradient(160deg,#fdfaf3,#f5efe0)}.vip-badge{position:absolute;top:22px;right:22px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:6px 14px;border-radius:999px;letter-spacing:.12em;font-family:"Klee One",inherit}.plan-type{font-size:.78rem;letter-spacing:.25em;color:var(--accent);font-weight:600;margin-bottom:14px;font-family:"Klee One",inherit}.plan-name{font-family:Zen Maru Gothic,serif;font-size:1.7rem;font-weight:700;color:var(--fg);margin-bottom:24px;letter-spacing:.05em}.plan-price{font-size:2.4rem;font-weight:800;color:var(--fg);line-height:1;margin-bottom:4px;font-family:"M PLUS Rounded 1c",sans-serif}.plan-price span{font-size:1rem;font-weight:500;color:var(--fg2)}.plan-price-note{font-size:.82rem;color:var(--fg3);margin-bottom:32px;line-height:1.7}.plan-desc{font-size:.92rem;color:var(--fg2);line-height:1.9;margin-bottom:32px;font-weight:500;padding:18px 20px;background:var(--accent-soft);border-radius:14px}.plan-features{list-style:none;margin-bottom:40px}.plan-features li{padding:12px 0;border-bottom:1px dashed var(--border);font-size:.92rem;color:var(--fg2);display:flex;align-items:flex-start;gap:12px;line-height:1.7;font-weight:500}.plan-features li:before{content:"";width:20px;height:20px;flex-shrink:0;background:var(--accent);border-radius:50%;margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9l3 3 7-7' stroke='%23fff' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:cover}.plan-cta{width:100%}.application-inner{text-align:center}.application-lead{margin:0 auto 48px;text-align:center}.application-btn-group{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.application-btn{display:inline-flex;align-items:center;gap:14px;padding:22px 56px;font-size:1.1rem;text-decoration:none}.application-btn-vip{background:linear-gradient(135deg,#b89668,#8a6a3f)}.application-note{text-align:center;margin-top:20px;font-size:.82rem;color:var(--fg3);line-height:1.7}.rules-list{list-style:none;margin-top:40px;background:var(--card-bg);border-radius:20px;padding:16px 32px;border:1px solid var(--border)}.rules-list li{padding:16px 0 16px 26px;border-bottom:1px dashed var(--border);font-size:.92rem;color:var(--fg2);line-height:1.85;position:relative;font-weight:500}.rules-list li:last-child{border-bottom:none}.rules-list li:before{content:"";position:absolute;left:0;top:24px;width:10px;height:10px;background:var(--accent);border-radius:50%;opacity:.8}.footer{background:var(--bg2);border-top:1px solid var(--border);padding:48px 5vw;text-align:center}.footer-logo{font-family:Klee One,serif;font-size:1.7rem;font-weight:600;color:var(--accent);margin-bottom:18px;letter-spacing:.08em}.footer-tagline{font-size:.93rem;color:var(--fg2);margin-bottom:32px;line-height:2;font-weight:500}.footer-note{font-size:.78rem;color:var(--fg3)}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:none}
