@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
:root{--base:#fffdf8;--paper:#fbf4e9;--ink:#51443b;--main:#a94d35;--muted:#77695e;--accent:#f8d99b;--line:#e9dcc9;--sky:#e4eddc;--rose:#f8e6df;--yellow:#faf0cf;--radius:28px;--shadow:0 12px 30px #7660440a;--round:'Zen Maru Gothic','Noto Sans JP',sans-serif}body{background:var(--base);color:var(--ink)}h1,h2,h3,.brand,.button,.text-link,summary{font-family:var(--round)}h1,h2,h3{letter-spacing:.03em}.site-header{background:#fffdf8f5;border-color:#ede5d7}.brand{font-size:18px;color:#725443}.brand small{font-size:10px;color:#90705e;letter-spacing:.08em}.brand svg{color:#c48163}.header-inner{height:91px}.desktop-nav{font-family:var(--round);font-weight:700}.button{background:var(--main);border-color:var(--main);box-shadow:0 5px 0 #783a2420;font-family:var(--round);font-size:16px}.button:hover{box-shadow:0 7px 0 #783a2417}.button.outline{background:#fffdf8}.button.light{background:#f5d493;border-color:#f5d493}.text-link:hover,.desktop-nav a:hover{color:#a94d35}.menu-button span{background:var(--ink)}.garden-hero{background:#fff6e7;padding:46px 0 0;overflow:hidden;border-radius:0 0 55% 3% / 0 0 5% 3%}.garden-layout{display:grid;grid-template-columns:.93fr 1.1fr;gap:36px;align-items:center}.garden-copy{padding:15px 0 30px;position:relative;z-index:2}.garden-tag{font-family:var(--round);font-weight:700;font-size:14px;color:#846249;margin-bottom:20px}.garden-tag:before{content:'';display:inline-block;width:8px;height:8px;background:#e4ad6f;border-radius:50%;margin-right:10px}.garden-copy h1{font-size:clamp(30px,3.5vw,44px);font-weight:900;line-height:1.7;letter-spacing:.025em;white-space:nowrap}.garden-copy h1 small{display:block;font-size:16px;font-weight:700;letter-spacing:.04em;color:#876e57;margin-bottom:12px}.garden-copy h1 em{font-style:normal;color:#b45d42;position:relative;text-decoration:underline;text-decoration-color:#f4d296;text-decoration-thickness:10px;text-underline-offset:1px;text-decoration-skip-ink:none}.garden-lead{font-family:var(--round);font-size:19px;font-weight:700;line-height:1.9;margin:25px 0 17px}.garden-description{font-size:15px;color:var(--muted);line-height:2}.garden-button{margin-top:26px;min-height:59px;padding:16px 27px;gap:25px}.garden-micro{font-size:12px;color:#877565;margin-top:15px}.garden-collage{position:relative;min-width:0;padding-bottom:20px}.collage-main{aspect-ratio:1.08;overflow:hidden;border-radius:48% 46% 44% 35% / 35% 36% 43% 48%;transform:rotate(2deg);border:8px solid #fffdf8;box-shadow:0 10px 0 #e9dabe5c}.collage-main img{width:100%;height:100%;object-fit:cover;transform:rotate(-2deg) scale(1.05)}.garden-sticker{position:absolute;right:-8px;top:14px;background:#f8d795;width:101px;height:101px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--round);font-size:15px;line-height:1.5;transform:rotate(12deg);border:3px dotted #e2b775;box-shadow:0 0 0 6px #f8d795}.garden-sticker b{font-size:23px}.collage-label{position:absolute;bottom:12px;left:12%;transform:rotate(-3deg);background:white;padding:9px 20px;border-radius:4px;font-family:var(--round);font-weight:700;font-size:15px;box-shadow:0 3px 9px #5c3b1710}.occasion-strip{margin-top:35px;border-top:1px dashed #dfccb0;padding:23px 0 29px;display:flex;align-items:center;justify-content:center;gap:24px;font-family:var(--round)}.occasion-strip>span{font-size:13px;color:var(--muted);margin-right:10px}.occasion-strip p{font-size:15px;font-weight:700}.occasion-strip i{font-style:normal;color:#c79770}.eyebrow{font-family:var(--round);color:#a87551;letter-spacing:.08em}.section{padding:88px 0}.site-footer{background:#f5ebdc}.footer-top .brand{font-size:17px}.footer-top nav{font-family:var(--round)}.mobile-cta{background:#fffdf8f5}.price-card{background:white;border-radius:28px;border-color:var(--line)}.price-card.featured{border-color:#bd7957;background:#fff9ee}.plan-index span{background:#f6dfb5;color:#725238}.amount{font-family:var(--round);color:#9b543e}.price-clarity,.reference-note{background:#fbf4e8}.faq-section{background:#f8f2e9}.faq-list details,.faq-list details:first-child{border-color:#e5d6c3}.faq-list summary::before{color:#b57451;font-family:var(--round);font-weight:700}.contact-box{background:#f8efdf;border-radius:32px}.contact-intro h2{color:#845139}.contact-mail{border-color:#e4d4bf}.required-label{background:#f2d2b8;color:#7a432e}.contact-mail a{color:#9b543e}input,select,textarea{border-color:#deccb6;background:#fffefb}.steps li>span{background:#f7ddb2;color:#86533b}.conditions{background:#fbf1e3}.conditions summary{font-size:16px}.detail-hero{background:#edf2e5;border-bottom-left-radius:70px}.detail-hero.wedding{background:#faeae1}.detail-hero.events{background:#fbf1d6}.detail-heading figure{border-radius:45% 42% 38% 35%;border:7px solid #fffdf8;transform:rotate(2deg)}.detail-catch{font-family:var(--round);color:#82563f}.detail-price{background:#e9eddc;color:var(--ink)}.detail-price .eyebrow{color:#8a764e}.detail-price .container>div>p:not(.eyebrow),.detail-price-note>span{color:var(--muted)}.detail-price-note{border-color:#bfccb0}.breadcrumbs{color:#84705f}.check-list dt span{color:#aa7150}.preparation-section{background:#fbf3e7}.program-card strong{font-family:var(--round)}.related a:hover{color:var(--main)}.extra-services{display:none}
@media(max-width:1100px){.garden-copy h1{font-size:35px}.garden-copy h1 small{font-size:14px}.garden-layout{gap:20px}.garden-tag{font-size:12px}.garden-sticker{width:85px;height:85px;right:2px}.garden-sticker b{font-size:20px}.brand{font-size:17px}}
@media(max-width:900px){.garden-copy h1{font-size:29px}.garden-copy h1 small{font-size:12px}.garden-lead{font-size:17px}.garden-description{font-size:14px}.garden-button{font-size:14px;padding-inline:20px}.garden-micro{font-size:11px}.garden-tag{font-size:11px}.collage-label{font-size:12px;left:8%;padding:9px 13px}.occasion-strip{gap:15px}.occasion-strip p{font-size:14px}.occasion-strip>span{font-size:12px}.garden-sticker{width:76px;height:76px;top:-10px;font-size:13px}}
@media(max-width:767px){.header-inner{height:75px}.brand{font-size:15px}.brand small{font-size:9px;letter-spacing:0}.garden-hero{padding-top:22px;border-radius:0 0 35px 35px}.garden-layout{display:flex;flex-direction:column;gap:16px}.garden-copy{width:100%;padding:8px 0 5px}.garden-tag{font-size:11px;margin-bottom:17px}.garden-copy h1{font-size:clamp(26px,7.45vw,38px);letter-spacing:0;line-height:1.7}.garden-copy h1 small{font-size:13px;letter-spacing:.01em;margin-bottom:10px}.garden-lead{font-size:17px;margin:20px 0 14px}.garden-description{font-size:14px}.garden-button{font-size:15px;min-height:56px;padding:14px 22px;gap:17px;margin-top:22px}.garden-micro{font-size:11px;margin-top:13px}.garden-collage{width:100%;max-width:500px;padding:5px 0 24px}.collage-main{aspect-ratio:1.3;border-width:6px}.garden-sticker{width:76px;height:76px;right:1px;top:10px}.collage-label{font-size:13px;left:7%;bottom:16px}.occasion-strip{flex-wrap:wrap;gap:7px 13px;margin-top:12px;padding:20px 0 26px}.occasion-strip>span{width:100%;text-align:center;margin:0 0 5px;font-size:12px}.occasion-strip p{font-size:13px}.occasion-strip i{font-size:11px}.section{padding:58px 0}.contact-intro h2{font-size:27px}.button.small{font-size:14px}.site-footer{padding-bottom:110px}.footer-top .brand{font-size:14px}}
.collage-little{position:absolute;width:42%;aspect-ratio:1.2;bottom:-7px;right:-8px;border:7px solid #fffdf8;background:#fffdf8;border-radius:24px;transform:rotate(7deg);box-shadow:0 8px 14px #72523812;overflow:hidden}.collage-little img{width:100%;height:100%;object-fit:cover}.collage-little figcaption{position:absolute;bottom:0;left:0;width:100%;background:#fffdf8eb;font-family:var(--round);text-align:center;font-size:12px;padding:5px 8px}.collage-label{bottom:25px;left:0;font-size:12px;max-width:60%}.garden-collage{padding-bottom:38px}.image-note{text-align:right;font-size:11px;color:#87796b;margin-top:-56px;margin-bottom:51px}.warm-heading{text-align:center;max-width:800px;margin:0 auto 47px}.warm-label{font-family:var(--round);font-size:14px;font-weight:700;letter-spacing:.08em;color:#a87954;margin-bottom:15px}.warm-heading h2{font-size:37px;line-height:1.6}.warm-heading h2 em{font-style:normal;color:#b46b4d}.warm-heading>p:last-child{font-size:16px;color:var(--muted);margin-top:23px;line-height:2}.play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.play-card{border-radius:25px;background:#faf1df;padding:12px 12px 0}.play-card:nth-child(2){background:#edf1e3;transform:translateY(19px)}.play-card:nth-child(3){background:#faeae2}.play-card figure{position:relative;aspect-ratio:1.35;border-radius:20px;overflow:hidden}.play-card img{width:100%;height:100%;object-fit:cover}.play-label{position:absolute;bottom:13px;left:13px;font-family:var(--round);font-weight:700;font-size:13px;background:#fffdf8ed;padding:5px 13px;border-radius:30px}.play-card>div{padding:24px 17px 28px}.card-kicker{font-family:var(--round);font-weight:700;font-size:13px;color:#9b7858;margin-bottom:13px}.play-card h3{font-size:23px;line-height:1.65}.play-card div>p:not(.card-kicker){font-size:15px;line-height:1.9;color:#7c6c5d;margin-top:17px}.play-card .text-link{margin-top:21px;font-size:14px;color:#8b573d}.program-note{font-size:12px;color:var(--muted);text-align:center;margin-top:48px}.teacher-section{background:#f5eee3;border-radius:70px 8px 70px 8px;position:relative}.teacher-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.teacher-photo{position:relative;padding-bottom:65px}.teacher-photo figure{aspect-ratio:.95;border:9px solid #fffdf8;border-radius:42% 40% 32% 34% / 30% 36% 38% 40%;overflow:hidden;transform:rotate(-3deg)}.teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:61% center;transform:rotate(3deg) scale(1.06)}.teacher-photo>p{position:absolute;bottom:17px;right:0;background:#fffdf8;border-radius:15px;padding:24px 30px;font-family:var(--round);font-size:17px;line-height:1.8;transform:rotate(3deg);box-shadow:0 5px 15px #79624409}.teacher-photo b{color:#a46946;font-size:24px}.teacher-copy h2{font-size:31px;line-height:1.7}.teacher-lead{font-size:15px;color:var(--muted);line-height:1.9;margin:22px 0 28px}.teacher-points article{display:flex;gap:19px;border-top:1px dashed #dccab5;padding:20px 0}.teacher-points article>span{width:34px;height:34px;border-radius:50%;background:#e9d8bd;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--round);font-weight:700;font-size:13px;color:#8b694b}.teacher-points h3{font-size:19px;margin-bottom:7px}.teacher-points p{font-size:14px;color:var(--muted);line-height:1.85}.teacher-copy .text-link{font-size:14px;margin-top:16px}.warm-price-heading .eyebrow{font-size:14px}.price-card h3{font-size:23px}.plan-index{font-family:var(--round);letter-spacing:0;font-size:13px}.plan-index span{font-size:10px}.reference-note{border-left-color:#d2986c;border-radius:0 16px 16px 0}.price-clarity{border-radius:25px}.small-area{background:#edf0df;padding:48px 0;border-radius:45px 45px 0 0}.small-area .container{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:center}.small-area h2{font-size:30px}.small-area p{font-size:15px;color:#788063}.small-area .warm-label{font-size:13px;color:#89996b}.small-area .area-note{font-size:12px;margin-top:16px}.faq-photo{width:90%;aspect-ratio:1.35;object-fit:cover;margin-top:30px;border-radius:40% 35% 36% 30%;border:6px solid #fffdf8;transform:rotate(-3deg)}.faq-layout h2{font-size:35px}.faq-layout .eyebrow{font-size:13px}.contact-section{background:#fffdf8}.contact-intro h2{font-size:34px}.contact-intro .eyebrow{font-size:13px}.contact-box>h3{font-size:22px}.form-explainer{font-size:13px}.other-occasions{background:#fbf4e9;padding:28px 0;border-top:1px dashed #ddc8b1}.other-occasions .container{display:flex;justify-content:space-between;gap:30px;align-items:center}.other-occasions p{font-family:var(--round);font-size:14px;color:#8b7765}.other-occasions .container>div{display:flex;gap:30px;font-family:var(--round);font-size:14px}.other-occasions a{border-bottom:1px solid #d8c2aa;padding:5px 0}.other-occasions a span{margin-left:10px}.mobile-only{display:none}.program-photo{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:25px;margin-bottom:23px}.program-card:has(.program-photo){border-top:0;padding-top:0}.program-card>.eyebrow{margin-bottom:14px}.faq-list summary{font-family:var(--round)}.footer-top nav{font-size:14px}.steps h3{font-size:18px}.steps p{font-size:14px}.footer-bottom{font-size:12px}
@media(max-width:1100px){.teacher-layout{gap:45px}.teacher-copy h2{font-size:28px}.contact-intro h2{font-size:29px}.play-card h3{font-size:20px}.play-card>div{padding-inline:10px}.price-card h3{font-size:20px}.plan-index{font-size:12px}.small-area .container{gap:35px}}
@media(max-width:900px){.teacher-layout{gap:28px}.teacher-copy h2{font-size:25px}.play-grid{gap:16px}.play-card h3{font-size:18px}.play-card div>p:not(.card-kicker){font-size:14px}.play-card .text-link{font-size:12px}.play-label{font-size:11px;left:8px;bottom:8px;padding:4px 9px}.teacher-photo>p{padding:20px;font-size:15px}.teacher-photo b{font-size:20px}.small-area h2{font-size:26px}.other-occasions .container{display:block}.other-occasions .container>div{margin-top:15px}.warm-heading h2{font-size:32px}}
@media(max-width:767px){.garden-collage{padding-bottom:50px}.collage-little{width:43%;border-width:5px;right:0;bottom:7px;border-radius:17px}.collage-little figcaption{font-size:10px;padding:3px 5px}.collage-label{font-size:10px;bottom:20px;left:0;max-width:60%;padding:8px 9px}.image-note{font-size:10px;text-align:left;margin-top:-32px;margin-bottom:36px;line-height:1.8}.warm-heading{margin-bottom:31px}.warm-heading h2{font-size:29px}.warm-label{font-size:12px}.warm-heading>p:last-child{font-size:14px;line-height:1.9;margin-top:19px}.warm-heading>p:last-child br{display:none}.play-grid{grid-template-columns:1fr;gap:26px}.play-card{padding:11px 11px 0;border-radius:25px}.play-card:nth-child(2){transform:none}.play-card figure{aspect-ratio:1.5}.play-card h3{font-size:24px}.play-card>div{padding:22px 14px 27px}.play-card div>p:not(.card-kicker){font-size:15px}.play-card .text-link{font-size:14px}.play-label{font-size:12px;padding:5px 12px;left:12px;bottom:12px}.program-note{font-size:11px;text-align:left;margin-top:24px}.teacher-section{border-radius:40px 5px 40px 5px}.teacher-layout{grid-template-columns:1fr;gap:22px}.teacher-photo{padding-bottom:46px}.teacher-photo figure{aspect-ratio:1.3;border-width:6px}.teacher-photo>p{bottom:3px;padding:17px 22px;font-size:14px}.teacher-photo b{font-size:21px}.teacher-copy h2{font-size:26px}.teacher-lead{font-size:15px;margin:19px 0 23px}.teacher-points article{gap:14px;padding:18px 0}.teacher-points h3{font-size:18px}.teacher-points p{font-size:14px}.teacher-copy .text-link{font-size:13px}.warm-price-heading h2{font-size:27px}.warm-price-heading .eyebrow{font-size:12px}.price-card h3{font-size:24px}.small-area{padding:38px 0;border-radius:28px 28px 0 0}.small-area .container{grid-template-columns:1fr;gap:22px}.small-area h2{font-size:27px}.small-area p{font-size:14px}.small-area .area-note{font-size:12px}.faq-layout h2{font-size:28px}.faq-photo{display:none}.contact-intro h2{font-size:26px}.contact-intro .eyebrow{font-size:12px}.contact-box{padding:24px 18px}.contact-box>h3{font-size:21px}.other-occasions{padding:25px 0}.other-occasions p{font-size:13px}.other-occasions .container>div{flex-direction:column;gap:12px;font-size:13px}.other-occasions a{align-self:flex-start}.mobile-only{display:block}.footer-top nav{font-size:13px}.footer-bottom{font-size:11px}.detail-catch{font-size:clamp(22px,6.2vw,27px)}.detail-heading h1{font-size:14px}.detail-hero{border-bottom-left-radius:35px}.section-top h2{font-size:27px}.plan-index{font-size:12px}}
.detail-heading figcaption{left:50%;right:auto;transform:translateX(-50%);bottom:24px;white-space:nowrap;font-size:11px;background:#685140a6}

/* Supplied storybook illustrations: preserve the complete artwork. */
.garden-layout{grid-template-columns:.85fr 1.3fr;gap:28px}.garden-collage{padding:0;max-width:none}.collage-main,.teacher-photo figure,.detail-heading figure{aspect-ratio:auto;border-radius:28px;transform:none;overflow:hidden}.collage-main img,.teacher-photo img,.detail-heading img,.play-card img,.program-photo,.faq-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}.collage-label{position:static;display:table;margin:16px auto 0;max-width:100%;transform:none}.teacher-photo{padding:0}.teacher-photo>p{position:static;display:table;margin:16px auto 0;transform:none}.play-card figure{aspect-ratio:auto}.play-label{position:static;display:table;margin:10px auto;background:#fff7e9}.detail-heading figcaption{position:static;transform:none;white-space:normal;background:#fffaf1;color:#806850;text-align:center;padding:9px 12px;font-size:11px}.faq-photo{border-radius:24px}.illustration-section{background:#fffaf0}.tools-illustration{max-width:900px;margin:auto}.tools-illustration img{width:100%;height:auto;border-radius:28px}.tools-illustration figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:15px}.play-card:nth-child(2){transform:none}
@media(max-width:767px){.garden-layout{display:flex;gap:24px}.garden-collage{max-width:600px;padding:0}.collage-main,.teacher-photo figure,.detail-heading figure{aspect-ratio:auto;border-radius:20px}.collage-label{font-size:11px}.teacher-photo{padding:0}.teacher-photo>p{padding:16px 22px}.play-card figure{aspect-ratio:auto}.play-label{font-size:12px}.detail-heading figure{width:100%}.tools-illustration figcaption{text-align:left}}
