@charset "UTF-8";
:root{--cream:#fffaf5;--paper:#fffcf9;--blush:#f9e9ed;--gold:#af8754;--deep:#7e593d;--text:#594640;--muted:#86776e;--line:#e7d3c8;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans;--eng:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:400 14px/2 var(--sans);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b9869c;outline-offset:3px}.wrap{width:min(1080px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:#fffcf8ed;border-bottom:1px solid #e5d7ca;backdrop-filter:blur(14px)}.head-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{line-height:1.1;color:#856340;text-align:center;white-space:nowrap}.brand span{display:block;font:500 24px/1.45 var(--serif);letter-spacing:.17em}.brand small{display:block;font:500 12px var(--eng);letter-spacing:.23em;margin-top:5px}.nav{display:flex;align-items:center;gap:23px;font:500 12px/1.5 var(--sans);letter-spacing:.06em}.nav a{transition:color .2s}.nav a:hover,.nav a.is-here{color:#b16f87}.nav .nav-cta{border:1px solid #ab8055;border-radius:28px;padding:11px 18px;color:#805f40}.menu-btn{display:none;border:1px solid #d8c5b4;background:#fff8f6;color:#835e4c;border-radius:9px;min-width:43px;height:43px;font-size:22px}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:116px 0 120px;background:radial-gradient(ellipse 65% 75% at 83% 34%,#f9dce2a8,transparent 70%),radial-gradient(ellipse 58% 63% at 9% 91%,#ffe8cfad,transparent 72%),linear-gradient(135deg,#fffdf8,#fff2f0 61%,#fef7ed)}.hero:before{content:'✿';position:absolute;font:400 340px/1 var(--serif);right:-45px;top:-75px;color:#deb5b8;opacity:.14;z-index:-1}.hero:after{content:'';position:absolute;right:8%;top:13%;width:min(34vw,370px);aspect-ratio:1;border:1px solid #e3bf9f99;border-radius:50%;box-shadow:0 0 0 28px #f8ebdd35,0 0 0 55px #f9d9df30;z-index:-1}.hero-inner{max-width:770px}.eyebrow{font:500 26px/1.25 var(--eng);letter-spacing:.09em;color:var(--gold)}.hero h1{font:500 clamp(32px,5vw,55px)/1.6 var(--serif);letter-spacing:.09em;color:#735047;margin:18px 0 21px}.lead{font:400 clamp(16px,2vw,21px)/1.95 var(--serif);letter-spacing:.07em;color:#805e53}.hero-body{max-width:655px;margin:20px 0 31px;color:#77665c;font:400 14px/2.3 var(--sans)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;gap:17px;align-items:center;justify-content:center;min-height:53px;padding:13px 24px;border:1px solid #a7825e;border-radius:2px;color:#8a6544;background:#fffdf7a8;font:500 13px/1.6 var(--sans);letter-spacing:.06em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#f7ede4}.button.primary{background:#a67d5a;color:white}.button.primary:hover{background:#956849}.button small{font-size:17px}.mini{font:400 11px/1.7 var(--sans);color:#948075;margin-top:16px}
.section{padding:90px 0}.section.light{background:#fffdfa}.section.blush{background:linear-gradient(130deg,#fff6f4,#faeef0 70%,#fff9f0)}.heading{text-align:center;margin-bottom:41px}.heading span{font:500 26px/1.3 var(--eng);color:#b28b63;letter-spacing:.07em}.heading h2{font:500 clamp(24px,3.2vw,33px)/1.6 var(--serif);color:#775449;margin:7px 0 0;letter-spacing:.08em}.heading:after{content:'';display:block;width:82px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,#bd9368,transparent)}.heading p{max-width:640px;margin:17px auto 0;font:400 13px/2.15 var(--sans);color:#8a776d}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);background:#fffefb;padding:30px 28px 34px;min-height:230px;box-shadow:0 13px 37px #86655410}.card .num{display:block;font:500 28px/1 var(--eng);color:#ba9775;margin-bottom:14px}.card h3{font:500 19px/1.65 var(--serif);color:#78584a;letter-spacing:.07em;margin:0 0 10px}.card p{font:400 13px/2.1 var(--sans);color:#7b6c64;margin:0}
.fit{max-width:930px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.fit-item{display:flex;gap:14px;align-items:flex-start;padding:19px 22px;background:#fffdfba8;border:1px solid #e9d8cf;color:#68554e;font:400 14px/1.9 var(--sans)}.fit-item span{flex:none;color:#bc8595;font:600 16px var(--serif)}
.reservation{padding:80px 0 88px;background:#fffdf8}.reservation-inner{max-width:860px;margin:auto;border:1px solid #e4cdbf;box-shadow:0 17px 50px #82595d13;background:radial-gradient(ellipse at 95% 0%,#fce6ed,transparent 62%),#fffdf9;padding:45px 52px;text-align:center}.reservation-inner h2{font:500 clamp(25px,3.5vw,34px)/1.5 var(--serif);color:#755049;margin:7px 0 16px}.reservation-inner>p{font:400 13px/2.2 var(--sans);color:#806c62;max-width:650px;margin:0 auto 20px}.step-list{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:21px auto 25px}.step-list span{font:500 12px/1.6 var(--sans);border-radius:22px;background:#fff4f2;border:1px solid #efded3;padding:8px 12px;color:#8d7064}.step-list b{font:400 14px var(--eng);color:#bd9f8a}.pricing-note{font:400 12px/1.85 var(--sans);margin:19px auto;color:#978073}
.site-footer{background:#f5ebe5;padding:31px 0 37px;border-top:1px solid #e7d7cb}.foot-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.foot-label{font:500 20px var(--serif);color:#94724f}.foot-nav{display:flex;gap:16px;flex-wrap:wrap;font:400 12px var(--sans);color:#7b6a61}.copyright{font:400 10px var(--eng);color:#9b8e80;letter-spacing:.05em}
@media(max-width:920px){.nav{gap:13px;font-size:11px}.head-inner{gap:15px}.brand span{font-size:20px}.hero{padding:95px 0}}
@media(max-width:720px){.wrap{width:min(100% - 36px,560px)}.head-inner{min-height:69px}.brand span{font-size:21px}.menu-btn{display:block}.nav{display:none;position:absolute;top:69px;left:0;right:0;background:#fffaf7;box-shadow:0 15px 25px #9e7a6920;border-bottom:1px solid #ead8ca;padding:16px 23px 20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:13px;padding:10px 4px}.nav .nav-cta{text-align:center;margin-top:8px}.hero{padding:77px 0 82px}.hero:before{font-size:230px;right:-64px;top:-14px}.hero:after{width:210px;right:-72px;top:8%}.hero h1{font-size:clamp(29px,8vw,41px)}.hero-body{font-size:13px}.lead{font-size:16px}.actions{flex-direction:column;align-items:stretch}.button{width:100%;min-height:51px}.section{padding:66px 0}.heading{margin-bottom:27px}.card-grid{grid-template-columns:1fr;gap:12px}.card{min-height:0;padding:22px 22px 23px}.card .num{font-size:23px;margin-bottom:7px}.card h3{font-size:18px}.fit{grid-template-columns:1fr;gap:9px}.fit-item{padding:14px 17px;font-size:13px}.reservation{padding:60px 0}.reservation-inner{padding:27px 20px}.step-list{gap:7px}.step-list span{font-size:11px;padding:7px 9px}.foot-inner{flex-direction:column;align-items:flex-start}.foot-nav{gap:11px}.copyright{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
