:root{--ivory:#fffdf9;--cream:#fcf8f2;--beige:#f3e7d8;--pink:#cf7f86;--pink-light:#f7e7e5;--brown:#6f4d3e;--text:#594a43;--green:#9ead8a;--line:#e9dcd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:hidden}body{margin:0;background:var(--ivory);color:var(--text);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.9;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;color:var(--brown)}h2{font-size:30px;line-height:1.6;letter-spacing:.06em;margin-bottom:22px}h3{font-size:19px;line-height:1.65}p{margin-bottom:18px}strong{font-weight:600}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--brown);outline-offset:5px}.container{width:calc(100% - 80px);max-width:1160px;margin-inline:auto}.section{padding-block:80px}.script{font-family:Georgia,"Times New Roman",serif;font-size:39px;font-style:italic;color:var(--pink);line-height:1.25;margin-bottom:10px;font-weight:400}.eyebrow{font-size:12px;letter-spacing:.2em;color:#a17760}.section-heading{text-align:center;margin-bottom:36px}.section-heading p:last-child{color:#7d6d62;margin-bottom:0}.header{height:86px;position:sticky;top:0;z-index:50;background:#fffdf9;border-bottom:1px solid #eee5dc;display:flex;align-items:center;justify-content:space-between;padding:12px 30px;gap:24px}.brand{display:block;flex-shrink:0;width:156px}.header nav{display:flex;gap:18px;align-items:center;font-size:12px;font-weight:600}.header nav>a:not(.button){position:relative;white-space:nowrap}.header nav>a:not(.button):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--pink);transform:scaleX(0);transition:transform .2s}.header nav>a:hover:after{transform:scaleX(1)}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;border:1px solid var(--pink);border-radius:50px;background:var(--pink);color:#fff;padding:13px 24px;font-size:14px;font-weight:600;line-height:1.6;box-shadow:0 5px 14px #c6818122;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);background:#bf6e76;box-shadow:0 9px 18px #c6818133}.button.small{font-size:12px;padding:12px 18px}.button.outline{background:var(--ivory);color:var(--brown);border-color:#c6a08b;box-shadow:none}.button.outline:hover{background:var(--pink-light)}.button.line{background:#6e9874;border-color:#6e9874}.button.line:hover{background:#557d5a}.actions{display:flex;flex-wrap:wrap;gap:12px}.menu-toggle{display:none}.hero{position:relative;max-width:1440px;margin:auto;display:grid;grid-template-columns:43% 57%;min-height:690px;background:var(--cream)}.hero-photo{grid-column:2;grid-row:1;position:relative;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:58% center;animation:photo-in 1.3s ease both}.hero-copy{grid-column:1;grid-row:1;padding:55px 32px 48px max(40px,calc((100vw - 1160px)/2));align-self:center;position:relative;z-index:1}.hero h1{font-size:clamp(30px,3.1vw,46px);line-height:1.6;letter-spacing:.08em;margin-bottom:20px}.hero h1 span{color:#bc786c}.hero-intro{font-size:15px;line-height:1.9}.hero-detail{font-size:13px;line-height:1.9;max-width:430px}.features{font-size:12px;margin:22px 0 16px;letter-spacing:.02em}.features b{color:var(--pink);padding-inline:7px}.hero-offer{display:inline-flex;flex-direction:column;background:var(--pink-light);padding:10px 28px;border-radius:14px;margin-bottom:22px;font-size:12px;line-height:1.6}.hero-offer>span{font-family:"Yu Mincho",serif;font-size:17px}.hero-offer strong{font-size:32px;color:#bf6972;margin-left:7px}.hero-offer small{font-size:18px}.hero .button{font-size:12px;padding:12px 18px}.photo-note{position:absolute;right:28px;top:28px;color:var(--brown);font-family:"Yu Mincho",serif;letter-spacing:.12em;line-height:2;transform:rotate(-7deg);background:#fffdf9;padding:12px 17px;border-radius:2px;font-size:14px}.photo-badge{position:absolute;right:24px;bottom:30px;border-radius:50%;background:#fffdf9;width:145px;height:145px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:"Yu Mincho",serif;font-size:14px;line-height:1.9;border:1px solid #e8ddd0}.hero-copy> *{animation:copy-in .8s ease both}.hero-copy .eyebrow{animation-delay:.15s}.hero h1{animation-delay:.25s}.hero-intro,.hero-detail{animation-delay:.4s}.features{animation-delay:.55s}.hero-offer{animation-delay:.7s}.hero .actions{animation-delay:.85s}.concept{text-align:center;position:relative;max-width:850px}.concept .botanical{position:absolute;left:0;top:90px;width:55px;opacity:.75;transform:rotate(-20deg)}.concept p{line-height:2.2}.soft-note{font-size:13px;color:#897467}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.service-card{position:relative;background:#faf2ed;border:1px solid #eee3dc;border-radius:15px;overflow:hidden;padding:0 18px 22px}.service-photo{width:calc(100% + 36px);max-width:none;height:145px;object-fit:cover;margin-left:-18px;margin-bottom:22px}.service-icon{width:42px;height:46px;object-fit:contain;margin-bottom:8px}.service-card h3{font-size:17px;margin-bottom:8px}.service-card p{font-size:12px;line-height:1.9;margin-bottom:0}.service-card .tagline{color:#946b5a;margin-bottom:10px;font-weight:600}.large-icon{height:110px;width:110px;object-fit:contain;margin:32px auto 30px}.recommend{background:var(--cream);text-align:center}.check-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left;margin:30px 0}.check-grid li{background:var(--ivory);border-radius:10px;padding:17px 18px;font-size:14px;border:1px solid var(--line)}.check-grid li:before{content:"✓";color:var(--pink);margin-right:12px}.closing{font-family:"Yu Mincho",serif;font-size:20px;margin-bottom:0}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.reason-card{background:var(--cream);border-radius:14px;overflow:hidden;position:relative;padding-bottom:22px;border:1px solid #eee4db}.reason-card img{height:190px;width:100%;object-fit:cover}.reason-card .number{position:absolute;top:14px;left:14px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#d3958e;color:white;border:2px solid white;border-radius:50%;font:italic 22px Georgia}.reason-card h3{margin:19px 24px 10px}.reason-card p{font-size:13px;margin:0 24px}.price{background:var(--cream)}.price-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:30px}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px;background:var(--ivory)}th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line)}th{font-weight:500}thead{background:#eed4d1;color:var(--brown)}thead th{font-size:13px}tbody tr:nth-child(even){background:#faf5ef}tbody tr:last-child>*{border-bottom:0}td{white-space:nowrap}.fine-print{font-size:11px;color:#89766b;line-height:1.8;margin-top:15px;margin-bottom:0}.option-card{background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:26px}.option-card h3{margin-bottom:3px}.option-card dl{margin:20px 0}.option-card dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:9px 0;font-size:13px}dd{margin:0}.offer{margin-top:48px;background:var(--pink-light);border-radius:16px;padding:36px 44px;display:flex;align-items:center;justify-content:space-between;gap:25px}.offer h2{font-size:20px;margin-bottom:10px}.offer h2>span{margin-left:12px}.offer strong{font-size:40px;color:#bc6972}.offer small{font-size:22px}.offer p{font-size:13px;margin-bottom:0}.offer .eyebrow{font-size:11px;margin-bottom:8px}.offer .button{flex-shrink:0}.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;gap:18px;margin:0}.flow-grid li{border:1px solid var(--line);background:var(--cream);border-radius:13px;padding:24px 20px;position:relative}.flow-grid li:not(:last-child):after{content:"›";position:absolute;right:-15px;top:46%;color:var(--pink);font-size:24px}.flow-grid span{color:var(--pink);font-size:12px;letter-spacing:.06em}.flow-grid b{display:block;font-size:37px;line-height:1.4;color:#b57c64;font-weight:400;margin:10px 0}.flow-grid h3{font-size:17px;margin-bottom:10px}.flow-grid p{font-size:13px;margin:0}.staff{background:var(--cream)}.staff-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.staff-photo{position:relative}.staff-photo img{border-radius:14px;width:100%;max-height:650px;object-fit:cover;object-position:center top}.staff-photo>span{position:absolute;bottom:22px;right:20px;background:var(--ivory);padding:12px 22px;font-family:"Yu Mincho",serif;border-radius:3px;transform:rotate(-4deg)}.staff-name{font-size:30px;margin-bottom:20px}.staff-name span{display:block;font:italic 15px Georgia;color:#ab826b;margin-top:4px}.staff-tags{font-size:12px;color:#9a7463;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.staff-copy>h3:not(.staff-name){font-size:22px;margin:24px 0 20px}.staff-copy>p:not(.eyebrow){font-size:13px;line-height:2.1}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.about>img{border-radius:16px;width:100%}.about-copy>p:not(.script){font-size:14px}.gallery{padding-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-grid img{border-radius:10px;width:100%;aspect-ratio:1.1;object-fit:cover}.faq{background:var(--cream)}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px}.faq-icon{width:85px;opacity:.65;margin-top:35px}.faq-item{border:1px solid var(--line);border-radius:9px;background:var(--ivory);margin-bottom:12px;overflow:hidden}.faq-item button{width:100%;display:flex;align-items:center;text-align:left;gap:12px;border:0;background:var(--ivory);padding:16px 20px;color:var(--text);font-size:14px}.faq-item button .q{font:20px Georgia;color:var(--pink)}.faq-item button .plus{margin-left:auto;font-size:22px;color:#b88070;flex-shrink:0}.faq-answer{padding:0 23px 20px 50px;font-size:13px}.faq-answer p{margin:0}.reservation{background:#f7eeea}.reservation-layout{display:grid;grid-template-columns:.9fr 1.2fr;align-items:center;gap:55px}.reservation-layout>img{border-radius:150px 150px 15px 15px;width:100%;height:510px;object-fit:cover;object-position:60% center}.reservation p:not(.script){font-size:14px}.reservation .reservation-offer{display:inline-block;background:#fffdf9;padding:8px 18px;border-radius:8px;color:#ae6570;font-size:13px}.reservation .fine-print{font-size:11px}.access-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:start}.access-layout>img{border-radius:14px;width:100%;height:490px;object-fit:cover}.access-layout h3{font-size:25px;margin-bottom:15px}.store-details{margin:0}.store-details>div{display:grid;grid-template-columns:92px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.store-details dt{color:#98715e}.store-details small{color:#89766b}.map-placeholder{position:relative;height:175px;overflow:hidden;background:linear-gradient(32deg,transparent 42%,#fffdf9 42%,#fffdf9 47%,transparent 47%),linear-gradient(110deg,#e8e4dd 35%,#fffdf9 35%,#fffdf9 40%,#ece7df 40%);border-radius:10px;margin-top:24px;border:1px solid var(--line)}.park{position:absolute;left:15%;top:15%;width:125px;height:110px;background:#cbd6b9;border-radius:30% 15% 40% 25%;display:flex;justify-content:center;align-items:center;color:#677454;font-size:13px}.map-pin{position:absolute;top:45px;right:20px;text-align:center;color:#9d6063;font-size:14px;line-height:1.6;background:var(--ivory);padding:8px 13px;border-radius:9px}.map-label{position:absolute;bottom:0;width:100%;background:#fffdf9;text-align:center;font-size:10px;padding:3px}footer{background:#f0e5d8;padding:35px 0 24px}.footer-top{display:flex;align-items:center;gap:40px}.footer-top p{font-family:"Yu Mincho",serif;margin:0;font-size:15px}.footer-top small{font-family:"Yu Gothic",sans-serif;font-size:11px}.back-top{margin-left:auto;border:1px solid #bca28c;border-radius:50%;width:42px;height:42px;text-align:center;line-height:40px}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:12px;margin-top:25px}.copyright{text-align:center;font-size:10px;margin:25px 20px 0;color:#947d6c}.copyright span{font-size:10px}.mobile-only{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js-motion .reveal.visible{opacity:1;transform:none}dialog{max-width:calc(100% - 36px);width:540px;border:1px solid var(--line);border-radius:18px;padding:42px;background:var(--ivory);color:var(--text);text-align:center}dialog::backdrop{background:#594a4366}dialog h2{font-size:22px}dialog p{font-size:14px}.dialog-close{position:absolute;top:6px;right:14px;background:none;border:0;font-size:28px;color:var(--brown)}@keyframes copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(min-width:1441px){.hero-copy{padding-left:70px}}@media(max-width:1199px){.header{padding:12px 22px;height:78px}.header nav{gap:12px;font-size:11px}.brand{width:130px}.header .button.small{padding:10px 13px;font-size:11px}.hero{grid-template-columns:45% 55%}.hero-copy{padding:38px 25px 38px 40px}.hero h1{font-size:34px}.hero .actions{gap:8px}.hero .button{padding:11px 13px;font-size:11px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-photo{height:180px}.service-card{padding-bottom:24px}.service-grid .care:nth-child(4),.service-grid .care:nth-child(5){min-height:260px}.staff-layout{gap:35px}.header nav a:nth-child(5),.header nav a:nth-child(6){display:none}.container{width:calc(100% - 60px)}.flow-grid{gap:12px}.flow-grid li{padding:20px 14px}.flow-grid h3{font-size:15px}.photo-note{font-size:12px;right:15px;top:20px}.photo-badge{width:125px;height:125px;font-size:12px}.offer{padding:30px}.offer h2>span{display:block;margin-left:0}.price-layout{grid-template-columns:1.7fr 1fr;gap:20px}th,td{padding:12px}.about{gap:35px}}
@media(max-width:767px){html{scroll-padding-top:76px}body{font-size:14px}.container{width:calc(100% - 36px)}.section{padding-block:55px}h2{font-size:25px;letter-spacing:.03em}.script{font-size:33px}.header{height:70px;padding:9px 18px}.brand{width:128px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;border:0;background:var(--ivory);padding:8px;z-index:2}.menu-toggle span{height:1px;width:26px;background:var(--brown);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header nav{display:none;position:fixed;inset:70px 0 0;background:#fffdf9;overflow-y:auto;padding:22px 30px 45px;align-items:stretch;gap:0;flex-direction:column;font-size:16px}.header nav.open{display:flex}.header nav>a:not(.button){padding:15px 7px;border-bottom:1px solid var(--line)}.header nav a:nth-child(5),.header nav a:nth-child(6){display:block}.header nav .button{margin-top:26px;font-size:14px;padding:14px}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{order:0;aspect-ratio:4/3}.hero-photo>img{object-position:center;width:100%;height:100%}.hero-copy{order:1;padding:31px 24px 36px;align-self:auto}.hero h1{font-size:31px;line-height:1.65;margin-bottom:19px}.hero .eyebrow{font-size:11px}.hero-intro{font-size:14px}.hero-detail{font-size:13px;max-width:none}.hero .features{font-size:11px}.hero .features b{padding:0 4px}.hero-offer{display:flex;align-items:center;padding:12px 18px;margin-bottom:20px}.hero .actions{display:grid;grid-template-columns:1.65fr 1fr;gap:9px}.hero .button{font-size:11px;padding:14px 9px;gap:6px}.photo-note{top:13px;right:12px;font-size:10px;padding:6px 10px}.photo-badge{right:12px;bottom:12px;width:94px;height:94px;font-size:10px}.concept .botanical{width:31px;left:0;top:58px}.concept p{font-size:13px}.concept br{display:none}.concept h2 br{display:block}.concept .script{font-size:33px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{padding:0 13px 20px}.service-photo{height:125px;width:calc(100% + 26px);margin-left:-13px;margin-bottom:15px;object-position:60% center}.service-card h3{font-size:15px}.service-card p{font-size:11px}.large-icon{height:75px;width:80px;margin:25px auto 20px}.service-icon{height:33px;width:32px}.service-grid .care:last-child{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:80px 1fr;column-gap:16px;padding:20px}.service-grid .care:last-child>img{grid-row:1/4;margin:auto;width:65px;height:75px}.service-grid .care:last-child h3,.service-grid .care:last-child p{grid-column:2}.check-grid{grid-template-columns:1fr;gap:10px}.check-grid li{font-size:13px;padding:14px}.closing{font-size:17px}.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reason-card img{height:120px}.reason-card h3{font-size:15px;margin:15px 13px 8px}.reason-card p{font-size:11px;margin:0 13px;line-height:1.9}.reason-card .number{width:33px;height:33px;font-size:17px;top:9px;left:9px}.reason-card{padding-bottom:18px}.price-layout{grid-template-columns:1fr;gap:24px}table{font-size:11px}th,td{padding:12px 8px}thead th{font-size:10px}tbody th{width:42%;line-height:1.6}.option-card{padding:23px}.offer{display:block;margin-top:30px;padding:25px}.offer h2{font-size:18px}.offer h2>span{font-size:17px}.offer strong{font-size:37px}.offer .button{margin-top:22px;width:100%}.flow-grid{grid-template-columns:1fr;gap:14px}.flow-grid li{display:grid;grid-template-columns:46px 1fr;gap:0 16px;padding:18px 22px}.flow-grid span{grid-column:2}.flow-grid b{grid-column:1;grid-row:1/4;margin:0;align-self:center;font-size:32px}.flow-grid h3{grid-column:2;margin:3px 0;font-size:17px}.flow-grid p{grid-column:2;font-size:12px}.flow-grid li:not(:last-child):after{right:50%;top:auto;bottom:-22px;transform:rotate(90deg)}.staff-layout{grid-template-columns:1fr;gap:30px}.staff-photo{max-width:430px;margin:auto}.staff-photo img{max-height:none;aspect-ratio:4/5}.staff-name{font-size:28px}.staff-copy>h3:not(.staff-name){font-size:20px}.staff-copy>p:not(.eyebrow){font-size:13px}.about{grid-template-columns:1fr;gap:22px}.about>img{grid-row:1}.gallery{padding-top:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-grid img:last-child{grid-column:1/-1;aspect-ratio:2.1}.faq-layout{grid-template-columns:1fr;gap:24px}.faq-layout>div:first-child{text-align:center}.faq-icon{display:none}.faq-item button{font-size:12px;padding:16px 14px;gap:10px}.faq-answer{font-size:12px;padding-left:39px}.reservation-layout{grid-template-columns:1fr;gap:30px}.reservation-layout>img{height:auto;aspect-ratio:4/3;border-radius:14px;object-position:center}.reservation .actions{display:grid;grid-template-columns:1fr}.reservation p:not(.script){font-size:13px}.reservation .fine-print{font-size:11px}.access-layout{grid-template-columns:1fr;gap:25px}.access-layout>img{height:auto;aspect-ratio:4/3}.footer-top{gap:18px;flex-wrap:wrap}.footer-top .brand{width:128px}.footer-top p{font-size:12px}.footer-top small{font-size:10px}.back-top{width:36px;height:36px;line-height:34px}.footer-nav{gap:10px 18px;font-size:11px}.mobile-only{display:block}.section-heading{margin-bottom:26px}.section-heading p:last-child{font-size:13px}dialog{padding:38px 22px}dialog h2{font-size:19px}dialog p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
