*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper,#faf7ef);color:var(--ink,#34352a);font-family:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;font-weight:400;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button,a,input,select,textarea,summary{outline-offset:6px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}.site-shell{--u:min(.1953125vw,3.125px);max-width:1600px;margin:auto;overflow:clip;position:relative}.skip{position:fixed;top:-100px;left:20px;background:white;padding:16px;z-index:100}.skip:focus{top:10px}.site-header{height:calc(var(--u)*34);padding:0 calc(var(--u)*35);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30;background:var(--paper)}.brand{display:flex;align-items:center;gap:calc(var(--u)*7);white-space:nowrap;font-size:calc(var(--u)*10);font-weight:600;letter-spacing:.09em}.brand-mark{height:calc(var(--u)*25);width:calc(var(--u)*22);object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:calc(var(--u)*18);font-size:calc(var(--u)*5.4);letter-spacing:.04em}.button{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*11);padding:calc(var(--u)*9) calc(var(--u)*21);background:var(--accent);border:1px solid transparent;color:var(--button-ink,#fffdf6);border-radius:50px;font-size:calc(var(--u)*8);line-height:1.2;letter-spacing:.08em;transition:background .25s,transform .25s}.button:hover{filter:brightness(1.1);transform:translateY(-2px)}.button.small{font-size:calc(var(--u)*5.5);padding:calc(var(--u)*7) calc(var(--u)*12)}.button.small span{display:none}.button.light{background:#fcfaf3;color:var(--accent)}.text-link{display:inline-flex;gap:calc(var(--u)*11);border-bottom:1px solid color-mix(in srgb,var(--accent) 50%,transparent);padding-bottom:calc(var(--u)*4);font-size:calc(var(--u)*9);letter-spacing:.08em}.text-link:hover{color:var(--accent)}.section-title{font-size:calc(var(--u)*15);line-height:1.4;letter-spacing:.1em;position:relative;padding-bottom:calc(var(--u)*9)}.section-title:after,.rule{content:'';width:calc(var(--u)*21);height:1px;background:var(--accent);display:block}.section-title:after{position:absolute;bottom:0;left:0}.rule{margin:calc(var(--u)*10) 0}.photo{width:100%;height:100%;object-fit:cover}.ornament{pointer-events:none;user-select:none}.faq-list{position:relative;z-index:1}.faq-list details{border-top:1px solid var(--line,#c9c7b9);font-size:calc(var(--u)*8.5)}.faq-list details:last-child{border-bottom:1px solid var(--line,#c9c7b9)}.faq-list summary{padding:calc(var(--u)*7) calc(var(--u)*9);list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{transition:transform .3s;font-family:Arial,sans-serif;font-size:1.3em}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 calc(var(--u)*9) calc(var(--u)*10);line-height:1.9}.site-footer{min-height:calc(var(--u)*50);display:flex;align-items:center;gap:calc(var(--u)*20);padding:calc(var(--u)*10) calc(var(--u)*35);position:relative}.site-footer nav{display:flex;align-items:center;gap:calc(var(--u)*12);font-size:calc(var(--u)*5.3);position:relative;z-index:1}.privacy-trigger{border:0;background:none;padding:0;font-size:inherit}.footer-branch{width:calc(var(--u)*60);height:calc(var(--u)*70);object-fit:contain;position:absolute;right:calc(var(--u)*10);bottom:calc(var(--u)*-22);transform:rotate(35deg)}.menu-toggle{display:none;position:relative;z-index:42;border:0;background:none;width:48px;height:48px}.menu-toggle img{position:absolute;inset:10px;width:28px;height:28px;transition:transform .5s,opacity .3s}.menu-x{opacity:0;transform:rotate(-90deg)}.menu-toggle[aria-expanded=true] .menu-bars{transform:rotate(90deg);opacity:0}.menu-toggle[aria-expanded=true] .menu-x{transform:rotate(0);opacity:1}.menu-overlay{position:fixed;z-index:25;inset:0;background:var(--paper);padding:110px 32px 35px;overflow-y:auto;clip-path:circle(0 at calc(100% - 37px) 30px);transition:clip-path .55s cubic-bezier(.22,1,.36,1)}.menu-overlay.is-open{clip-path:circle(150% at calc(100% - 37px) 30px)}.menu-overlay nav{display:flex;flex-direction:column}.menu-overlay a{font-size:23px;border-bottom:1px solid var(--line,#c9c7b9);padding:20px 0;opacity:0;transform:translateY(18px);transition:opacity .4s,transform .4s}.menu-overlay.is-open a{opacity:1;transform:none;transition-delay:calc(var(--i)*.06s + .12s)}.menu-overlay p{font-size:13px;margin-top:40px;letter-spacing:.1em}dialog{max-width:620px;width:calc(100% - 36px);border:0;padding:50px 35px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#101710aa}dialog h2{font-size:22px;margin:0 0 22px}dialog p{line-height:1.9;font-size:15px;margin-bottom:14px}.dialog-close{position:absolute;right:12px;top:6px;background:none;border:0;font-size:30px}.sub-heading{text-align:center;padding:75px 20px 55px;background:var(--surface)}.sub-heading h1{font-size:42px;margin:12px 0 28px}.sub-heading>a,.sub-heading>span{font-size:13px}.eyebrow{font-size:13px;letter-spacing:.15em}.sub-section{max-width:1080px;margin:auto;padding:80px 30px;font-size:16px;line-height:2}.sub-section h2{font-size:30px;line-height:1.7;margin-bottom:24px}.sub-section .button,.sub-section .text-link{font-size:14px;margin-top:20px}.teacher-profile,.access-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.teacher-profile .photo{aspect-ratio:4/5;height:auto}.teacher-profile p,.access-detail p{margin-bottom:20px}.access-detail .photo{aspect-ratio:1.4;height:auto}.sub-intro{text-align:center;margin-bottom:50px}.sub-courses{display:grid;gap:65px}.sub-courses article{display:grid;grid-template-columns:1fr 1fr;gap:45px}.sub-courses .photo{height:auto;aspect-ratio:1.25}.sub-courses dl{margin:20px 0}.sub-courses dl div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:9px 0}.sub-courses dd{margin:0}.trial-section{max-width:820px}.trial-steps{display:flex;justify-content:space-between;gap:20px;list-style:none;padding:0;margin:0 0 50px}.trial-steps b{display:block;color:var(--accent);font-size:30px;font-weight:400}.form-note{font-size:13px;color:var(--ink);padding:15px 18px;border:1px solid var(--line);margin-bottom:30px}fieldset{padding:0;border:0}fieldset legend{font-size:25px;margin-bottom:25px}fieldset label{display:block;margin:0 0 24px;font-size:15px}fieldset label>span{font-size:10px;margin-left:10px;border:1px solid var(--line);padding:2px 5px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid var(--line);padding:12px;background:#fffefb;color:#303530;border-radius:0;margin-top:8px}.consent{display:flex!important;gap:10px;align-items:center}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}#form-error{color:#a13223}#form-confirm dl{margin:30px 0}#form-confirm dt{font-size:13px;margin-top:20px}#form-confirm dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform 1s cubic-bezier(.22,1,.36,1)}h1.reveal-ready,h2.reveal-ready,h3.reveal-ready{transform:translateX(-30px)}.photo.reveal-ready{transform:translateX(30px)}.is-visible.reveal-ready{opacity:1;transform:none}
@media(max-width:767px){.site-shell{--u:1px}.site-header{height:72px;padding:0 19px}.brand{font-size:16px;gap:8px;letter-spacing:.05em}.brand-mark{width:29px;height:36px}.desktop-nav{display:none}.menu-toggle{display:block}.button{font-size:13px;padding:14px 25px;gap:15px}.text-link{font-size:13px;padding-bottom:6px;gap:18px}.section-title{font-size:24px;padding-bottom:15px}.section-title:after,.rule{width:30px}.faq-list details{font-size:13px}.faq-list summary{padding:15px 4px}.faq-list details p{padding:0 4px 18px}.site-footer{min-height:150px;padding:28px 22px;display:block}.site-footer nav{font-size:10px;gap:15px;flex-wrap:wrap;margin-top:25px;max-width:88%}.footer-branch{width:70px;height:100px;right:0;bottom:-25px}.sub-heading{padding:50px 20px 38px}.sub-heading h1{font-size:29px}.sub-section{padding:45px 24px;font-size:14px}.sub-section h2{font-size:24px}.teacher-profile,.access-detail,.sub-courses article{grid-template-columns:1fr;gap:30px}.teacher-profile .photo{max-height:430px}.sub-courses{gap:50px}.trial-steps{font-size:11px;gap:10px}.trial-steps b{font-size:25px}.sub-intro{font-size:14px}.reveal-ready{transition-duration:.7s}.menu-overlay{padding-top:94px}.subpage .site-footer{border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none!important}.menu-overlay{clip-path:none}.menu-overlay a{opacity:1;transform:none}}

:root{--paper:#fff;--ink:#17222b;--accent:#3c7286;--surface:#eaf5f9;--line:#e0e7e9;--button-ink:#fff}.design-d{font-feature-settings:"palt"}.design-d h1,.design-d h2,.design-d h3{font-weight:400}.skip{position:absolute;top:0;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}.skip:focus{top:10px;clip-path:none;width:auto;height:auto;padding:16px}.site-header{height:calc(var(--u)*34);padding:0 calc(var(--u)*20);border-bottom:1px solid #f2f3f3}.brand{font-size:calc(var(--u)*12);letter-spacing:.15em;gap:calc(var(--u)*9)}.brand-mark{width:calc(var(--u)*20);height:calc(var(--u)*23)}.desktop-nav{gap:calc(var(--u)*15);font-size:calc(var(--u)*5.8)}.button{border-radius:1px;padding:calc(var(--u)*9) calc(var(--u)*15);font-size:calc(var(--u)*7.2);letter-spacing:.04em}.button.small{padding:calc(var(--u)*7) calc(var(--u)*12);font-size:calc(var(--u)*5.8)}.text-link{font-size:calc(var(--u)*8);color:var(--accent);gap:calc(var(--u)*7);padding-bottom:calc(var(--u)*3)}.hero{height:calc(var(--u)*317);display:grid;grid-template-columns:45.5% 54.5%}.hero-copy{padding:calc(var(--u)*72) 0 0 calc(var(--u)*30)}.hero h1{font-size:calc(var(--u)*33);line-height:1.36;letter-spacing:.04em;white-space:nowrap}.hero-copy>p{font-size:calc(var(--u)*10);letter-spacing:.05em;margin:calc(var(--u)*7) 0 calc(var(--u)*20);white-space:nowrap}.hero-actions{display:flex;align-items:center;gap:calc(var(--u)*18)}.hero .photo{object-position:58% center}.eyebrow{font-family:Arial,sans-serif;font-size:calc(var(--u)*5.7);letter-spacing:.17em;color:var(--accent);line-height:1.4}.homepage h2{font-size:calc(var(--u)*22);line-height:1.5;letter-spacing:.05em}.about{padding:calc(var(--u)*19) calc(var(--u)*30) calc(var(--u)*28)}.about h2{margin:calc(var(--u)*4) 0 calc(var(--u)*2);font-size:calc(var(--u)*23)}.intro{font-size:calc(var(--u)*11.8);letter-spacing:.03em}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*27);margin-top:calc(var(--u)*26)}.features article+article{border-left:1px solid var(--line);padding-left:calc(var(--u)*27)}.features h3{font-size:calc(var(--u)*11);white-space:nowrap;line-height:1.6}.features p{font-size:calc(var(--u)*8.3);line-height:1.75;letter-spacing:.02em;color:#6a7075;margin-top:calc(var(--u)*5);white-space:nowrap}.courses{background:var(--surface);padding:calc(var(--u)*22) calc(var(--u)*30) calc(var(--u)*17)}.courses h2{margin:calc(var(--u)*4) 0 calc(var(--u)*6)}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u)*19)}.course-grid .photo{height:calc(var(--u)*139);object-position:center 45%}.course-grid h3{font-size:calc(var(--u)*16);line-height:1.5;margin:calc(var(--u)*7) 0 calc(var(--u)*5)}.course-grid p{font-size:calc(var(--u)*8.8);line-height:1.7;color:#64737a;letter-spacing:.03em}.course-grid .text-link{margin-top:calc(var(--u)*7)}.teacher{padding:calc(var(--u)*18) calc(var(--u)*30) calc(var(--u)*17)}.teacher h2{margin:calc(var(--u)*2) 0 calc(var(--u)*5)}.teacher-row{display:grid;grid-template-columns:48% 52%;align-items:center}.teacher-row>.photo{height:calc(var(--u)*160);object-position:center 42%}.teacher-row>div{padding-left:calc(var(--u)*19)}.teacher h3{font-size:calc(var(--u)*23);line-height:1.4;letter-spacing:.04em}.teacher p:not(.eyebrow){font-size:calc(var(--u)*10);line-height:1.6;color:#697177;margin:calc(var(--u)*10) 0 calc(var(--u)*12);white-space:nowrap}.faq{padding:calc(var(--u)*1) calc(var(--u)*30) calc(var(--u)*16)}.faq h2{margin:calc(var(--u)*3) 0 calc(var(--u)*6)}.faq-list summary{padding:calc(var(--u)*8) 0;font-size:calc(var(--u)*9.4);letter-spacing:.02em;line-height:1.5}.faq-list summary span{color:var(--accent);font-size:calc(var(--u)*14);line-height:1}.faq-list details p{font-size:calc(var(--u)*9)}.access{padding:0 calc(var(--u)*30) calc(var(--u)*16)}.access h2{margin:calc(var(--u)*2) 0 calc(var(--u)*4)}.access-row{display:grid;grid-template-columns:56% 44%;align-items:center}.access-row>.photo{height:calc(var(--u)*121);object-position:center}.access-row>div{padding-left:calc(var(--u)*23)}.access h3{font-size:calc(var(--u)*16);line-height:1.5}.access p:not(.eyebrow){font-size:calc(var(--u)*9);line-height:1.7;color:#68747a;margin:calc(var(--u)*5) 0 calc(var(--u)*9)}.closing{background:var(--surface);text-align:center;padding:calc(var(--u)*10) 0 calc(var(--u)*8)}.closing h2{font-size:calc(var(--u)*18);line-height:1.5;margin:calc(var(--u)*3) 0 calc(var(--u)*1)}.closing p:not(.eyebrow){font-size:calc(var(--u)*9);line-height:1.4}.closing .button{font-size:calc(var(--u)*7);padding:calc(var(--u)*5) calc(var(--u)*15)}.site-footer{min-height:calc(var(--u)*32);padding:calc(var(--u)*5) calc(var(--u)*23);justify-content:space-between;gap:calc(var(--u)*10)}.site-footer .brand{font-size:calc(var(--u)*10);letter-spacing:.08em}.site-footer .brand-mark{width:calc(var(--u)*17);height:calc(var(--u)*20)}.site-footer nav{font-size:calc(var(--u)*5.8);gap:calc(var(--u)*15)}
@media(max-width:767px){.site-header{height:74px;padding:0 19px}.brand{font-size:15px;gap:8px;letter-spacing:.09em}.brand-mark{width:27px;height:30px}.hero{height:auto;display:flex;flex-direction:column}.hero-copy{padding:40px 25px 38px}.hero h1{font-size:36px;line-height:1.5}.hero-copy>p{font-size:12px;white-space:normal;line-height:1.8;margin:13px 0 24px}.hero-actions{gap:20px}.button{font-size:12px;padding:14px 20px}.text-link{font-size:12px;gap:12px;padding-bottom:5px}.hero>.photo{height:360px;object-position:center 44%}.eyebrow{font-size:9px}.homepage h2{font-size:25px;line-height:1.6;letter-spacing:.03em}.about{padding:35px 25px 40px}.about h2{font-size:26px;margin:10px 0 12px}.intro{font-size:13px;line-height:1.9}.features{grid-template-columns:1fr;gap:22px;margin-top:30px}.features article+article{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.features h3{font-size:19px}.features p{font-size:13px;white-space:normal;line-height:1.9;margin-top:8px}.courses{padding:35px 25px}.courses h2{margin:6px 0 22px}.course-grid{grid-template-columns:1fr;gap:35px}.course-grid .photo{height:220px}.course-grid h3{font-size:22px;margin:16px 0 10px}.course-grid p{font-size:13px;line-height:1.9}.course-grid .text-link{margin-top:15px}.teacher{padding:35px 25px}.teacher h2{margin:6px 0 22px}.teacher-row{grid-template-columns:1fr;gap:27px}.teacher-row>.photo{height:245px}.teacher-row>div{padding:0}.teacher h3{font-size:27px;line-height:1.6}.teacher p:not(.eyebrow){font-size:13px;line-height:1.9;white-space:normal;margin:15px 0}.faq{padding:0 25px 35px}.faq h2{margin:6px 0 17px}.faq-list summary{font-size:13px;padding:17px 0}.faq-list summary span{font-size:19px}.faq-list details p{font-size:12px}.access{padding:0 25px 35px}.access h2{margin:6px 0 20px}.access-row{grid-template-columns:1fr;gap:24px}.access-row>.photo{height:180px}.access-row>div{padding:0}.access h3{font-size:22px}.access p:not(.eyebrow){font-size:13px;margin:10px 0 15px}.closing{padding:30px 23px}.closing h2{font-size:23px;margin:10px 0}.closing p:not(.eyebrow){font-size:13px;margin-bottom:15px}.closing .button{font-size:12px;padding:14px 22px}.site-footer{padding:25px 22px;min-height:150px}.site-footer .brand{font-size:15px}.site-footer .brand-mark{width:25px;height:30px}.site-footer nav{font-size:10px;gap:14px;max-width:100%;margin-top:22px}}

@media(min-width:768px){.brand{font-size:calc(var(--u)*13.5)}.features{grid-template-columns:32% 36% 32%;gap:0}.features article+article{padding-left:calc(var(--u)*27)}.courses{padding-top:calc(var(--u)*16)}.teacher{padding-top:calc(var(--u)*15);padding-bottom:calc(var(--u)*14)}.faq{padding-bottom:calc(var(--u)*11)}.access{padding-bottom:calc(var(--u)*12)}.closing{padding-top:calc(var(--u)*7);padding-bottom:calc(var(--u)*5)}}
.mobile-break{display:none}@media(max-width:767px){.mobile-break{display:block}}
