@charset "UTF-8";
:root{--green:#386747;--deep:#264d36;--sage:#eaf0e7;--mint:#f3f6ef;--lime:#acbf79;--ink:#293e32;--text:#475349;--line:#d7e1d3;--cream:#faf9f4;--white:#fff;--radius:18px;font-size:18px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.95;letter-spacing:.035em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;letter-spacing:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink);font-weight:600}h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.65}h3{font-size:1.18rem;line-height:1.7}p+p{margin-top:1em}a:hover{color:var(--green)}:focus-visible{outline:3px solid #8b692c;outline-offset:5px}button:disabled{cursor:default}::selection{background:#dce9c8}section{scroll-margin-top:170px}.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.soft{background:var(--mint)}.cream{background:var(--cream)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.19em;margin-bottom:14px}.eyebrow:before{content:"";width:25px;height:1px;background:var(--green)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}.section-top p{margin-top:12px}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:.87rem;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line);padding-block:10px}.arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:20px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:58px;padding:12px 27px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:6px;font-weight:600;font-size:.91rem;transition:background .2s,transform .2s}.btn:hover{background:var(--deep);color:#fff;transform:translateY(-2px)}.btn.light{background:#fff;color:var(--green);border-color:var(--line)}.btn.light:hover{background:var(--sage)}.btn .arrow{width:26px;height:26px;border:0}.fine{font-size:.79rem}.muted{color:#5e6b5c}.pill{display:inline-block;padding:3px 13px;border:1px solid var(--line);border-radius:40px;font-size:.75rem;color:var(--green);background:#fff}.skip{position:fixed;top:-120px;left:12px;z-index:20;background:white;padding:10px 20px}.skip:focus{top:12px}.prototype{background:#f0f3e9;text-align:center;color:#526348;font-size:.69rem;line-height:1.7;padding:5px 12px}.site-header{position:sticky;top:0;z-index:10;background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-main{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{flex-shrink:0;width:260px}.brand img{width:260px;height:auto}.header-right{display:flex;align-items:center;gap:25px}.header-note{font-size:.67rem;letter-spacing:.03em}.header-tel{display:block;color:var(--green);font-size:1.45rem;line-height:1.4;font-weight:600;letter-spacing:.03em}.tel-symbol{font-size:.9rem;margin-right:8px}.header-contact{min-height:50px;font-size:.79rem;padding:10px 20px;gap:20px}.main-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;border-top:1px solid #edf0e9}.main-nav a{font-size:.88rem;padding:16px 5px;position:relative;font-weight:600;white-space:nowrap}.main-nav a[aria-current=page]{color:var(--green)}.main-nav a[aria-current=page]:after{content:"";position:absolute;bottom:0;left:20%;width:60%;height:3px;background:#78965b;border-radius:5px}.menu-toggle{display:none;width:50px;height:50px;border:1px solid var(--line);background:white;border-radius:7px;color:var(--green);font-size:20px}.hero{position:relative;min-height:585px;margin:22px 24px 0;border-radius:8px 8px 76px 8px;overflow:hidden;background:#e9ede1;display:flex;align-items:center}.hero-image{position:absolute;inset:0 0 0 30%;width:70%;height:100%;object-fit:cover;object-position:55% 50%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4f5ec 0%,#f4f5ec 26%,#f4f5eced 35%,#f4f5ec55 55%,transparent 71%);pointer-events:none}.hero-copy{z-index:1;position:relative;padding-block:60px;max-width:570px}.hero-copy .eyebrow{font-size:.73rem;margin-bottom:20px}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(2rem,3.4vw,3.05rem);line-height:1.75;letter-spacing:.09em;font-weight:500;color:#2c513a;white-space:pre-line}.hero-description{font-size:.94rem;line-height:2.2;margin:20px 0 28px;white-space:pre-line}.hero-caption{z-index:2;position:absolute;right:25px;bottom:18px;background:#fffffff0;color:#4d5c48;border-radius:3px;font-size:.65rem;padding:3px 9px}.hero-marker{position:absolute;left:40px;bottom:23px;z-index:2;font-size:.65rem;letter-spacing:.13em;color:#657a58}.welcome-strip{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line);padding-block:26px;gap:25px}.welcome-strip a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-inline:15px;border-right:1px solid var(--line);font-size:.84rem}.welcome-strip a:last-child{border:0}.welcome-strip span small{display:block;color:#708064;font-size:.65rem;letter-spacing:.1em}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:85px;align-items:center}.intro-art{position:relative;padding:30px 25px 25px 0}.intro-art img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:70px 10px 70px 10px}.intro-art:before{content:"";position:absolute;inset:0 0 55px 45px;border-radius:70px 10px 70px 10px;background:#eaf0e0;z-index:-1}.image-label{position:absolute;bottom:45px;left:18px;padding:4px 12px;background:#ffffffeb;border-radius:4px;font-size:.68rem}.intro-copy p{margin-top:25px;font-size:.94rem}.intro-copy .text-link{margin-top:20px}.intro h2{white-space:pre-line}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.feature{border-top:1px solid #b6c7ac;padding-top:25px}.feature-number{font-family:Georgia,serif;font-size:2.3rem;color:#779167;line-height:1.4;margin-bottom:15px;display:block}.feature p{font-size:.95rem;margin-top:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.service-card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.025)}.service-card-body{padding:25px}.service-card p{font-size:.95rem;margin-top:12px}.service-no{color:#6e865e;font-size:.7rem;letter-spacing:.14em;margin-bottom:8px}.band-link{margin-top:32px;text-align:center}.flow-preview{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 45px;background:#edf2e7;border-radius:14px;margin-top:38px}.flow-preview p{margin-top:10px;font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-card{min-width:0}.photo-button{width:100%;padding:0;border:0;background:var(--sage);display:block;position:relative;overflow:hidden;border-radius:10px;text-align:left;color:var(--ink)}.photo-button img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.04)}.photo-badge{position:absolute;left:12px;top:12px;background:#fffffff0;border-radius:4px;padding:2px 9px;font-size:.67rem}.photo-zoom{position:absolute;bottom:12px;right:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--green);font-size:22px}.gallery-card figcaption{font-size:.88rem;padding-top:15px}.gallery-card figcaption small{display:block;color:#66765d;font-size:.7rem;margin-bottom:3px}.news-layout{display:grid;grid-template-columns:260px 1fr;gap:65px}.news-row{padding:25px 0;border-top:1px solid var(--line)}.news-row:last-child{border-bottom:1px solid var(--line)}.news-meta{display:flex;gap:20px;align-items:center;margin-bottom:10px;font-size:.78rem}.news-meta time{font-family:Georgia,serif;color:#5c7056}.news-row summary{cursor:pointer;list-style:none;position:relative;padding-right:45px;line-height:1.8;font-size:.96rem;font-weight:600;color:var(--ink)}.news-row summary::-webkit-details-marker{display:none}.news-row summary:after{content:"＋";position:absolute;right:5px;top:0;color:var(--green)}.news-row[open] summary:after{content:"−"}.news-body{margin-top:20px;font-size:.88rem;white-space:pre-wrap}.contact-band{background:var(--sage);padding-block:65px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact-inner h2{font-size:1.8rem}.contact-inner p{font-size:.9rem;margin-top:12px}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:14px;border-left:1px solid #c2d0ba}.contact-phone{font-size:2rem;font-weight:600;letter-spacing:.03em;color:var(--green);line-height:1.6}.contact-actions .fine{margin-top:-10px}.site-footer{padding:55px 0 22px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:70px}.footer-brand img{width:260px}.footer-brand p{font-size:.77rem;margin-top:18px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;font-size:.78rem}.footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.66rem;color:#66735f}.breadcrumb{padding-top:25px;font-size:.72rem;color:#6d7965}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-heading{padding:45px 0 55px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:.08em;line-height:1.6}.page-heading p{max-width:760px;margin-top:15px;font-size:.94rem}.notice{padding:18px 22px;border-left:3px solid #8ca269;background:var(--mint);font-size:.85rem;margin-bottom:35px}.prose{max-width:830px}.prose h2{margin-bottom:20px}.prose p{line-height:2.15}.about-lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.75rem;color:var(--green);margin-bottom:24px}.support-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:45px}.support-item{background:white;padding:35px}.support-item p{margin-top:15px;font-size:.91rem}.quote{padding:40px;background:var(--sage);border-radius:14px;margin-top:35px}.quote p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--green);font-size:1.4rem;line-height:2}.timeline{list-style:none;padding:0;margin:40px auto 0;max-width:850px}.timeline li{display:grid;grid-template-columns:80px 1fr;gap:30px;position:relative;padding-bottom:45px}.timeline li:not(:last-child):before{content:"";position:absolute;left:28px;top:55px;bottom:0;width:1px;background:#bdcdb2}.step-number{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--sage);font:1.4rem Georgia,serif;color:var(--green)}.timeline h2{font-size:1.3rem;margin-bottom:10px}.timeline p{font-size:.95rem}.timeline img{margin-top:22px;border-radius:10px;max-width:460px;width:100%}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px}.filter{border:1px solid var(--line);background:white;color:var(--green);padding:10px 22px;min-height:48px;border-radius:30px;font-size:.88rem}.filter[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.filter-count{font-size:.8rem;margin-bottom:25px}.info-table{margin:0;border-top:1px solid var(--line)}.info-table>div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);padding:25px 15px;gap:30px}.info-table dt{font-weight:600;color:var(--ink)}.info-table dd{margin:0;font-size:.92rem}.unconfirmed{display:block;color:#795a2b;font-size:.78rem;margin-top:7px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.guide-steps article{background:white;border:1px solid var(--line);border-radius:12px;padding:30px}.guide-steps p{font-size:.88rem;margin-top:15px}.faq{margin-top:30px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-weight:600;color:var(--ink);cursor:pointer}.faq p{margin-top:15px;font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px}.contact-box{padding:35px;background:var(--mint);border-radius:12px}.contact-box p{margin-top:12px;font-size:.88rem}.contact-box a{overflow-wrap:anywhere}.contact-email{font-size:1rem;letter-spacing:0;text-decoration:underline;text-underline-offset:5px}.map-panel{margin-top:35px;min-height:330px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#f1f4ed,#f1f4ed 22px,#edf1e8 22px,#edf1e8 23px);border:1px solid var(--line);border-radius:12px;text-align:center;padding:35px}.map-panel p{margin:10px 0 22px;font-size:.87rem}.map-panel iframe{width:100%;height:360px;border:0;border-radius:8px}.map-panel.loaded{display:block;padding:0;overflow:hidden;background:white}.map-mark{font-size:2.3rem;color:var(--green);line-height:1.4}.contact-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.dialog{padding:0;width:min(900px,calc(100% - 32px));max-height:90vh;border:0;border-radius:14px;box-shadow:0 20px 100px #19301d44;background:#fff;color:var(--text)}.dialog::backdrop{background:#16281cd1}.dialog-photo{width:100%;max-height:62vh;object-fit:contain;background:var(--sage)}.dialog-copy{padding:22px 30px 30px}.dialog-copy p{margin-top:10px;font-size:.9rem}.dialog-close{position:absolute;right:12px;top:12px;width:46px;height:46px;background:white;border:1px solid var(--line);border-radius:50%;font-size:25px;color:var(--green)}.preview-note{background:#fff4d9;color:#60491c;text-align:center;padding:12px;font-size:.8rem}.empty{padding:35px;background:var(--mint);border-radius:10px}.image-failed{background:var(--sage)}.back-top{text-decoration:underline;text-underline-offset:4px}.no-js{padding:30px;background:#fff4d9}.photo-privacy{margin-top:35px;font-size:.8rem;color:#5d6d56;max-width:800px}.source-note{font-size:.76rem;color:#64705d;margin-top:30px}.large-text{font-size:21px}.text-size{background:transparent;border:1px solid var(--line);border-radius:4px;padding:4px 8px;color:var(--green);font-size:.67rem;min-height:34px}.desktop-only{display:block}
@media(min-width:1600px){.hero{min-height:660px}.hero-image{object-position:center 56%}}
@media(max-width:1080px){.container{width:calc(100% - 56px)}.header-right{gap:15px}.brand,.brand img{width:235px}.header-note{font-size:.61rem}.header-tel{font-size:1.25rem}.header-contact{font-size:.72rem;padding:10px 15px}.main-nav a{font-size:.84rem}.hero{margin-inline:16px;min-height:530px}.hero-copy{max-width:490px}.hero h1{font-size:2.4rem}.intro{gap:45px}.service-card-body{padding:20px}.news-layout{gap:35px;grid-template-columns:220px 1fr}.contact-phone{font-size:1.8rem}}
@media(max-width:980px){:root{font-size:17px}.container{width:calc(100% - 40px)}.section{padding-block:65px}.header-main{min-height:85px}.brand,.brand img{width:220px}.header-right{margin-left:auto}.header-right .header-phone,.header-contact,.desktop-only{display:none}.menu-toggle{display:block}.main-nav{display:none;border-top:1px solid var(--line);padding:12px 0 20px;min-height:0}.main-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.main-nav a{font-size:.86rem;white-space:normal;padding:13px 8px;border-bottom:1px solid var(--line)}.main-nav a[aria-current=page]:after{display:none}.main-nav a[aria-current=page]{background:var(--mint)}.hero{min-height:600px;display:block;border-radius:8px 8px 45px 8px;margin:14px 12px 0}.hero-image{inset:0;width:100%;height:100%;object-position:62% center}.hero:after{background:linear-gradient(90deg,#f5f6edea 0%,#f5f6edd9 26%,#f5f6ed33 90%)}.hero-copy{padding:55px 10px 75px;max-width:530px}.hero h1{font-size:2.45rem}.hero-caption{font-size:.59rem;right:13px;bottom:14px;left:14px;width:fit-content}.hero-marker{display:none}.welcome-strip{gap:12px;padding-block:20px}.welcome-strip a{font-size:.78rem;padding-inline:4px;gap:6px}.welcome-strip .arrow{width:27px;height:27px;font-size:16px}.welcome-strip span small{font-size:.58rem}.intro{grid-template-columns:1fr;gap:35px}.intro-art{max-width:520px;margin:auto;order:2;padding-bottom:0}.intro-art img{aspect-ratio:1.8}.image-label{bottom:15px}.features{gap:25px}.feature h3{font-size:1.05rem}.service-grid{grid-template-columns:repeat(2,1fr);gap:20px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}.home-gallery .gallery-card:last-child{display:none}.news-layout{grid-template-columns:1fr;gap:25px}.news-layout .text-link{margin-top:15px}.contact-inner{grid-template-columns:1fr;gap:30px;text-align:center}.contact-actions{border:0;border-top:1px solid #c2d0ba;padding-top:25px}.footer-main{gap:30px}.footer-links{gap:15px;font-size:.72rem}.info-table>div{grid-template-columns:160px 1fr;gap:20px;padding-inline:0}.contact-grid{gap:20px}.contact-box{padding:25px}.contact-box .contact-phone{font-size:1.55rem}.contact-email{font-size:.87rem}.guide-steps{gap:15px}.guide-steps article{padding:22px}.flow-preview{padding:30px;gap:20px}.support-item{padding:28px}.large-text{font-size:20px}}
@media(max-width:520px){.container{width:calc(100% - 36px)}.prototype{font-size:.58rem}.header-main{min-height:76px;gap:12px}.brand,.brand img{width:208px}.header-right{gap:6px}.menu-toggle{width:45px;height:45px}.hero{min-height:605px}.hero-copy{padding:40px 2px 95px}.hero .eyebrow{font-size:.65rem}.hero h1{font-size:clamp(1.4rem,7.2vw,2.02rem);letter-spacing:.07em;line-height:1.85}.hero-description{font-size:.91rem;line-height:2.1;margin-block:20px 25px}.hero:after{background:linear-gradient(180deg,#f6f6eef7 0%,#f6f6eef0 49%,#f6f6ee33 82%,transparent 100%)}.hero-image{object-position:67% center}.hero .btn{min-height:54px;font-size:.86rem}.hero-caption{font-size:.55rem;max-width:calc(100% - 28px)}.welcome-strip{grid-template-columns:1fr;padding:12px 0;gap:0}.welcome-strip a{border-right:0;border-bottom:1px solid var(--line);padding:11px 5px;font-size:.84rem}.welcome-strip span{display:flex;align-items:center;gap:18px}.welcome-strip span small{font-size:.62rem;min-width:65px}.welcome-strip .arrow{width:27px;height:27px}.section-top{display:block;margin-bottom:30px}.section-top .text-link{margin-top:12px}.section-top p{font-size:.9rem}.features{grid-template-columns:1fr;gap:30px}.feature{display:grid;grid-template-columns:55px 1fr;gap:0 16px;padding-top:20px}.feature-number{grid-row:1/3;font-size:1.95rem}.feature p{margin-top:8px;font-size:.92rem}.feature h3{font-size:1.14rem}.service-grid{grid-template-columns:1fr;gap:22px}.service-card img{aspect-ratio:1.9}.service-card-body{padding:23px}.service-card p{font-size:.92rem}.service-no{margin-bottom:5px}.flow-preview{display:block;padding:28px}.flow-preview .btn{margin-top:20px}.gallery-grid{gap:25px 14px}.photo-button img{aspect-ratio:1.05}.photo-badge{left:7px;top:7px;font-size:.6rem;padding:1px 7px}.gallery-card figcaption{font-size:.85rem;line-height:1.8}.photo-zoom{width:28px;height:28px;font-size:18px;bottom:8px;right:8px}.news-meta{gap:12px;flex-wrap:wrap}.news-row summary{font-size:.94rem}.contact-inner h2{font-size:1.6rem}.contact-inner p{font-size:.91rem}.contact-phone{font-size:1.8rem}.contact-band{padding-block:45px}.footer-main{grid-template-columns:1fr;gap:30px}.footer-brand img{width:230px}.footer-links{font-size:.8rem}.footer-bottom{display:block;margin-top:30px}.footer-bottom .back-top{display:inline-block;margin-top:15px}.page-heading{padding:30px 0 40px}.page-heading h1{font-size:1.85rem}.page-heading p{font-size:.91rem}.support-list{grid-template-columns:1fr;margin-top:30px}.support-item{padding:27px}.about-lead{font-size:1.4rem}.quote{padding:25px}.quote p{font-size:1.18rem}.timeline li{grid-template-columns:50px 1fr;gap:18px;padding-bottom:35px}.step-number{width:46px;height:46px;font-size:1.2rem}.timeline li:not(:last-child):before{left:23px;top:46px}.timeline h2{font-size:1.18rem}.info-table>div{grid-template-columns:1fr;gap:10px;padding-block:22px}.guide-steps{grid-template-columns:1fr;gap:20px}.contact-grid{grid-template-columns:1fr}.filter{padding:8px 17px;font-size:.8rem}.filters{gap:8px}.map-panel{padding:25px;min-height:300px}.dialog-copy{padding:20px}.dialog-copy h2{font-size:1.35rem}.notice{font-size:.85rem;padding:16px 18px}.large-text{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.prototype,.site-header,.site-footer,.contact-band,.filters,.dialog,.menu-toggle,.btn,.preview-note{display:none!important}.section{padding-block:25px}.container{width:100%}.hero{min-height:350px}body{font-size:12pt}a{text-decoration:underline}.gallery-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.gallery-card{break-inside:avoid}}
