:root{--ink:#173d36;--blue:#76c9df;--lime:#d9ed79;--yellow:#f5ce55;--pink:#f1aaa9;--green:#97ce79;--paper:#fffdf4;--line:rgba(23,61,54,.25);--pad:clamp(20px,5vw,76px);--max:1320px;--body:"Noto Sans JP",sans-serif;--display:"Kiwi Maru",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%}.skip-link{position:fixed;z-index:200;left:14px;top:-70px;padding:10px 16px;background:#fff}.skip-link:focus{top:14px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
.site-header{position:sticky;z-index:80;top:0;height:76px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,244,.92);backdrop-filter:blur(12px)}.brand{line-height:1.2}.brand b{display:block;font-size:14px}.brand small{display:block;margin-top:5px;font-size:7px;letter-spacing:.16em}.site-header nav{display:flex;gap:clamp(18px,2.4vw,38px);font-size:11px;font-weight:900}.site-header nav a{position:relative}.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:#ef694f;transition:right .22s}.site-header nav a:hover::after{right:0}.menu-button{display:none}
.hero{position:relative;min-height:calc(100svh - 76px);overflow:hidden;background:#87cdea}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;animation:hero-in 1.15s cubic-bezier(.2,.8,.2,1) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,43,38,.74) 0,rgba(9,43,38,.3) 48%,rgba(9,43,38,.02) 78%)}.hero-copy{position:relative;z-index:2;width:min(820px,calc(100% - var(--pad)*2));padding-top:clamp(70px,10vh,120px);margin-left:var(--pad);color:#fff;animation:copy-in .8s .15s both}.hero-copy>p{margin:0;font-family:var(--display);letter-spacing:.1em}.hero-copy h1{margin:18px 0 5px;font-size:clamp(60px,8.3vw,126px);line-height:.98;letter-spacing:-.085em}.hero-copy h1>span,.hero-copy h1>strong{display:block}.hero-copy h1>strong{color:#f8d447;text-shadow:3px 4px 0 var(--ink)}.hero-copy>b{font-size:14px}.pun{position:relative;display:inline-block;width:.58em;height:.9em;margin:0 -.01em;vertical-align:-.08em}.pun svg{position:absolute;left:-.02em;top:-.65em;width:.88em;height:1.05em;overflow:visible}.pun path{fill:none;stroke:#f8d447;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.pun i{position:absolute;z-index:1;left:29%;top:-1.73em;font-family:var(--display);font-size:.4em;font-style:normal;line-height:1;text-shadow:none}.chapter-nav{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:26px;display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--ink);box-shadow:8px 9px 0 var(--ink)}.chapter-nav a{min-height:94px;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--ink);transition:transform .2s,filter .2s}.chapter-nav a:nth-child(1){background:var(--lime)}.chapter-nav a:nth-child(2){background:var(--yellow)}.chapter-nav a:nth-child(3){background:var(--pink)}.chapter-nav a:nth-child(4){border-right:0;background:var(--green)}.chapter-nav a:hover{z-index:1;transform:translateY(-7px);filter:saturate(1.15)}.chapter-nav small{font-size:7px;font-weight:900;letter-spacing:.14em}.chapter-nav b{margin-top:5px;font-size:11px}.hero-event{position:absolute;z-index:4;right:28px;top:28px;width:110px;height:110px;border:2px dashed var(--ink);border-radius:50%;background:#f8d447;box-shadow:5px 6px 0 var(--ink);cursor:pointer;transform:rotate(4deg)}.hero-event span,.hero-event small{display:block;font-size:8px;font-weight:900}.hero-event b{display:block;margin:2px 0;font-size:26px}
.section{scroll-margin-top:76px}.section-heading{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:.72fr 1.5fr .85fr;gap:5vw;align-items:end}.section-heading>p{grid-column:1/-1;margin:0;color:#ef694f;font-size:9px;font-weight:900;letter-spacing:.17em}.section-heading h2{margin:18px 0 0;font-size:clamp(43px,5.6vw,80px);line-height:1.2;letter-spacing:-.07em}.section-heading>span{font-size:12px}.section-heading em{color:#17775f;font-style:normal}
.akiya{padding:clamp(90px,10vw,150px) var(--pad);background:var(--lime)}.akiya-intro{width:min(100%,var(--max));margin:70px auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.akiya-intro>div>p{font-size:13px}.akiya-intro dl{margin:34px 0 0;border-top:2px solid var(--ink)}.akiya-intro dl>div{padding:16px 0;display:grid;grid-template-columns:46px 1fr;border-bottom:1px solid var(--ink)}.akiya-intro dt{color:#ef694f;font-size:10px;font-weight:900}.akiya-intro dd{margin:0}.akiya-intro dd b,.akiya-intro dd span{display:block}.akiya-intro dd span{margin-top:4px;font-size:10px}.text-link{display:inline-block;margin-top:25px;padding-bottom:5px;border-bottom:2px solid;font-size:11px;font-weight:900}.akiya-intro figure{margin:0}.akiya-intro figure img{aspect-ratio:4/3;object-fit:cover;clip-path:polygon(8% 0,100% 0,100% 88%,92% 100%,0 100%,0 12%)}.akiya-intro figcaption{margin-top:10px;font-size:9px;font-weight:900}.case-study{width:min(100%,var(--max));margin:90px auto 0;padding-top:55px;display:grid;grid-template-columns:1.1fr .9fr auto .9fr;gap:26px;align-items:center;border-top:2px solid var(--ink)}.case-study>div:first-child p{margin:0;color:#ef694f;font-size:8px;font-weight:900}.case-study h3{margin:13px 0;font-size:clamp(28px,3vw,42px);line-height:1.4}.case-study>div:first-child span{font-size:9px}.case-study figure{margin:0}.case-placeholder{aspect-ratio:4/3;display:grid;place-content:center;background:#e2dfd4;color:#7c837e;text-align:center;font-weight:900;letter-spacing:.1em}.case-placeholder.after{background:#d0e5cd}.case-placeholder small{font-size:8px}.case-study figcaption{margin-top:7px;font-size:9px;font-weight:900}.case-arrow{font-size:32px}
.members{padding:clamp(90px,10vw,150px) var(--pad);background:var(--yellow)}.member-row{width:min(100%,var(--max));min-height:520px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink)}.section-heading+.member-row{margin-top:80px}.member-row:last-child{border-bottom:2px solid var(--ink)}.member-row.reverse figure{order:2}.member-row figure{margin:0;overflow:hidden}.member-row figure img{height:100%;object-fit:cover;transition:transform .7s}.member-row:hover figure img{transform:scale(1.025)}.member-row>div{padding:clamp(42px,6vw,82px);align-self:center}.member-row small{font-size:8px;font-weight:900;letter-spacing:.15em}.member-row h3{margin:14px 0;font-size:clamp(32px,4vw,58px);line-height:1.25}.member-row p{font-size:12px}.member-row dl{margin:28px 0;border-top:1px solid}.member-row dl{display:grid;grid-template-columns:90px 1fr}.member-row dt,.member-row dd{padding:9px 0;border-bottom:1px solid var(--line)}.member-row dt{font-size:8px;font-weight:900}.member-row dd{margin:0;font-size:10px;font-weight:800}.member-row a{display:inline-block;margin-top:23px;border-bottom:2px solid;font-size:10px;font-weight:900}.pending-visual{display:grid;place-content:center;background:#e7bf42}.pending-visual span{width:170px;height:170px;display:grid;place-content:center;border:2px dashed var(--ink);border-radius:50%;text-align:center;font-weight:900}.confirm-note{display:block;margin-top:18px;font-size:8px}
.social{padding:clamp(90px,10vw,150px) var(--pad);background:var(--pink)}.social-list{width:min(100%,var(--max));margin:75px auto 0;border-top:2px solid var(--ink)}.social-list article{min-height:330px;display:grid;grid-template-columns:.72fr 1.28fr;border-bottom:1px solid var(--ink)}.social-list img{height:100%;max-height:380px;object-fit:cover}.social-list article>div{padding:45px;display:flex;flex-direction:column;justify-content:center}.social-list small{font-size:8px;font-weight:900}.social-list h3{margin:14px 0;font-size:clamp(25px,3vw,42px)}.social-list a{align-self:flex-start;margin-top:30px;font-size:10px;font-weight:900}
.map-section{padding:clamp(90px,10vw,150px) var(--pad);background:var(--green)}.map-layout{width:min(100%,var(--max));margin:75px auto 0;display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center}.map-stage{position:relative;min-height:920px}.map-shape{position:absolute;inset:0;margin:auto;width:min(610px,88%);height:100%;overflow:visible;filter:drop-shadow(10px 14px 0 rgba(23,61,54,.13))}.map-shape>path:first-child{fill:#e6ef80;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.map-road{fill:none;stroke:#fffdf4;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 13}.map-river{fill:none;stroke:#5bafc0;stroke-width:7;stroke-linecap:round}.map-label{fill:var(--ink);font-family:var(--body);font-size:18px;font-weight:900;paint-order:stroke;stroke:#e6ef80;stroke-width:7px;stroke-linejoin:round}.map-pin{position:absolute;z-index:3;left:var(--x);top:var(--y);padding:0;border:0;background:none;cursor:pointer;transform:translate(-50%,-50%)}.map-pin i{position:relative;display:block;width:34px;height:34px;border:6px solid var(--paper);border-radius:50% 50% 50% 0;background:#ef694f;box-shadow:0 4px 12px rgba(0,0,0,.22);transform:rotate(-45deg);transition:transform .2s}.map-pin i::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#f7d247}.map-pin span{display:block;margin-top:8px;padding:4px 8px;background:var(--paper);font-size:8px;font-weight:900;white-space:nowrap}.map-pin:hover i,.map-pin:focus-visible i,.map-pin.active i{transform:rotate(-45deg) scale(1.24)}.map-pin.featured i{background:#17775f}.place-panel{border:2px solid var(--ink);background:var(--paper);box-shadow:10px 11px 0 var(--ink);transition:transform .25s,opacity .25s}.place-panel.changing{opacity:.35;transform:translateY(7px)}.place-media{position:relative}.place-media img{height:390px;object-fit:cover}.place-media>span{position:absolute;left:16px;top:16px;padding:7px 10px;background:#f7d247;font-size:8px;font-weight:900}.place-copy{padding:clamp(28px,4vw,52px)}.place-copy>small{color:#ef694f;font-size:8px;font-weight:900;letter-spacing:.14em}.place-copy h3{margin:12px 0;font-size:clamp(27px,3.5vw,48px);line-height:1.3}.place-copy>p{font-size:11px}.place-copy dl{margin:25px 0 13px;border-top:1px solid}.place-copy dl div{padding:8px 0;display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--line)}.place-copy dt{font-size:8px;font-weight:900}.place-copy dd{margin:0;font-size:10px;font-weight:900}.place-copy em{font-size:8px;font-style:normal}
.contact{min-height:630px;padding:110px var(--pad);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#17775f;color:#fffdf4}.contact>p{margin:0;color:#f7d247;font-size:9px;font-weight:900;letter-spacing:.17em}.contact h2{margin:20px 0;font-family:var(--display);font-size:clamp(45px,6vw,82px);line-height:1.3}.contact>span{font-size:12px}.contact button{margin-top:30px;padding:16px 27px;border:0;background:#ef694f;color:white;box-shadow:5px 6px 0 #0c352d;cursor:pointer;font-weight:900}footer{padding:44px var(--pad);display:grid;grid-template-columns:1fr auto auto;gap:38px;background:#102d27;color:#fffdf4;font-size:10px}
.event-dialog{width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.42);overflow:auto}.event-dialog[open]{display:grid;grid-template-columns:.82fr 1.18fr;animation:modal-in .3s cubic-bezier(.2,.8,.2,1)}.event-dialog::backdrop{background:rgba(10,37,31,.72);backdrop-filter:blur(4px)}.event-dialog>button{position:absolute;z-index:3;right:12px;top:12px;width:40px;height:40px;border:1px solid;border-radius:50%;background:var(--paper);cursor:pointer;font-size:23px}.event-dialog>img{height:100%;min-height:600px;object-fit:cover;object-position:center}.event-dialog>div{padding:60px;align-self:center}.event-dialog>div>small{color:#ef694f;font-size:8px;font-weight:900}.event-dialog h2{margin:18px 0;font-size:clamp(34px,4vw,54px);line-height:1.25}.event-dialog p{font-size:12px}.event-dialog dl{margin:28px 0;border-top:1px solid}.event-dialog dl div{padding:9px 0;display:grid;grid-template-columns:75px 1fr;border-bottom:1px solid var(--line)}.event-dialog dt{font-size:8px;font-weight:900}.event-dialog dd{margin:0;font-weight:900}.event-dialog em{font-size:8px;font-style:normal}.event-dialog.empty[open]{display:block;width:min(600px,calc(100% - 32px))}.event-dialog.empty>img{display:none}.event-dialog.empty>div{padding:90px 60px;text-align:center}.toast{position:fixed;z-index:120;left:50%;bottom:22px;padding:12px 18px;background:var(--ink);color:white;font-size:10px;opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes hero-in{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes modal-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:980px){.hero{min-height:960px}.hero-copy{padding-top:75px}.chapter-nav{grid-template-columns:1fr 1fr}.chapter-nav a{min-height:74px}.section-heading{grid-template-columns:1fr}.section-heading>p{grid-column:auto}.akiya-intro,.map-layout{grid-template-columns:1fr}.case-study{grid-template-columns:1fr 1fr}.case-study>div:first-child{grid-column:1/-1}.case-arrow{display:none}.member-row{min-height:0}.map-stage{min-height:820px}.place-panel{width:min(620px,100%);margin:auto}.renewal-concepts article{grid-template-columns:1fr}}
@media(max-width:720px){.site-header{height:68px}.brand b{font-size:12px}.brand small{display:none}.menu-button{position:relative;z-index:3;width:48px;height:48px;display:grid;gap:6px;place-content:center;border:0;background:none}.menu-button span{display:block;width:24px;height:2px;background:currentColor}.menu-button small{font-size:6px}.site-header nav{position:absolute;z-index:2;inset:68px 0 auto;height:calc(100dvh - 68px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--paper);font-size:18px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s}.menu-open .site-header nav{opacity:1;pointer-events:auto;transform:none}.hero{min-height:920px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(rgba(9,43,38,.67),rgba(9,43,38,.18) 60%,rgba(9,43,38,.02))}.hero-copy{width:calc(100% - 40px);padding-top:56px;margin-left:20px}.hero-copy h1{font-size:clamp(48px,15vw,67px)}.hero-event{right:17px;top:18px;width:88px;height:88px}.hero-event b{font-size:21px}.chapter-nav{left:16px;right:16px;bottom:18px;box-shadow:5px 6px 0 var(--ink)}.chapter-nav a{padding:12px;min-height:74px}.chapter-nav b{font-size:9px}.section{scroll-margin-top:68px}.akiya,.members,.social,.map-section{padding:80px 20px}.section-heading h2{font-size:42px}.section-heading>span{margin-top:20px}.akiya-intro{margin-top:50px;gap:40px}.case-study{margin-top:65px;grid-template-columns:1fr}.case-study>div:first-child{grid-column:auto}.member-row,.member-row.reverse{grid-template-columns:1fr}.section-heading+.member-row{margin-top:55px}.member-row.reverse figure{order:0}.member-row figure{min-height:320px}.member-row>div{padding:42px 0}.member-row dl{grid-template-columns:78px 1fr}.social-list{margin-top:50px}.social-list article{grid-template-columns:1fr}.social-list img{height:240px}.social-list article>div{padding:30px 0 44px}.map-layout{margin-top:50px}.map-stage{min-height:680px}.map-shape{width:100%}.map-pin span{display:none}.place-media img{height:280px}.place-copy{padding:28px 22px}.contact{min-height:570px;padding:85px 20px}.contact h2{font-size:41px}footer{grid-template-columns:1fr}.event-dialog[open]{display:block}.event-dialog>img{width:100%;height:260px;min-height:0;object-position:center 16%}.event-dialog>div{padding:38px 24px}.event-dialog.empty>div{padding:75px 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(min-width:981px){.section-heading{grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);gap:6vw}}
.pun i{left:23%;top:-1.54em;color:#f8d447;font-size:.52em;text-shadow:1px 1px 0 var(--ink)}
