/* Hallmark · theme: studied-DNA (source: EPチラシ) · macrostructure: photo scrapbook · genre: playful · nav: two-venue tabs · footer: contact ribbon */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V5 */
@import url('./tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-padding-top:24px}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.9;font-size:16px;font-weight:500}a{color:inherit;text-underline-offset:5px}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}img{width:100%;height:auto;display:block}figure{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);font-weight:900}h1{font-size:var(--text-display);line-height:1.55;margin:8px 0 16px}h1 span{color:var(--color-accent-text)}h2{font-size:var(--text-section);line-height:1.6;margin:0 0 24px}h3{font-size:1.25rem;line-height:1.5;margin:8px 0 12px}p{margin:0 0 20px}p:last-child{margin-bottom:0}.wrap{max-width:1160px;margin-inline:auto;padding-inline:24px}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:20px}.brand{display:flex;gap:8px;align-items:center;text-decoration:none;font-size:18px;font-weight:900;line-height:1.3;white-space:nowrap;color:var(--color-accent-text)}.brand-sub{display:block;font-size:10px;margin-top:6px;letter-spacing:.08em;color:var(--color-ink);font-weight:500}.brand-icon{width:96px;height:96px;object-fit:contain}nav{display:flex;gap:8px}nav a{font-size:13px;white-space:nowrap;padding:8px 14px;border-radius:16px;background:var(--color-blue);text-decoration:none;font-weight:700}nav a:first-child{background:var(--color-pink)}.skip{position:fixed;top:-100px;background:var(--color-accent);color:var(--color-accent-ink);padding:12px;z-index:10}.skip:focus{top:8px}.hero{display:grid;gap:24px;padding-block:20px 48px}.location,.small{font-size:12px;color:var(--color-muted)}.location{margin-bottom:12px}.hello{font-size:18px;color:var(--color-accent-text);font-weight:700;margin-bottom:0}.lede{font-size:15px}.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.hero-actions .text-link{font-size:13px}.hero-copy>.small{margin-top:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--color-accent);color:var(--color-accent-ink);padding:14px 24px;text-decoration:none;border-radius:32px;font-weight:700;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button[aria-disabled=true]{background:var(--color-rule);color:var(--color-muted);cursor:not-allowed;opacity:.7}.button+.small{margin-top:14px}.secondary{background:var(--color-key);color:var(--color-accent-text);outline:2px solid var(--color-accent)}.text-link{display:inline-flex;gap:12px;font-weight:700;white-space:nowrap}.photo-collage{position:relative;padding:0 0 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.photo-main{grid-column:1/-1;border:8px solid var(--color-key);border-radius:28px;background:var(--color-key);transform:rotate(-2deg);box-shadow:0 4px 0 var(--color-pink)}.photo-main img{aspect-ratio:1.5;object-fit:cover;border-radius:20px}.photo-main figcaption{font-size:12px;text-align:center;padding:8px 0 0}.photo-small{border:6px solid var(--color-key);border-radius:20px;background:var(--color-key)}.photo-small img{width:100%;height:140px;object-fit:cover;border-radius:14px}.photo-left{transform:rotate(3deg);margin-left:12px}.photo-right{transform:rotate(-4deg);margin-right:12px}.photo-label{position:absolute;bottom:0;left:12%;right:8%;text-align:center;font-size:13px;font-weight:700;padding:8px;background:var(--color-yellow);border-radius:20px;transform:rotate(-2deg)}.collage-doodle{position:absolute;width:76px;height:auto;right:-8px;top:-20px}.quick{background:var(--color-yellow);border-radius:32px 32px 0 0}.quick-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-block:24px}.quick-inner>div{text-align:center;display:grid;gap:2px}.quick-inner>div>span{font-size:12px;color:var(--color-muted)}.quick strong{font-size:22px;font-weight:900}.quick strong span{font-size:14px;margin-left:4px}.section{padding-block:56px}.section-title{text-align:center;margin-bottom:32px}.section-title h2{margin-bottom:12px}.section-title p{font-size:14px}.section-title>img{width:64px;height:64px;margin:0 auto 12px}.activity-grid{display:grid;gap:32px}.activity-grid>figure:nth-child(even){background:var(--color-blue)}.activity-grid>figure{background:var(--color-pink);border-radius:24px;padding:12px}.activity-grid>figure:nth-child(3){background:var(--color-mint)}.activity-grid>figure:nth-child(4){background:var(--color-yellow)}.activity-grid img{height:200px;object-fit:cover;border-radius:16px}.activity-grid figcaption{padding:12px 8px 8px}.activity-grid p{font-size:14px}.photo-note{text-align:center;margin-top:20px}.soft-band{background:var(--color-blue)}.small-group{display:grid;gap:32px}.small-group figure img{border-radius:36px 12px 36px 12px}.small-group figcaption{font-size:12px;margin-top:12px;text-align:center}.handwritten{font-weight:700;color:var(--color-accent-text);background:var(--color-yellow);padding:12px 16px;border-radius:20px}.classes-section{background:var(--color-paper);padding-block:56px}.class-list{display:grid;gap:24px;margin-block:28px}.class-list>div{padding:28px;background:var(--color-pink);border-radius:28px;position:relative}.class-list>div:nth-child(2){background:var(--color-yellow)}.class-fruit{width:56px;height:56px;float:right}.class-age{display:block;font-size:28px;font-weight:900;margin-bottom:4px}.class-list strong{font-size:20px}.class-list p{font-size:14px;margin-top:12px}.center{text-align:center}.venues{display:grid;gap:28px}.venue{padding:28px;background:var(--color-blue);border-radius:28px}.venue:nth-child(2){background:var(--color-pink)}.venue-top{display:flex;gap:16px;align-items:center;margin-bottom:16px}.venue-top h3{font-size:24px;margin:0}.day-badge{font-size:13px;border-radius:12px;background:var(--color-key);padding:8px 12px;font-weight:700;white-space:nowrap}.dates{margin-block:24px}.dates ul{list-style:none;padding:0;margin:12px 0}.dates li{padding:8px 0;border-bottom:1px dashed var(--color-rule);font-size:15px}.dates time{font-weight:700}.date-times{display:block;font-size:11px;margin-top:4px;color:var(--color-muted)}.dates .small{font-size:11px}.phonics-band{background:var(--color-yellow)}.phonics{display:grid;gap:32px}.letter-art{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.letter-art>span{font-size:48px;font-weight:900;padding:0 8px;border-radius:16px;background:var(--color-pink);transform:rotate(-7deg)}.letter-art>span:nth-child(2){background:var(--color-blue);transform:rotate(7deg);margin-top:28px}.letter-art>span:nth-child(3){background:var(--color-mint)}.letter-art>img{width:120px}.fee{display:grid;gap:24px}.fee-illustration{width:160px;height:auto}.price{margin:0;background:var(--color-lilac);border-radius:28px;padding:20px 28px}.price>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--color-rule)}.price>div:last-child{border:0}.price dd{font-size:30px;font-weight:900;margin:0;white-space:nowrap}.price dd span{font-size:16px;margin-left:8px}.teacher-band{background:var(--color-mint)}.teacher-row{display:grid;gap:32px}.teacher-row article{display:flex;align-items:flex-start;gap:20px}.teacher-row img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:5px solid var(--color-key);flex-shrink:0}.teacher-row p{font-size:13px}.teacher-row h3{font-size:22px}.teacher-row .small{margin-bottom:4px}.faq{max-width:900px}.faq details{border-bottom:1px dashed var(--color-rule)}.faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:20px 0;font-weight:700;line-height:1.6}.faq summary:before{content:'Q';color:var(--color-accent-text);font-weight:900}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--color-accent-text);flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq details>p{font-size:14px;padding:0 16px 24px 24px}.reserve{display:grid;gap:28px;padding-block:48px 64px}.reserve h2{margin-bottom:16px}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;padding:12px 0;border-bottom:1px dashed var(--color-rule);font-size:14px}.steps li:before{content:counter(step);margin-right:16px;color:var(--color-accent-text);font-weight:900}.community-history{font-size:14px;color:var(--color-accent-text);margin-bottom:12px}.class-consult{margin-top:24px}.class-consult .small{font-size:13px;font-weight:500;margin-bottom:12px}.class-consult .consult-button{font-size:14px;padding:12px 20px}.reserve .text-link{font-size:14px;margin-top:20px}footer{background:var(--color-pink);padding-block:32px 24px;border-radius:32px 32px 0 0}.closing{font-size:clamp(22px,3vw,30px);line-height:1.6;font-weight:900}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding-block:24px}.footer-links a{font-size:13px;white-space:nowrap}.footer-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px dashed var(--color-rule);padding-top:20px;font-size:11px;color:var(--color-muted)}.breadcrumb{display:flex;gap:12px;padding-block:20px;font-size:12px}.breadcrumb a{white-space:nowrap}.venue-hero{display:grid;gap:32px;padding-block:20px 56px}.venue-sheet{background:var(--color-blue);padding:24px;border-radius:28px}.venue-sheet h2{font-size:24px}.venue-sheet p{font-size:14px}.venue-sheet .text-link{font-size:14px}.split{display:grid;gap:32px}.split figure>img{border-radius:28px}.legal{max-width:800px}.legal h1{font-size:30px}.legal h2{font-size:22px;margin-top:32px}.mobile-only{display:none}
@media(min-width:48rem){.wrap{padding-inline:40px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:36px 64px}.hero-copy{padding-bottom:24px}.photo-collage{padding-bottom:44px}.photo-small img{height:180px}.quick-inner{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.activity-grid img{height:260px}.activity-grid>figure:nth-child(even){transform:translateY(20px)}.section{padding-block:72px}.small-group,.phonics,.fee,.reserve,.venue-hero,.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.class-list,.venues,.teacher-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.teacher-row img{width:120px;height:120px}.letter-art>span{font-size:64px}.letter-art>img{width:170px}.header{padding-block:24px}.brand{font-size:25px;gap:12px}.brand-icon{width:96px;height:96px;object-fit:contain}nav a{font-size:14px;padding:10px 20px}.reserve{padding-block:64px 80px}}
@media(max-width:359px){.wrap{padding-inline:20px}.brand{font-size:15px}.brand-icon{width:58px;height:58px;object-fit:contain}nav a{padding:6px 10px;font-size:12px}.header{gap:8px}h1{font-size:30px}.photo-small img{height:120px}.button{padding-inline:18px;font-size:14px}.venue,.venue-sheet{padding:20px}.teacher-row article{gap:14px}.teacher-row img{width:80px;height:80px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:47.99rem){.brand>span{display:none}.header .brand-icon{width:96px;height:96px}.header{align-items:center}}
.booking-area{min-width:0}.booking-frame{display:block;width:100%;height:2336px;border:0;background:var(--color-key);border-radius:16px}.form-pending{padding:28px;background:var(--color-pink);border-radius:24px}.form-pending h3{font-size:22px}.booking-area>.text-link{display:inline-block}.reserve:has(.booking-frame){align-items:start}.reserve:has(.booking-frame)>div:first-child{position:sticky;top:24px}@media(max-width:47.99rem){.reserve:has(.booking-frame)>div:first-child{position:static}.form-pending{padding:20px}.booking-frame{height:2550px}}

.book-peek{display:flex;align-items:center;gap:28px;padding:24px;background:var(--color-pink);border-radius:20px;margin-bottom:32px}.book-peek img{width:180px;height:auto;border-radius:12px;flex-shrink:0}.book-peek h3{font-size:21px;line-height:1.6}.book-peek p{font-size:14px}@media(max-width:47.99rem){.book-peek{flex-direction:column;align-items:flex-start;padding:20px}.book-peek img{width:160px}}
.gift-grid{display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}.gift-grid article{min-width:0}.gift-grid h3{font-size:21px;line-height:1.6}.gift-grid article>p:not(.small){font-size:14px}.gift-peek{background:var(--color-pink);border-radius:20px;padding:20px;margin-bottom:24px;height:220px;display:flex;flex-direction:column;justify-content:center;gap:16px;overflow:clip}.gift-peek img{width:100%;height:auto;max-height:150px;object-fit:contain}.gift-peek span{font-size:11px;text-align:center}.roadmap-peek img{object-fit:cover;object-position:top;height:150px;max-height:150px}.gift-note{margin-top:28px}.gift-teaser .section-title{margin-bottom:32px}@media(max-width:47.99rem){.gift-grid{grid-template-columns:minmax(0,1fr)}.gift-peek{height:210px}.roadmap-peek img{object-fit:contain}.gift-grid h3{font-size:21px}}

.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.access-grid article{min-width:0}.access-grid h3{margin-top:24px}.access-source{margin-top:24px}.access-grid .button{font-size:14px}@media(max-width:47.99rem){.access-grid{grid-template-columns:minmax(0,1fr);gap:12px}}.class-list .button{font-size:14px;margin-top:12px}.age-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}.age-hero figure img{border-radius:28px;width:100%;height:auto}.age-hero figcaption{font-size:11px;margin-top:12px;color:var(--color-muted)}.age-badge{display:inline-block;background:var(--color-pink);border-radius:30px;padding:8px 16px;font-size:13px;font-weight:700}.age-activities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.age-activities h3{font-size:21px;line-height:1.6}.age-activities p{font-size:14px}.age-fit{max-width:900px}.gift-callout{background:var(--color-pink);border-radius:28px;padding:32px;margin-block:32px 64px}.gift-callout h2{font-size:26px}.gift-intro{padding-bottom:40px}.gift-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:48px;padding-block:48px 64px;border-bottom:1px dashed var(--color-rule)}.gift-detail>div,.gift-detail figure{min-width:0}.gift-sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gift-detail figure{margin:0}.gift-detail img{width:100%;height:auto;border:1px solid var(--color-rule);border-radius:12px}.gift-detail figcaption{font-size:11px;color:var(--color-muted);line-height:1.7;margin-top:12px}.gift-detail p{font-size:14px}.gift-detail h2{margin-block:20px}.gift-detail .gift-number{color:var(--color-accent-text);font-weight:700;letter-spacing:.1em}.gift-detail .gift-receive{background:var(--color-pink);padding:16px;border-radius:16px;font-size:13px;margin-block:24px}.gift-large-sheet{max-width:460px;margin-inline:auto!important}.gift-formats{display:flex;gap:8px;flex-wrap:wrap}.gift-formats span{background:var(--color-pink);border-radius:16px;padding:6px 12px;font-size:12px}.roadmap-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-block:32px}.roadmap-examples article{min-width:0}.roadmap-examples h3{font-size:21px}.roadmap-examples p{font-size:14px}.roadmap-examples a{display:block;text-decoration:none}.roadmap-examples img{border:1px solid var(--color-rule);border-radius:12px}.roadmap-examples .text-link{display:block;margin-top:12px;font-size:13px;text-decoration:underline}@media(max-width:47.99rem){.roadmap-examples{grid-template-columns:minmax(0,1fr);gap:40px}}.roadmap-points{padding-left:24px;font-size:14px}.roadmap-points li{margin-block:8px}@media(max-width:47.99rem){.age-hero,.age-activities,.gift-detail{grid-template-columns:minmax(0,1fr);gap:28px}.gift-detail{padding-block:32px 48px}.gift-detail>div:last-child{grid-row:1}.gift-detail h2{font-size:26px}.gift-large-sheet{max-width:380px}.gift-callout{padding:24px}.class-list .button{font-size:13px;padding-inline:16px}.gift-sheets{gap:12px}}
