:root{--teal:#009b91;--teal-dark:#006b66;--navy:#102c5c;--red:#e60012;--yellow:#ffdb00;--ink:#17212b;--paper:#f7f5ef;--white:#fff;--line:#d9e0dc;--shadow:0 18px 50px rgba(7,43,55,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.8;background:#fff}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:16px;top:-80px;padding:10px 18px;background:#fff;color:var(--navy);z-index:200;border-radius:0 0 8px 8px}.skip-link:focus{top:0}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,107,102,.12)}.header-inner{height:84px;max-width:1180px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-party{font-weight:800;color:var(--teal-dark);letter-spacing:.06em;border-right:1px solid #b9cfcc;padding-right:12px}.brand-name{font-size:1.75rem;font-weight:900;color:var(--red);letter-spacing:.03em}.brand-name span{font-size:.62em;color:var(--navy);background:var(--yellow);border-radius:50%;padding:.42em .55em;margin-left:.18em}.site-nav{display:flex;align-items:center;gap:30px;font-size:.92rem;font-weight:700}.site-nav a{position:relative}.site-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--teal);transition:right .25s}.site-nav a:hover::after{right:0}.nav-contact{background:var(--teal);color:#fff;padding:12px 22px;border-radius:100px}.menu-button{display:none;border:0;background:transparent;padding:8px;color:var(--navy)}.menu-button span{display:block;width:26px;height:2px;background:currentColor;margin:5px}.menu-button b{font-size:.6rem;font-weight:700}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#e6f6f2 0 58%,#fff 58%);padding-top:74px}.hero-shape{position:absolute;width:530px;height:530px;border-radius:50%;background:rgba(0,155,145,.1);top:-230px;left:-180px}.hero-inner{position:relative;max-width:1180px;margin:auto;padding:0 28px 65px;display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center}.eyebrow,.section-kicker{margin:0 0 18px;color:var(--teal-dark);font-size:.77rem;font-weight:800;letter-spacing:.22em}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.9rem}.eyebrow::before{content:"";width:36px;height:3px;background:var(--red)}.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(2.8rem,5.1vw,5.1rem);line-height:1.32;letter-spacing:.04em;margin:0;color:var(--navy)}.hero h1 em{font-style:normal;color:var(--teal-dark);position:relative}.hero h1 em::after{content:"";position:absolute;bottom:.08em;left:0;width:100%;height:.14em;background:var(--yellow);z-index:-1}.hero-lead{font-size:1.03rem;max-width:560px;margin:27px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:800;padding:15px 24px;border-radius:4px;transition:.2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--navy);box-shadow:0 8px 20px rgba(16,44,92,.18)}.text-link{font-weight:800;color:var(--navy);border-bottom:1px solid}.portrait-frame{position:relative;border-radius:2px 2px 120px 2px;overflow:hidden;box-shadow:var(--shadow);background:var(--teal);aspect-ratio:1.25}.portrait-frame img{width:100%;height:100%;object-fit:cover}.hero-nameplate{position:relative;margin:-44px 22px 0 auto;width:max-content;max-width:90%;background:#fff;padding:16px 22px;border-left:6px solid var(--red);box-shadow:0 10px 35px rgba(13,38,62,.15)}.hero-nameplate small{display:block;color:var(--teal-dark);font-weight:700}.hero-nameplate strong{display:block;color:var(--red);font-size:2rem;line-height:1.2}.hero-nameplate strong span{color:var(--navy);font-size:.72em}.hero-ribbon{background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;gap:38px;min-height:72px;font-size:1.05rem;font-weight:800;letter-spacing:.08em}.hero-ribbon i{width:7px;height:7px;background:var(--yellow);border-radius:50%}.section{padding:110px 28px}.section-inner{max-width:1120px;margin:auto}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:220px 1fr;gap:60px}.intro h2,.section-heading h2,.materials h2,.contact h2{font-family:"Noto Serif JP",serif;color:var(--navy);font-size:clamp(2rem,4vw,3.3rem);line-height:1.45;margin:0}.intro-grid>div>p{max-width:740px;font-size:1.06rem}.pledges{background:var(--paper)}.section-heading{margin-bottom:52px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{margin:0}.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.policy-card{position:relative;background:#fff;padding:38px 38px 34px;border-top:5px solid var(--teal);box-shadow:0 5px 20px rgba(7,43,55,.06);overflow:hidden}.policy-card:nth-child(even){border-color:var(--navy)}.policy-number{position:absolute;right:20px;top:2px;color:rgba(0,155,145,.09);font-size:5rem;font-weight:900;line-height:1}.policy-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-size:1.25rem;font-weight:900}.policy-card h3{font-size:1.4rem;line-height:1.5;color:var(--navy);margin:20px 0}.policy-card ul{list-style:none;margin:0;padding:0}.policy-card li{position:relative;padding:7px 0 7px 25px;border-top:1px solid #e5ebe8}.policy-card li::before{content:"";position:absolute;left:2px;top:1.1em;width:10px;height:5px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}.profile{padding:0;display:grid;grid-template-columns:1fr 1fr;background:var(--teal-dark);color:#fff}.profile-photo{min-height:730px;background:url("contact-card.jpg") center/cover no-repeat}.profile-content{padding:90px max(40px,calc((100vw - 1120px)/2)) 90px 70px}.section-kicker.light{color:#a9efe5}.profile h2{font-family:"Noto Serif JP",serif;font-size:clamp(2rem,3.6vw,3rem);line-height:1.55;margin:0 0 25px}.profile-lead{font-size:1.05rem}.profile dl{margin-top:34px}.profile dl div{display:grid;grid-template-columns:85px 1fr;padding:16px 0;border-top:1px solid rgba(255,255,255,.25)}.profile dt{color:var(--yellow);font-weight:800}.profile dd{margin:0}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.experience-item{background:#fff;padding:34px}.experience-item span{color:var(--teal);font-size:.8rem;font-weight:900}.experience-item h3{color:var(--navy);font-size:1.25rem;line-height:1.6;min-height:4em}.experience-item p{font-size:.94rem}.message{background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}.message::before,.message::after{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.08);border-radius:50%}.message::before{left:-120px;top:-160px}.message::after{right:-100px;bottom:-240px}.message-inner{max-width:850px;position:relative}.quote-mark{display:block;font-family:serif;color:var(--yellow);font-size:7rem;line-height:.5;margin-bottom:18px}.message h2{font-family:"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.55;margin:0 0 26px}.message p:not(.section-kicker):not(.signature){max-width:700px;margin:0 auto}.signature{font-family:"Noto Serif JP",serif;font-size:1.5rem;letter-spacing:.2em;margin:32px 0 0}.materials{background:#edf7f5}.materials-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.materials p{margin:25px 0}.button-outline{border:2px solid var(--navy);color:var(--navy)}.leaflet{display:block;background:#fff;padding:12px;box-shadow:var(--shadow);position:relative}.leaflet img{width:100%}.leaflet span{position:absolute;right:24px;bottom:24px;background:rgba(16,44,92,.94);color:#fff;padding:8px 14px;font-size:.76rem;font-weight:700}.contact{background:#fff}.contact-box{background:var(--teal);color:#fff;padding:58px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;border-radius:2px 2px 70px 2px;box-shadow:var(--shadow)}.contact h2{color:#fff;font-size:clamp(2rem,3.5vw,2.8rem)}.contact-info{border-left:1px solid rgba(255,255,255,.35);padding-left:48px}.contact-label{font-weight:800}.contact-info a,.contact-info>p:not(.contact-label):not(.contact-note){display:flex;align-items:center;gap:15px;font-size:1.65rem;font-weight:900;line-height:1.5;margin:8px 0}.contact-info small{font-size:.72rem;background:#fff;color:var(--teal-dark);padding:2px 8px;border-radius:2px}.contact-note{font-size:.77rem;opacity:.85}.site-footer{background:#0a2445;color:#fff;padding:55px 28px 20px}.footer-inner{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand .brand-party{color:#fff}.footer-inner>p{font-weight:700}.footer-inner>a{font-size:.8rem;border-bottom:1px solid}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin:35px 0 0;font-size:.72rem;opacity:.65}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
@media(max-width:820px){.header-inner{height:72px;padding:0 18px}.brand-party{font-size:.68rem}.brand-name{font-size:1.35rem}.menu-button{display:block}.site-nav{position:absolute;top:72px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 24px;box-shadow:0 18px 25px rgba(0,0,0,.1)}.site-nav.is-open{display:flex}.site-nav a{padding:14px;border-bottom:1px solid #e3ebe8}.nav-contact{text-align:center;margin-top:10px}.hero{padding-top:45px;background:linear-gradient(155deg,#e6f6f2 0 62%,#fff 62%)}.hero-inner{grid-template-columns:1fr;gap:44px;padding:0 20px 50px}.hero h1{font-size:clamp(2.65rem,12vw,4rem)}.hero-lead{font-size:.95rem}.hero-visual{max-width:580px}.hero-ribbon{padding:16px;gap:12px;min-height:0;font-size:.74rem}.section{padding:78px 20px}.intro-grid{grid-template-columns:1fr;gap:10px}.policy-grid{grid-template-columns:1fr}.policy-card{padding:30px 26px}.profile{grid-template-columns:1fr}.profile-photo{min-height:520px;background-position:center}.profile-content{padding:65px 24px}.experience-grid{grid-template-columns:1fr}.experience-item h3{min-height:0}.materials-grid{grid-template-columns:1fr;gap:40px}.contact-box{grid-template-columns:1fr;padding:42px 26px;border-radius:2px 2px 45px 2px}.contact-info{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:25px 0 0}.footer-inner{flex-direction:column;text-align:center}.footer-brand{justify-content:center}}
@media(max-width:480px){.hero-nameplate{margin:-25px 10px 0 20px}.hero-nameplate strong{font-size:1.55rem}.portrait-frame{border-radius:2px 2px 75px 2px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.profile-photo{min-height:390px}.contact-info a,.contact-info>p:not(.contact-label):not(.contact-note){font-size:1.25rem}.brand.footer-brand{flex-direction:column}.footer-brand .brand-party{border-right:0;border-bottom:1px solid;padding:0 0 9px}}

/* Keep all wording in the supplied card visible and frame the portrait cleanly. */
.portrait-frame{background:#fff;aspect-ratio:579/387}
.portrait-frame img{object-fit:contain}
.profile-photo{background-position:85% center}


.community{background:#fff}
.community-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}
.line-card,.survey-card{border-radius:4px 4px 56px 4px;box-shadow:var(--shadow)}
.line-card{display:grid;grid-template-columns:1fr 230px;gap:42px;align-items:center;padding:48px;background:linear-gradient(135deg,#effcf3,#fff);border-top:6px solid #06c755}
.survey-card{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:48px 38px;background:var(--navy);color:#fff;border-top:6px solid var(--yellow)}
.community-badge{display:inline-flex;align-items:center;justify-content:center;margin-bottom:15px;padding:5px 12px;border-radius:100px;font-size:.7rem;font-weight:900;letter-spacing:.15em}
.line-badge{background:#06c755;color:#fff}.survey-badge{background:var(--yellow);color:var(--navy)}
.community h3{margin:0 0 12px;font-family:"Noto Serif JP",serif;font-size:1.8rem;line-height:1.45;color:var(--navy)}
.survey-card h3{color:#fff}.community p{font-size:.94rem}.community-lead{font-size:1.05rem!important;font-weight:800;color:var(--teal-dark)}
.line-button{margin-top:12px;background:#06c755;color:#fff}.survey-button{background:#fff;color:var(--navy);align-self:flex-start}
.line-qr{display:block;text-align:center;color:#45615c;font-size:.7rem;font-weight:700}
.line-qr img{width:210px;max-width:100%;margin:0 auto 10px;padding:10px;background:#fff;border:1px solid #d9e8df}
@media(max-width:980px){.community-grid{grid-template-columns:1fr}.line-card{grid-template-columns:1fr 210px}.survey-card{min-height:0}}
@media(max-width:820px){.line-card{grid-template-columns:1fr;padding:34px 24px;gap:28px}.survey-card{padding:34px 24px}.line-qr{display:flex;flex-direction:column;align-items:center}.line-qr img{width:190px}.community h3{font-size:1.55rem}.line-button,.survey-button{width:100%}}

.activity{background:var(--paper)}
.activity-article{display:grid;grid-template-columns:.82fr 1.18fr;background:#fff;box-shadow:var(--shadow);overflow:hidden;border-radius:2px 2px 70px 2px}
.activity-photo{min-height:720px;margin:0;background:#dbe9e6;overflow:hidden}
.activity-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.activity-body{padding:62px 58px}
.activity-body time{display:inline-block;margin-bottom:16px;color:var(--teal-dark);font-size:.8rem;font-weight:900;letter-spacing:.14em}
.activity-body h3{margin:0 0 25px;color:var(--navy);font-family:"Noto Serif JP",serif;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.55}
.activity-body>p{font-size:1rem}
.resident-voices{margin:30px 0;padding:25px 28px;background:#edf7f5;border-left:5px solid var(--teal)}
.voices-label{margin:0 0 12px;color:var(--teal-dark);font-size:.76rem;font-weight:900;letter-spacing:.08em}
.resident-voices blockquote{position:relative;margin:12px 0;padding-left:22px;color:var(--navy);font-weight:700;line-height:1.85}
.resident-voices blockquote::before{content:"“";position:absolute;left:0;top:-.18em;color:var(--teal);font-family:serif;font-size:1.8rem}
.activity-conclusion{margin-top:25px;padding-top:22px;border-top:1px solid var(--line);color:var(--navy);font-size:1.1rem!important;font-weight:900}
@media(max-width:900px){.activity-article{grid-template-columns:1fr}.activity-photo{min-height:0;aspect-ratio:4/3}.activity-photo img{object-position:center 40%}.activity-body{padding:44px 34px}}
@media(max-width:480px){.activity-article{border-radius:2px 2px 45px 2px}.activity-body{padding:34px 22px}.resident-voices{padding:22px 18px}.activity-body h3{font-size:1.65rem}}

.activity-archive-link{margin-top:34px;text-align:center}
.archive-hero{padding:120px 28px 95px;background:linear-gradient(135deg,#e7f6f3 0 70%,#fff 70%)}
.archive-hero h1{margin:0;color:var(--navy);font-family:"Noto Serif JP",serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:1.35}
.archive-hero p:last-child{max-width:720px;margin:26px 0 0;font-size:1.05rem}
.archive-list{background:var(--paper)}
.archive-list .section-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.archive-card{display:flex;flex-direction:column;background:#fff;padding:38px;border-top:5px solid var(--teal);box-shadow:0 8px 25px rgba(7,43,55,.07)}
.archive-card:nth-child(even){border-top-color:var(--navy)}
.archive-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.archive-meta time{color:var(--teal-dark);font-size:.78rem;font-weight:900;letter-spacing:.13em}
.archive-meta span{padding:4px 10px;border-radius:100px;background:#edf4f2;color:var(--navy);font-size:.68rem;font-weight:800}
.archive-card h2{margin:0 0 18px;color:var(--navy);font-family:"Noto Serif JP",serif;font-size:1.55rem;line-height:1.55}
.archive-card>p{font-size:.92rem}.archive-note{color:#66716f;font-size:.76rem!important}
.archive-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:20px}
.archive-links a{color:var(--teal-dark);font-size:.82rem;font-weight:900;border-bottom:1px solid currentColor}
.archive-back{text-align:center;background:#fff;padding-top:70px;padding-bottom:70px}
@media(max-width:760px){.archive-hero{padding:82px 20px 68px}.archive-list .section-inner{grid-template-columns:1fr}.archive-card{padding:30px 24px}.archive-card h2{font-size:1.35rem}}

/* SNS share buttons */
.schedule{background:#edf7f5}.schedule-card{display:grid;grid-template-columns:230px 1fr;max-width:900px;margin:auto;background:#fff;border-top:6px solid var(--red);box-shadow:var(--shadow)}.schedule-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px;background:var(--navy);color:#fff;text-align:center}.schedule-date time{display:flex;align-items:baseline;justify-content:center;gap:7px;line-height:1}.schedule-date strong{font-family:"Noto Serif JP",serif;font-size:3.2rem}.schedule-date span{font-weight:800}.schedule-date p{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.28);font-size:1.15rem;font-weight:900}.schedule-content{display:flex;flex-direction:column;justify-content:center;padding:38px 48px}.schedule-content>span{color:var(--red);font-size:.76rem;font-weight:900;letter-spacing:.16em}.schedule-content h3{margin:8px 0 14px;color:var(--navy);font-family:"Noto Serif JP",serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.45}.schedule-place{position:relative;margin:0;padding-left:24px;color:var(--teal-dark);font-size:1.08rem;font-weight:800}.schedule-place::before{content:"●";position:absolute;left:0;color:var(--red);font-size:.7em}.office-contact{padding-bottom:24px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.35)}.office-address{margin:7px 0!important;font-size:1rem!important;font-weight:800!important}.support-contact .contact-label{margin-top:0}
.share-block{text-align:center}.share-block-article{margin-top:32px;padding-top:26px;border-top:1px solid rgba(0,77,70,.18)}.share-label{margin:0 0 14px;color:var(--navy);font-size:.9rem;font-weight:800;letter-spacing:.04em}.share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.share-button{display:inline-flex;align-items:center;justify-content:center;min-width:106px;min-height:44px;padding:10px 18px;border-radius:999px;color:#fff;font-size:.86rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .2s ease,opacity .2s ease}.share-button:hover{color:#fff;opacity:.84;transform:translateY(-2px)}.share-facebook{background:#1877f2}.share-x{background:#111}.share-line{background:#06c755}.share-threads{background:#000}.site-share{padding:40px 20px;background:#f2f5f2;border-top:1px solid rgba(0,77,70,.1)}
@media(max-width:700px){.schedule-card{grid-template-columns:1fr}.schedule-date{padding:25px 20px}.schedule-date strong{font-size:2.6rem}.schedule-content{padding:30px 24px;text-align:center}.schedule-place{display:inline-block;margin-inline:auto}}
@media(max-width:480px){.share-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px;margin-inline:auto}.share-button{min-width:0;width:100%}}

/* Calendar and icon-style share controls */
.schedule-actions{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.calendar-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border:2px solid #4285f4;border-radius:999px;color:#174ea6;font-size:.86rem;font-weight:800}.calendar-button span{display:grid;place-items:center;width:22px;height:22px;border-radius:4px;background:#4285f4;color:#fff;font-size:.72rem}.schedule-share{margin-top:20px;text-align:left}.schedule-share .share-label{margin-bottom:10px}.schedule-share .share-buttons{justify-content:flex-start}.share-button{width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;overflow:hidden;font-size:0}.share-button::before{display:block;color:#fff;font-family:Arial,sans-serif;font-weight:900;line-height:1}.share-facebook::before{content:"f";font-size:1.75rem}.share-x::before{content:"X";font-size:1.2rem}.share-line::before{content:"LINE";font-size:.58rem;letter-spacing:-.03em}.share-threads::before{content:"@";font-size:1.45rem}.share-button:focus-visible,.calendar-button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.calendar-button+.calendar-button{margin-left:8px}.calendar-iphone{border-color:#222;color:#222}.calendar-iphone span{background:#222}
@media(max-width:700px){.schedule-share{text-align:center}.schedule-share .share-buttons{justify-content:center}}
@media(max-width:700px){.calendar-button{display:flex;width:100%;max-width:310px;margin-inline:auto}.calendar-button+.calendar-button{margin:10px auto 0}}
@media(max-width:480px){.share-buttons{display:flex;max-width:none}.share-button{width:46px;min-width:46px}}
