:root{--ink:#333;--muted:#667078;--teal:#188c91;--teal-dark:#106a70;--mint:#edf8f7;--line:#dce8e7;--paper:#fff;--soft:#f6f9f9;--width:1100px;--radius:4px;--font:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.9;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{color:var(--teal-dark)}img{max-width:100%;display:block}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip-link{position:fixed;top:0;left:16px;padding:12px 18px;background:var(--ink);color:white;z-index:99;transform:translateY(-120%)}.skip-link:focus{transform:none;color:white}h1,h2,h3,p,ul,dl{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.035em}h1{font-size:clamp(28px,3.3vw,40px)}h2{font-size:clamp(25px,2.6vw,34px)}h3{font-size:23px}p{margin-bottom:1em}.wrap{max-width:var(--width);padding-inline:28px;margin-inline:auto}.narrow{max-width:920px}.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:4px 32px;background:white;box-shadow:0 4px 16px #203b3b08;position:relative;z-index:10}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-image{width:130px;height:70px;object-fit:contain}.site-header nav ul,.site-footer nav ul{list-style:none;display:flex;gap:30px;padding:0;margin:0;align-items:center}.site-header nav a{font-size:16px;font-weight:600;white-space:nowrap;padding:20px 0;display:block}.site-header nav a[aria-current]{color:var(--teal-dark)}.menu-toggle{display:none}.hero{position:relative;isolation:isolate}.hero picture{display:block}.hero-image{width:100%;height:auto;min-height:330px;object-fit:cover}.hero-heading{margin:0;color:#173c52;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.9;font-size:clamp(23px,3.3vw,54px);letter-spacing:.13em}.section{padding-top:78px;padding-bottom:78px}.section-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:48px}.section-heading h1,.section-heading h2{margin:0;text-align:center}.heading-decoration{width:42px;height:31px;object-fit:contain}.mirror{transform:scaleX(-1)}.center{display:flex;justify-content:center;margin-top:36px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 30px;min-width:210px;min-height:52px;background:var(--teal);border:1px solid var(--teal);border-radius:var(--radius);color:white;font-weight:600;line-height:1.6;text-align:center;transition:background .18s}.button:hover{background:var(--teal-dark);color:white}.button-outline{background:white;color:var(--ink);border-color:var(--teal)}.button-outline:hover{background:var(--mint);color:var(--teal-dark)}.casey-section{padding-top:46px}.casey-section h2{margin-bottom:32px}.video-shell{background:var(--soft);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-shell video{display:block;width:100%;height:100%;object-fit:contain}.pending-note{padding:20px;color:var(--muted);text-align:center}.casey-copy{max-width:850px;margin:30px auto 0;text-align:center}.casey-copy p{text-align:left}.news-list{padding:0;list-style:none;border-top:1px solid var(--line)}.news-list li{border-bottom:1px solid var(--line)}.news-list a{display:grid;grid-template-columns:150px 1fr 24px;gap:24px;padding:24px 0;align-items:start}.news-list time{font-size:14px;color:var(--muted);white-space:nowrap}.news-arrow{color:var(--teal);font-size:22px;line-height:1.4}.philosophy{background:var(--mint)}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:960px;margin:auto;text-align:center}.philosophy-icon{height:44px;width:44px;object-fit:contain;margin:0 auto 20px}.philosophy h3{font-size:24px;letter-spacing:.14em;color:var(--teal-dark);margin-bottom:18px}.philosophy p{font-size:22px;font-weight:500;line-height:1.9}.member-home{background:var(--soft)}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.member-grid a{display:block;text-align:center}.member-grid img{width:100%;aspect-ratio:1;object-fit:cover}.member-grid .role{font-size:13px;margin:16px 0 3px}.member-grid h3{font-size:21px;margin-bottom:0}.company-image{width:100%;max-height:330px;object-fit:cover}.page-content{padding-top:66px;padding-bottom:100px;min-height:60vh}.page-content>.section-heading{margin-bottom:62px}.member-profile{padding-bottom:72px;margin-bottom:72px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.member-profile:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.profile-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:50px;align-items:center}.profile-photo{width:100%;aspect-ratio:648/552;object-fit:cover}.profile-overview h2{margin-bottom:20px;font-size:31px}.role{color:var(--teal-dark);margin-bottom:6px;font-weight:600}.biography{font-size:16px;line-height:2.1}.career-section{margin-top:38px}.career-section h3{font-size:21px;padding-bottom:12px;border-bottom:2px solid var(--teal);display:inline-block;margin-bottom:12px}.career{margin-bottom:0}.career>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.career dt{font-weight:600;color:var(--teal-dark)}.career dd{margin:0}.career dt.sr-only+dd{grid-column:1/-1}.services{max-width:950px;margin:auto}.service{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;padding:45px 0;border-bottom:1px solid var(--line)}.service:first-child{padding-top:0}.audience{font-size:13px;color:var(--teal-dark);font-weight:600;letter-spacing:.08em;margin-bottom:10px}.service h2{font-size:25px;line-height:1.65}.service-body p{line-height:2}.service-body .button{margin-top:10px}.company-table>div{display:grid;grid-template-columns:180px 1fr;gap:40px;border-bottom:1px solid var(--line);padding:25px 16px}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{font-weight:600}.company-table dd{margin:0}.company-table dd p{margin:0}.form-status{background:var(--mint);padding:18px 22px;margin-bottom:30px}.form-preview{display:grid;gap:23px}.field label{display:block;font-weight:500;margin-bottom:8px}.required{color:var(--teal-dark);padding-left:4px}.field input,.field textarea{width:100%;border:1px solid #aab6b5;border-radius:var(--radius);padding:12px 14px;background:white;color:var(--ink)}.field input:disabled,.field textarea:disabled{background:#f7f8f8;opacity:.8}.field textarea{resize:vertical}.news-article>time{display:block;color:var(--muted);font-size:14px;margin-bottom:20px}.news-article>h1{font-size:clamp(25px,3vw,36px);line-height:1.7;margin-bottom:40px}.rich-content{font-size:17px;line-height:2.05}.rich-content p{margin-bottom:1.4em}.rich-content a{text-decoration:underline;color:var(--teal-dark);text-underline-offset:4px}.rich-content img{height:auto;max-width:100%;margin:24px auto}.article-back{margin-top:60px;text-align:center}.site-footer{background:var(--soft);border-top:1px solid var(--line);padding:35px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:22px}.site-footer .brand-image{width:120px;height:70px}.site-footer nav a{font-size:14px}.copyright{font-size:12px;margin:4px 0 0;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.connection-error{padding:14px 18px;border-left:3px solid #a4462c;background:#fff5f1;font-size:14px;color:#713522}
@media(max-width:960px){.site-header{padding-inline:22px;gap:18px}.site-header nav ul{gap:18px}.site-header nav a{font-size:14px}.brand-image{width:110px}.profile-overview{gap:30px}.member-grid{gap:16px}.philosophy-grid{gap:35px}.philosophy p{font-size:20px}}
@media(max-width:760px){.site-header{min-height:70px;padding-inline:20px}.brand-image{height:62px;width:108px}.menu-toggle{display:flex;align-items:center;gap:10px;background:white;border:0;padding:12px 0 12px 14px;cursor:pointer;color:var(--ink);font-size:13px}.menu-icon{width:22px;height:14px;border-top:2px solid;border-bottom:2px solid;position:relative}.menu-icon:after{content:"";position:absolute;width:100%;border-top:2px solid;top:5px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid var(--line);box-shadow:0 10px 18px #203b3b12;padding:12px 24px 22px}.site-header nav.is-open{display:block}.site-header nav ul{display:block}.site-header nav a{padding:12px 0;font-size:16px}.wrap{padding-inline:22px}.section{padding-block:54px}.section-heading{gap:14px;margin-bottom:34px}.heading-decoration{width:28px;height:24px}.page-content{padding-top:42px;padding-bottom:64px}.page-content>.section-heading{margin-bottom:42px}.news-list a{grid-template-columns:1fr 20px;gap:8px 18px;padding:20px 0}.news-list time{grid-column:1/-1}.news-arrow{grid-column:2;grid-row:2}.news-list a>span:not(.news-arrow){grid-column:1;grid-row:2}.philosophy-grid{grid-template-columns:1fr;gap:34px}.philosophy-grid article{max-width:500px;margin:auto}.philosophy-grid p{font-size:20px}.member-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.member-grid h3{font-size:20px}.profile-overview{grid-template-columns:1fr;gap:28px}.profile-photo{max-width:520px;margin:auto}.member-profile{margin-bottom:48px;padding-bottom:48px}.profile-overview h2{font-size:28px}.career-section{margin-top:28px}.career>div{grid-template-columns:58px 1fr;gap:12px;padding-block:14px}.service{grid-template-columns:1fr;gap:12px;padding:32px 0}.service h2{margin-bottom:4px}.service-body .button{margin-top:4px}.company-table>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.company-table dt{color:var(--teal-dark)}.site-footer nav ul{flex-wrap:wrap;justify-content:center;gap:10px 24px}.casey-section{padding-top:32px}.casey-copy{margin-top:22px}.center{margin-top:28px}.news-article>h1{margin-bottom:28px}.rich-content{font-size:16px}.article-back{margin-top:36px}}
@media(max-width:640px){.hero-image{min-height:0;aspect-ratio:780/878;object-fit:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.english-prep-home{background:var(--mint);scroll-margin-top:24px}.english-prep-home>.wrap{max-width:1000px}.english-prep-intro{display:flex;align-items:center;gap:26px}.english-prep-intro>div{min-width:0}.english-prep-intro h2{margin-bottom:6px}.english-prep-icon{width:96px;height:96px;flex:0 0 auto;object-fit:contain;border-radius:20px}.english-prep-tagline{font-size:clamp(18px,2vw,23px);font-weight:600;line-height:1.7;color:var(--teal-dark);margin-bottom:0}.english-prep-copy{margin-top:24px}.english-prep-copy p{margin-bottom:0}.english-prep-highlights{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:28px 0}.english-prep-highlights li{border-top:2px solid var(--teal);padding-top:14px}.english-prep-highlights strong,.english-prep-highlights span{display:block}.english-prep-highlights strong{font-size:18px;color:var(--teal-dark);margin-bottom:5px}.english-prep-highlights span{font-size:14px;line-height:1.8}.english-prep-actions{display:flex;flex-wrap:wrap;gap:14px}.english-prep-availability{color:var(--muted);font-size:13px;margin:14px 0 0}.english-prep-service{scroll-margin-top:24px}.english-prep-service .english-prep-icon{width:80px;height:80px;margin-bottom:22px;border-radius:17px}.english-prep-service .english-prep-tagline{margin-bottom:18px;font-size:21px}.english-prep-service .english-prep-highlights{grid-template-columns:1fr;gap:14px;margin:24px 0}.english-prep-service .english-prep-highlights li{border-top:0;border-left:2px solid var(--teal);padding:0 0 0 16px}.english-prep-service .english-prep-highlights strong{font-size:16px;margin-bottom:2px}
@media(max-width:640px){.english-prep-intro{align-items:flex-start;gap:16px}.english-prep-icon{width:64px;height:64px;border-radius:14px}.english-prep-intro h2{font-size:23px;line-height:1.4}.english-prep-intro .audience{font-size:11px;margin-bottom:6px}.english-prep-intro .english-prep-tagline{font-size:17px;margin-top:12px}.english-prep-highlights{grid-template-columns:1fr;gap:18px;margin:24px 0}.english-prep-highlights li{padding-top:12px}.english-prep-actions{display:grid;grid-template-columns:1fr}.english-prep-actions .button{min-width:0}.english-prep-service .english-prep-icon{width:64px;height:64px;margin-bottom:16px}.english-prep-service .english-prep-tagline{font-size:19px}}
