:root{--ink:#173b33;--forest:#17483a;--leaf:#4f7c59;--pale:#edf1e9;--soil:#514235;--sand:#e9dfcd;--orange:#d96837;--white:#fff;--line:#cbd8cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1120px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;top:-50px;left:12px;z-index:100;padding:8px 14px;background:#fff}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #dce5dc;backdrop-filter:blur(10px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.brand{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.25}.brand b{font-size:16px;letter-spacing:.08em}.brand-icon{display:grid;place-items:center;width:39px;height:39px;border:2px solid var(--forest);border-radius:50%;color:var(--forest);font-size:19px;font-weight:900}.nav-links{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.nav-links a:hover{color:var(--leaf)}.nav-cta{padding:9px 16px;border-radius:999px;color:#fff!important;background:var(--forest)}.menu-button{display:none;border:0;background:transparent;font-size:24px}
.hero{position:relative;min-height:670px;color:#fff;background:url("assets/ground-install-sakura.jpg") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,42,33,.91) 0%,rgba(16,57,42,.76) 43%,rgba(13,40,33,.15) 100%)}.hero-content{position:relative;z-index:1;padding-top:140px}.eyebrow{margin:0 0 13px;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.16em;line-height:1.4}.hero .eyebrow{color:#c9e9bb}.hero h1{max-width:780px;margin:0;font-size:clamp(43px,5.6vw,78px);line-height:1.2;letter-spacing:.03em}.hero h1 em{color:#e4f1c5;font-style:normal}.hero-lead{margin:27px 0 29px;font-size:16px;line-height:2}.hero-actions{display:flex;gap:12px}.button{display:inline-block;padding:13px 22px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:800;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 17px rgba(0,0,0,.18)}.button--light{background:#f7f2df;color:var(--forest)}.button--outline-light{border-color:#fff;color:#fff}.button--dark{background:var(--forest);color:#fff}.button--orange{color:#fff;background:var(--orange)}.hero-caption{margin-top:48px;color:#d9e7dc;font-size:12px}
.mission{padding:100px 0;background:var(--pale)}.mission-grid{display:grid;grid-template-columns:.55fr 1.15fr 1fr;gap:35px}.mission h2,.section-head h2,.installation h2,.donation h2,.faq h2,.contact h2{margin:0;font-size:clamp(30px,3.9vw,52px);line-height:1.36;letter-spacing:.03em}.mission-grid div>p{margin:4px 0 18px;font-size:14px;color:#496258}.mission-note{padding-top:18px;border-top:1px solid #aabdb0;color:var(--forest)!important;font-size:19px!important;font-weight:800}
.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:48px}.section-head>div{max-width:610px}.section-head>p{max-width:400px;margin:0;color:#596f63;font-size:14px}.pathways{background:#fff}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.path-card{min-height:420px;padding:40px;display:flex;align-items:end;color:#fff;background-size:cover;background-position:center;border-radius:17px;overflow:hidden;isolation:isolate}.path-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,43,35,.93),rgba(13,43,35,.08))}.path-card--install{position:relative;background-image:url("assets/ground-install-wide.jpg")}.path-card--donation{position:relative;background-image:url("assets/reuse-association-flyer.jpg");background-position:center 25%}.path-card span{color:#d5ecb8;font-size:10px;font-weight:800;letter-spacing:.15em}.path-card h3{margin:10px 0 11px;font-size:30px;line-height:1.36}.path-card p{max-width:410px;margin:0;font-size:13px;line-height:1.85}.path-card a{display:inline-block;margin-top:21px;font-size:13px;font-weight:800}.path-card a b{padding-left:7px;color:#d5ecb8;font-size:19px}
.installation{background:#f6f4ee}.installation-grid{display:grid;grid-template-columns:1fr .9fr;gap:68px;align-items:center}.installation-photo{position:relative}.installation-photo img{width:100%;aspect-ratio:.95;object-fit:cover;border-radius:15px}.installation-photo span{position:absolute;left:17px;top:16px;padding:7px 10px;border-radius:3px;background:var(--forest);color:#fff;font-size:9px;font-weight:800;letter-spacing:.12em}.installation-copy>p:not(.eyebrow),.donation-copy>p:not(.eyebrow){color:#536b5d;font-size:14px}.check-list{padding:0;list-style:none;font-size:13px;font-weight:700}.check-list li{padding:8px 0 8px 23px;border-bottom:1px solid #d4ddd4}.check-list li::before{content:"✓";display:inline-block;width:23px;margin-left:-23px;color:var(--orange);font-weight:900}.installation .button{margin-top:16px}
.activity{background:var(--forest);color:#fff}.activity .eyebrow{color:#d6ecad}.activity .section-head>p{color:#cadbd0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none}.steps li{padding:29px;border-top:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.07)}.steps span{color:#d6ecad;font-size:13px;font-weight:900}.steps h3{margin:27px 0 8px;font-size:23px}.steps p{margin:0;color:#d9e8df;font-size:13px}
.donation{background:var(--sand)}.donation-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.caution{padding:13px 14px;border-left:3px solid var(--orange);background:rgba(255,255,255,.45);font-size:12px!important}.flyer{margin:0;box-shadow:0 16px 30px rgba(52,39,25,.18)}.flyer img{width:100%}.flyer figcaption{padding:10px 14px;background:#fff;color:#617469;font-size:11px}
.comic-section{background:#fff}.comic-frame{margin:0;overflow:hidden;border:1px solid #dce5dc;border-radius:14px;background:#f7f8f5;box-shadow:0 12px 25px rgba(32,63,47,.1)}.comic-frame img{width:100%;height:auto}
.cases{background:var(--pale)}.case-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.case-card{position:relative;min-height:345px;overflow:hidden;border-radius:14px;background:var(--forest)}.case-card img{width:100%;height:100%;object-fit:cover}.case-card::after{content:"";position:absolute;inset:33% 0 0;background:linear-gradient(transparent,rgba(6,32,24,.88))}.case-card div{position:absolute;z-index:1;right:19px;bottom:18px;left:19px;color:#fff}.case-card span{color:#d5ecb8;font-size:10px;font-weight:800;letter-spacing:.12em}.case-card h3{margin:5px 0;font-size:21px}.case-card p{margin:0;font-size:12px;line-height:1.65}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq-grid>div>p:not(.eyebrow){color:#60766a;font-size:14px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:20px 35px 20px 0;cursor:pointer;font-size:16px;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"＋";position:absolute;right:2px;color:var(--orange);font-size:22px;font-weight:400}.faq-list details[open] summary::after{content:"−"}.faq-list p{margin:0 0 21px;color:#577065;font-size:13px}
.contact{padding:100px 0;color:#fff;background:linear-gradient(120deg,#153d31,#285e48)}.contact .eyebrow{color:#d5ecb8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-grid>div>p:not(.eyebrow){color:#d7e7dc;font-size:14px}.phone-card{padding:34px 37px;border:1px solid rgba(255,255,255,.45);border-radius:14px;background:rgba(255,255,255,.08);transition:background .2s}.phone-card:hover{background:rgba(255,255,255,.14)}.phone-card span,.phone-card b,.phone-card small{display:block}.phone-card span{color:#d5ecb8;font-size:11px;font-weight:800;letter-spacing:.1em}.phone-card b{margin:9px 0;font-size:clamp(31px,4vw,48px);line-height:1.2}.phone-card small{color:#d7e7dc;font-size:12px}.footer{padding:38px 0;background:#102f27;color:#d3e3d8}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px}.footer-brand .brand-icon{border-color:#d5ecb8;color:#d5ecb8}.footer-brand b{color:#fff}.footer p,.footer small{font-size:12px}.floating-cta{position:fixed;z-index:28;right:18px;bottom:18px;display:flex;overflow:hidden;border-radius:999px;box-shadow:0 8px 23px rgba(0,0,0,.25)}.floating-cta a{padding:13px 18px;color:#fff;background:var(--orange);font-size:13px;font-weight:800}.floating-cta a+a{background:var(--forest)}
@media(max-width:800px){.container{width:min(100% - 32px,620px)}.header-inner{min-height:64px}.brand{font-size:10px}.brand b{font-size:13px}.brand-icon{width:31px;height:31px;font-size:15px}.menu-button{display:block}.nav-links{position:fixed;inset:64px 0 auto;display:none;align-items:stretch;gap:13px;padding:17px 22px 23px;background:#fff;box-shadow:0 10px 14px rgba(0,0,0,.07)}.nav-links.open{display:flex;flex-direction:column}.nav-cta{text-align:center}.hero{min-height:610px}.hero-content{padding-top:115px}.hero h1{font-size:45px}.hero-lead{font-size:14px}.mission,.section,.contact{padding:70px 0}.mission-grid,.installation-grid,.donation-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:29px}.mission h2{font-size:36px}.section-head{display:block;margin-bottom:31px}.section-head>p{margin-top:19px}.path-grid,.steps{grid-template-columns:1fr}.path-card{min-height:360px;padding:30px}.case-grid{grid-template-columns:1fr}.case-card{min-height:315px}.comic-frame object{height:85vw;min-height:500px}.footer-inner{grid-template-columns:1fr;gap:16px}.floating-cta{right:10px;bottom:10px}.floating-cta a{padding:11px 14px;font-size:12px}}@media(max-width:430px){.hero h1{font-size:39px}.hero-actions{flex-direction:column;align-items:flex-start}.path-card h3{font-size:25px}.phone-card{padding:26px 22px}.phone-card b{font-size:31px}}
.hero-organization{display:inline-block;margin-top:18px;color:#fff;font-size:clamp(20px,2.2vw,31px);letter-spacing:.06em;line-height:1.35}.site-header .header-inner{min-height:140px}.site-header .brand{gap:26px;font-size:36px;line-height:1.25}.site-header .brand b{font-size:48px}.site-header .brand-icon{width:117px;height:117px;border-width:5px;font-size:54px}@media(max-width:800px){.site-header .header-inner{min-height:78px}.site-header .brand{gap:10px;font-size:11px}.site-header .brand b{font-size:14px}.site-header .brand-icon{width:38px;height:38px;border-width:2px;font-size:18px}.nav-links{inset:78px 0 auto}}

/* 実績：見出しと説明の距離を整え、説明文を黒にする */
.cases .section-head{justify-content:flex-start;align-items:center;gap:56px}
.cases .section-head>p{color:#172b24}
@media(max-width:800px){.cases .section-head{gap:0}.cases .section-head>p{margin-top:12px}}

.mission-grid{grid-template-columns:.78fr 1fr 1.15fr;align-items:center;gap:34px}
.mission-photo{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:.78;background:#d9e1d8}
.mission-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.mission-heading .eyebrow{margin-bottom:13px}
.mission-copy>p{margin:4px 0 18px;font-size:14px;color:#496258}
.septic-definition-title{display:block;margin-bottom:12px;color:var(--forest);font-size:25px;font-weight:900;letter-spacing:.04em}
.mission-copy>p:first-child{font-size:26px;line-height:1.75}
.mission-copy>p:first-child .septic-definition-title{font-size:34px}
@media(max-width:800px){.mission-grid{grid-template-columns:1fr;gap:24px}.mission-photo{max-width:400px;aspect-ratio:1.05}.mission-copy>p{margin-top:0}}
@media(max-width:800px){.mission-copy>p:first-child{font-size:19px}.mission-copy>p:first-child .septic-definition-title{font-size:27px}}

.pathways .section-head{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}
.pathways .section-head>div{max-width:none}
.pathways .section-head>p{max-width:500px;color:#172b24;font-size:17px;line-height:1.9}
@media(max-width:800px){.pathways .section-head{display:block}.pathways .section-head>p{font-size:15px;line-height:1.8}}

.donation-summary{padding:42px;border-radius:16px;background:#fff;box-shadow:0 14px 30px rgba(52,39,25,.11)}
.donation-summary h3{margin:0 0 28px;color:var(--forest);font-size:30px;line-height:1.35}
.donation-summary ol{margin:0;padding:0;list-style:none}
.donation-summary li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid #d9dfd5}
.donation-summary li>span{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.08em}
.donation-summary b{color:var(--forest);font-size:16px}
.donation-summary li p{margin:5px 0 0;color:#4b6256;font-size:13px;line-height:1.75}
@media(max-width:800px){.donation-summary{padding:28px}.donation-summary h3{font-size:25px}}

.brand-icon{display:block;box-sizing:border-box;border:0!important;border-radius:0;object-fit:contain;background:transparent}
.footer-brand .brand-icon{border-radius:50%;background:#fff}

/* 寄付のお願いを指定の二行で表示 */
.donation-copy h2{font-size:clamp(26px,7.5vw,38px);white-space:nowrap;letter-spacing:.01em}

/* ヘッダーの団体名を一行で見やすく表示 */
.site-header .header-inner{min-height:112px}
.site-header .brand{gap:18px;font-size:18px;line-height:1.2}
.site-header .brand b{font-size:29px}
.site-header .header-brand-name{white-space:nowrap}
.site-header .brand-icon{width:80px;height:80px}
@media(max-width:800px){
  .site-header .header-inner{min-height:78px}
  .site-header .brand{gap:10px;font-size:11px}
  .site-header .brand b{font-size:14px}
  .site-header .brand-icon{width:38px;height:38px}
}
.path-card--donation{background-image:url("assets/donation-background-sakura.jpg");background-position:center;background-size:cover}

.flow-title{margin:27px 0 4px;color:var(--forest);font-size:20px}
.flow-list{counter-reset:flow;list-style:none}
.flow-list li{padding-left:34px}
.flow-list li::before{content:counter(flow,decimal-leading-zero);counter-increment:flow;width:24px;margin-left:-30px;color:var(--orange);font-size:11px}
.flow-list b{display:block;color:var(--forest);font-size:15px}
.flow-list span{display:block;margin-top:3px;color:#536b5d;font-size:12px;font-weight:400;line-height:1.7}
.flow-list li{display:grid;grid-template-columns:38px 1fr;column-gap:0;padding:13px 0 12px}
.flow-list li::before{grid-row:1 / span 2;width:auto;margin:0}
.flow-list b,.flow-list span{grid-column:2}
.flow-list span{margin-top:2px}

/* お問い合わせ欄：接続イメージを加えた3分割レイアウト */
.contact-grid{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.2fr) minmax(260px,.8fr);gap:34px;align-items:center}
.contact-copy h2{font-size:clamp(30px,3.5vw,48px)}
.contact-connection{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:16px;background:rgba(255,255,255,.1);box-shadow:0 18px 36px rgba(0,0,0,.14)}
.contact-connection img{width:100%;height:230px;object-fit:cover;object-position:center}
.contact .phone-card{padding:27px 29px}
.contact .phone-card b{font-size:clamp(28px,3.1vw,40px);white-space:nowrap}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:28px}.contact-connection{grid-column:1 / -1;grid-row:2}.contact-connection img{height:260px}.contact .phone-card{align-self:stretch}}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}.contact-connection{grid-column:auto;grid-row:auto;order:2}.contact .phone-card{order:3}.contact-connection img{height:auto;aspect-ratio:1.78;object-fit:cover}}

/* 活動紹介 */
.activity-intro{padding-top:82px;padding-bottom:92px;background:#fff}
.activity-intro__head{margin-bottom:38px}
.activity-intro__head>p{max-width:410px;color:#3a5146;font-size:16px;line-height:1.9}
.activity-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.activity-intro__card{min-height:280px;padding:38px 40px;border:1px solid #d8e1d8;border-radius:16px;background:#f7f9f5}
.activity-intro__card--public{border-top:5px solid #1e6950}
.activity-intro__card--business{border-top:5px solid #d96837;background:#fcf7f1}
.activity-intro__label{margin:0 0 20px;color:var(--orange);font-size:18px;font-weight:900;letter-spacing:.08em}
.activity-intro__card--public .activity-intro__label{color:#1e6950}
.activity-intro__card h3{margin:0 0 14px;color:var(--forest);font-size:clamp(23px,2.3vw,31px);line-height:1.45}
.activity-intro__card>p:last-child{max-width:470px;margin:0;color:#40594c;font-size:15px;line-height:1.95}
@media(max-width:800px){.activity-intro{padding-top:65px;padding-bottom:70px}.activity-intro__grid{grid-template-columns:1fr}.activity-intro__card{min-height:0;padding:30px 26px}.activity-intro__head>p{font-size:15px}}

/* CONTACT：災害時の拠点づくりイメージ */
.nav-links{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px}
.nav-links a{line-height:1.35}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);gap:32px 54px;align-items:center}
.contact-copy h2{max-width:540px}
.contact .phone-card{justify-self:stretch}
.contact-base-image{grid-column:1 / -1;margin:6px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.38);border-radius:16px;background:#fff;box-shadow:0 16px 32px rgba(0,0,0,.16)}
.contact-base-image img{width:100%;height:auto;aspect-ratio:1.78;object-fit:contain;background:#fff}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:26px}.contact-base-image{grid-column:1 / -1;grid-row:auto}.contact .phone-card{grid-column:auto;grid-row:auto}}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}.contact .phone-card{grid-column:auto}.contact-base-image{grid-column:auto;order:3}.nav-links{flex-wrap:nowrap}}

/* CONTACT見出しを一行で表示 */
.contact-copy h2{
  max-width:none;
  font-size:clamp(29px,2.55vw,39px);
  white-space:nowrap;
  letter-spacing:.01em;
}
@media(max-width:900px){
  .contact-copy h2{font-size:clamp(27px,4.2vw,36px)}
}
@media(max-width:640px){
  .contact-copy h2{font-size:clamp(26px,7.25vw,34px);letter-spacing:0}
}
