@font-face{font-family:Komadori;src:url('fonts/komadori-mini.otf') format('opentype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#594c43;background:#fffdf8;font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;font-weight:500;line-height:1.9}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #a44c33;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,.brand>span,.about-stamp{font-family:'Yu Gothic','Hiragino Maru Gothic ProN',sans-serif}h2{font-size:36px;line-height:1.6;font-weight:500;letter-spacing:.04em}.header{height:106px;padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffdf8;position:sticky;top:0;z-index:20;border-bottom:1px solid #ece6da}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.3;white-space:nowrap}.brand small{font-size:11px;letter-spacing:.18em}.brand>span{font-size:33px}.brand b{font:600 14px 'Yu Gothic',sans-serif;margin-left:10px;background:#f7dfa6;padding:5px 8px;border-radius:7px}.dot{color:#d89746}nav{display:flex;align-items:center;gap:24px}nav a{font-size:12px;text-decoration:none;font-weight:700}.nav-contact{background:#677d58;color:white;padding:13px 20px;border-radius:30px}.menu-button{display:none}.hero{background:#faf4e5;position:relative;overflow:hidden;padding-top:38px}.hero-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:20px 26px 30px;min-height:515px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#6b7f5d;margin-bottom:20px}h1{font-size:clamp(32px,3.5vw,50px);font-weight:500;line-height:1.65;letter-spacing:.04em;margin-bottom:24px}h1>span{color:#d99d48}.hero-description{font-size:15px;margin-bottom:28px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:35px;background:#677d58;color:#fff;padding:15px 26px;border-radius:40px;text-decoration:none;font-weight:700;font-size:14px;cursor:pointer;min-height:50px}.button:hover,.nav-contact:hover{background:#4f6343}.hero-art{position:relative;height:450px}.art-circle{position:absolute;width:390px;height:390px;top:22px;left:55px;background:#f2dfa6;border-radius:48% 52% 57% 43%}.art-word{position:absolute;z-index:2;top:43px;left:60px;color:#8a754e;font-size:27px;line-height:1.2;font-family:Georgia,serif;font-style:italic;transform:rotate(-8deg)}.character{position:absolute;object-fit:contain;filter:drop-shadow(0 8px 0 #594c4306)}.st{height:350px;right:25px;top:8px;transform:rotate(5deg)}.ot{height:245px;left:4px;bottom:2px;transform:rotate(-8deg)}.pt{height:240px;left:130px;bottom:-10px}.cp{height:200px;right:-10px;bottom:-15px;transform:rotate(7deg)}.opening{position:relative;z-index:3;max-width:1100px;margin:0 auto 24px;background:#fffdf9;box-shadow:0 8px 30px #66553608;border:1px solid #eadfc4;border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:21px 30px;gap:20px}.opening>div{display:flex;align-items:center;gap:16px}.opening-label{font-size:11px;letter-spacing:.15em;color:#a17b44}.opening strong{font-size:15px}.opening strong span{font-size:28px;margin-right:3px}.opening a{font-size:12px}.pill{background:#f5e6c3;border-radius:25px;padding:4px 12px;font-size:12px}.trees{display:block;width:100%;height:auto}.section{padding:95px 24px}.container{max-width:1100px;margin:auto}.narrow{max-width:800px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.prose p{margin-bottom:24px;font-size:15px;line-height:2.1}.prose strong{background:linear-gradient(transparent 65%,#f1dfaa 65%)}.about-stamp{margin-top:25px;display:inline-flex;align-items:center;gap:20px;font-size:32px;color:#9b876a}.about-stamp span{font:600 12px 'Yu Gothic',sans-serif;border:1px solid #cbbfa9;border-radius:50%;padding:13px}.programs{background:#f2f4ed}.section-heading{text-align:center;margin-bottom:46px}.section-heading h2{margin-bottom:16px}.section-heading>p:last-child{font-size:14px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.program-card{position:relative;padding:25px 22px;border-radius:90px 90px 16px 16px;background:#fffdf8}.program-card img{height:180px;object-fit:contain;display:block;margin:20px auto 25px}.number{position:absolute;left:24px;top:26px;font-family:Georgia,serif;color:#b7a88e;font-size:20px}.specialist{font-size:12px;display:inline-block;border-radius:20px;padding:3px 12px;margin-bottom:10px}.yellow .specialist{background:#f7e6aa}.pink .specialist{background:#f2d6d1}.blue .specialist{background:#dce8e7}.green .specialist{background:#e0e8cd}.program-card h3{font-size:16px;line-height:1.6;margin-bottom:12px}.program-card>p:last-child{font-size:13px;line-height:1.9}.activities{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.activities>div{padding-left:20px;border-left:3px solid #b1c0a3}.activities h3{font-size:16px;margin-bottom:8px}.activities p{font-size:13px;margin:0}.flow-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.flow-grid li{border-top:1px solid #d8cebb;padding-top:20px}.flow-grid span{font:italic 37px Georgia,serif;color:#bb995f}.flow-grid h3{font-size:18px;margin:16px 0}.flow-grid p{font-size:14px}.access{background:#f8f2e6}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.info{margin:0}.info>div{display:grid;grid-template-columns:110px 1fr;gap:10px;border-bottom:1px solid #e4dbcc;padding:13px 0;font-size:14px}.info dt{font-weight:700}.info dd{margin:0}.info small{display:block;font-size:11px;color:#786d63}.map-panel{background:#fff;border:8px solid #fff;border-radius:15px;overflow:hidden;align-self:start}.map-panel iframe{display:block;width:100%;height:390px;border:0}.map-panel>a{display:block;padding:12px;text-align:center;font-size:13px}.faq details{border-bottom:1px solid #dfd8ca;padding:22px 4px}.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;align-items:center;gap:18px}.faq summary::before{content:'Q';color:#9a7d4c;font:24px Georgia,serif}.faq summary::after{content:'＋';margin-left:auto;color:#687e59}.faq details[open] summary::after{content:'−'}.faq details p{font-size:14px;margin:18px 30px 0}.contact{background:#edf1e7}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.telephone{text-align:center;padding-top:20px}.telephone img{height:200px;object-fit:contain;margin-bottom:26px}.telephone h3{font-size:15px}.phone{font-size:clamp(22px,3vw,33px);text-decoration:none;letter-spacing:.035em;font-weight:700}.telephone p{font-size:12px;margin-top:15px}.form-panel{background:#fffdf8;padding:35px;border-radius:20px}.form-panel h3{font-size:18px}.form-note{font-size:12px;color:#72695d;line-height:1.8}.form-panel label{display:block;font-size:13px;font-weight:700;margin-top:18px}.form-panel label>span{font-size:10px;color:#976446;margin-left:10px}.form-panel input,.form-panel select,.form-panel textarea{width:100%;display:block;border:1px solid #d7d4c8;background:#fff;border-radius:7px;padding:10px 12px;margin-top:7px;font-size:16px;color:#594c43}.form-panel textarea{resize:vertical}.form-panel .button{width:100%;margin-top:10px}#confirmation-content dt{font-size:12px;font-weight:700;margin-top:18px}#confirmation-content dd{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}footer{text-align:center;padding:55px 24px;background:#fffdf8}footer .brand{align-items:center}footer>p{font-size:13px;margin-top:20px}.footer-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-size:12px;margin:22px 0}footer>small{font-size:10px;color:#918374}.mobile-only,.mobile-cta{display:none}.skip{position:fixed;top:-100px;left:10px;z-index:50;background:white;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:1100px){nav{gap:14px}nav a{font-size:11px}.opening{margin-left:24px;margin-right:24px;flex-wrap:wrap}.hero-art{transform:scale(.9);transform-origin:center}.program-grid{gap:12px}.program-card{padding:25px 15px}.opening>div{flex-wrap:wrap}}@media(max-width:780px){html{scroll-padding-top:80px}.header{height:80px;padding:12px 20px}.brand>span{font-size:27px}.brand small{font-size:10px}.menu-button{display:block;border:1px solid #ded6c4;background:transparent;border-radius:24px;padding:8px 13px;font-size:12px;color:inherit}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fffdf8;padding:24px;box-shadow:0 10px 15px #594c4310}nav.open{display:flex;flex-direction:column;align-items:stretch}nav a{font-size:14px;padding:9px}.nav-contact{text-align:center}.hero{padding-top:20px}.hero-inner{grid-template-columns:1fr;padding:20px 24px 0;min-height:0}.hero-copy{text-align:center}.eyebrow{font-size:10px;margin-bottom:16px}h1{font-size:clamp(26px,7.8vw,34px);margin-bottom:20px}.hero-description{font-size:13px}.hero-art{height:350px;max-width:430px;width:100%;margin:auto;transform:none}.art-circle{width:290px;height:290px;left:calc(50% - 145px);top:30px}.art-word{font-size:22px;left:15%;top:50px}.st{height:265px;right:8%;top:25px}.ot{height:180px;left:2%;bottom:0}.pt{height:190px;left:30%;bottom:0}.cp{height:155px;right:0;bottom:0}.opening{margin:15px 20px 20px;padding:18px;gap:12px}.opening>div{gap:10px;justify-content:center;width:100%}.opening-label{font-size:9px}.opening strong span{font-size:23px}.opening strong{font-size:13px}.opening>div>span:last-child{font-size:12px}.opening>div:nth-child(2){border-top:1px solid #eee2c9;padding-top:12px}.trees{height:auto}.section{padding:65px 22px}h2{font-size:29px}.about-grid{grid-template-columns:1fr;gap:20px}.about-stamp{display:none}.prose p{font-size:14px}.section-heading{margin-bottom:30px}.program-grid{grid-template-columns:1fr 1fr;gap:14px}.program-card{border-radius:60px 60px 13px 13px;padding:18px 16px}.program-card img{height:145px;margin:22px auto 20px}.program-card h3{font-size:14px}.program-card>p:last-child{font-size:12px}.number{left:18px;font-size:18px}.activities,.flow-grid,.access-grid,.contact-grid{grid-template-columns:1fr;gap:24px}.activities{margin-top:30px}.flow-grid li{padding-top:12px}.flow-grid span{font-size:28px}.flow-grid h3{margin:10px 0}.info>div{grid-template-columns:90px 1fr;font-size:13px}.map-panel iframe{height:300px}.faq summary{font-size:14px;gap:12px}.faq details p{margin-left:0}.form-panel{padding:25px 20px}.telephone{padding-top:0}.telephone img{height:160px}.phone{font-size:30px}.mobile-only{display:block}.mobile-cta{display:block;position:fixed;bottom:12px;left:20px;right:20px;text-align:center;padding:12px;background:#677d58;color:#fff;border-radius:30px;text-decoration:none;font-size:14px;font-weight:700;z-index:15;box-shadow:0 4px 20px #39492b26}footer{padding-bottom:100px}.footer-links{gap:12px}h1{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.consent{display:flex!important;gap:8px;align-items:center}.consent input{width:auto!important;margin:0!important}.honeypot{display:none!important}.button:disabled{opacity:.55;cursor:not-allowed}



