:root{--ink:#050505;--cream:#F5EECE;--pink:#FFDEE4;--coral:#FFC8B8;--white:#FFFFFF;--marker:#FFF02A;--green:#0F5A50;--muted:#555555;--wrap:1120px;--side:16px;--bar:84px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{margin:0;color:var(--ink);background:var(--cream);font-family:Noto Sans JP,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:2;letter-spacing:.12em;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}main{overflow:hidden}.site-header{position:sticky;top:0;z-index:50;height:var(--bar);background:#000;color:var(--cream)}.bar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--bar);padding:0 24px 0 32px}.brand{display:inline-flex;align-items:center;min-height:44px;max-width:calc(100vw - 132px);font-family:Kaisei Decol,serif;font-size:clamp(22px,7vw,33px);font-weight:700;line-height:1.2;letter-spacing:.02em;white-space:nowrap;text-shadow:2px 2px 0 rgba(0,0,0,.35)}.nav-check{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.nav-toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:72px;min-height:68px;cursor:pointer;font-weight:800;font-size:14px;line-height:1;letter-spacing:.02em}.nav-lines{display:grid;gap:9px;width:66px}.nav-lines span{display:block;height:5px;border-radius:999px;background:var(--cream)}.site-nav{position:absolute;top:var(--bar);left:0;right:0;display:none;grid-template-columns:1fr;gap:0;padding:10px var(--side) 18px;background:#000;border-top:1px dashed var(--cream)}.nav-check:checked~.site-nav{display:grid}.site-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;border-bottom:1px dashed rgba(245,238,206,.65);font-size:15px;font-weight:800;letter-spacing:.06em}.top{background:var(--cream)}.hero-frame{position:relative;height:calc(100svh - var(--bar));min-height:640px;max-height:720px;overflow:hidden;border-bottom:8px solid #000;border-bottom-left-radius:42vw;background:#000}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-copy{position:absolute;left:0;right:0;bottom:32px;z-index:2;padding:0 var(--side)}.hero-kicker{display:inline-flex;align-items:center;min-height:38px;margin:0 0 12px;padding:2px 14px;background:#f5eecef5;font-size:15px;font-weight:800;line-height:1.4;letter-spacing:.08em;transform:rotate(-2deg)}.hero-title{margin:0 0 22px;font-family:Kaisei Decol,serif;font-size:clamp(25px,7.1vw,44px);font-weight:700;line-height:1.58;letter-spacing:.03em}.hero-title span{display:table;max-width:100%;margin-top:4px;padding:0 .14em .06em;white-space:nowrap;background:#f5eecef5;box-decoration-break:clone}.hero-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:520px}.hero-entry,.cta-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:10px 14px;border:2px dashed #000;border-radius:999px;background:#fff;box-shadow:5px 6px #000;color:#000;font-size:clamp(14px,3.5vw,16px);font-weight:800;line-height:1.35;letter-spacing:.04em;white-space:nowrap}.hero-entry:after,.cta-button:after{content:"";flex:0 0 auto;width:0;height:0;margin-left:7px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #000}.top-belt{position:relative;display:grid;place-items:center;min-height:112px;border-bottom:1px dashed #000;background:var(--cream)}.section{position:relative;padding:72px var(--side);overflow:hidden}.section-pink{background:var(--pink)}.section-cream{background:var(--cream)}.section-coral{background:var(--coral)}.section-white{background:var(--white)}.wrap{position:relative;z-index:1;width:min(100%,var(--wrap));margin:0 auto}.section-head{margin:0 0 42px;text-align:center}.section-head h2{margin:0;text-wrap:balance}.head-jp{display:block;margin-bottom:6px;font-family:Kaisei Decol,serif;font-size:clamp(20px,6vw,30px);font-weight:700;line-height:1.35;letter-spacing:.08em}.head-en{position:relative;z-index:0;display:inline-block;font-family:Permanent Marker,cursive;font-size:clamp(38px,11vw,76px);font-weight:400;line-height:.92;letter-spacing:.02em}.head-en:after{content:"";position:absolute;left:-6px;right:-6px;bottom:-.03em;z-index:-1;height:.28em;border-radius:999px;background:var(--marker)}.section-head--wide .head-en{font-size:clamp(32px,9vw,70px)}.safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px;max-width:360px;margin:0 auto}.safety-item{text-align:center}.safety-mark{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 14px;border-radius:50%;background:#fff}.safety-mark svg{width:48px;height:48px;stroke:#000;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.safety-label{margin:0;font-size:15px;font-weight:700;line-height:1.7;letter-spacing:.08em}.round-photo{width:min(78vw,360px);aspect-ratio:1;margin:70px auto 0;overflow:hidden;border-radius:50%;box-shadow:0 9px #000}.round-photo img{width:100%;height:100%;object-fit:cover}.split-inner{display:grid;gap:44px;align-items:center}.split-media{order:1;margin:0 calc(var(--side)*-1)}.split-copy{order:2;text-align:center}.photo-shape{margin:0}.photo-box{display:grid;place-items:center;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px dashed #000;background:#fff;color:var(--muted);font-size:14px;font-weight:700;line-height:1.7;text-align:center;letter-spacing:.04em}.photo-box img{width:100%;height:100%;object-fit:cover}.shape-left .photo-box{border-bottom-left-radius:clamp(90px,26vw,170px)}.shape-right .photo-box{border-bottom-right-radius:clamp(90px,26vw,170px)}.shape-oval .photo-box{border-radius:50%}.photo-note{margin-top:14px;padding:0 var(--side);font-size:16px;font-weight:700;line-height:1.7;text-align:center;letter-spacing:.08em}.info-block{margin-top:36px;text-align:left}.info-block h3{margin:0 0 10px;font-size:17px;font-weight:700;line-height:1.8;letter-spacing:.12em}.rule-list{margin:0;padding:0;border-top:1px dashed #000;list-style:none}.rule-list li{display:flex;align-items:center;min-height:44px;padding:10px 0;border-bottom:1px dashed #000;font-size:16px;line-height:1.85}.line-table{margin:0;border-top:1px dashed #000}.line-table div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;min-height:44px;padding:10px 0;border-bottom:1px dashed #000}.line-table dt,.line-table dd{margin:0;font-size:16px;line-height:1.85}.line-table dt{font-weight:700}.line-table dd{text-align:right}.kids-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px;margin:12px auto 0}.kids-price-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;margin:0;padding:10px 4px;border-radius:50%;background:#fff;text-align:center}.price-person,.price-value{margin:0;color:#000;font-weight:800;letter-spacing:.04em}.price-person{font-size:clamp(15px,4.1vw,18px);line-height:1.25}.price-value{margin-top:6px;font-size:clamp(17px,4.6vw,22px);line-height:1.25}.price-value--free{position:relative;z-index:0;display:inline-block;font-family:Kaisei Decol,serif;font-size:clamp(40px,4vw,56px);line-height:1;letter-spacing:.02em}.price-value--free:after,.marker-strong:after{content:"";position:absolute;left:-5px;right:-5px;bottom:.02em;z-index:-1;height:.28em;border-radius:999px;background:var(--marker)}.price-value--half{font-size:clamp(14px,3.7vw,18px);line-height:1.3}.price-half{display:block;margin-top:2px;font-family:Kaisei Decol,serif;font-size:clamp(29px,3.1vw,42px);font-weight:700;line-height:.95;letter-spacing:.03em}.kids-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;margin-top:16px}.kids-feature{text-align:center}.kids-feature-mark{display:grid;place-items:center;width:min(30vw,112px);height:min(30vw,112px);min-width:94px;min-height:94px;margin:0 auto 10px;border-radius:50%;background:#fff}.kids-feature-mark svg{width:62%;height:62%;overflow:visible}.kids-feature-label{margin:0;color:#000;font-size:17px;font-weight:800;line-height:1.55;letter-spacing:.05em}.pet-panel{padding:22px 18px 24px;border:2px solid #000;border-radius:28px;background:#fff;box-shadow:7px 8px #000}.pet-panel h3{margin-bottom:12px;color:#000;font-size:18px;font-weight:800}.pet-table{border-top:2px dashed #000}.pet-table div{min-height:58px;border-bottom:2px dashed #000}.pet-table dt,.pet-table dd{color:#000;font-size:17px;font-weight:800;line-height:1.55}.pet-value{font-weight:800}.pet-value--large{font-family:Kaisei Decol,serif;font-size:clamp(24px,6.3vw,31px);line-height:1.05;letter-spacing:.04em}.marker-strong{position:relative;z-index:0;display:inline-block}#pet .photo-note{font-size:clamp(20px,5.2vw,24px);font-weight:800;line-height:1.55}.together{border-top-left-radius:50% 48px;border-top-right-radius:50% 48px}.together-inner{display:grid;gap:46px;align-items:center}.together-copy{text-align:center}.together-copy p{margin:26px auto 0;max-width:560px;font-size:16px;font-weight:400;line-height:2.05;letter-spacing:.12em;text-align:left}.course-list{max-width:760px;margin:0 auto;border-top:1px dashed #000}.course-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-height:62px;padding:14px 0;border-bottom:1px dashed #000}.course-name,.course-price{font-size:16px;line-height:1.8;letter-spacing:.06em}.course-name{font-weight:700}.course-price{font-size:clamp(18px,4.8vw,22px);font-weight:800;text-align:right;white-space:nowrap}.course-nowrap{white-space:nowrap}.rank{display:inline-flex;align-items:center;min-height:28px;margin:0 8px 0 0;padding:2px 9px;border-radius:999px;background:var(--marker);font-size:13px;font-weight:800;line-height:1.4;letter-spacing:.02em;vertical-align:middle}.tax-note{max-width:760px;margin:16px auto 0;font-size:14px;line-height:1.8;letter-spacing:.08em}.button-wrap{display:flex;justify-content:center;margin-top:42px}.cta-button{width:min(100%,420px);min-height:64px;padding:12px 22px;box-shadow:7px 8px #000;font-size:clamp(14px,3.6vw,17px)}.gallery-grid{display:grid;gap:34px;align-items:center}.gallery-photo{margin:0 auto;overflow:hidden;box-shadow:0 8px #000}.gallery-photo img{width:100%;height:100%;object-fit:cover}.gallery-photo--circle{width:min(82vw,360px);aspect-ratio:1;border-radius:50%}.gallery-photo--oval{width:min(88vw,430px);aspect-ratio:4/3;border-radius:50%}.gallery-photo--corner{width:min(88vw,460px);aspect-ratio:4/3;border-bottom-right-radius:120px}.faq-list{max-width:820px;margin:0 auto;border-top:1px dashed #000}.faq-list details{border-bottom:1px dashed #000}.faq-list summary{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;min-height:56px;padding:14px 0;font-size:16px;font-weight:700;line-height:1.75;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";width:16px;height:16px;border-right:3px solid #000;border-bottom:3px solid #000;transform:rotate(45deg);transition:transform .2s ease}.faq-list details[open] summary:after{transform:rotate(225deg)}.faq-list p{margin:0;padding:0 44px 18px 0;font-size:16px;line-height:2;letter-spacing:.12em}.contact-copy{text-align:center}.exit-section{padding:48px var(--side) 56px;background:var(--cream);text-align:center}.quiet-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 26px;border:1px solid #000;border-radius:999px;background:0 0;font-size:15px;font-weight:700;line-height:1.6;letter-spacing:.08em}.site-footer{display:grid;place-items:center;min-height:96px;padding:28px var(--side);background:#000;color:var(--cream);font-family:Kaisei Decol,serif;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-align:center}.deco{position:absolute;z-index:0;width:58px;pointer-events:none;animation:float-small 7s ease-in-out infinite}.deco path,.deco circle,.deco ellipse,.deco line,.deco polyline{stroke:#000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.deco-leaf{z-index:2;right:26px;top:120px;width:62px;transform:rotate(-12deg)}.deco-heart{z-index:2;left:20px;bottom:28px;width:50px;animation-delay:-2s}.deco-ribbon{display:none;left:8%;top:72px;width:62px;animation-delay:-1s}.deco-cloud{right:18px;bottom:18px;width:54px;animation-delay:-3s}.deco-flower{left:18px;bottom:18px;width:54px;animation-delay:-2.4s}.deco-cup{right:8%;top:88px;width:58px;animation-delay:-1.7s}.deco-paw{left:7%;top:74px;width:58px;animation-delay:-2.8s}@keyframes float-small{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.deco,.faq-list summary:after{animation:none;transition:none}}@media (max-width:420px){.course-row{gap:10px}.course-name{font-size:15.5px;letter-spacing:.04em}.rank{margin-right:5px;padding-inline:7px}}@media (max-width:899px){.brand{font-size:20px}.hero-frame{border-bottom-left-radius:110px}.hero-copy{bottom:64px}}@media (min-width:900px){:root{--bar:0px}.site-header{position:absolute;left:0;right:0;width:100%;height:94px;background:0 0;color:#000}.bar-inner{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:none;position:relative;height:94px;padding:18px 24px}.brand{max-width:none;padding:6px 20px;border-radius:999px;background:#f5eece;color:#000;font-size:24px;text-shadow:none}.nav-toggle{display:none}.site-nav{position:absolute;top:25px;right:24px;left:auto;display:flex;width:auto;padding:0;gap:10px;background:0 0;border:0}.site-nav a{min-width:64px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:#f5eece;color:#000;font-size:14px;text-shadow:none}.hero-frame{height:620px;min-height:620px;max-height:620px;border-bottom-width:10px;border-bottom-left-radius:240px}.hero-copy{left:auto;right:max(24px,calc((100vw - var(--wrap))/2));bottom:auto;top:50%;width:min(58vw,560px);padding:0;transform:translateY(-38%)}.hero-title{font-size:clamp(32px,4.2vw,42px)}.hero-entries{gap:12px}.hero-entry{font-size:16px}.top-belt{min-height:170px}.section{padding:120px 24px}.safety-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;max-width:960px}.safety-mark{width:176px;height:176px;margin-bottom:22px}.safety-mark svg{width:86px;height:86px;stroke-width:2.2}.safety-label{font-size:17px}.round-photo{width:520px;margin-top:96px;box-shadow:0 11px #000}.split-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:76px}.split-media{margin:0}.split-copy{text-align:left}.split-copy .section-head{text-align:left;margin-bottom:36px}.split--kids .split-copy{order:1}.split--kids .split-media{order:2}.split--pet .split-media{order:1}.split--pet .split-copy{order:2}.photo-note{padding:0}.kids-price-grid{gap:14px;margin-left:0}.kids-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kids-feature-mark{width:96px;height:96px;min-width:96px;min-height:96px}.kids-feature-label{font-size:17px;letter-spacing:.03em}.pet-panel{padding:28px 30px 32px;border-radius:32px;box-shadow:9px 10px #000}.pet-table div{min-height:64px}.pet-table dt,.pet-table dd{font-size:18px}.together{border-top-left-radius:50% 96px;border-top-right-radius:50% 96px}.together-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:82px}.together-copy{text-align:left}.together-copy .section-head{text-align:left;margin-bottom:24px}.together-copy p{margin-left:0}.course-price{font-size:22px}.gallery-grid{grid-template-columns:1.05fr .9fr 1.1fr;gap:42px}.gallery-photo--circle{width:330px}.gallery-photo--oval{width:360px;transform:translateY(56px)}.gallery-photo--corner{width:390px}.exit-section{padding:64px 24px 72px}.deco-leaf{right:6%;top:142px}.deco-heart{left:7%;bottom:52px}.deco-cloud{right:8%;bottom:42px;width:72px}.deco-flower{left:9%;bottom:46px;width:62px}.deco-cup{right:13%;top:120px}.deco-paw{left:12%;top:118px}}@media (min-width:900px) and (max-width:1100px){.hero-copy{right:24px;width:min(62vw,540px)}.hero-title{font-size:36px}.hero-title span{padding-left:.1em;padding-right:.1em}}.pet-lead{margin:8px 0 18px;font-family:Kaisei Decol,serif;font-weight:700;font-size:clamp(34px,9.6vw,52px);line-height:1.4;letter-spacing:.06em;color:#000}.pet-text{margin:0;font-size:18px;font-weight:700;line-height:2;letter-spacing:.04em;color:#000}.pet-text span{display:inline-block}.deco-cup{display:none}.hero-title .hero-kicker{display:flex;width:fit-content;max-width:none;align-items:center;min-height:38px;margin:0 0 16px;padding:2px 14px;white-space:normal;background:#f5eecef5;box-decoration-break:slice;font-family:Noto Sans JP,system-ui,sans-serif;font-size:15px;font-weight:800;line-height:1.4;letter-spacing:.08em;transform:rotate(-2deg)}.footer-logo a{display:block;padding-block:10px;margin-block:-10px}a.course-row{color:inherit;text-decoration:none}a.course-row:hover .course-name{text-decoration:underline;text-underline-offset:4px}