:root{--ink:#173643;--ink-2:#315360;--paper:#fff;--mist:#f1f7f8;--sky:#d8eef2;--blue:#1c6878;--blue-2:#0f5264;--coral:#f26f5b;--line:#d7e3e5;--seed:#b9db72;--grow:#58aa70;--tree:#26725a;--round:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;--gothic:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--gothic);font-size:16px;line-height:1.8;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.skip{position:fixed;left:1rem;top:-100px;z-index:100;padding:.6rem 1rem;background:#fff;border:2px solid var(--blue)}.skip:focus{top:1rem}.site-header{height:84px;display:flex;align-items:center;gap:2rem;padding:0 clamp(1.25rem,4vw,4.5rem);position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,54,67,.1);transition:.3s}.site-header.scrolled{height:70px;box-shadow:0 8px 30px rgba(29,75,85,.08)}.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;font-family:var(--round)}.brand-ring{width:38px;height:38px;border:7px solid var(--blue);border-radius:50%;position:relative;transform:rotate(-12deg)}.brand-ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--coral);right:-9px;top:-5px}.brand b{display:block;font-size:.93rem;line-height:1.2;letter-spacing:.06em}.brand small{display:block;font-size:.58rem;line-height:1.2;letter-spacing:.18em;margin-top:.25rem;color:#56737c}.site-header nav{display:flex;gap:2rem;font-size:.82rem;font-weight:700}.site-header nav a{position:relative}.site-header nav a:after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:-.4rem;background:var(--coral);transition:.25s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.7rem 1.4rem;border-radius:999px;background:var(--blue-2);color:#fff;font-weight:700;letter-spacing:.03em;box-shadow:0 8px 20px rgba(15,82,100,.18);transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,82,100,.25);background:var(--blue)}.button-small{min-height:44px;padding:.5rem 1.2rem;font-size:.85rem}.hero{min-height:100svh;padding:116px clamp(1.25rem,6vw,7rem) 4rem;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);align-items:center;gap:clamp(2rem,5vw,6rem);position:relative;background:linear-gradient(120deg,#fff 0%,#fff 58%,#edf7f8 58%,#edf7f8 100%)}.hero:before{content:"";position:absolute;width:18rem;height:18rem;border-radius:50%;border:1px solid var(--sky);left:-9rem;top:18%;box-shadow:0 0 0 42px rgba(216,238,242,.25),0 0 0 84px rgba(216,238,242,.15)}.hero-copy{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.18em;color:var(--blue);margin:0 0 1.1rem}.hero h1,.statement h2,.proof h2,.support h2,.faq h2,.contact h2{font-family:var(--round);font-weight:800;letter-spacing:.01em;line-height:1.35;margin:.15em 0}.hero h1{font-size:clamp(2.25rem,4.1vw,4.25rem)}em{font-style:normal;color:var(--coral)}.hero-lead{font-size:clamp(1rem,1.3vw,1.2rem);color:var(--ink-2);margin:1.7rem 0 2rem}.hero-actions{display:flex;align-items:center;gap:1.7rem}.text-link{font-weight:700;color:var(--blue);border-bottom:1px solid var(--blue);padding:.25rem 0}.text-link span{display:inline-block;margin-left:.4rem}.event-summary{display:grid;grid-template-columns:1.2fr .9fr 1.2fr;border-top:1px solid var(--line);margin:2.5rem 0 0;padding:1.25rem 0 0}.event-summary div{padding:0 1.2rem;border-left:1px solid var(--line)}.event-summary div:first-child{padding-left:0;border:0}.event-summary dt{font-size:.68rem;font-weight:700;color:#67818a}.event-summary dd{margin:.1rem 0 0;font-family:var(--round);font-weight:800;font-size:.97rem;line-height:1.4}.event-summary dd span{font-size:.82rem;color:var(--ink-2)}.hero-visual{position:relative;align-self:stretch;min-height:600px;max-height:760px;border-radius:180px 22px 180px 22px;overflow:hidden;box-shadow:0 28px 80px rgba(29,75,85,.18)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,82,100,.28))}.hero-visual img{width:100%;height:100%;object-fit:cover;transition:transform .15s linear}.trust-card,.adopted-card{position:absolute;z-index:3;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(20,55,65,.14)}.trust-card{left:-2.2rem;bottom:6rem;border-radius:16px;padding:1rem 1.2rem;border-left:5px solid var(--coral)}.trust-card span{display:block;font-size:.68rem;font-weight:800;color:var(--coral)}.trust-card b{font-size:.78rem;line-height:1.55}.adopted-card{right:1.2rem;top:1.4rem;border-radius:999px;padding:.65rem 1rem;font-size:.72rem;font-weight:700}.adopted-card span{color:var(--blue);font-size:1rem}.scroll-mark{position:absolute;right:1rem;bottom:1.5rem;font-size:.6rem;letter-spacing:.2em;display:flex;align-items:center;gap:.7rem;writing-mode:vertical-rl}.scroll-mark span{width:1px;height:42px;background:var(--blue);position:relative;overflow:hidden}.scroll-mark span:after{content:"";position:absolute;left:0;top:-100%;width:100%;height:60%;background:var(--coral);animation:scroll 2s infinite}@keyframes scroll{to{top:140%}}
.statement,.support,.faq{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,10rem)}.section-label{font-size:.68rem;font-weight:800;letter-spacing:.2em;color:var(--blue);display:flex;align-items:center;gap:.9rem;margin-bottom:3rem}.section-label span{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--blue);border-radius:50%;letter-spacing:0}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);max-width:1300px;margin:auto}.kicker{font-family:var(--round);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:700;margin:0;color:var(--ink-2)}.statement h2,.support h2{font-size:clamp(2.25rem,4vw,4rem)}.statement-body{font-size:1.05rem;color:var(--ink-2);padding-top:1rem}.statement-body p:first-child{font-weight:700;color:var(--ink);font-size:1.13rem}.hamamatsu-panel{max-width:1300px;margin:clamp(4rem,8vw,8rem) auto 0;background:var(--mist);display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;border-radius:28px;overflow:hidden}.hamamatsu-photo{min-height:500px}.hamamatsu-photo img{width:100%;height:100%;object-fit:cover}.hamamatsu-copy{padding:clamp(2.3rem,6vw,5.5rem)}.hamamatsu-copy h3,.value-grid h3{font-family:var(--round);font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.45;margin:.3rem 0 1.5rem}.hamamatsu-copy p:not(.eyebrow){color:var(--ink-2)}
.proof{background:var(--blue-2);color:#fff;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,6vw,7rem);position:relative;overflow:hidden}.proof:before,.proof:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.proof:before{width:34rem;height:34rem;right:-12rem;top:-20rem;box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.018)}.proof:after{width:11rem;height:11rem;left:-5rem;bottom:2rem}.section-label.light{color:#b8e2e8}.section-label.light span{border-color:#b8e2e8}.proof-copy{max-width:740px;position:relative;z-index:1}.proof h2{font-size:clamp(2.1rem,3.5vw,3.5rem)}.proof-copy>p{color:#cfe2e5;max-width:620px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);margin:4rem 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);position:relative;z-index:1}.numbers>div{padding:2.2rem clamp(.7rem,2vw,2rem);border-right:1px solid rgba(255,255,255,.22)}.numbers>div:last-child{border:0}.numbers strong{display:block;font-family:var(--round);font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;color:#fff}.numbers sup{font-size:.4em;color:#b8e2e8}.numbers>div>span{display:block;margin-top:.9rem;font-size:.78rem;color:#cfe2e5}.numbers .target strong{color:#ff9b87}.photo-strip{display:grid;grid-template-columns:1.05fr .95fr 1fr;gap:1rem;position:relative;z-index:1}.photo-strip figure{margin:0;overflow:hidden;border-radius:18px;position:relative;height:300px}.photo-strip figure:nth-child(2){margin-top:2.5rem}.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-strip figure:hover img{transform:scale(1.04)}.photo-strip figcaption{position:absolute;left:1rem;bottom:1rem;padding:.4rem .7rem;border-radius:7px;background:rgba(255,255,255,.9);color:var(--ink);font-size:.72rem;font-weight:700}
.support{background:#fff}.support-intro{max-width:900px;margin:auto;text-align:center}.support-intro .section-label{justify-content:center}.support-intro>p:last-child{max-width:720px;margin:1.5rem auto;color:var(--ink-2)}.support-cards{max-width:1300px;margin:4rem auto 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.support-card{padding:2.2rem;border-radius:24px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.support-card:after{content:"";position:absolute;height:7px;left:0;right:0;top:0;background:var(--accent)}.support-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(25,76,86,.12)}.support-card.seed{--accent:var(--seed)}.support-card.grow{--accent:var(--grow)}.support-card.tree{--accent:var(--tree)}.growth-icon{font-size:2.4rem;filter:saturate(.8)}.card-number{font-size:.65rem;font-weight:800;letter-spacing:.16em;color:#668087}.support-card h3{font-family:var(--round);font-size:1.45rem;margin:.6rem 0}.support-card>p:not(.card-number){color:var(--ink-2);min-height:6.5rem}.support-card ul{padding:1.2rem 0 0;margin:0;border-top:1px solid var(--line);list-style:none}.support-card li{font-size:.86rem;margin:.45rem 0;padding-left:1.1rem;position:relative}.support-card li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:.75em}.plan-note{max-width:1040px;margin:0 auto 7rem;text-align:center;font-size:.78rem;color:#647d85}.value-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.value-block,.use-block{border-radius:28px;padding:clamp(2rem,5vw,4.5rem)}.value-block{background:var(--mist)}.value-block>p:not(.eyebrow){color:var(--ink-2)}.touchpoints{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.touchpoints span{padding:.45rem .75rem;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:700}.use-block{background:#e2f1f4}.use-block h3{margin-bottom:2rem}.use-block ul{list-style:none;padding:0;margin:0}.use-block li{padding:.75rem 0;border-bottom:1px solid rgba(28,104,120,.18);font-weight:700}.use-block li span{display:inline-block;width:2.5rem;color:var(--blue);font-size:.7rem;letter-spacing:.1em}
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,9rem);background:var(--mist)}.faq-heading{position:sticky;top:120px;align-self:start}.faq h2{font-size:clamp(2rem,3.5vw,3.4rem)}.faq-heading>p{color:var(--ink-2)}.faq-list details{border-bottom:1px solid #bbcdcf}.faq-list details:first-child{border-top:1px solid #bbcdcf}.faq-list summary{cursor:pointer;list-style:none;font-family:var(--round);font-size:1.03rem;font-weight:700;padding:1.6rem 3.5rem 1.6rem 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span,.faq-list summary span:after{position:absolute;right:.3rem;top:50%;width:18px;height:2px;background:var(--blue);content:"";transition:.25s}.faq-list summary span:after{right:0;top:0;transform:rotate(90deg)}.faq-list details[open] summary span:after{transform:rotate(0)}.faq-list details p{margin:-.4rem 3.5rem 1.8rem 0;color:var(--ink-2)}
.contact{position:relative;overflow:hidden;background:linear-gradient(120deg,#dceff2 0%,#eef7f8 65%,#fff 100%);padding:clamp(5rem,10vw,9rem) 1.25rem}.contact-inner{max-width:930px;margin:auto;text-align:center;position:relative;z-index:2}.contact h2{font-size:clamp(2.2rem,4.2vw,4.3rem)}.contact-inner>p:not(.eyebrow){max-width:680px;margin:1.5rem auto;color:var(--ink-2)}.contact-actions{display:flex;justify-content:center;align-items:center;gap:2rem;margin:2.3rem 0}.button-coral{background:var(--coral);box-shadow:0 8px 22px rgba(242,111,91,.25)}.button-coral:hover{background:#e65e4a;box-shadow:0 12px 30px rgba(242,111,91,.32)}.contact-tel{font-family:var(--round);font-size:1.5rem;font-weight:800;line-height:1.3;text-align:left}.contact-tel small{display:block;font-family:var(--gothic);font-size:.68rem;font-weight:500;color:#647d85}.contact-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.4rem;padding-top:1.6rem;border-top:1px solid rgba(23,54,67,.14);font-size:.75rem;color:#58727a}.contact-meta a{text-decoration:underline}.contact-art span{position:absolute;border-radius:50%;border:1px solid rgba(28,104,120,.13)}.contact-art span:nth-child(1){width:30rem;height:30rem;left:-8rem;top:-13rem;box-shadow:0 0 0 4rem rgba(255,255,255,.22)}.contact-art span:nth-child(2){width:17rem;height:17rem;right:-4rem;bottom:-6rem;box-shadow:0 0 0 3rem rgba(242,111,91,.05)}.contact-art span:nth-child(3){width:3rem;height:3rem;right:18%;top:18%;background:rgba(242,111,91,.12);border:0}footer{padding:3rem clamp(1.25rem,6vw,6rem);display:grid;grid-template-columns:1fr auto;align-items:end;gap:.5rem;background:#fff}footer>p{grid-column:1;font-size:.78rem;color:#647d85;margin:.5rem 0 0}footer>small{grid-column:2;grid-row:1/3;color:#70868d}.footer-brand{width:max-content}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.in-view{opacity:1;transform:none}
@media(max-width:980px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:120px;background:linear-gradient(180deg,#fff 0%,#fff 58%,#edf7f8 58%)}.hero-copy{max-width:760px}.hero-visual{min-height:520px;max-height:620px}.trust-card{left:1rem}.scroll-mark{display:none}.statement-grid,.value-grid{grid-template-columns:1fr}.hamamatsu-panel{grid-template-columns:.85fr 1.15fr}.numbers{grid-template-columns:repeat(2,1fr)}.numbers>div:nth-child(2){border-right:0}.numbers>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.22)}.support-cards{grid-template-columns:1fr}.support-card>p:not(.card-number){min-height:0}.faq{grid-template-columns:1fr}.faq-heading{position:static}.plan-note{margin-bottom:4rem}}
@media(max-width:680px){body{font-size:16px;padding-bottom:66px}.site-header{height:68px;padding:0 1rem}.site-header .button{display:none}.brand-ring{width:32px;height:32px;border-width:6px}.brand b{font-size:.82rem}.hero{display:block;min-height:auto;padding:106px 1.15rem 3rem}.hero h1{font-size:clamp(2rem,10vw,3rem)}.hero-lead br{display:none}.hero-actions{align-items:stretch;flex-direction:column;gap:.8rem}.text-link{text-align:center;border:0}.event-summary{grid-template-columns:1fr 1fr;margin-top:1.7rem}.event-summary div{padding:.7rem;border:0;border-top:1px solid var(--line)}.event-summary div:first-child{padding:.7rem;border-top:1px solid var(--line)}.event-summary div:last-child{grid-column:1/3}.hero-visual{margin-top:2rem;min-height:430px;border-radius:80px 18px 80px 18px}.trust-card{left:.7rem;right:.7rem;bottom:1rem}.adopted-card{right:.7rem;top:.7rem;font-size:.65rem}.statement,.support,.faq{padding:4.5rem 1.15rem}.statement-grid{display:block}.statement-body{margin-top:2rem}.hamamatsu-panel{grid-template-columns:1fr;margin-top:3.5rem}.hamamatsu-photo{min-height:330px}.hamamatsu-copy{padding:2rem 1.4rem}.proof{padding:4.5rem 1.15rem}.numbers{margin:2.7rem 0}.numbers strong{font-size:2.6rem}.photo-strip{grid-template-columns:1fr}.photo-strip figure,.photo-strip figure:nth-child(2){height:245px;margin:0}.support-intro{text-align:left}.support-intro .section-label{justify-content:flex-start}.support-cards{margin-top:2.7rem}.support-card{padding:1.6rem}.value-block,.use-block{padding:2rem 1.4rem}.faq-list summary{padding:1.35rem 2.5rem 1.35rem 0}.contact-actions{flex-direction:column;gap:1.1rem}.contact-tel{text-align:center}.contact-meta{display:block}.contact-meta>*{display:block;margin:.35rem 0}footer{display:block;text-align:center;padding:2.5rem 1rem}.footer-brand{margin:auto}footer>small{display:block;margin-top:1rem}.mobile-cta{display:flex;position:fixed;z-index:60;left:.65rem;right:.65rem;bottom:.55rem;height:52px;align-items:center;justify-content:center;border-radius:999px;background:var(--coral);color:#fff;font-weight:800;box-shadow:0 10px 28px rgba(23,54,67,.28)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-mark span:after{animation:none}.hero-visual img{transition:none}}

/* Brand logo and official-support visibility */
.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:11px;flex:0 0 auto}
.supporters-banner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin-top:1.35rem;padding:1rem 1.15rem;border:1px solid #a9cfd6;border-radius:16px;background:#f0f9fa;box-shadow:0 8px 24px rgba(15,82,100,.08)}
.supporters-label{min-width:74px;padding-right:1rem;border-right:1px solid #bdd9de}
.supporters-label span{display:block;font-family:var(--round);font-size:1.02rem;font-weight:800;color:var(--blue-2);line-height:1.25}
.supporters-label small{display:inline-block;margin-top:.3rem;padding:.08rem .42rem;border-radius:999px;background:var(--blue-2);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.08em}
.supporters-banner p{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;margin:0;line-height:1.5}
.supporters-banner strong{font-size:.82rem;white-space:nowrap}
.hamamatsu-photo img{object-position:center}
.photo-strip figure:first-child img{object-position:center}
@media(max-width:680px){.brand-logo{width:38px;height:38px;border-radius:9px}.supporters-banner{grid-template-columns:1fr;padding:.85rem 1rem}.supporters-label{display:flex;align-items:center;gap:.5rem;padding:0 0 .65rem;border-right:0;border-bottom:1px solid #bdd9de}.supporters-label small{margin:0}.supporters-banner p{display:grid;gap:.25rem}.supporters-banner strong{font-size:.76rem}.hero-visual{margin-top:1.6rem}}
