:root{--green:#367c29;--dark:#223b25;--soft:#f0f6ea;--cream:#fbf8ee;--line:#d8e3d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#263329;background:#fff;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:18px;line-height:1.95;overflow-wrap:anywhere}a{color:inherit}img{display:block;width:100%;height:auto;border-radius:12px}figure{margin:28px 0}figcaption{font-size:12px;color:#667064;text-align:right;margin-top:4px}p{margin:0 0 20px}strong{font-weight:700}h1,h2,h3{line-height:1.5;margin:0;font-weight:750}h2{font-size:clamp(25px,3.7vw,38px);letter-spacing:.015em;margin-bottom:24px}h3{font-size:22px;margin-bottom:8px}.wrap{max-width:920px;padding-left:28px;padding-right:28px;margin:auto}.mast{display:flex;align-items:center;justify-content:space-between;min-height:102px}.brand{text-decoration:none;color:var(--green);display:inline-flex;flex-direction:column;line-height:1.25}.brand-name{font-size:38px;font-weight:900;letter-spacing:.02em}.brand>span:last-child{font-size:13px;letter-spacing:.12em;padding-top:6px}.mast-place{font-size:14px}.hero{position:relative;overflow:hidden;background:var(--soft);border-bottom:1px solid var(--line)}.hero-inner{padding-top:48px;padding-bottom:38px;position:relative;z-index:1}.eyebrow{color:var(--green);font-weight:bold;font-size:20px;margin-bottom:20px}h1{font-size:clamp(33px,5vw,55px);line-height:1.45;letter-spacing:.02em}h1 em{font-style:normal;font-size:clamp(58px,8vw,88px);color:var(--green);line-height:1.35}.hero-lead{font-size:clamp(23px,3vw,29px);font-weight:bold;line-height:1.65;margin:22px 0 14px}.hero-copy{font-size:17px}.pills{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0}.pills li{background:#fff;padding:4px 15px;border-radius:999px;color:var(--green);font-size:15px;font-weight:bold;border:1px solid #d4e5c9}.hero-location{font-size:16px;margin:16px 0}.hero-location span{display:inline-block;padding-left:14px}.button{display:flex;align-items:center;justify-content:center;gap:24px;text-align:center;background:var(--green);color:white;min-height:60px;padding:14px 22px;text-decoration:none;font-size:18px;font-weight:bold;border:2px solid var(--green);border-radius:8px;width:fit-content;max-width:100%;line-height:1.6;transition:background .2s}.button:hover{background:#245d1a;border-color:#245d1a}.button span{font-size:23px}.scroll{display:block;margin-top:22px;font-size:14px;text-underline-offset:5px;color:#52614d}.hero-ornament{position:absolute;right:max(4%,calc((100vw - 1000px)/2));top:30%;border:1px solid #bdd1b3;border-radius:50%;width:235px;height:235px;display:flex;align-items:center;justify-content:center;transform:rotate(9deg);color:#5b8050;font-size:28px;line-height:1.8;background:#e4efda;letter-spacing:.1em}.quick{display:flex;justify-content:center;border-bottom:1px solid var(--line);background:white}.quick a{padding:16px 30px;font-size:16px;text-decoration:none;color:var(--green);font-weight:bold}.quick a:hover{background:var(--soft)}.section{padding-top:74px;padding-bottom:74px}.label{color:var(--green);font-weight:bold;letter-spacing:.08em;font-size:15px;margin-bottom:14px}.intro{margin-bottom:30px}.wide-photo{margin:32px 0}.wide-photo img{max-height:470px;object-fit:cover}.learning-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.learning-list article{padding-top:18px;border-top:2px solid var(--line)}.learning-list h3{font-size:21px}.learning-list p{font-size:16px;margin:0}.number{color:var(--green);font-size:14px;letter-spacing:.1em;font-weight:bold}.support{border-left:4px solid var(--green);padding:20px 24px;background:var(--soft);margin-top:32px}.support p{margin-bottom:8px}.small{font-size:14px;color:#586251;line-height:1.8}.soft{background:var(--soft)}.cream{background:var(--cream)}.conversation{max-width:660px;margin:35px auto 0;display:flex;flex-direction:column;gap:18px}.speech{width:85%;border-radius:16px;padding:18px 24px;background:white;position:relative}.speech span{font-size:13px;color:#63705d}.speech p{margin:0;font-size:19px}.teacher{align-self:flex-end;background:#deedcf}.conversation-note{margin:0;text-align:center}.brain figure{max-width:670px;margin:30px auto 0}.price-card{background:white;border:1px solid var(--line);border-top:5px solid var(--green);border-radius:10px;text-align:center;padding:26px 20px;margin:30px 0}.course{font-size:23px;font-weight:bold;margin:0}.amount{font-weight:800;color:var(--green);font-size:64px;letter-spacing:-.03em;line-height:1.4;margin:8px 0}.amount span{display:inline-block;font-size:20px;letter-spacing:0;margin-left:8px}.price-detail{font-size:21px;font-weight:bold;margin:5px 0 20px}.included{background:var(--soft);padding:10px 15px;display:inline-block;border-radius:5px;font-weight:bold;margin-bottom:15px}.price-card .small{margin:0}table{border-collapse:collapse;width:100%;margin:26px 0;font-size:21px}th,td{padding:17px 24px;border-bottom:1px solid var(--line);text-align:left}thead th{background:var(--soft);font-size:16px}tbody th{font-size:18px;width:35%}td{font-variant-numeric:tabular-nums}.access-info{border-left:4px solid var(--green);padding-left:24px;margin:30px 0}.venue{font-size:24px;font-weight:bold}.venue span{font-size:19px}.access-info p:last-child{font-size:16px}iframe{width:100%;height:330px;border:0;border-radius:10px;display:block;margin-bottom:20px}.outline{background:white;color:var(--green);margin-bottom:22px;font-size:16px}.outline:hover{color:white}.reassurance{font-weight:bold;color:var(--green);padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact{background:var(--soft);padding:32px 20px;text-align:center;border-radius:12px;margin-top:32px}.contact>p:first-child{font-weight:bold;margin:0}.phone{font-size:clamp(29px,5vw,44px);font-weight:800;color:var(--green);text-decoration:none;white-space:nowrap;letter-spacing:.015em}.hours{font-size:15px}.contact .button{margin:auto}footer{background:#e7eddf;padding:45px 0 125px}footer p{font-size:14px;margin-top:22px}footer small{font-size:12px}.sticky{position:fixed;z-index:10;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:9px 16px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #203b2510}.sticky a{max-width:550px;margin:auto;display:flex;align-items:center;justify-content:center;gap:22px;background:var(--green);border-radius:8px;color:white;text-decoration:none;padding:9px 18px;line-height:1.5}.sticky span{font-size:14px}.sticky strong{font-size:23px;white-space:nowrap}.skip,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{clip-path:none;width:auto;height:auto;padding:10px;background:white;z-index:20}a:focus-visible{outline:3px solid #e5a726;outline-offset:4px}@media(min-width:1000px){.hero-inner{padding-top:55px;padding-bottom:45px}}@media(max-width:700px){body{font-size:17px;line-height:1.9}.wrap{padding-left:22px;padding-right:22px}.mast{min-height:85px}.brand-name{font-size:31px}.brand>span:last-child{font-size:12px}.mast-place{font-size:11px;max-width:115px;line-height:1.8;text-align:right}.hero-inner{padding-top:30px;padding-bottom:28px}.hero-ornament{display:none}.eyebrow{font-size:16px;margin-bottom:18px}h1{font-size:clamp(25px,6.7vw,43px);white-space:nowrap}h1 em{font-size:clamp(52px,13vw,75px)}.hero-lead{font-size:23px;line-height:1.6;margin-top:18px}.hero-copy{font-size:15px}.desktop{display:none}.pills{gap:6px;margin:18px 0}.pills li{font-size:13px;padding:3px 10px}.hero-location{font-size:14px;line-height:1.8}.hero-location span{display:block;padding:0}.button{width:100%;font-size:16px;gap:12px;min-height:58px;padding:13px 12px}.scroll{font-size:13px;margin-top:19px}.quick a{padding:15px 0;width:25%;font-size:14px;text-align:center}.section{padding-top:47px;padding-bottom:47px}h2{font-size:25px;line-height:1.55;margin-bottom:20px}h3{font-size:20px}.label{font-size:13px;margin-bottom:12px}.intro br{display:none}.learning-list{display:block}.learning-list article{display:flex;gap:17px;padding:22px 0;border-top:1px solid var(--line)}.learning-list h3{font-size:20px}.number{padding-top:4px}.support{padding:18px}.support h3{font-size:18px}.small{font-size:13px}.speech{padding:16px 19px;width:92%}.speech p{font-size:17px}.amount{font-size:56px}.amount span{font-size:16px}.price-card{padding:22px 12px}.included{font-size:16px}.price-detail{font-size:18px}th,td{padding:16px 15px}table{font-size:21px}.venue{font-size:23px}.access-info{padding-left:17px}iframe{height:280px}.contact{padding:26px 14px}.sticky a{flex-direction:column;gap:0;padding:7px 12px}.sticky span{font-size:12px}.sticky strong{font-size:23px}.phone{font-size:clamp(26px,7.6vw,38px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand img{width:235px;height:auto;border-radius:0}@media(max-width:700px){.brand img{width:190px}}

@font-face{font-family:SchoolRounded;src:url("assets/school-rounded.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}.brand{align-items:center}.brand .school-name{font-family:SchoolRounded,"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-size:17px;font-weight:500;letter-spacing:.08em;padding:0 0 10px;line-height:1.5}@media(max-width:700px){.brand .school-name{font-size:15px;padding-bottom:8px}}

/* Requested header, hero alignment and illustrated dialogue */
.brand{position:relative;flex-shrink:0}.brand .school-name{position:absolute;right:0;bottom:3px;padding:0;letter-spacing:.06em}.mast-place{max-width:none;line-height:1.7;text-align:right;white-space:nowrap}.mast-place>span{white-space:nowrap}.hero-inner{text-align:center}.hero-inner .button{margin-left:auto;margin-right:auto}.hero-inner .pills{justify-content:center}.hero-ornament{display:none}.schedule-days{text-align:center}.conversation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;gap:22px}.conversation .comic-card{width:100%;align-self:stretch;padding:0;overflow:hidden;border-radius:12px;border:1px solid #d9e4cf;background:white}.comic-frame{position:relative;aspect-ratio:3/2;overflow:hidden;background:#faf7ed}.comic-frame img{position:absolute;width:200%;height:200%;max-width:none;border-radius:0;left:0;top:0}.comic-frame.panel-2 img{left:-100%}.comic-frame.panel-3 img{top:-100%}.comic-frame.panel-4 img{left:-100%;top:-100%}.comic-caption{padding:16px 18px}.conversation .teacher .comic-caption{background:#deedcf}.conversation-note{grid-column:1/-1}.comic-caption p{font-size:17px}.comic-caption span{font-size:13px}@media(max-width:700px){.brand .school-name{bottom:2px;padding:0}.mast{gap:12px}.mast-place{font-size:12px;line-height:1.75}.conversation{gap:18px;grid-template-columns:1fr;max-width:440px}.comic-caption{padding:16px 20px}.comic-caption p{font-size:18px}.hero-inner .hero-location span{padding-left:0}}
