@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--cream:#f7f5ef;--ink:#262f2b;--muted:#66716b;--green:#244d40;--line:#dedfd7;--card:#fffefa;--sage:#dce5dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 max(28px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(247,245,239,.95);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-family:'Noto Serif JP',serif;font-size:23px;font-weight:700;white-space:nowrap}.brand small{font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:.15em;margin-left:6px;font-weight:500}.brand-mark{width:39px;height:39px;background:var(--green);color:white;border-radius:50%;display:grid;place-items:center;font-size:21px}.nav{display:flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.08em}.nav a:hover,.text-link:hover{color:#648974}.nav-contact{background:var(--green);color:white!important;padding:12px 20px}.menu-button{display:none}.hero{min-height:670px;max-width:1540px;margin:auto;padding:74px max(28px,calc((100vw - 1320px)/2)) 86px;display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:50px}.eyebrow,.section-label,.mini-title{font-size:11px;letter-spacing:.18em;color:#667b6c;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;background:#9fba83;border-radius:50%;margin-right:8px}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(55px,6.5vw,100px);line-height:1.35;letter-spacing:.07em;margin:28px 0 16px;font-weight:600}.hero h1 em{font-style:normal;color:#527b63}.hero-sub{font-family:'Noto Serif JP',serif;font-size:clamp(18px,2.1vw,27px);line-height:1.8;margin:0 0 18px}.lead{max-width:500px;color:var(--muted);font-size:14px;line-height:2.2}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:30px 0}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 26px;font-size:13px;font-weight:700;letter-spacing:.04em;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-quiet{color:var(--green)}.hero-note{font-size:11px;color:#7e857c;max-width:490px}.hero-art{min-height:560px;position:relative;overflow:hidden;background:linear-gradient(155deg,#dbe6df,#e8e5d7 80%);border-radius:240px 240px 5px 5px}.sun{position:absolute;width:230px;height:230px;background:#efe3c5;border-radius:50%;top:82px;left:15%}.art-caption{position:absolute;top:26px;left:0;right:0;text-align:center;letter-spacing:.27em;font-size:10px;color:#60796b}.building{position:absolute;bottom:88px;left:22%;width:60%;height:300px;filter:drop-shadow(15px 13px 0 #b6c7b7)}.roof{position:absolute;top:0;left:-5%;width:110%;height:110px;background:#5c746a;clip-path:polygon(50% 0,100% 100%,0 100%)}.house{position:absolute;top:100px;left:5%;width:90%;height:205px;background:#f7f0df;border:10px solid #657a70}.windows{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;position:absolute;left:12%;top:19px;width:76%;height:100px}.windows span{background:#b4ccc3;border:7px solid #63786e}.door{position:absolute;bottom:0;left:38%;width:24%;height:69px;background:#899f92}.land{position:absolute;height:95px;width:130%;left:-15%;background:#b6c9af;border-radius:50% 50% 0 0;bottom:-25px}.art-bottom{position:absolute;bottom:22px;right:28px;font-size:12px;color:#40594b}.section{max-width:1280px;margin:0 auto;padding:110px 40px}.section h2{font-family:'Noto Serif JP',serif;font-weight:600;font-size:clamp(31px,3.2vw,46px);line-height:1.6;letter-spacing:.04em;margin:22px 0}.section p{color:var(--muted);font-size:15px;line-height:2.2}.section-intro{display:grid;grid-template-columns:.4fr 1fr;gap:30px;border-top:1px solid var(--line)}.section-intro>div:last-child{max-width:670px}.section-flow{max-width:none;background:#e8ebe3;padding:100px max(40px,calc((100vw - 1200px)/2))}.section-head{text-align:center}.section-head p{font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:48px}.step{min-height:310px;background:var(--card);padding:33px}.step-no{color:#809989;font-size:12px;letter-spacing:.2em}.step-symbol{font-size:51px;font-family:serif;color:#83a08c;margin:24px 0 7px;line-height:1}.step h3{font-size:20px;font-family:'Noto Serif JP',serif;margin:13px 0}.step p{font-size:13px}.fineprint{margin-top:25px!important;font-size:11px!important;text-align:center}.section-detail{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.detail-card{background:#e8ece4;padding:48px}.detail-card ul{padding-left:20px;margin-bottom:0}.detail-card li{padding:13px 0;border-bottom:1px solid #ccd5cb;font-size:14px}.text-link{display:inline-block;margin-top:20px;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:6px;font-size:14px;font-weight:700}.ready{max-width:none;background:var(--green);color:white;text-align:center;padding:100px 25px}.ready .eyebrow,.ready p{color:#d1ded5}.ready h2{margin:15px 0}.ready p{max-width:690px;margin:0 auto 25px}.ready-tag{font-size:12px;display:inline-block;border:1px solid #9eb4a6;padding:10px 17px}.footer{padding:42px max(30px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.footer p,.footer small{font-size:12px;color:var(--muted)}.faq-page{max-width:900px;min-height:75vh;padding:95px 30px 110px;margin:0 auto}.faq-page h1{font-family:'Noto Serif JP',serif;font-size:clamp(38px,5vw,62px);margin:15px 0}.faq-lead{color:var(--muted);max-width:650px}.faq-list{margin:46px 0}.faq-list details{border-top:1px solid var(--line);padding:21px 4px}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:'＋';color:var(--green)}.faq-list details[open] summary:after{content:'－'}.faq-list details p{font-size:14px;color:var(--muted);line-height:2.1}
@media(max-width:860px){.hero{grid-template-columns:1fr;padding:45px 24px 70px;gap:35px}.hero-art{min-height:430px;max-width:610px;width:100%;margin:auto}.building{height:270px;bottom:60px}.section{padding:75px 25px}.section-intro,.section-detail{grid-template-columns:1fr;gap:22px}.section-flow{padding:75px 25px}.steps{grid-template-columns:1fr}.step{min-height:0}.site-header{height:74px;padding:0 22px}.menu-button{display:block;border:1px solid var(--line);background:none;padding:10px 12px;color:var(--ink)}.nav:not(.nav-static){display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);padding:22px;flex-direction:column;align-items:stretch;box-shadow:0 15px 22px #0001;gap:15px}.nav.is-open{display:flex}.footer{padding:35px 25px;flex-direction:column;align-items:flex-start}.detail-card{padding:25px}}
