:root{--bg-white:#fff;--bg-soft:#fefcf9;--bg-warm-soft:#fff8f3;--ink:#3d3a36;--ink-soft:#6c6660;--ink-mute:#a8a29c;--line:#f0ebe4;--pastel-orange:#ffa882;--pastel-orange-soft:#ffe8dc;--pastel-pink:#ffc4c8;--pastel-pink-soft:#ffe5e7;--pastel-green:#b8d8a8;--pastel-green-soft:#e8f3e0;--pastel-yellow:#ffe082;--pastel-yellow-soft:#fff5cc;--pastel-blue:#b8d4e3;--pastel-blue-soft:#e0eaf2;--accent:#ff8c64;--accent-deep:#ff6b3d;--marker:#ffd966;--pretre-pink:#e85a8a;--shadow-soft:0 2px 8px #ff8a640f, 0 8px 32px #2d2a260a;--shadow-md:0 4px 12px #ff8a6414, 0 12px 40px #2d2a260f;--shadow-lg:0 12px 40px #ff8a6426, 0 24px 60px #2d2a2614}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg-white);-webkit-font-smoothing:antialiased;letter-spacing:.04em;font-family:Zen Maru Gothic,sans-serif;font-weight:400;line-height:1.85;overflow-x:hidden}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(20px,-20px)}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-pop{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.34,1.56,.64,1);transform:scale(.85)}.reveal-pop.is-visible{opacity:1;transform:scale(1)}.breadcrumb{max-width:1240px;color:var(--ink-mute);letter-spacing:.05em;margin:0 auto;padding:24px 32px 0;font-size:12px}.breadcrumb a{color:var(--ink-mute);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb-arrow{color:var(--line);margin:0 10px}.page-header{text-align:center;background:var(--bg-soft);padding:60px 32px 70px;position:relative;overflow:hidden}.page-header:before{content:"";background:var(--pastel-pink-soft);opacity:.5;border-radius:50%;width:220px;height:220px;animation:16s ease-in-out infinite drift;position:absolute;top:-50px;left:-50px}.page-header:after{content:"";background:var(--pastel-yellow-soft);opacity:.5;border-radius:50%;width:200px;height:200px;animation:18s ease-in-out infinite reverse drift;position:absolute;bottom:-30px;right:-50px}.page-header-ill{max-width:640px;box-shadow:var(--shadow-soft);aspect-ratio:16/7;border-radius:18px;margin:28px auto 0;position:relative;overflow:hidden}.page-header-ill img{object-fit:cover;object-position:50% 60%;width:100%;height:100%;display:block}.page-header-ill span{background:#fbf7efeb;border-radius:999px;padding:4px 12px;font-family:Klee One,sans-serif;font-size:12.5px;position:absolute;bottom:10px;left:12px}.page-header-inner{z-index:2;max-width:800px;margin:0 auto;position:relative}.page-header-label{letter-spacing:.3em;color:var(--accent);margin-bottom:16px;font-family:Klee One,sans-serif;font-size:12px;font-weight:600}.page-header-title{letter-spacing:.04em;color:var(--ink);margin-bottom:16px;font-family:Shippori Mincho,serif;font-size:42px;font-weight:600}.page-header-title .marker-line{display:inline-block;position:relative}.page-header-title .marker-line:after{content:"";background:var(--marker);z-index:-1;opacity:.6;border-radius:2px;width:100%;height:14px;position:absolute;bottom:4px;left:0}.page-header-sub{color:var(--ink-soft);font-size:14px;line-height:2}@media (width<=768px){.page-header-title{font-size:30px}}.section{padding:90px 32px;position:relative;overflow:hidden}.section.bg-soft{background:var(--bg-soft)}.section.bg-warm{background:var(--bg-warm-soft)}.section.bg-white{background:var(--bg-white)}.section-inner{z-index:2;max-width:1100px;margin:0 auto;position:relative}.section-label{letter-spacing:.3em;color:var(--accent);text-align:center;margin-bottom:16px;font-family:Klee One,sans-serif;font-size:12px;font-weight:600}.section-title{text-align:center;letter-spacing:.04em;margin-bottom:16px;font-family:Shippori Mincho,serif;font-size:30px;font-weight:600;line-height:1.6}.section-title .marker-line{display:inline-block;position:relative}.section-title .marker-line:after{content:"";background:var(--marker);z-index:-1;opacity:.6;border-radius:2px;width:100%;height:12px;position:absolute;bottom:4px;left:0}.section-sub{text-align:center;color:var(--ink-soft);max-width:720px;margin-bottom:50px;margin-left:auto;margin-right:auto;font-size:14px;line-height:2}@media (width<=768px){.section{padding:70px 24px}.section-title{font-size:24px}}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.08em;border-radius:99px;align-items:center;gap:12px;padding:18px 40px 18px 32px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 8px 20px #ff8c644d}.btn-primary:before{content:"✉";font-size:18px}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-3px);box-shadow:0 14px 32px #ff8c6480}.btn-secondary{color:var(--ink);border:2px solid var(--ink);background:#fff;border-radius:99px;align-items:center;gap:12px;padding:18px 40px 18px 32px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex}.btn-secondary:before{content:"▶";color:var(--accent);font-size:13px;transition:transform .3s}.btn-secondary:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}.btn-secondary:hover:before{color:var(--marker);transform:translate(4px)}.cta-section{background:var(--bg-warm-soft);text-align:center;padding:90px 32px;position:relative;overflow:hidden}.cta-section:before{content:"";background:var(--pastel-green-soft);opacity:.5;border-radius:50%;width:100px;height:100px;animation:16s ease-in-out infinite drift;position:absolute;top:30px;left:60px}.cta-section:after{content:"";background:var(--pastel-blue-soft);opacity:.5;border-radius:50%;width:120px;height:120px;animation:18s ease-in-out infinite reverse drift;position:absolute;bottom:30px;right:60px}.cta-inner{z-index:2;max-width:720px;margin:0 auto;position:relative}.cta-title{letter-spacing:.04em;margin-bottom:16px;font-family:Shippori Mincho,serif;font-size:30px;font-weight:600;line-height:1.6}.cta-text{color:var(--ink-soft);margin-bottom:32px;font-size:14px;line-height:2}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}@media (width<=600px){.cta-title{font-size:22px}}.footer{border-top:1px solid var(--line);background:#fff;padding:80px 32px 30px}.footer-inner{max-width:1240px;margin:0 auto}.footer-top{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:60px;margin-bottom:40px;padding-bottom:32px;display:grid}.footer-brand .logo{margin-bottom:16px}.footer-info{color:var(--ink-soft);font-size:13px;line-height:2}.footer-links{flex-wrap:wrap;align-items:center;gap:32px;display:flex}.footer-links a{color:var(--ink-soft);letter-spacing:.05em;font-size:13px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent)}.footer-bottom{color:var(--ink-mute);justify-content:space-between;align-items:center;font-size:11px;display:flex}.page-top-btn{border:1px solid var(--line);width:60px;height:60px;color:var(--ink-soft);letter-spacing:.15em;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:9px;text-decoration:none;transition:all .25s;display:inline-flex}.page-top-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-4px)}.page-top-btn-arrow{font-size:14px}@media (width<=768px){.footer-top{grid-template-columns:1fr;gap:24px}.footer-links{justify-content:flex-start}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}}.photo-frame{background:linear-gradient(135deg, var(--pastel-blue-soft) 0%, var(--pastel-green-soft) 100%);box-shadow:var(--shadow-md);border-radius:24px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-frame.circle{aspect-ratio:1;border-radius:50%}.photo-placeholder{text-align:center;color:var(--ink-mute);padding:40px;font-size:12px;line-height:1.8}.photo-placeholder strong{color:var(--ink-soft);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-wrap{background:var(--bg-soft);max-width:760px;box-shadow:var(--shadow-soft);border-radius:20px;margin:0 auto;padding:40px 44px}.form-field{margin-bottom:22px}.form-label{letter-spacing:.04em;margin-bottom:8px;font-family:Shippori Mincho,serif;font-size:14.5px;font-weight:600;display:block}.form-required{background:var(--accent);color:#fff;vertical-align:middle;border-radius:99px;margin-left:8px;padding:2px 8px;font-family:Klee One,sans-serif;font-size:10px;display:inline-block}.form-input,.form-textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:14px 18px;font-family:inherit;font-size:15px}.form-input:focus,.form-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff8c6426}.form-textarea{resize:vertical;min-height:150px;line-height:1.85}.form-radio-group{flex-wrap:wrap;gap:10px;display:flex}.form-radio{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:6px;padding:10px 16px;font-size:13.5px;display:inline-flex}.form-radio:hover{border-color:var(--accent)}.form-radio input{accent-color:var(--accent);margin:0}.form-submit{text-align:center;border-top:1px dashed var(--line);margin-top:30px;padding-top:24px}.form-submit .btn-primary{cursor:pointer;border:none;font-family:inherit}.form-note{color:var(--ink-mute);margin-top:12px;font-size:12px;line-height:1.9}.contact-other{grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:24px auto 0;display:grid}.contact-other div{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px 26px}.contact-other h3{margin-bottom:8px;font-family:Shippori Mincho,serif;font-size:14px;font-weight:600}.contact-other p{color:var(--ink-soft);font-size:13.5px;line-height:1.9}.contact-other a.big{color:var(--ink);letter-spacing:.04em;font-size:18px;font-weight:700;text-decoration:none}.form-schedule{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;max-width:480px}.form-schedule th{color:var(--ink-soft);text-align:center;padding:2px 0;font-size:13px;font-weight:600}.form-schedule th[scope=row]{text-align:left;width:3.6em}.form-schedule td{padding:0}.form-schedule td label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;height:40px;display:flex}.form-schedule td label:hover,.form-schedule td label:has(input:checked){border-color:var(--accent)}.form-schedule td label:has(input:checked){background:var(--bg-warm-soft)}.form-schedule input{width:18px;height:18px;accent-color:var(--accent);margin:0}.form-hint{color:var(--ink-soft);margin-top:8px;font-size:12.5px;line-height:1.8}.form-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.grecaptcha-badge{visibility:hidden}.form-submit .btn-primary:disabled{opacity:.6;cursor:wait;transform:none}.legal-section .form-status{color:#c0392b;white-space:pre-line;background:#fff6f5;border:1px solid #f0c2bb;border-radius:10px;max-width:520px;margin:16px auto 0;padding:10px 16px;font-size:13.5px;font-weight:700;line-height:1.8}.legal-section .form-error{color:#c0392b;margin:8px 0 0;font-size:13px;font-weight:700;line-height:1.7}.legal-section .form-error:empty{display:none}.form-field.is-error .form-label{color:#c0392b}.form-field.is-error .form-input,.form-field.is-error .form-textarea{background:#fff6f5;border-color:#c0392b}.form-field.is-error .form-radio{border-color:#e3a49b}.form-done{text-align:center;padding:16px 0}.form-done:focus{outline:none}.form-done h3{margin-bottom:14px;font-family:Shippori Mincho,serif;font-size:20px;font-weight:600}.form-done p{color:var(--ink-soft);font-size:14px;line-height:1.9}.form-done a{color:var(--accent)}.donate-box{background:var(--pastel-yellow-soft);max-width:760px;color:var(--ink-soft);border-radius:16px;margin:24px auto 0;padding:22px 26px;font-size:14px;line-height:1.9}.donate-box b{color:var(--ink)}@media (width<=768px){.form-wrap{padding:28px 22px}.contact-other{grid-template-columns:1fr}}.legal-section{background:var(--bg-white);padding:60px 32px 90px}.legal-inner{background:var(--bg-soft);max-width:800px;box-shadow:var(--shadow-soft);border-radius:20px;margin:0 auto;padding:48px 56px}.legal-section h2{border-left:4px solid var(--accent);letter-spacing:.04em;color:var(--ink);margin-top:32px;margin-bottom:14px;padding-left:16px;font-family:Shippori Mincho,serif;font-size:18px;font-weight:600}.legal-section h2:first-child{margin-top:0}.legal-section p{color:var(--ink-soft);margin-bottom:14px;font-size:14px;line-height:2}.legal-section ul,.legal-section ol{margin-bottom:14px;margin-left:24px}.legal-section li{color:var(--ink-soft);margin-bottom:6px;font-size:14px;line-height:2}.legal-meta{border-top:1px dashed var(--line);text-align:right;color:var(--ink-mute);letter-spacing:.05em;margin-top:40px;padding-top:24px;font-family:Klee One,sans-serif;font-size:12px}@media (width<=768px){.legal-inner{padding:28px 24px}}
