:root{--teal:#079c98;--teal-dark:#057d7b;--teal-pale:#e9f8f6;--orange:#f5a812;--orange-pale:#fff7e5;--ink:#143b46;--muted:#587077;--line:#d8e7e5;--white:#fff;--shadow:0 18px 45px rgba(15,91,91,.12);font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:#fbfdfc;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#fff 0,#fbfdfc 55%,#f4fbfa 100%);line-height:1.8}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(#0a9c9822 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,#000,transparent 30%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(5vw,28px);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,156,152,.1)}.brand{display:flex;align-items:center;gap:11px;color:var(--teal);font-family:"M PLUS Rounded 1c",sans-serif;white-space:nowrap}.brand-mark{width:48px;height:48px;border-radius:50% 46% 52% 42%;display:grid;place-items:center;background:var(--teal);color:white;font-size:1.45rem;font-weight:800;transform:rotate(-5deg);box-shadow:0 6px 0 #ccefeb}.brand-mark.small{width:38px;height:38px;font-size:1.05rem}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:.92rem;font-weight:500}.site-nav a{position:relative;padding:28px 0 23px}.site-nav a::after{content:"";height:3px;border-radius:3px;position:absolute;left:0;right:100%;bottom:18px;background:var(--teal);transition:.25s}.site-nav a:hover::after,.site-nav a.active::after{right:0}.nav-contact{color:var(--teal)}.menu-toggle{display:none;border:1px solid var(--teal);background:white;border-radius:999px;color:var(--teal);padding:8px 14px}.section-anchor{scroll-margin-top:96px}.hero{max-width:1400px;margin:0 auto;padding:60px max(5vw,28px) 38px;display:grid;grid-template-columns:.83fr 1.17fr;align-items:center;min-height:590px}.hero-copy{padding-right:clamp(28px,5vw,78px);position:relative;z-index:2}.eyebrow{margin:0 0 14px;color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.18em}.eyebrow span{color:var(--orange)}.eyebrow.orange{color:var(--orange)}h1,h2,h3{font-family:"M PLUS Rounded 1c",sans-serif;margin-top:0}h1{font-size:clamp(2rem,3.3vw,3.55rem);line-height:1.55;letter-spacing:.05em;margin-bottom:22px;color:var(--teal-dark)}h1 em{font-style:normal;color:var(--teal)}.hero-copy>p:not(.eyebrow){max-width:570px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{border-radius:999px;padding:13px 24px;font-weight:700;border:1px solid transparent;display:inline-flex;gap:22px;align-items:center;justify-content:center;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(7,156,152,.18)}.button.primary{background:var(--teal);color:#fff}.button.secondary{background:#fff;color:var(--teal);border-color:var(--teal)}.button.compact{padding:9px 20px}.hero-visual{height:480px;border-radius:30px 10px 30px 10px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.15),transparent 35%)}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;z-index:2;right:24px;bottom:23px;width:142px;height:142px;border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1.55;color:var(--teal-dark);background:#fff;border:2px solid var(--teal);outline:6px solid rgba(255,255,255,.8);font-family:"M PLUS Rounded 1c"}.hero-badge span{display:block;color:var(--orange)}.intro,.activities,.reports,.preparedness,.contact{max-width:1280px;margin:0 auto;padding:88px max(5vw,28px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--teal-pale);max-width:none;padding-left:max(calc((100vw - 1280px)/2 + 5vw),5vw);padding-right:max(calc((100vw - 1280px)/2 + 5vw),5vw)}h2{font-size:clamp(1.9rem,3vw,3rem);line-height:1.45;margin-bottom:20px}h2 em{color:var(--orange);font-style:normal}.intro p{color:var(--muted);margin-top:0}.text-link,.activity-card button{border:0;background:transparent;color:var(--teal);padding:8px 0;font-weight:700;border-bottom:1px solid currentColor}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:34px}.section-heading>p{max-width:450px;color:var(--muted)}.section-heading.inline{align-items:center}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.activity-card{position:relative;padding:34px;border:1px solid var(--teal);border-radius:24px;background:#fff;min-height:330px;overflow:hidden;box-shadow:0 10px 30px rgba(10,75,78,.06);transition:.25s}.activity-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.activity-card.orange-card{border-color:var(--orange)}.activity-card.navy{border-color:#386777}.activity-no{position:absolute;right:22px;top:14px;font:bold 4rem/1 "M PLUS Rounded 1c";color:rgba(7,156,152,.08)}.orange-card .activity-no{color:rgba(245,168,18,.12)}.activity-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--teal);color:white;font-size:1.7rem;margin-bottom:24px}.orange-card .activity-icon{background:var(--orange)}.navy .activity-icon{background:#386777}.activity-card h3{font-size:1.45rem;margin-bottom:10px}.activity-card p{color:var(--muted)}.reports{padding-top:40px}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.report-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(10,75,78,.05)}.report-art{height:190px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.report-art::after{content:"🐾";position:absolute;right:15px;bottom:-25px;font-size:7rem;opacity:.2;transform:rotate(-15deg)}.art-one{background:linear-gradient(135deg,#078f8d,#53c8ba)}.art-two{background:linear-gradient(135deg,#f5a812,#ffd25c)}.art-three{background:linear-gradient(135deg,#315b6b,#8dc4c5)}.report-art span{font-size:.76rem;font-weight:700;letter-spacing:.08em}.report-art b{font-family:"M PLUS Rounded 1c";font-size:1.55rem;line-height:1.5}.report-body{padding:22px}.report-body h3{font-size:1.1rem;margin-bottom:8px}.report-body p:not(.meta){font-size:.9rem;color:var(--muted)}.meta{display:flex;justify-content:space-between;font-size:.72rem;color:#82979b}.meta span{color:var(--teal);font-weight:700}.preparedness{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.preparedness-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}.check-list{list-style:none;padding:12px 32px;margin:0;background:#fff;border:1px solid #f2c563;border-radius:24px;box-shadow:0 14px 40px rgba(245,168,18,.10)}.check-list li{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid #f4e6bd}.check-list li:last-child{border:0}.check-list li>span{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;color:var(--teal);background:var(--teal-pale);font-weight:800}.check-list b{font-family:"M PLUS Rounded 1c"}.check-list p{font-size:.85rem;color:var(--muted);margin:2px 0}.contact{max-width:none;background:#063f49;color:#fff;display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;padding-left:max(calc((100vw - 1280px)/2 + 5vw),5vw);padding-right:max(calc((100vw - 1280px)/2 + 5vw),5vw)}.contact h2{color:#fff}.contact-intro>p:not(.eyebrow){color:#cde2e3}.demo-note{font-size:.8rem;border-left:3px solid var(--orange);padding-left:12px}.contact-form{background:#fff;color:var(--ink);border-radius:24px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{font-size:.82rem;font-weight:700;display:grid;gap:6px}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fbfb;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:3px solid rgba(7,156,152,.16);border-color:var(--teal)}.contact-form .button{grid-column:1/-1}.form-status{grid-column:1/-1;margin:0;color:var(--teal);font-weight:700;text-align:center}footer{background:#052f37;color:#d8edec;padding:45px max(5vw,28px) 24px;display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:center}footer p{font-size:.85rem;color:#9fc3c3}.footer-brand{display:flex;gap:12px;align-items:center;font-family:"M PLUS Rounded 1c"}.footer-links{display:flex;justify-content:flex-end;gap:24px;font-size:.85rem}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#80a7a8}dialog{width:min(560px,calc(100% - 32px));border:0;border-radius:24px;padding:38px;box-shadow:0 30px 80px rgba(0,40,45,.3);color:var(--ink)}dialog::backdrop{background:rgba(3,39,44,.65);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--muted);font-size:1.8rem}.dialog-note{background:var(--orange-pale);padding:12px;border-radius:10px;font-size:.85rem}.modal-checks{display:grid;gap:10px}.modal-checks label{padding:12px;background:var(--teal-pale);border-radius:10px}.modal-checks input{accent-color:var(--teal);width:18px;height:18px;margin-right:8px}.fade-in{animation:fade .45s ease both}@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:980px){.site-header{height:72px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:18px;right:18px;top:64px;background:white;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:11px 14px}.site-nav a::after{display:none}.hero{grid-template-columns:1fr;padding-top:42px}.hero-copy{padding:0 0 30px}.hero-visual{height:390px}.activity-grid,.report-grid{grid-template-columns:1fr 1fr}.preparedness,.contact{grid-template-columns:1fr;gap:38px}.section-heading{align-items:start}.intro{gap:40px}.extra-report{grid-column:1/-1}}
@media(max-width:640px){body{line-height:1.75}.brand{font-size:.82rem}.brand-mark{width:40px;height:40px}.hero,.intro,.activities,.reports,.preparedness,.contact{padding-left:20px;padding-right:20px}.hero{padding-top:30px}.hero h1{font-size:2rem}.hero-visual{height:290px;border-radius:22px}.hero-badge{width:105px;height:105px;font-size:.72rem;right:12px;bottom:12px}.hero-actions .button{width:100%}.intro,.section-heading{grid-template-columns:1fr;display:grid;gap:20px}.activity-grid,.report-grid{grid-template-columns:1fr}.activity-card{min-height:0}.section-heading.inline{display:flex;align-items:center}.section-heading.inline h2{font-size:1.7rem}.section-heading.inline .button{font-size:.75rem;padding:8px 13px}.preparedness{gap:30px}.check-list{padding:10px 18px}.contact-form{grid-template-columns:1fr;padding:22px}.contact-form label:nth-child(4){grid-column:auto}.contact-form .button,.form-status{grid-column:auto}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.intro h2{font-weight:800}
#about-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
.representative-card{margin-top:24px;padding:22px 24px;border-radius:16px;background:var(--orange-pale);border:1px solid #f9e4b8;overflow-wrap:anywhere}
.representative-name{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:2px;margin:0 0 14px}
.representative-name>span:first-child{font-size:.875rem;font-weight:700;color:var(--muted)}
.representative-name strong{font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.25rem}
.representative-name [lang="en"]{font-size:.875rem;color:var(--muted)}
.representative-card address{font-style:normal;line-height:1.7;margin-bottom:15px}
.representative-card dl{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:5px 10px;margin:0;padding-top:13px;border-top:1px solid #efd49e}
.representative-card dt{font-weight:700;color:var(--muted)}
.representative-card dd{margin:0}
.representative-card a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.representative-card{padding:18px}.representative-name [lang="en"]{flex-basis:100%;padding-left:2.6rem}}
