@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');:root{--orange:#ff7447;--yellow:#ffe88a;--cream:#fffaf0;--ink:#263f3e;--green:#278a76;--mint:#e4f6ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;background:#fff}a{text-decoration:none;color:inherit}button{font:inherit}.demo{background:#273f3d;color:white;text-align:center;padding:6px 10px;font-size:11px;letter-spacing:.06em}.header{height:88px;padding:0 4.5%;display:flex;align-items:center;gap:30px;background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 3px 25px #233c3520}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:25px;white-space:nowrap;line-height:1}.brand-icon{background:var(--orange);color:#fff;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:32px}.brand-small{font-size:16px}.brand small{display:block;font-size:9px;letter-spacing:.13em;margin-top:6px;color:var(--green)}nav{display:flex;gap:23px;align-items:center;margin-left:auto}nav a{font-size:13px;font-weight:700}nav a:hover{color:var(--orange)}.reserve{background:var(--orange);color:white;border-radius:50px;padding:17px 21px;font-size:13px;font-weight:800;white-space:nowrap}.reserve span{margin-left:8px}.hamb{display:none;background:none;border:0;font-size:25px}.hero{min-height:640px;display:grid;grid-template-columns:49% 51%;background:var(--cream);position:relative;overflow:hidden}.hero-copy{padding:105px 3% 70px 9%;position:relative;z-index:2}.pill{display:inline-block;border:2px solid var(--green);color:var(--green);padding:8px 20px;border-radius:40px;font-size:13px;font-weight:800;background:#fff}.hero h1{font-size:clamp(36px,4.2vw,66px);line-height:1.48;letter-spacing:-.055em;margin:25px 0}.hero h1 em{font-style:normal;color:var(--orange);background:linear-gradient(transparent 80%,#ffe28d 80%)}.hero p{font-size:17px;line-height:2;font-weight:600}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:18px 25px;border-radius:50px;font-weight:800;font-size:14px;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-4px);box-shadow:0 10px 20px #263f3e20}.orange{background:var(--orange);color:white}.outline{border:2px solid var(--green);color:var(--green);background:white}.hero-tags{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px;font-size:11px;font-weight:800;color:var(--green)}.hero-photo{position:relative;min-height:600px;overflow:hidden;border-radius:0 0 0 130px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff8e91a,transparent 60%)}.round-stamp{position:absolute;top:9%;left:4%;width:136px;height:136px;border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);font-size:16px;font-weight:900;text-align:center;line-height:1.25;z-index:1}.round-stamp span{font-size:34px}.hero-caption{position:absolute;bottom:35px;right:30px;background:white;padding:17px 24px;border-radius:40px;font-weight:800;font-size:13px;z-index:1}.hero-deco{position:absolute;color:var(--orange);font-size:140px;bottom:-60px;left:1%;font-weight:800}.ticker{overflow:hidden;background:var(--yellow);color:var(--green);padding:16px 0;white-space:nowrap;font-weight:900;letter-spacing:.18em}.ticker>div{width:max-content;animation:marquee 22s linear infinite}.ticker span{color:var(--orange);padding:0 30px}@keyframes marquee{to{transform:translateX(-45%)}}.section{padding:110px max(6%,calc((100vw - 1250px)/2))}.section-head h2{font-size:clamp(30px,3.3vw,47px);line-height:1.5;letter-spacing:-.04em;margin:12px 0 18px}.section-head h2 b{color:var(--orange)}.section-head p{font-size:15px;line-height:1.9}.eyebrow{font-size:12px;font-weight:900;color:var(--orange);letter-spacing:.18em}.center{text-align:center}.marker{background:linear-gradient(transparent 68%,var(--yellow) 68%)}.intro{background:#fff;text-align:center;position:relative}.intro .section-head h2{font-size:42px}.intro p{line-height:2.2}.spark{position:absolute;right:15%;top:30%;font-size:90px;color:#e3f2e8}.reasons{background:#eaf8f1}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:45px}.reason-card{background:#fff;padding:25px 22px 30px;border-radius:20px;box-shadow:0 8px 0 #d6ece0;position:relative;min-height:300px;transition:transform .3s}.reason-card:hover{transform:translateY(-7px)}.reason-no{font-size:18px;font-weight:900;color:var(--orange)}.reason-emoji{font-size:53px;text-align:center;margin:8px 0 16px}.reason-card h3{font-size:18px;line-height:1.65;text-align:center}.reason-card p{font-size:13px;line-height:1.9}.troubles{background:#fffdf6}.trouble-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.trouble-item{background:#fff;border:2px solid #e4e9df;border-radius:18px;padding:23px;display:grid;grid-template-columns:65px 1fr 20px;align-items:center;column-gap:8px;transition:.25s}.trouble-item:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 10px 20px #233c3514}.trouble-item>span{font-size:43px;grid-row:span 2}.trouble-item strong{font-size:19px}.trouble-item small{font-size:12px;color:#72807b}.trouble-item i{grid-column:3;grid-row:1/span 2;font-style:normal;color:var(--orange);font-size:24px}.trouble-item.all{background:var(--yellow);border-color:var(--yellow)}.menu-section{background:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.menu-card{border-radius:22px;overflow:hidden;background:var(--cream);box-shadow:0 6px 24px #263f3e12;transition:transform .3s}.menu-card:hover{transform:translateY(-6px)}.menu-img{height:240px;overflow:hidden}.menu-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.menu-card:hover img{transform:scale(1.06)}.menu-text{padding:26px}.menu-text>span{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.15em}.menu-text h3{font-size:25px;margin:9px 0}.menu-text p{font-size:13px;line-height:1.9;min-height:70px}.menu-text a{font-weight:800;color:var(--green);font-size:13px}.disclaimer{font-size:12px;text-align:center;margin-top:35px;color:#777}.flow-section{background:#fff1e6}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}.step{text-align:center;background:#fff;padding:25px 17px 28px;border-radius:18px}.step b{color:var(--orange);font-size:12px}.step span{display:block;font-size:46px;margin:15px}.step h3{font-size:16px}.step p{font-size:12px;line-height:1.9}.access-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#f3faf5}.access-copy h3{margin-top:32px}.access-copy h3 small{font-size:12px;font-weight:500}.access-copy>p{font-size:14px}.hours{border-top:2px solid var(--green);margin:25px 0}.hours div{display:flex;justify-content:space-between;border-bottom:1px solid #d4e4dc;padding:15px 0;font-size:13px;gap:10px}.hours span{font-weight:800}.access-copy>small{font-size:11px}.access-visual{min-height:350px;background:radial-gradient(circle at 20% 25%,#fbe28a 0 14%,transparent 15%),linear-gradient(130deg,#a6dcca,#e8f7e8);border-radius:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.map-icon{font-size:68px}.access-visual h3{font-size:24px;line-height:1.4}.contact{background:var(--green);color:white;text-align:center;padding:95px 20px;position:relative;overflow:hidden}.contact:before,.contact:after{content:'✳';position:absolute;font-size:260px;color:#ffffff12;top:-110px;left:-80px}.contact:after{top:auto;left:auto;right:-50px;bottom:-150px}.contact .eyebrow{color:var(--yellow)}.contact h2{font-size:clamp(30px,3.5vw,48px);line-height:1.5}.contact p{font-size:17px}.contact-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:35px}.white{background:white;color:var(--green)}.ghost{border:2px solid white;color:white}.contact small{font-size:11px;opacity:.85}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 6%}footer>div{text-align:right;font-size:12px}footer>div a{font-weight:800;color:var(--green)}footer p{color:#777}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1100px){nav{gap:12px}nav a{font-size:11px}.header{padding:0 3%;gap:12px}.reserve{padding:14px;font-size:11px}.hero-copy{padding-left:7%}.reason-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header{height:70px}.brand{font-size:20px}.brand-small{font-size:13px}.brand-icon{width:38px;height:38px}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.header nav a{font-size:15px;padding:8px}.reserve{margin-left:auto;padding:12px 13px;font-size:10px}.hamb{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6% 40px}.hero h1{font-size:clamp(35px,8vw,55px)}.hero p{font-size:14px}.hero-photo{min-height:340px;border-radius:90px 0 0 0}.round-stamp{width:105px;height:105px;font-size:12px}.hero-caption{font-size:10px;right:15px;bottom:20px}.section{padding:75px 5%}.intro .section-head h2{font-size:31px}.intro p{font-size:13px}.spark{display:none}.trouble-grid{grid-template-columns:repeat(2,1fr)}.menu-grid{grid-template-columns:1fr}.menu-img{height:250px}.steps{grid-template-columns:repeat(2,1fr)}.access-section{grid-template-columns:1fr}.access-visual{min-height:260px}footer{flex-direction:column;align-items:flex-start}footer>div{text-align:left}}@media(max-width:480px){.reserve{font-size:0}.reserve span{font-size:17px;margin:0}.reason-grid,.trouble-grid{grid-template-columns:1fr}.reason-card{min-height:0}.trouble-item{padding:18px}.steps{grid-template-columns:1fr}.hero-tags{gap:7px}.hero-tags span{font-size:10px}.hero-ctas .btn{font-size:12px;padding:15px}.contact h2{font-size:29px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}