:root{--pink:#f55082;--ink:#24292c;--teal:#009ba7;--yellow:#ffe23d;--line:#06c755}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.8;font-size:16px}a{color:inherit}img{max-width:100%;display:block}header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 5%;background:#fff;position:relative;z-index:5}.logo{width:158px;max-height:62px;object-fit:contain}nav{display:flex;gap:30px;font-weight:700;font-size:14px}nav a{text-decoration:none}nav a:hover{color:var(--pink)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:32px;background:var(--line);color:white;border-radius:999px;text-decoration:none;padding:19px 32px;font-weight:800;box-shadow:0 4px 0 #059e44;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 7px 0 #059e44}.btn.small{font-size:14px;padding:12px 24px}.hero{background:var(--pink);color:white;padding:58px 5% 40px}.hero-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:48px}.pill{display:inline-block;background:#fff;color:#bc2351;border-radius:99px;font-weight:700;font-size:14px;padding:6px 17px;margin:0 0 24px}h1{font-size:clamp(44px,5vw,72px);line-height:1.38;letter-spacing:.015em;font-weight:900;margin:0}h1 em{font-style:normal;color:var(--yellow);text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:12px}.lead{font-weight:700;margin:25px 0 26px;line-height:2}.micro{font-size:13px;margin:12px 0 0}.hero-visual{position:relative;transform:rotate(3deg)}.photo-frame{background:#fff;padding:12px 12px 46px;border-radius:160px 160px 28px 28px;overflow:hidden;box-shadow:12px 16px 0 #ce376755}.photo-frame img{width:100%;height:475px;object-fit:cover;border-radius:148px 148px 14px 14px}.sticker{position:absolute;right:-20px;top:-50px;background:var(--yellow);color:var(--ink);height:150px;width:150px;border-radius:50%;transform:rotate(10deg);display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.08;font-size:28px;font-weight:800;box-shadow:4px 5px 0 #24292c}.photo-note{position:absolute;bottom:7px;width:100%;text-align:center;color:var(--teal);font-size:14px;font-weight:800}.facts{max-width:1240px;margin:48px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;color:var(--ink);border-radius:24px;padding:24px 10px}.facts>div{text-align:center;border-right:1px dashed #ccc}.facts>div:last-child{border:0}.facts div>span{font-size:14px;display:block}.facts strong{display:block;font-size:32px;line-height:1.5;color:var(--teal);letter-spacing:-1px}.facts small,.facts strong span{font-size:18px}.ribbon{background:var(--yellow);text-align:center;font-size:19px;letter-spacing:2px;font-weight:900;padding:15px;overflow:hidden;white-space:nowrap}.ribbon span{padding:0 35px;color:var(--pink)}section.content{max-width:1180px;margin:auto;padding:100px 28px}.eyebrow{color:var(--teal);letter-spacing:3px;font-size:14px;font-weight:800;margin:0 0 12px}h2{font-size:clamp(28px,3.5vw,42px);line-height:1.65;letter-spacing:.03em;margin:0 0 24px}h3{font-size:22px;line-height:1.6}.center{text-align:center}.muted{color:#61676a}.mobile-cta{display:none}footer{padding:36px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px}footer img{width:130px}.skip{position:absolute;left:10px;top:-90px;background:#fff;padding:10px;z-index:20}.skip:focus{top:10px}a:focus-visible,summary:focus-visible{outline:3px solid #202020;outline-offset:6px}@media(max-width:850px){header{height:78px;padding:12px 5%}nav{display:none}.logo{width:120px}.btn.small{font-size:12px;padding:10px 16px;gap:10px}.hero{padding-top:34px}.hero-inner{gap:30px;grid-template-columns:1fr}.hero-copy{text-align:center}h1{font-size:clamp(40px,9vw,64px)}.lead{font-size:15px}.hero-visual{width:86%;margin:20px auto 0}.photo-frame img{height:340px}.sticker{width:116px;height:116px;font-size:23px;right:-22px;top:-30px}.facts{grid-template-columns:1fr 1fr;gap:20px;margin-top:38px;padding:24px 10px}.facts>div:nth-child(2){border:0}.facts strong{font-size:28px}.facts small{font-size:16px}.ribbon{font-size:15px}section.content{padding:65px 24px}footer{padding-bottom:110px;flex-wrap:wrap}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:12px 18px 20px;background:#fffffff2;border-top:1px solid #eee}.mobile-cta .btn{width:100%;padding:13px;font-size:15px}.photo-note{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
.experience-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;margin-top:60px}.experience-photo{position:relative}.experience-photo img{height:520px;width:100%;object-fit:cover;border-radius:24px 110px 24px 24px}.experience-photo>span{position:absolute;bottom:20px;left:-15px;transform:rotate(-6deg);background:var(--yellow);padding:8px 25px;font-size:26px;font-weight:900}.experience-list article{padding:18px 0;border-bottom:1px solid #e0e4e4}.experience-list article>span{font-weight:800;color:var(--pink);font-size:14px;letter-spacing:2px}.experience-list h3{margin:5px 0 10px}.experience-list p{margin:0;color:#555d60}.schedule-bg{background:#e9f9fa}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.timeline{padding:0;list-style:none;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.timeline li{background:#fff;border-radius:16px;display:flex;gap:25px;padding:24px}.timeline li:last-child{grid-column:1/-1}.timeline time{font-size:23px;color:var(--teal);font-weight:900}.timeline h3{font-size:18px;margin:0 0 5px}.timeline p{margin:0;font-size:14px}.note{font-size:13px;color:#596166}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0 18px}.price{border:2px solid #e4e8e8;border-radius:20px;text-align:center;padding:25px 8px 20px}.price.start{border-color:var(--pink);background:#fff4f7}.price-label{font-size:20px;font-weight:800;margin:0 0 20px}.price-number{font-size:29px;font-weight:900;margin:0;color:var(--teal);white-space:nowrap;letter-spacing:-1px}.price-number span{font-size:14px}.price.start .price-number{color:#ca285c}.price>p:last-child:not(.price-number){font-size:14px;margin:12px 0 0;color:#b42b55}.fees-detail{margin:35px 0}.fees-detail>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #e5e5e5;padding:20px 0}.fees-detail dt{font-weight:700}.fees-detail dd{margin:0}.fees-detail small{display:block;color:#646a6d;font-size:13px;margin-top:4px}.transport{background:#fff5bd;border-radius:12px;padding:18px 24px;display:flex;gap:25px;align-items:center}.transport p{margin:0}.transport b{white-space:nowrap;font-size:14px}.faq-section{background:#f7f8f8;padding:75px 24px}.content-inner{max-width:850px;margin:auto}details{border-bottom:1px solid #ccd4d4;padding:23px 0}summary{font-size:17px;font-weight:700;cursor:pointer;list-style:none;display:flex;gap:20px;align-items:center}summary::-webkit-details-marker{display:none}summary:before{content:'Q';color:var(--teal);font-size:23px}summary:after{content:'+';margin-left:auto;font-size:24px;color:var(--teal)}details[open] summary:after{content:'−'}details p{margin:15px 35px 5px;color:#51595c}.visit-section{padding:85px 24px;text-align:center;background:var(--pink);color:white}.visit-inner{max-width:850px;margin:auto}.visit-section .eyebrow{color:#fff;font-weight:900}.visit-section h2{font-size:clamp(30px,4vw,48px)}.visit-section .btn{margin-top:23px}.visit-secondary{margin-top:36px;font-size:14px}.visit-secondary a{font-weight:800;text-underline-offset:5px}.access{display:flex;justify-content:space-between;align-items:center;gap:35px}address{font-style:normal}.phone{font-size:32px;font-weight:900;text-decoration:none;letter-spacing:1px}.access-actions p{font-size:14px;margin:0 0 25px}.map-link{color:#007f89;font-weight:700;text-underline-offset:5px}.access h2{font-size:30px}.access h3{font-size:18px;margin-bottom:10px}footer{border-top:1px solid #e8eded}@media(max-width:850px){.experience-grid{grid-template-columns:1fr;gap:30px;margin-top:32px}.experience-photo img{height:320px}.section-heading{display:block}.timeline{grid-template-columns:1fr}.timeline li{gap:16px;padding:20px 16px}.timeline time{font-size:20px}.price-grid{grid-template-columns:1fr 1fr;gap:12px}.price-number{font-size:27px}.fees-detail>div{grid-template-columns:1fr;gap:8px}.transport{display:block}.transport p{margin-top:6px}.access{display:block}.access-actions{margin-top:30px}.access h2{font-size:25px}.visit-section{padding:65px 24px}.visit-section p br{display:none}.faq-section{padding:60px 24px}summary{font-size:16px;gap:15px}details p{margin-left:0;margin-right:0}.photo-frame img{object-position:57% center}}

/* Continuous marquee: identical groups keep the loop seamless. */
.ribbon{position:relative;padding:15px 0;text-align:left}.ribbon-track{display:flex;width:max-content;animation:ribbon-scroll 28s linear infinite;will-change:transform}.ribbon-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:100vw;gap:38px;padding-right:38px}.ribbon .ribbon-group span{padding:0;color:var(--ink)}.ribbon-group i{font-size:13px;font-style:normal;color:var(--pink)}@keyframes ribbon-scroll{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none}}

/* Poster composition and persistent navigation */
html{scroll-padding-top:120px}header{position:sticky;top:0;z-index:50;height:104px;padding:16px max(28px,calc((100vw - 1320px)/2));display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:30px;box-shadow:0 2px 12px #24292c0c}header>a:first-child{display:flex;align-items:center;min-width:0}.logo{width:260px;max-height:74px;height:auto}header nav{justify-content:center;gap:clamp(18px,2.3vw,36px);align-items:center}header nav a{white-space:nowrap;font-size:15px}.btn{transition:transform .15s,box-shadow .15s,background-color .15s}.btn:hover,.btn:focus-visible{transform:translateY(2px);box-shadow:0 2px 0 #059e44}.btn:active{transform:translateY(4px);box-shadow:0 0 0 #059e44}.hero{padding:26px 5% 32px}.hero-heading{max-width:1200px;margin:auto;text-align:center}.hero-heading .pill{margin:0 0 8px}.headline-stage{position:relative;max-width:1100px;margin:0 auto 18px;padding:6px 128px 50px}.illustrated-title{margin:0;line-height:1}.illustrated-title img{width:100%;height:auto;max-height:245px;object-fit:contain}.mascot{pointer-events:none;object-fit:contain}.hero-friend{position:absolute;width:91px;height:105px}.friend-1{left:12px;top:8px;transform:rotate(-12deg)}.friend-2{left:45px;bottom:3px;width:74px;height:112px;transform:rotate(8deg)}.friend-3{right:12px;top:3px;transform:rotate(10deg)}.friend-4{right:45px;bottom:2px;transform:rotate(-8deg)}.friend-5{left:calc(50% - 38px);bottom:0;width:76px;height:62px;transform:rotate(-8deg)}.hero-inner{max-width:1000px;grid-template-columns:1fr 1fr;gap:65px}.hero-copy{padding:0 0 0 10px}.lead{margin:0 0 20px;font-size:16px}.hero-visual{transform:rotate(2deg)}.photo-frame{padding:9px 9px 32px;border-radius:50px 50px 20px 20px;box-shadow:8px 10px 0 #ce376755}.photo-frame img{height:215px;border-radius:42px 42px 12px 12px;object-position:center 40%}.photo-note{font-size:12px;bottom:1px}.sticker{width:90px;height:90px;font-size:18px;right:-25px;top:-35px;box-shadow:3px 3px 0 #24292c}.facts{margin-top:28px;padding:15px 10px;max-width:1100px}.facts strong{font-size:29px}.has-section-friend{position:relative}.section-friend{position:absolute;top:35px;width:100px;height:120px}.friend-on-left>.section-friend{left:25px;transform:rotate(-9deg)}.friend-on-right>.section-friend{right:25px;transform:rotate(9deg)}.mascot-intro{display:block}.has-section-friend>.section-heading{padding-right:120px}.faq-section .section-friend{top:-12px;right:0;width:90px;height:100px}.faq-section h2{padding-right:110px}.visit-inner{position:relative;padding-left:110px;padding-right:110px;max-width:1080px}.visit-mascot{position:absolute;top:90px;width:100px;height:130px}.visit-mascot.left{left:0;transform:rotate(-10deg)}.visit-mascot.right{right:0;transform:rotate(10deg)}
@media(min-width:851px) and (max-width:1100px){header{grid-template-columns:220px minmax(0,1fr) auto;gap:16px;padding:16px 25px}.logo{width:220px}header nav{gap:16px}header nav a{font-size:13px}header .btn.small{padding:12px 18px;gap:15px}.headline-stage{padding-left:110px;padding-right:110px}.hero-inner{gap:40px}.section-friend{width:75px;height:90px}}
@media(max-width:850px){html{scroll-padding-top:96px}header{height:86px;grid-template-columns:minmax(0,1fr) auto;padding:12px 20px;gap:15px}.logo{width:215px;max-width:100%;max-height:60px}header nav{display:none}header .btn.small{padding:11px 16px;font-size:12px;gap:8px}.hero{padding:20px 20px 28px}.hero-heading .pill{font-size:12px;padding:5px 10px}.headline-stage{padding:8px 47px 44px;margin:6px auto 15px}.illustrated-title{width:100%;max-width:none;margin:0}.illustrated-title img{max-height:none}.hero-friend{width:45px;height:57px}.friend-1{left:0;top:0}.friend-2{left:8px;bottom:0;width:42px;height:62px}.friend-3{right:0;top:0}.friend-4{right:8px;bottom:0}.friend-5{left:calc(50% - 25px);width:50px;height:40px}.hero-inner{display:flex;flex-direction:column;gap:24px}.hero-copy{text-align:center;padding:0}.hero-copy .lead{font-size:14px;margin:0 0 16px}.hero-copy .btn{padding:15px 25px;font-size:14px}.hero-copy .micro{font-size:12px}.hero-visual{width:min(82%,440px);margin:10px auto 0}.photo-frame img{height:200px}.sticker{width:75px;height:75px;font-size:16px;right:-23px;top:-30px}.photo-note{font-size:10px}.facts{margin-top:24px;gap:14px}.facts strong{font-size:25px}.facts>div>span{font-size:12px}.section-friend{position:relative;display:block;top:auto!important;left:auto!important;right:auto!important;width:68px;height:85px;margin:0 0 20px}.friend-on-left>.section-friend{margin-right:auto}.friend-on-right>.section-friend{margin-left:auto}.has-section-friend>.section-heading{padding-right:0}.faq-section h2{padding-right:0}.faq-section .section-friend{width:70px;height:80px}.visit-inner{padding:72px 0 0}.visit-mascot{top:-10px;width:70px;height:85px}.visit-mascot.left{left:10px}.visit-mascot.right{right:10px}}
@media(max-width:380px){header{padding:12px}.logo{width:178px}header .btn.small{font-size:11px;padding:10px 12px}.headline-stage{padding-left:38px;padding-right:38px}.hero-friend{width:36px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
.illustrated-title img{border-radius:16px;mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}.friend-4{width:112px;height:120px}@media(max-width:850px){.friend-4{width:58px;height:65px}}

/* Content-first mobile layout. Decorative images never occupy a layout row. */
.headline-mobile{display:none}.hero{position:relative;isolation:isolate}.hero-friend{z-index:2}.hero>.friend-1{left:max(5%,calc(50% - 538px));top:68px}.hero>.friend-2{left:max(7%,calc(50% - 505px));top:202px;bottom:auto}.hero>.friend-3{right:max(5%,calc(50% - 538px));top:65px}.hero>.friend-4{right:max(7%,calc(50% - 505px));top:208px;bottom:auto}.hero>.friend-5{top:298px;bottom:auto}
@media(max-width:850px){
 .hero{padding:18px 18px 24px}.hero-heading .pill{margin-bottom:12px}.headline-stage{padding:0;margin:0 0 20px;max-width:560px}.illustrated-title{margin:0;width:100%}.illustrated-title>.headline-desktop{display:none}.headline-mobile{display:block;width:100%;overflow:hidden}.headline-mobile>span{display:block;position:relative;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 1%,#000 99%,transparent)}.headline-age{aspect-ratio:1120/300}.headline-message{aspect-ratio:2110/330;margin-top:8px}.illustrated-title .headline-mobile img{position:absolute;max-width:none;max-height:none;height:auto;object-fit:initial;border-radius:0;mask-image:none}.headline-age img{width:193.929%;left:-2.232%;top:-15%}.headline-message img{width:102.938%;left:-1.422%;top:-104.545%}
 .hero-copy{width:100%}.hero-copy .lead{font-size:15px;line-height:1.85;margin:0 0 17px}.hero-copy .btn{width:100%;max-width:400px}.hero-inner{gap:24px}.hero-visual{width:88%;margin:8px auto 0}.facts{margin-top:24px}.hero-friend{width:44px;height:54px;margin:0}.hero>.friend-1{left:0;top:245px;bottom:auto;width:39px;height:46px;transform:rotate(-17deg)}.hero>.friend-2{left:0;top:455px;bottom:auto;width:44px;height:68px;transform:rotate(-7deg)}.hero>.friend-3{right:0;top:245px;bottom:auto;width:39px;height:46px;transform:rotate(15deg)}.hero>.friend-4{right:0;top:490px;bottom:auto;width:59px;height:65px;transform:rotate(12deg)}.hero>.friend-5{left:auto;right:3px;top:385px;bottom:auto;width:47px;height:56px;transform:rotate(-12deg)}
 section.content{padding:50px 24px}.section-friend,.faq-section .section-friend{position:absolute;display:block;top:-12px!important;left:auto!important;right:auto!important;width:58px;height:66px;margin:0!important;z-index:1}.friend-on-left>.section-friend{left:6px!important}.friend-on-right>.section-friend{right:6px!important}.has-section-friend>.section-heading{padding-right:0}.faq-section{padding:52px 24px}.faq-section .section-friend{top:-51px!important;right:-8px!important;width:54px;height:58px}.faq-section h2{padding-right:0}.visit-section{padding:52px 24px}.visit-inner{padding:0}.visit-mascot{top:-52px;width:55px;height:62px}.visit-mascot.left{left:-18px}.visit-mascot.right{right:-18px}.experience-grid{margin-top:25px}.mascot-intro{margin:0;padding:0}
}
@media(min-width:500px) and (max-width:850px){.hero>.friend-1,.hero>.friend-3{top:300px}.hero>.friend-2{top:520px}.hero>.friend-4{top:555px}.hero>.friend-5{top:450px}}

/* Without decorative characters, spacing follows content only. */
.headline-stage{max-width:844px;padding:6px 0 0;margin-bottom:28px}.has-section-friend>.section-heading{padding-right:0}.faq-section h2{padding-right:0}.visit-inner{padding-left:0;padding-right:0}
@media(max-width:850px){.headline-stage{padding:0;margin:0 auto 20px;max-width:560px}.headline-age{width:53.0806%;margin:0 auto}.headline-message{width:100%;margin-top:8px}.visit-inner{padding:0}}

/* Activities from the official afterschool page. */
.schedule-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:30px}.schedule-content .timeline{margin:0;grid-template-columns:1fr;gap:12px}.schedule-content .timeline li{padding:20px}.schedule-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding-top:0}.schedule-gallery figure{margin:0;min-width:0}.schedule-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#fff}.schedule-gallery figcaption{font-size:14px;font-weight:700;text-align:center;margin-top:8px;color:#087981}.site-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;padding:48px 24px 36px}.site-footer .footer-brand{display:block;width:min(320px,85%)}.site-footer img{width:100%;height:auto}.footer-site-link{font-size:14px;text-underline-offset:5px}.site-footer .copyright{font-size:13px;line-height:1.8;margin:0;color:#535c60}
@media(max-width:850px){.schedule-content{grid-template-columns:1fr;gap:28px;margin-top:24px}.schedule-content .timeline li{padding:20px 16px}.schedule-gallery{gap:18px 12px}.schedule-gallery img{border-radius:12px}.schedule-gallery figcaption{font-size:13px}.site-footer{padding:38px 20px 118px;gap:20px}.site-footer .footer-brand{width:min(280px,85%)}.site-footer .copyright{font-size:12px}}

/* The official BiBi action buttons and footer. */
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}.official-button{min-height:50px;border-radius:30px;padding:11px 22px;text-decoration:none;text-align:center;font-weight:bold;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:16px;line-height:1.55;border:2px solid transparent;transition:filter .2s;box-shadow:none;transform:none;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.official-button:hover{filter:brightness(.94);transform:none;box-shadow:none}.line-button{background:#fff;color:#00b943;border-color:#00b943}.line-icon{background:#06b83f;color:#fff;border-radius:50%;padding:4px;font-size:10px;line-height:1.55;flex-shrink:0}.enrollment-button{background:#ffdf2d;color:#383322}.hero-copy .contact-actions{display:grid;grid-template-columns:1fr;max-width:400px}.visit-inner .contact-actions{justify-content:center;margin-top:24px}.visit-inner .official-button{min-width:240px}header{height:auto;min-height:110px;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto auto;gap:10px 35px;padding-top:16px;padding-bottom:16px}header>a:first-child{grid-column:1;grid-row:1/3}header nav{grid-column:2;grid-row:1;justify-content:flex-end}header>.contact-actions{grid-column:2;grid-row:2;justify-content:flex-end;gap:10px}header .official-button{min-height:44px;padding:10px 15px;font-size:14px;white-space:nowrap}.official-footer{display:block;text-align:center;padding:24px 0 0;gap:0;border:0;color:#243047;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.official-footer-content{width:min(1100px,calc(100% - 64px));margin:auto}.official-footer .footer-logo{width:min(430px,85%);height:auto;margin:0 auto 12px}.official-footer address{font-style:normal;font-size:16px;line-height:1.7}.official-footer .map{background:#555;color:#fff;margin:12px auto}.official-footer .backtop{display:block;font-size:15px;margin:15px auto}.official-footer picture{display:block}.official-footer .footer-art{width:100%;max-width:none;height:auto;margin-top:8px}.mobile-cta .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-cta .official-button{min-width:0;min-height:50px;padding:10px 5px;font-size:13px}.mobile-cta .line-icon{display:none}
@media(max-width:850px){header{grid-template-columns:1fr;grid-template-rows:auto auto;padding:12px 18px;min-height:0;gap:10px}header>a:first-child{grid-column:1;grid-row:1;justify-content:center}header .logo{width:230px}header>.contact-actions{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:8px}header .official-button{min-height:44px;padding:8px 5px;font-size:13px;white-space:normal}header .line-icon{display:none}.hero-copy .contact-actions{margin:0 auto}.hero-copy .official-button{font-size:16px}.visit-inner .contact-actions{display:grid;grid-template-columns:1fr}.visit-inner .official-button{min-width:0}.official-footer{padding-top:16px;padding-bottom:90px}.official-footer-content{width:calc(100% - 40px)}.official-footer .footer-logo{width:78%;margin-bottom:10px}.official-footer address{font-size:14px;line-height:1.7}.official-footer .map{font-size:14px;min-height:42px;padding:8px 18px;margin:10px auto}.official-footer .footer-art{margin-top:5px}html{scroll-padding-top:155px}}
@media(prefers-reduced-motion:reduce){.official-button{transition:none}}

/* One-row desktop navigation and paired inline calls to action. */
@media(min-width:851px){header{grid-template-columns:220px minmax(0,1fr) auto;grid-template-rows:auto;gap:22px;padding:18px 24px;min-height:96px}header>a:first-child{grid-column:1;grid-row:1}header .logo{width:220px}header nav{grid-column:2;grid-row:1;justify-content:center;gap:22px}header nav a{font-size:14px}header>.contact-actions{grid-column:3;grid-row:1;flex-wrap:nowrap;gap:8px}header .official-button{padding:10px 12px;font-size:14px}}
@media(min-width:851px) and (max-width:1100px){header{grid-template-columns:155px minmax(0,1fr) auto;gap:12px;padding:14px 16px;min-height:88px}header .logo{width:155px}header nav{gap:12px}header nav a{font-size:12px}header .official-button{font-size:12px;padding:9px 8px}header .line-icon{font-size:8px;padding:3px}}
.hero-copy .contact-actions,.visit-inner .contact-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;max-width:560px;margin-left:auto;margin-right:auto}.hero-copy .official-button,.visit-inner .official-button{min-width:0;padding:11px 8px;font-size:14px;white-space:nowrap}.hero-copy .line-icon{display:none}.access{display:block;text-align:center;padding-top:50px!important;padding-bottom:38px!important}.access h2{margin-bottom:0}
@media(max-width:850px){.hero-copy .contact-actions,.visit-inner .contact-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.hero-copy .official-button,.visit-inner .official-button{font-size:clamp(12px,3.3vw,16px);padding:11px 6px;min-height:50px}.visit-inner .line-icon{display:none}.access{padding-top:38px!important;padding-bottom:30px!important}}

/* English immersion, small groups, and a caring bilingual team. */
.english-title{font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:clamp(32px,4.5vw,62px);font-weight:900;line-height:1.55;letter-spacing:.02em;text-wrap:balance}.english-title>span{display:block}.english-title .title-first{font-size:.74em}.english-title .title-hours{font-size:1.4em;color:var(--yellow);display:inline-block}.english-title .title-last{color:var(--yellow);font-size:1.18em;line-height:1.35}.headline-stage{max-width:1100px;margin:12px auto 20px}.hero-promises{display:flex;justify-content:center;gap:12px;margin:0 auto 35px;flex-wrap:wrap}.hero-promises span{border:1px solid #ffffff90;border-radius:99px;padding:6px 18px;font-size:14px;font-weight:700;background:#e42c6325}.hero-inner{max-width:1100px;gap:40px;grid-template-columns:1.1fr 1fr}.hero-copy .lead{font-size:16px}.hero-visual{margin-right:12px}.marker{background:linear-gradient(transparent 71%,#ffe23d95 71%,#ffe23d95 93%,transparent 93%);padding:0 .08em}.section-intro{text-align:center;max-width:770px;margin:0 auto 38px;color:#525e62;line-height:2}.small-class{padding-bottom:80px!important}.comparison{max-width:940px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;align-items:stretch;border:1px solid #e3e8e8;border-radius:28px;background:#f7f8f8;overflow:hidden}.comparison>div{text-align:center;padding:28px 25px}.comparison-label{font-size:17px;font-weight:800;margin:0 0 12px}.comparison-example{display:flex;flex-direction:column;justify-content:center;color:#586268}.comparison-bibi{background:#fff2f6;border:3px solid var(--pink);border-radius:26px;color:#b71d4a}.count{font-size:23px;font-weight:700;margin:0;line-height:1.4}.count strong{font-size:65px;letter-spacing:-.035em;margin-right:6px}.count-divider{font-size:14px;display:block;margin:2px 0 6px}.staff-count{font-size:23px;font-weight:700;margin:0;line-height:1.5}.staff-count b{font-size:47px;margin:0 6px}.team-caption{font-size:14px;line-height:1.8;margin:15px 0 0;padding-top:13px;border-top:1px dashed #df91a8;font-weight:700}.comparison-note{max-width:940px;margin:14px auto 34px}.connection-points{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.connection-points article{padding:0 20px;border-left:2px solid #f7c5d4}.connection-points article>span{color:#bd2f5b;letter-spacing:2px;font-size:14px;font-weight:800}.connection-points h3{font-size:22px;margin:6px 0 10px}.connection-points p{margin:0;color:#525e62}#experience{padding-top:65px;border-top:1px solid #edf0f0}.support-section{background:#fff5d4;padding:85px 28px}.support-inner{max-width:1060px}.support-team{display:grid;grid-template-columns:1fr 54px 1fr;align-items:stretch;gap:12px}.support-card{background:#fff;border-radius:26px;padding:32px;position:relative;border-top:7px solid var(--teal)}.support-card.bilingual{border-color:var(--pink)}.role-tag{font-weight:800;font-size:15px;color:#08737c;margin:0 0 14px}.bilingual .role-tag{color:#b72854}.support-card h3{font-size:29px;line-height:1.5;margin:0 0 17px}.support-card>p:last-child{color:#525e62;margin-bottom:0;line-height:1.9}.qualification{display:inline-block;font-size:14px;border-radius:99px;background:#fff0f5;color:#b72854;padding:4px 14px;font-weight:700;margin-bottom:0}.team-plus{align-self:center;font-size:39px;color:#8d7738;font-weight:700;text-align:center}.support-reassurance{text-align:center;margin:32px auto 0}.support-reassurance h3{font-size:23px;margin:0 0 10px}.support-reassurance p{margin:0;color:#525e62}.schedule-intro{max-width:820px;margin:0 0 25px;line-height:1.9;color:#455b60}.english-moment{display:block;margin-top:7px;color:#08717a;font-weight:700;font-size:13px}.eyebrow{color:#087781}.experience-list article>span{color:#bd2f5b}.facts strong,.timeline time,.price-number{color:#087f88}.timeline p{font-size:14px}button:focus-visible{outline:3px solid #24292c;outline-offset:4px}
@media(max-width:850px){.hero{padding-top:26px}.headline-stage{margin:12px auto 23px;max-width:640px}.english-title{font-size:clamp(27px,5.8vw,45px);line-height:1.65}.english-title .title-first{font-size:.8em}.english-title .title-hours{display:inline-block}.hero-promises{gap:7px;margin-bottom:26px}.hero-promises span{font-size:13px;padding:5px 10px}.hero-copy .lead{font-size:15px}.hero-visual{margin:12px auto 0}.desktop-break{display:none}.section-intro{text-align:left;font-size:16px;margin-bottom:27px}.section-intro br{display:none}.comparison{grid-template-columns:1fr 1fr;border-radius:18px;align-items:stretch}.comparison>div{padding:22px 12px}.comparison-label{font-size:14px;line-height:1.65;min-height:46px;display:flex;align-items:center;justify-content:center}.comparison-bibi{border-radius:18px;border-width:2px}.count{font-size:17px}.count strong{font-size:clamp(32px,8.3vw,53px)}.count-divider{font-size:13px;margin:8px 0}.staff-count{font-size:16px}.staff-count b{font-size:31px;margin:0 3px}.team-caption{font-size:13px;line-height:1.8}.comparison-note{font-size:12px}.connection-points{grid-template-columns:1fr;gap:25px}.connection-points article{padding:0 18px}.connection-points h3{font-size:21px}.small-class{padding-bottom:50px!important}#experience{padding-top:50px}.support-section{padding:54px 24px}.support-team{grid-template-columns:1fr;gap:10px}.support-card{padding:25px;border-radius:20px}.support-card h3{font-size:26px}.support-card h3 br{display:none}.team-plus{font-size:32px;line-height:1.2}.support-reassurance{text-align:left;margin-top:27px}.support-reassurance h3{font-size:21px}.support-reassurance br{display:none}.section-heading>p{margin-bottom:15px}.schedule-intro{font-size:16px}.photo-note{font-size:12px}.facts>div>span{font-size:13px}.official-footer{padding-bottom:25px}}
@media(max-width:380px){.english-title{font-size:25px}.hero-promises span{font-size:12px}.comparison>div{padding:18px 9px}.count strong{font-size:31px}.staff-count{font-size:14px}}

/* Responsive editorial rhythm: one focal point at a time on small screens. */
.label-mobile,.mobile-break{display:none}.lead>span{display:block}.lead-audience{margin-bottom:10px}.team-caption{max-width:940px;margin:20px auto 0;padding:0;border:0;text-align:center;color:#a82550;line-height:1.9;font-size:15px}.comparison-example{display:block}.comparison-label{min-height:31px}.design-title{margin:0;line-height:1}.design-title img{width:100%;height:auto;display:block}.headline-stage{max-width:760px;margin:8px auto 20px;padding:0}.support-card h3{max-width:100%;overflow-wrap:anywhere}.section-intro{max-width:720px}.hero .hero-promises{margin-bottom:28px}.comparison-note{margin-top:14px}.content,.content-inner,.hero-copy,.hero-visual,.support-card,.timeline li>div{min-width:0}
@media(max-width:850px){
 html{scroll-padding-top:78px}
 body{font-size:16px;line-height:1.85;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 header{height:64px;min-height:64px;padding:10px 20px;display:flex;justify-content:center;box-shadow:0 2px 10px #24292c08}
 header>a:first-child{display:block;flex:0 1 auto}header .logo{width:170px;max-height:44px}header>.contact-actions{display:none}
 .label-desktop{display:none}.label-mobile{display:inline}.mobile-break{display:block}
 .mobile-cta{display:block;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -3px 16px #24292c0a}
 .mobile-cta .contact-actions{max-width:580px;margin:auto;grid-template-columns:1fr 1fr;gap:8px}
 .mobile-cta .official-button{font-size:14px;line-height:1.5;min-height:48px;border-radius:999px;padding:9px 6px;white-space:normal}
 .hero{padding:23px 20px 26px}.hero-heading .pill{font-size:12px;line-height:1.6;padding:6px 11px;margin:0 auto 12px}
 .headline-stage{max-width:530px;margin:0 auto 20px;padding:0}.design-title{width:100%;margin:0}.design-title img{width:100%;height:auto}
 .hero .hero-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 auto 24px;max-width:530px;align-items:stretch}
 .hero-promises span{display:flex;justify-content:center;align-items:center;text-align:center;font-size:13px;line-height:1.65;min-height:54px;padding:6px 8px;border-radius:12px;text-wrap:balance;background:#d72b5925}
 .hero-inner{display:flex;flex-direction:column;gap:24px;max-width:530px}.hero-visual{order:-1;width:calc(100% - 18px);margin:0 auto;transform:rotate(1.5deg)}
 .photo-frame{padding:7px 7px 31px;border-radius:28px 28px 15px 15px;box-shadow:5px 6px 0 #ce37673b}.photo-frame img{height:auto;aspect-ratio:1.65;object-fit:cover;object-position:center 40%;border-radius:22px 22px 9px 9px}
 .sticker{height:68px;width:68px;font-size:15px;top:-25px;right:-11px;box-shadow:2px 3px 0 #24292c}.photo-note{font-size:11px;bottom:0;line-height:1.5;padding:0 5px}
 .hero-copy{text-align:left;padding:0;width:100%}.hero-copy .lead{font-size:15px;line-height:1.85;margin:0}.lead-audience{font-size:15px;margin-bottom:9px}.hero-copy .contact-actions,.hero-copy .micro{display:none}
 .facts{max-width:530px;margin:22px auto 0;padding:17px 10px;gap:17px 0;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div{padding:0 4px}.facts>div>span{font-size:12px;line-height:1.6;margin-bottom:4px}.facts strong{font-size:clamp(21px,6vw,28px);letter-spacing:-.7px;line-height:1.35}.facts small,.facts strong span{font-size:14px}
 .ribbon{padding:11px 0;font-size:14px;letter-spacing:1px}.ribbon-group{gap:24px;padding-right:24px}
 section.content{padding:54px 22px;max-width:600px}.eyebrow{font-size:11px;letter-spacing:1.8px;line-height:1.65;margin-bottom:12px}h2{font-size:clamp(25px,6.65vw,34px);line-height:1.65;letter-spacing:.015em;margin-bottom:22px;text-wrap:balance}h3{line-height:1.65}
 .section-intro{font-size:15px;line-height:1.95;text-align:left;margin-bottom:26px}.muted{font-size:15px;line-height:1.95}.marker{box-decoration-break:clone;-webkit-box-decoration-break:clone}
 .small-class{padding-bottom:52px!important}.comparison{grid-template-columns:1fr 1fr;border-radius:17px;align-items:stretch}.comparison>div{padding:20px 10px 22px;display:block}.comparison-bibi{border:2px solid var(--pink);border-radius:16px}.comparison-label{font-size:13px;line-height:1.55;min-height:40px;margin:0 0 12px;display:flex;align-items:center;justify-content:center}
 .count{font-size:16px;line-height:1.25;white-space:nowrap}.count strong{font-size:clamp(29px,8.5vw,44px);letter-spacing:-1.5px;margin-right:3px}.count-divider{font-size:12px;margin:10px 0}.staff-count{font-size:14px;line-height:1.4;white-space:nowrap}.staff-count b{font-size:30px;margin:0 2px}.team-caption{font-size:14px;text-align:left;margin-top:18px;line-height:1.85}.comparison-note{font-size:12px;line-height:1.8;margin:10px 0 28px}
 .connection-points{gap:23px;margin-top:0}.connection-points article{padding:0 0 0 15px;border-left:3px solid #f7c5d4}.connection-points article>span{font-size:12px}.connection-points h3{font-size:20px;margin:2px 0 6px}.connection-points p{font-size:15px;line-height:1.85}
 #experience{padding-top:52px}.experience-grid{gap:24px;margin-top:26px}.experience-photo{max-width:440px;width:100%;margin:auto}.experience-photo img{height:auto;aspect-ratio:1.12;object-fit:cover;border-radius:20px 65px 20px 20px}.experience-photo>span{font-size:21px;left:-7px;bottom:14px;padding:5px 18px}.experience-list article{padding:19px 0}.experience-list article>span{font-size:12px}.experience-list h3{font-size:20px;margin:5px 0 8px}.experience-list p{font-size:15px;line-height:1.85}
 .support-section{padding:52px 22px}.support-inner{max-width:556px}.support-team{gap:10px}.support-card{padding:24px;border-radius:18px;border-top-width:5px}.role-tag{font-size:13px;margin-bottom:10px}.support-card h3{font-size:24px;line-height:1.55;margin:0 0 12px;letter-spacing:0}.support-card h3 br{display:block}.support-card>p:last-child{font-size:15px;line-height:1.85;margin-top:15px}.qualification{font-size:13px;padding:4px 12px}.team-plus{font-size:27px;line-height:1.3}.support-reassurance{margin-top:27px}.support-reassurance h3{font-size:20px}.support-reassurance p{font-size:15px;line-height:1.9}
 .section-heading{display:block}.section-heading>p{font-size:15px;line-height:1.85;margin:0 0 15px}.schedule-intro{font-size:15px;line-height:1.9}.schedule-content{gap:26px;margin-top:24px}.schedule-content .timeline{gap:10px}.schedule-content .timeline li{padding:17px 14px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;border-radius:12px}.timeline time{font-size:18px;line-height:1.65}.timeline h3{font-size:16px;margin:0 0 6px;line-height:1.6}.timeline p{font-size:14px;line-height:1.8}.english-moment{font-size:13px;margin-top:6px}.schedule-gallery{gap:15px 12px}.schedule-gallery figcaption{font-size:13px;line-height:1.6;margin-top:7px}.note{font-size:12px;line-height:1.8}
 .price-grid{gap:12px;margin:27px 0 16px}.price{padding:20px 8px;border-radius:15px;border-width:1.5px;min-height:145px;display:flex;flex-direction:column;justify-content:center}.price-label{font-size:18px;margin:0 0 12px}.price-number{font-size:27px;letter-spacing:-1px;line-height:1.4}.price-number span{font-size:12px}.price>p:last-child:not(.price-number){font-size:12px;margin-top:9px}.fees-detail{margin:24px 0}.fees-detail>div{padding:17px 0;gap:5px}.fees-detail dt{font-size:14px}.fees-detail dd{font-size:15px}.fees-detail small{font-size:12px;line-height:1.85}.transport{padding:17px 18px;border-radius:12px}.transport p{font-size:14px;line-height:1.85}
 .faq-section{padding:52px 22px}.faq-section .content-inner{max-width:556px}details{padding:20px 0}summary{display:grid;grid-template-columns:20px minmax(0,1fr) 18px;gap:10px;font-size:15px;line-height:1.75;align-items:start}summary:before{font-size:19px;line-height:1.4}summary:after{font-size:22px;line-height:1.35;margin:0}details p{font-size:15px;line-height:1.9;margin:14px 0 0 30px}
 .visit-section{padding:50px 22px}.visit-inner{max-width:556px}.visit-section h2{font-size:clamp(24px,6.4vw,33px);line-height:1.7}.visit-inner>p:not(.eyebrow){font-size:15px;line-height:1.9;text-align:left}.visit-inner .contact-actions{grid-template-columns:1fr;max-width:340px;gap:10px;margin-top:24px}.visit-inner .official-button{font-size:15px;min-height:50px;white-space:normal;padding:12px 15px}
 .access{padding-top:38px!important;padding-bottom:20px!important}.access h2{font-size:23px;line-height:1.65}.official-footer{padding:8px 0 0}.official-footer-content{width:calc(100% - 44px)}.official-footer .footer-logo{width:min(270px,90%)}.official-footer address{font-size:13px;line-height:1.85}.official-footer .map{min-height:44px;font-size:14px;margin:14px auto}.official-footer .backtop{font-size:13px;margin:12px 0 20px}.official-footer .footer-art{margin:0}
}
@media(min-width:601px) and (max-width:850px){.hero{padding-top:30px}.hero-copy .lead{font-size:16px}.hero-promises span{font-size:14px}.facts{padding:22px 12px}.connection-points{gap:26px}.support-team{grid-template-columns:1fr 25px 1fr;gap:9px}.support-card{padding:20px}.support-card h3{font-size:21px}.support-card>p:last-child{font-size:14px}}
@media(max-width:360px){section.content,.support-section,.faq-section,.visit-section{padding-left:18px;padding-right:18px}.hero{padding-left:16px;padding-right:16px}.hero-promises span{font-size:12px;padding:6px}.comparison-label{font-size:12px}.count strong{font-size:29px}.staff-count b{font-size:26px}.staff-count{font-size:13px}.price-number{font-size:24px}.mobile-cta{padding-left:10px;padding-right:10px}.mobile-cta .official-button{font-size:13px}.timeline time{font-size:17px}.schedule-content .timeline li{grid-template-columns:48px minmax(0,1fr);gap:9px;padding:16px 12px}}

/* Keep the bilingual staff role on one readable line at each card width. */
.support-card.bilingual{container-type:inline-size}.support-card.bilingual h3{white-space:nowrap;overflow-wrap:normal;letter-spacing:0;font-size:clamp(15px,4.5vw,29px);font-size:min(29px,7cqi)}

/* Short, unbroken feature labels and a full-bleed departure photo. */
.hero-promises span{white-space:nowrap}
.departure-photo{width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden}
.schedule-gallery .departure-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 40%;border-radius:0;transform:scale(1.14);transform-origin:center 40%}
@media(max-width:850px){.hero .hero-promises{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}.hero-promises span{font-size:clamp(12px,3.4vw,14px);padding:7px 4px;min-height:38px;border-radius:999px;line-height:1.6;text-wrap:nowrap}.hero-promises span:nth-child(2){padding-left:10px;padding-right:10px}.departure-photo{border-radius:12px}}

@media(max-width:850px){.hero .hero-promises{grid-template-columns:minmax(0,8fr) minmax(0,6fr) minmax(0,8fr);gap:4px}.hero-promises span,.hero-promises span:nth-child(2){padding-left:2px;padding-right:2px}}

.capacity-prefix{font-size:20px;font-weight:700;margin-right:6px}.support-card.bilingual h3{font-size:29px}.qualification{white-space:normal}@media(max-width:850px){.capacity-prefix{font-size:14px;margin-right:3px}.support-card.bilingual h3{font-size:24px}}

/* Retain more source detail instead of enlarging a tall crop. */
.experience-photo img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}

/* Compact benefits and activity notes. */
.connection-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff3f7;border:1px solid #f8dce5;border-radius:20px;padding:24px 8px;margin-top:22px}
.connection-points article{display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:8px;row-gap:7px;align-content:start;padding:0 18px;border-left:0;border-right:1px solid #edccd7}
.connection-points article:last-child{border-right:0}.connection-points article>span{font-size:14px;letter-spacing:1px;line-height:1.7;padding-top:2px}.connection-points h3{font-size:19px;line-height:1.6;margin:0;letter-spacing:0}.connection-points p{grid-column:2;font-size:15px;line-height:1.8;margin:0}
.experience-list article{padding:17px 0;border-bottom:1px solid #e0e4e4}.experience-list article:first-child{padding-top:0}.experience-list article:last-child{border-bottom:0;padding-bottom:0}
.experience-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.experience-label{font-size:13px;line-height:1.5;letter-spacing:1.7px;color:#bd2f5b;font-weight:800}.english-bubble{position:relative;background:#fff2a3;border-radius:12px 12px 12px 2px;color:#665009;padding:4px 12px;font-size:14px;font-weight:700;line-height:1.5;white-space:nowrap}.experience-list h3{font-size:21px;line-height:1.6;margin:0 0 6px}.experience-list p{font-size:16px;line-height:1.8;margin:0}
@media(max-width:850px){.connection-points{grid-template-columns:1fr;padding:4px 18px;border-radius:16px;margin-top:18px}.connection-points article{padding:16px 0;grid-template-columns:24px minmax(0,1fr);column-gap:9px;row-gap:5px;border-right:0;border-bottom:1px solid #edccd7}.connection-points article:last-child{border-bottom:0}.connection-points article>span{font-size:13px;padding-top:3px}.connection-points h3{font-size:19px;line-height:1.6}.connection-points p{font-size:15px;line-height:1.75}.comparison-note{margin-bottom:18px}.experience-grid{gap:25px}.experience-list article{padding:15px 0}.experience-caption{margin-bottom:5px}.experience-label{font-size:12px}.english-bubble{font-size:13px;padding:3px 10px}.experience-list h3{font-size:19px;line-height:1.6;margin-bottom:5px}.experience-list p{font-size:15px;line-height:1.75}}
@media(max-width:360px){.connection-points{padding-left:14px;padding-right:14px}.connection-points article{column-gap:6px}.connection-points h3,.experience-list h3{font-size:18px}}

/* Clear compact benefit cards and expressive speech bubbles. */
.connection-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:none;border:0;border-radius:0;padding:0;margin-top:22px}
.connection-points article{display:block;padding:22px 20px;border:1px solid #f4d8e2;border-radius:18px;background:#fff4f8;min-width:0}
.connection-points article:nth-child(2){background:#effafb;border-color:#cfeaec}.connection-points article:nth-child(3){background:#fff9df;border-color:#f3e8b6}.connection-points article:last-child{border:1px solid #f3e8b6}
.benefit-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.benefit-number{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:50%;background:#c72c5d;color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em;line-height:1}
.connection-points article:nth-child(2) .benefit-number{background:#087f88}.connection-points article:nth-child(3) .benefit-number{background:#8b6814}.connection-points h3{font-size:18px;line-height:1.5;margin:0;letter-spacing:0;text-wrap:balance}.connection-points p{font-size:15px;line-height:1.8;margin:0;grid-column:auto}
.experience-caption{min-height:66px;margin-bottom:9px;padding:5px 7px 7px 0;gap:15px}.experience-label{font-size:14px;letter-spacing:2px}.english-bubble{--bubble-bg:#ffe23d;--bubble-line:#a57a12;display:inline-block;position:relative;background:var(--bubble-bg);border:2px solid var(--bubble-line);border-radius:24px 27px 23px 12px;padding:10px 20px;font-family:"Trebuchet MS",Arial,sans-serif;font-style:italic;font-size:24px;line-height:1.2;font-weight:900;color:#473908;box-shadow:3px 4px 0 #e9b92755;transform:rotate(-5deg);white-space:nowrap;overflow:visible}
.english-bubble:after{content:"";position:absolute;bottom:-9px;left:21px;width:13px;height:13px;background:var(--bubble-bg);border-right:2px solid var(--bubble-line);border-bottom:2px solid var(--bubble-line);transform:skew(-13deg) rotate(35deg)}
.experience-list article:nth-child(2) .english-bubble{--bubble-bg:#ddf5f7;--bubble-line:#18838d;color:#07565e;transform:rotate(4deg);border-radius:25px 16px 26px 22px;box-shadow:3px 4px 0 #83cfd655}
.experience-list article:nth-child(3) .english-bubble{--bubble-bg:#ffe2ec;--bubble-line:#c74672;color:#902747;transform:rotate(-6deg);font-size:27px;border-radius:25px 23px 18px 26px;box-shadow:3px 4px 0 #e990ad55;padding-left:24px;padding-right:24px}
.experience-list article{padding-top:18px;padding-bottom:20px}.experience-list h3{margin-bottom:7px}
@media(max-width:850px){.connection-points{grid-template-columns:1fr;gap:10px;margin-top:18px;padding:0}.connection-points article{padding:16px 18px;border-radius:14px;border:1px solid #f4d8e2}.connection-points article:nth-child(2){border-color:#cfeaec}.connection-points article:last-child{border:1px solid #f3e8b6}.benefit-heading{gap:10px;margin-bottom:7px}.benefit-number{flex-basis:30px;height:30px;font-size:12px}.connection-points h3{font-size:18px;line-height:1.55}.connection-points p{font-size:15px;line-height:1.75}.experience-caption{min-height:62px;padding-right:7px;margin-bottom:10px}.experience-label{font-size:13px;letter-spacing:1.5px}.english-bubble{font-size:22px;padding:9px 17px;border-radius:23px 25px 23px 12px}.experience-list article:nth-child(3) .english-bubble{font-size:25px}.experience-list article{padding-top:18px;padding-bottom:19px}.experience-list h3{font-size:19px;margin-bottom:6px}}
@media(max-width:360px){.connection-points article{padding:14px}.benefit-heading{gap:8px}.connection-points h3{font-size:17px}.english-bubble{font-size:20px;padding:9px 14px}.experience-list article:nth-child(3) .english-bubble{font-size:23px}.experience-label{font-size:12px;letter-spacing:1px}}

/* Soft, rounded thought bubbles with one shared tilt. */
.experience-list article .english-bubble{--bubble-bg:#fff09a;display:inline-flex;align-items:center;justify-content:center;min-height:60px;min-width:132px;padding:12px 22px;border:3px solid #fff;border-radius:48% 52% 49% 51% / 49% 46% 54% 51%;background:var(--bubble-bg);color:#795319;font-family:"Arial Rounded MT Bold",ui-rounded,"Hiragino Maru Gothic ProN",sans-serif;font-style:normal;font-size:25px;font-weight:800;line-height:1.25;letter-spacing:.015em;box-shadow:0 3px 0 #edcb6660;transform:rotate(-4deg)}
.experience-list article:nth-child(2) .english-bubble{--bubble-bg:#cdf2f5;color:#277780;box-shadow:0 3px 0 #80c9d160;transform:rotate(-4deg)}
.experience-list article:nth-child(3) .english-bubble{--bubble-bg:#ffdeeb;color:#b54e78;box-shadow:0 3px 0 #e7a2bd60;transform:rotate(-4deg);font-size:25px;padding:12px 22px}
.experience-list article .english-bubble:after{content:"";position:absolute;left:22px;bottom:-9px;width:16px;height:14px;background:var(--bubble-bg);border:0;border-radius:50%;transform:rotate(-18deg);box-shadow:0 2px 0 #ffffff}
.experience-list article .english-bubble:before{content:"";position:absolute;left:14px;bottom:-16px;width:7px;height:7px;background:var(--bubble-bg);border-radius:50%}
.experience-caption{min-height:80px;padding-top:5px;padding-bottom:13px;margin-bottom:8px}
@media(max-width:850px){.experience-list article .english-bubble,.experience-list article:nth-child(3) .english-bubble{min-height:56px;min-width:116px;font-size:23px;padding:10px 18px}.experience-caption{min-height:75px;padding-bottom:13px;margin-bottom:7px}}
@media(max-width:360px){.experience-list article .english-bubble,.experience-list article:nth-child(3) .english-bubble{font-size:21px;padding:10px 15px;min-width:108px}}

/* One yellow oval speech-bubble style, with a triangular speaking tail. */
.experience-list article:nth-child(n) .english-bubble{--bubble-bg:#fff09a;background:var(--bubble-bg);color:#795319;border-radius:50%;box-shadow:0 3px 0 #edcb6660;transform:rotate(-4deg)}
.experience-list article:nth-child(n) .english-bubble:before{content:none;display:none}
.experience-list article:nth-child(n) .english-bubble:after{content:"";display:block;position:absolute;left:25px;bottom:-13px;width:23px;height:24px;background:var(--bubble-bg);border:0;border-radius:0;clip-path:polygon(0 0,100% 0,10% 100%);transform:none;box-shadow:none}

/* Full-width, equal-half mobile contact footer. */
@media(max-width:850px){
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
 .mobile-cta{padding:0;border-top:1px solid #e4e9e5;background:#fff;box-shadow:0 -2px 12px #24292c0a}
 .mobile-cta .contact-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:none;gap:0;margin:0;align-items:stretch}
 .mobile-cta .official-button{width:100%;min-height:calc(64px + env(safe-area-inset-bottom,0px));border:0;border-radius:0;margin:0;padding:16px 7px calc(16px + env(safe-area-inset-bottom,0px));font-size:14px;line-height:1.5;box-shadow:none;white-space:nowrap}
 .mobile-cta .line-button{background:#fff;color:#00b943}.mobile-cta .enrollment-button{background:#ffdf2d;color:#111}
 .mobile-cta .line-icon{display:none}.mobile-cta .official-button:focus-visible{outline-offset:-4px}
}
@media(max-width:360px){.mobile-cta .official-button{font-size:13px;padding-left:4px;padding-right:4px}}

/* Larger, legible fixed footer labels without wrapping on narrow phones. */
@media(max-width:850px){.mobile-cta .official-button{font-size:clamp(15px,4.25vw,18px);font-weight:800;letter-spacing:0;padding-left:4px;padding-right:4px}}

/* Use one shared value size, fitted to each fact column, including the full opening hours. */
.facts{container-type:inline-size}
.facts>div{min-width:0}
.facts strong{font-size:clamp(18px,7cqi,29px);white-space:nowrap}
.facts strong small,.facts strong span{font-size:.58em}
@media(min-width:851px){.facts strong{font-size:clamp(18px,3.3cqi,29px)}}
