@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--mint:#d9eee4;--deep:#234e43;--ink:#30483f;--paper:#fbfdfb;--line:#c6dcd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #327962;outline-offset:5px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #e4ece6}.brand{font-family:Georgia,serif;font-size:38px;line-height:1;letter-spacing:1px}.brand small{font-family:'Noto Sans JP',sans-serif;font-size:11px;display:block;letter-spacing:4px;margin-bottom:8px}nav{display:flex;gap:26px;align-items:center;font-size:14px}.reserve,.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--deep);color:white;padding:14px 27px;border-radius:2px;font-size:14px;min-height:48px}.reserve{padding:12px 22px}.button.light{background:transparent;color:var(--deep);border:1px solid var(--deep)}.toggle{display:none}.hero{background:var(--mint);min-height:620px;display:grid;grid-template-columns:45% 55%;position:relative;overflow:hidden}.hero-copy{padding:85px 0 75px 12%;z-index:1}.eyebrow{text-transform:uppercase;font-family:Georgia,serif;letter-spacing:3px;font-size:14px;margin:0 0 24px}.location{font-size:13px;letter-spacing:2px;margin-bottom:32px}h1,h2,h3,.serif{font-family:'Noto Serif JP',serif;font-weight:400}h1{font-size:clamp(30px,3.3vw,50px);line-height:1.8;letter-spacing:.07em;margin:0 0 23px;white-space:nowrap}.hero-copy>p:not(.eyebrow):not(.location){font-size:15px;line-height:2.1;margin-bottom:30px}.hero-image{padding:36px 36px 36px 0;position:relative}.hero-image img{width:100%;height:100%;max-height:640px;object-fit:cover;border-radius:180px 2px 2px 2px;display:block}.image-note{position:absolute;bottom:45px;right:50px;background:#ffffffcf;padding:2px 9px;font-size:12px}.ribbon{display:flex;justify-content:center;gap:55px;padding:19px 20px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:1px}.section{max-width:1140px;margin:auto;padding:95px 30px}.intro{text-align:center;max-width:790px;padding-top:100px}.intro h2{font-size:30px;line-height:1.9;margin-bottom:25px}h2{font-size:32px;line-height:1.6;margin:0 0 25px}.intro p{line-height:2.2}.section-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-title p{font-size:14px}.section-title h2{margin:0}.section-title .eyebrow{margin-bottom:9px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course{padding:30px 26px;background:#fff;border:1px solid var(--line);position:relative}.course:nth-child(2){background:#eef7f2}.num{font-family:Georgia,serif;font-size:43px;color:#799e8e;line-height:1}.course h3{font-size:24px;margin:16px 0 10px}.course .desc{font-size:14px;min-height:80px}.price{font-family:Georgia,serif;font-size:34px;margin:18px 0}.price small{font-family:'Noto Sans JP',sans-serif;font-size:13px}.time{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:18px}.course ul{font-size:14px;padding-left:20px;min-height:240px;line-height:2}.course .button{width:100%;gap:10px}.note{font-size:13px;color:#596e62}.flow{background:var(--mint)}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.flow h3{font-size:21px;margin:15px 0}.flow p{font-size:14px}.gift{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.gift-card{background:#d5eadf;border:1px solid #a6c9b6;padding:50px 40px;box-shadow:13px 13px 0 #eff5ef;text-align:center;transform:rotate(-3deg)}.gift-card .brand{font-size:48px}.gift-card .serif{font-size:24px;margin:28px 0}.gift-card small{letter-spacing:4px;font-size:12px}.tag{font-size:13px;background:#e5eee7;padding:5px 14px;display:inline-block;margin-bottom:17px}.faq{max-width:860px;padding-top:40px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;list-style:none;position:relative;padding-right:35px}summary:after{content:'＋';position:absolute;right:3px}details[open] summary:after{content:'−'}details p{font-size:14px;padding:5px 23px 0}.cta{text-align:center;background:var(--mint);padding:65px 25px}.cta h2{font-size:28px}.cta p{margin-bottom:25px}footer{padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:12px}.page-heading{background:var(--mint);text-align:center;padding:65px 20px}.page-heading h1{font-size:36px;margin:0}.booking{max-width:850px}.booking-step{display:grid;grid-template-columns:55px 1fr;gap:20px;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:30px}.booking-step h2{font-size:23px;margin:0 0 12px}.booking-step p{margin:0}.pending{background:#eef5f0;border-left:3px solid #6d9e88;padding:24px;margin:25px 0}.mobile-cta{display:none}@media(max-width:1000px){nav{gap:14px;font-size:13px}header{padding:0 3%}.hero-copy{padding-left:8%}.hero-image{padding-right:22px}.course{padding:24px 18px}.gift{gap:40px}}@media(max-width:760px){header{height:79px;padding:0 22px}.brand{font-size:31px}.brand small{font-size:10px}.toggle{display:block;background:none;border:1px solid var(--line);padding:7px 12px;font-size:14px}nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);padding:25px;box-shadow:0 12px 20px #15372c14;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:18px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px 26px 30px}.location{margin-bottom:22px}.eyebrow{font-size:12px;margin-bottom:18px}h1{font-size:32px;white-space:normal;letter-spacing:.04em}.hero-copy>p:not(.eyebrow):not(.location){font-size:14px}.hero-image{padding:0 20px 26px 45px;height:310px}.hero-image img{border-radius:100px 2px 2px 2px}.image-note{right:28px;bottom:33px}.ribbon{gap:15px;font-size:11px;letter-spacing:0;padding:16px 10px}.section{padding:60px 23px}.intro h2{font-size:24px}.intro p{font-size:14px}h2{font-size:27px}.section-title{display:block}.menu-grid,.flow-grid,.gift{grid-template-columns:1fr;gap:25px}.course{padding:28px}.course .desc{min-height:0}.course ul{min-height:0;margin:20px 0 25px}.flow-grid{gap:15px}.gift{gap:40px}.gift-card{margin:5px 12px 10px 4px}.faq{padding-top:10px}summary{font-size:15px}footer{display:block;padding:35px 25px 90px}footer p{margin-top:20px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:12;background:var(--deep);color:white;text-align:center;padding:13px 16px calc(13px + env(safe-area-inset-bottom));font-size:14px}.page-heading h1{font-size:30px}.booking-step{grid-template-columns:35px 1fr;gap:13px}.booking-step h2{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Soft mint light and layered surfaces. */
body{background:radial-gradient(ellipse at 0 38%,#e8f3ed80,transparent 42%),var(--paper)}
header{background:linear-gradient(110deg,#ffffffed,#f0f8f2ed);backdrop-filter:blur(14px)}
.hero,.page-heading{background:radial-gradient(ellipse at 18% 20%,#ffffffd9,transparent 53%),radial-gradient(ellipse at 90% 85%,#b8daca99,transparent 60%),linear-gradient(125deg,#eaf6ee,#d9eee4 55%,#cce5d8)}
.hero:before{content:'';position:absolute;width:650px;height:650px;border:1px solid #ffffffb3;border-radius:50%;left:-260px;top:65px;pointer-events:none}
.hero-image img{box-shadow:0 22px 50px #234e431c;border:1px solid #ffffffaa}
.ribbon{background:linear-gradient(90deg,#edf6f0,#fff 50%,#eaf5ee)}
.course{background:linear-gradient(145deg,#fff,#f0f8f3);box-shadow:0 12px 34px #234e430b;border-radius:28px 3px 28px 3px}
.course:nth-child(2){background:radial-gradient(ellipse at 20% 0,#ffffffc9,transparent 60%),linear-gradient(145deg,#e4f2e9,#cfe7d9)}
.flow,.cta{background:radial-gradient(ellipse at 85% 10%,#ffffffcc,transparent 56%),radial-gradient(ellipse at 10% 90%,#bbdccb99,transparent 60%),linear-gradient(120deg,#e9f5ed,#d2e9dc)}
.gift-card{background:radial-gradient(ellipse at 15% 15%,#ffffffc9,transparent 55%),linear-gradient(135deg,#e9f5ed,#bddccc 65%,#dfefe5);box-shadow:12px 16px 35px #234e4314,inset 0 0 0 8px #ffffff40}
.reserve,.button:not(.light),.mobile-cta{background:linear-gradient(120deg,#3c6d59,#234e43);box-shadow:0 5px 16px #234e4317}
.button.light{background:linear-gradient(130deg,#ffffffb3,#edf6ef99)}
footer{background:linear-gradient(100deg,#fff,#eef6f0)}

.gift-package{margin:0;min-width:0}.gift-package img{display:block;width:100%;height:auto;border-radius:32px 4px 32px 4px;box-shadow:0 15px 35px #234e4314}.gift-package figcaption{font-size:12px;text-align:center;color:#596e62;margin-top:12px}
