@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#f8f7f2;--ink:#263e32;--muted:#6c746c;--line:#d8dcd2;--accent:#a29675;--serif:'Noto Serif JP',Georgia,serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bb914d;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}img{display:block;width:100%;height:100%;object-fit:cover}.preview-banner{background:#e9ece4;text-align:center;font-size:10px;letter-spacing:.07em;padding:7px 16px}.preview-banner span{margin-left:18px;color:#596557}.header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 4.6%;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e7df}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:41px;height:41px;font-family:var(--serif);font-size:25px}.brand-text{font-family:var(--serif);font-size:17px;letter-spacing:.08em}.brand-text small{display:block;font-family:var(--sans);font-size:7px;letter-spacing:.14em;margin-top:3px}.header nav{display:flex;align-items:center;gap:29px;font-size:11px}.header nav>a:hover{color:#839174}.nav-cta{border:1px solid var(--line);padding:10px 23px}.nav-cta span{margin-left:24px}.menu-toggle{display:none}.hero{height:690px;max-height:calc(100svh - 98px);min-height:550px;position:relative;color:white;overflow:hidden}.hero-photo{position:absolute;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,29,20,.67),rgba(15,29,20,.18)),linear-gradient(0deg,rgba(15,29,20,.3),transparent 35%)}.hero-content{position:absolute;left:8%;top:18%;max-width:850px}.eyebrow{font-size:10px;font-family:var(--sans);font-weight:500;letter-spacing:.19em;margin-bottom:25px}.light{color:#e1e4d5}.hero h1{font-size:clamp(32px,3.4vw,54px);line-height:1.65;letter-spacing:.13em;text-shadow:0 2px 24px #13231960}.hero-description{font-size:13px;line-height:2.3;margin:25px 0 35px;letter-spacing:.08em}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:16px 24px;font-size:11px;letter-spacing:.05em;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.cream{background:var(--paper);color:var(--ink)}.cream:hover{background:#e5eadf}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#3c5546}.outline{border-color:#b8c0b1}.outline:hover{background:#e9ede2}.hero-foot{position:absolute;bottom:25px;left:4.6%;right:4.6%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#d9ddcf}.hero-foot span:nth-child(2){letter-spacing:.03em}.section{padding:100px 8%;scroll-margin-top:5px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:7%;padding-top:105px;padding-bottom:105px}.section-label>span{font-size:10px;letter-spacing:.15em}.section-label>p{font-family:var(--serif);font-size:20px;line-height:1.9;margin-top:25px}h2{font-size:clamp(26px,2.6vw,38px);line-height:1.7;letter-spacing:.08em}.intro-content>p{max-width:650px;margin-top:24px;font-size:13px;color:#5b665c;line-height:2.3}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.principles span{color:#8b957d;font-size:10px}.principles h3{font-size:16px;margin:7px 0 13px}.principles p{font-size:10px;color:var(--muted);line-height:2}.plans{background:#eef0e7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:50px}.section-heading>p{font-size:12px;color:#66715f;line-height:2.1}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{position:relative;border:1px solid #ccd3c3;padding:35px 28px 28px;background:var(--paper);display:flex;flex-direction:column}.plan-en{font-size:9px;letter-spacing:.2em;color:#7f8a73;margin-bottom:10px}.plan h3{font-size:21px}.plan-sub{font-size:10px;color:var(--muted);margin-top:10px}.price{margin-top:30px;display:flex;align-items:baseline;gap:9px}.price>span{font-family:Georgia,serif;font-size:41px;font-weight:400;letter-spacing:-.03em}.price small{font-size:10px}.price-note{font-size:9px;color:#6a7465}.plan-detail{margin:30px 0;border-top:1px solid var(--line);padding-top:20px;flex:1}.plan-detail>p{font-size:10px;color:#75816c}.plan ul{list-style:none;padding:0;margin:18px 0 0;font-size:11px;line-height:2.6}.plan li:before{content:'✓';color:#8c9e7c;margin-right:10px}.plan .button{width:100%}.featured{border-color:var(--ink);background:#fcfcf7}.plan-tag{position:absolute;top:-25px;left:-1px;right:-1px;height:25px;display:grid;place-items:center;background:var(--ink);color:white;font-size:9px;letter-spacing:.07em}.notice{margin-top:30px;display:grid;grid-template-columns:230px 1fr;gap:20px;font-size:10px;line-height:2;color:#65725f}.notice>span{font-weight:500}.season-story{height:400px;position:relative;color:white;overflow:hidden}.season-story:after{content:'';position:absolute;inset:0;background:#142e24a6}.season-story>div{position:absolute;z-index:1;left:8%;top:22%}.season-story h2{font-size:31px}.season-story>div>p:last-child{margin-top:22px;font-size:11px;line-height:2.2}.filter-bar{display:flex;gap:8px;margin-bottom:25px;flex-wrap:wrap}.filter-bar button{padding:9px 20px;background:transparent;border:1px solid var(--line);color:#61705f;font-size:10px;border-radius:2px}.filter-bar button.active{background:var(--ink);color:white;border-color:var(--ink)}.service-list article{display:grid;grid-template-columns:55px 1fr 180px;align-items:center;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.service-list article[hidden]{display:none}.service-number{font-family:Georgia,serif;color:#8d9a80;font-size:20px}.service-list h3{font-size:17px;margin-bottom:8px}.service-list p{font-size:11px;color:var(--muted);max-width:670px}.quote{font-family:var(--serif);font-size:15px;text-align:right}.quote small{display:block;font-family:var(--sans);color:var(--muted);font-size:9px;margin-top:6px}.fine-print{font-size:10px;color:var(--muted);margin-top:24px}.area{background:#ebece3;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.area-copy>p:not(.eyebrow){font-size:12px;line-height:2.2;margin-top:23px;color:#64725e}.text-link{display:inline-block;font-size:11px;border-bottom:1px solid #839174;padding-bottom:7px;margin-top:28px}.area-copy>small{display:block;margin-top:25px;font-size:9px;color:var(--muted)}.area-art{height:375px;position:relative;background:#e3e8d9;border:1px solid #d4dbc8;overflow:hidden}.contour{position:absolute;border:1px solid #c1cbb2;transform:rotate(-24deg);border-radius:40%;width:520px;height:250px;left:-60px;top:50px}.c2{width:420px;height:180px;left:20px;top:80px}.c3{width:630px;height:350px;left:-115px;top:10px}.map-label{position:absolute;left:24px;top:20px;font-size:10px;letter-spacing:.2em;color:#7c8b6c}.map-place{position:absolute;font-size:12px;background:#f8f7f2d9;padding:5px 13px;border:1px solid #d0d7c5}.p1{top:75px;left:57%}.p2{top:155px;left:32%}.p3{top:165px;left:65%}.p4{top:235px;left:12%}.p5{top:265px;left:56%}.map-caption{position:absolute;left:24px;bottom:20px;color:#859279;font-size:9px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;gap:35px}.steps article{border-top:1px solid #bcc7b2;padding-top:20px}.steps span{font-family:Georgia,serif;font-size:27px;color:#88967c}.steps h3{font-size:17px;margin:18px 0 14px}.steps p{color:#697563;font-size:11px}.about{background:var(--ink);color:#eef0e7;display:grid;grid-template-columns:1fr 1fr;gap:8%}.about>div>p:not(.eyebrow){font-size:12px;line-height:2.3;margin-bottom:20px;color:#c6d0c0}dl{margin:30px 0 0}dl>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:12px 0;border-top:1px solid #ffffff26;font-size:10px}dt{color:#b1c1a9}dd{margin:0}.faq{display:grid;grid-template-columns:1fr 2fr;gap:6%}.faq h2{font-size:27px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:20px 28px 20px 0;font-size:12px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:22px;top:15px;color:#88937c}details[open] summary:after{content:'−'}.faq details>p{font-size:11px;color:var(--muted);padding-bottom:22px;line-height:2.1}.contact{background:#e9eddf;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.contact-copy>p:not(.eyebrow){margin-top:20px;font-size:12px;color:#64725e}.form-notice{margin-top:40px;padding:20px;border:1px solid #c6cfba;font-size:10px;line-height:2}.form-notice strong{font-weight:500}.form-notice p{margin-top:8px;color:#65745c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{display:block;font-size:11px;margin-bottom:20px}form label>span{font-size:8px;color:#778265;margin-left:8px}input,select,textarea{display:block;border:1px solid #c4cdb8;background:#f8faf3;color:var(--ink);width:100%;padding:12px;margin-top:8px;border-radius:0;font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #769163;outline-offset:2px}textarea{resize:vertical}.privacy-note{font-size:9px;color:#69785f;margin-bottom:20px}.submit{width:100%;border:none}.submit-note{display:block;font-size:9px;text-align:center;margin-top:8px;color:var(--muted)}footer{padding:50px 8% 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-brand{font-family:var(--serif);font-size:16px}.footer-brand small{display:block;font-family:var(--sans);font-size:9px;margin-top:6px}footer>div{display:flex;justify-content:flex-end;gap:25px;font-size:10px}footer>p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:8px;color:var(--muted);letter-spacing:.05em}dialog{width:min(620px,calc(100% - 32px));max-height:85svh;border:1px solid var(--line);padding:40px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#122c22aa;backdrop-filter:blur(3px)}dialog h2{font-size:25px}dialog>p:not(.eyebrow){font-size:11px;margin-top:15px}.close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:26px;color:var(--ink)}dialog dl{margin:25px 0}dialog dl>div{border-color:var(--line)}dialog dt{color:var(--muted)}dialog dd{white-space:pre-wrap;overflow-wrap:anywhere}dialog .button{width:100%}.edit-inquiry{background:transparent;border:0;display:block;margin:15px auto 0;text-decoration:underline;font-size:11px;color:var(--ink)}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1340px)/2));padding-right:max(8%,calc((100vw - 1340px)/2))}.hero-content{left:max(8%,calc((100vw - 1340px)/2))}}
@media(max-width:1100px){.header{padding:0 4%;height:85px}.brand-text{font-size:14px}.brand-text small{font-size:6px}.header nav{gap:16px;font-size:10px}.nav-cta{padding:8px 14px}.section{padding:75px 6%}.hero-content{left:6%}.plan{padding:30px 20px 24px}.price>span{font-size:34px}.plan h3{font-size:18px}.plan-sub{font-size:9px}.plan .button{padding:13px 15px;font-size:10px;gap:10px}.notice{grid-template-columns:1fr;gap:7px}.section-heading>p{font-size:11px}.area{gap:5%}.area-art{height:330px}.p1{left:54%}.p3{left:61%}.about,.contact{gap:6%}}
@media(max-width:800px){.preview-banner{font-size:9px}.preview-banner span{display:block;margin:0;font-size:8px}.header{height:76px}.brand-mark{width:32px;height:32px;font-size:20px}.brand{gap:8px}.brand-text{font-size:12px;letter-spacing:.04em}.brand-text small{font-size:5px}.menu-toggle{display:block;border:0;background:transparent;font-size:10px;color:var(--ink)}.menu-toggle span{margin-left:5px;font-size:16px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px 6% 30px;box-shadow:0 10px 15px #1d392515}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.header nav .nav-cta{padding:12px 16px;margin-top:15px;background:var(--ink);color:white}.hero{height:640px;min-height:530px;max-height:none}.hero-content{top:22%;right:6%}.hero h1{font-size:clamp(27px,5.2vw,38px);letter-spacing:.08em}.hero .eyebrow{font-size:8px}.hero-description{font-size:11px;margin:24px 0 30px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#0b2417b5,#17382238)}.hero-foot{font-size:7px}.hero-foot span:nth-child(2){display:none}.section{padding:65px 6%}h2{font-size:27px}.intro{display:block}.section-label{margin-bottom:30px}.section-label>p{display:none}.intro-content>p{font-size:12px}.principles{gap:16px}.principles h3{font-size:14px}.principles p{font-size:9px}.section-heading{display:block;margin-bottom:45px}.section-heading>p{margin-top:20px}.plan-grid{grid-template-columns:1fr;gap:44px}.plan{padding:30px}.plan h3{font-size:22px}.plan-sub{font-size:11px}.price>span{font-size:43px}.plan-detail{margin:24px 0}.plan ul{font-size:12px}.plan .button{padding:15px 20px;font-size:11px}.notice{margin-top:25px}.season-story{height:340px}.season-story>div{left:6%;right:6%;top:23%}.season-story h2{font-size:24px}.service-list article{grid-template-columns:30px 1fr;gap:12px;padding:22px 0}.service-list h3{font-size:16px}.service-number{font-size:17px;align-self:start}.quote{grid-column:2;text-align:left;font-size:12px}.quote small{display:inline;margin-left:12px;font-size:8px}.service-list p{font-size:10px}.filter-bar{gap:7px}.filter-bar button{padding:8px 12px;font-size:9px}.area{grid-template-columns:1fr;gap:35px}.area-art{height:340px}.steps{grid-template-columns:1fr 1fr;gap:30px 24px}.steps h3{font-size:16px}.about{grid-template-columns:1fr;gap:30px}.faq{grid-template-columns:1fr;gap:30px}.contact{grid-template-columns:1fr;gap:35px}.form-notice{margin-top:25px}footer{padding:40px 6% 25px;grid-template-columns:1fr}footer>div{justify-content:flex-start;flex-wrap:wrap;gap:18px}footer>p{font-size:7px}.form-row{gap:14px}dialog{padding:35px 22px}dialog dl>div{grid-template-columns:95px 1fr}.eyebrow{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
