:root{--paper: #f6f6f3;--surface: #ffffff;--ink: #1b1d23;--muted: #5d6170;--line: #d9dade;--accent: #2b3f78;--accent-ink: #ffffff;--brass: #8a6c33;--font-display: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--step--1: .8125rem;--step-1: 1.25rem;--step-2: 1.625rem;--step-3: 2.125rem;--gutter: clamp(16px, 4vw, 48px);--maxw: 1120px}@media (prefers-color-scheme: dark){:root{--paper: #15171c;--surface: #1d2027;--ink: #ecebe6;--muted: #a3a6b1;--line: #30343d;--accent: #9db0ec;--accent-ink: #121522;--brass: #c9a96b;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.45;text-wrap:balance;margin:0}h1{font-size:clamp(1.75rem,3.6vw,2.5rem);letter-spacing:.03em}h2{font-size:clamp(1.5rem,3vw,var(--step-3));letter-spacing:.04em}h3{font-size:var(--step-1)}p{margin:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.narrow{max-width:46rem}.section{padding-block:clamp(56px,9vw,104px);border-top:1px solid var(--line)}.section.first{border-top:0;padding-top:clamp(32px,5vw,64px)}.section-head{display:grid;gap:12px;margin-bottom:clamp(28px,4vw,48px);max-width:42rem}.section-head p{color:var(--muted)}.stack{display:grid;gap:1.1em}.muted{color:var(--muted)}.small{font-size:.875rem}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:8px}.brand{display:block;text-decoration:none}.brand-logo{display:block;height:54px;aspect-ratio:348 / 220;background:var(--ink);-webkit-mask:url(/images/logo-school.png) center / contain no-repeat;mask:url(/images/logo-school.png) center / contain no-repeat}.nav{display:flex;align-items:center;gap:22px}.nav a{color:var(--ink);text-decoration:none;font-size:.875rem}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.menu-btn{display:none}@media (max-width: 860px){.brand-logo{height:50px}.nav .link{display:none}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:16px;height:1.5px;background:currentColor;position:relative}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0}.menu-btn span:before{top:-5px}.menu-btn span:after{top:5px}.mobile-nav{border-top:1px solid var(--line)}.mobile-nav ul{list-style:none;margin:0;padding:8px var(--gutter) 16px;display:grid}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}}@media (min-width: 861px){.mobile-nav{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:999px;font:500 .9375rem/1.2 var(--font-body);text-decoration:none;border:1px solid var(--accent);cursor:pointer;text-align:center}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.12)}.btn-ghost{background:transparent;color:var(--accent)}.btn-ghost:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.nav .btn{color:var(--accent-ink)}@media (max-width: 860px){.nav .btn{min-height:38px;padding:8px 14px;font-size:.8125rem}}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.hero{padding-block:clamp(28px,5vw,64px) clamp(48px,7vw,88px)}.hero-grid{margin-bottom:clamp(36px,5vw,56px);display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"title photo" "title lead";column-gap:clamp(20px,4vw,56px);row-gap:clamp(24px,3vw,36px)}.hero .tategaki{grid-area:title;writing-mode:vertical-rl;font-size:clamp(2.1rem,4.4vw,3.75rem);letter-spacing:.14em;line-height:1.55;font-weight:500;padding-top:.2em}.hero .tategaki span{display:block}.hero .tategaki span+span{margin-top:2.2em}.hero-photo{grid-area:photo;margin:0}.hero-photo img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:2px}.hero-photo figcaption{font-size:var(--step--1);color:var(--muted);margin-top:8px}.hero-lead{grid-area:lead;display:grid;gap:20px;align-content:start;max-width:36rem}.hero-lead h1{font-size:clamp(1.125rem,2vw,1.375rem);letter-spacing:.02em}.hero-lead p{font-size:1.0625rem}@media (max-width: 760px){.hero-grid{grid-template-areas:"photo photo" "title lead"}.hero .tategaki{font-size:2rem;letter-spacing:.1em}.hero-lead p{font-size:1rem}}@media (prefers-reduced-motion: no-preference){.hero .tategaki span{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.hero .tategaki span+span{animation-delay:.18s}@keyframes rise{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);margin:0}.facts div{padding:18px 16px;display:grid;gap:2px}.facts div+div{border-left:1px solid var(--line)}.facts dt{font-size:var(--step--1);color:var(--muted)}.facts dd{margin:0;font-family:var(--font-display);font-size:1.0625rem;font-weight:700}@media (max-width: 760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}}.page-hero{padding-block:clamp(32px,5vw,64px) clamp(32px,5vw,56px)}.page-hero .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}.page-hero .grid>div{display:grid;gap:18px}.page-hero .eyebrow{font-size:.875rem;color:var(--brass)}.page-hero .lead{font-size:1.0625rem}.page-hero img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:2px}@media (max-width: 760px){.page-hero .grid{grid-template-columns:minmax(0,1fr)}.page-hero img{order:-1}}.programme{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,56px) clamp(32px,5vw,72px)}@media (max-width: 760px){.programme{grid-template-columns:minmax(0,1fr)}}.course{display:grid;gap:12px;align-content:start;min-width:0}.course .meta{font-size:var(--step--1);color:var(--muted)}.prices{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}.prices li{display:flex;align-items:baseline;gap:8px}.prices .leader{flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-.3em);min-width:24px}.prices .yen{font-family:var(--font-display);font-weight:700;font-size:1.125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.prices .label{min-width:0}.course .teacher{font-size:var(--step--1);color:var(--muted)}.course a.more{font-size:.875rem}.note{margin-top:24px;font-size:var(--step--1);color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width: 860px){.plans{grid-template-columns:minmax(0,1fr)}}.plan{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:22px;display:grid;gap:8px;align-content:start}.plan.recommended{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.plan .tag{font-size:.75rem;color:var(--accent);font-weight:700}.plan .price{font-family:var(--font-display);font-weight:700;font-size:1.5rem;font-variant-numeric:tabular-nums}.plan .price small{font-family:var(--font-body);font-weight:400;font-size:.8125rem;color:var(--muted);margin-left:4px}.plan p{font-size:.9375rem;color:var(--muted)}.teachers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,64px)}@media (max-width: 760px){.teachers{grid-template-columns:minmax(0,1fr)}}.teacher-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start}.teacher-card img{width:132px;aspect-ratio:1;object-fit:cover;border-radius:50%}.teacher-card .role{font-size:var(--step--1);color:var(--muted)}.teacher-card h3{font-size:var(--step-2);letter-spacing:.08em}.teacher-card .bio{margin-top:10px;font-size:.9375rem}.teacher-card .charge{margin-top:10px;font-size:var(--step--1);color:var(--brass)}@media (max-width: 420px){.teacher-card{grid-template-columns:96px minmax(0,1fr)}.teacher-card img{width:96px}}.profile{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}.profile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.profile .stack>h2{font-size:var(--step-2)}.profile ul{margin:0;padding-left:1.2em}@media (max-width: 760px){.profile{grid-template-columns:minmax(0,1fr)}.profile img{max-width:240px}}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,48px) clamp(32px,5vw,64px)}@media (max-width: 760px){.features{grid-template-columns:minmax(0,1fr)}}.feature{display:grid;gap:10px;align-content:start;padding-top:16px;border-top:2px solid var(--ink)}.feature h3{font-size:1.1875rem}.feature ul,.checklist{margin:0;padding-left:1.2em}.checklist li+li{margin-top:4px}.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}.split img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:2px}@media (max-width: 760px){.split{grid-template-columns:minmax(0,1fr)}}.specs{margin:0;display:grid}.specs div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}.specs div:first-child{border-top:1px solid var(--line)}.specs dt{color:var(--muted);font-size:.875rem}.specs dd{margin:0}.specs dd b{font-family:var(--font-display)}.results{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.results li{padding-block:14px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:700}.results li small{display:block;font-family:var(--font-body);font-weight:400;color:var(--muted);font-size:.8125rem}@media (max-width: 640px){.results{grid-template-columns:minmax(0,1fr)}}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:24px;counter-reset:s}@media (max-width: 860px){.steps{grid-template-columns:minmax(0,1fr)}}.steps li{counter-increment:s;display:grid;gap:8px;align-content:start;padding-top:16px;border-top:2px solid var(--ink)}.steps li:before{content:counter(s);font-family:var(--font-display);font-size:var(--step-2);line-height:1;color:var(--brass)}.steps h3{font-size:1.125rem}.steps p{font-size:.9375rem;color:var(--muted)}.trial-prices{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 32px;font-size:.9375rem}.trial-prices b{font-family:var(--font-display);font-size:1.125rem}.faq{display:grid;max-width:46rem}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;position:relative;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:14px;font-size:1.375rem;color:var(--accent);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details>div{padding-bottom:20px;color:var(--muted);display:grid;gap:.6em}.access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}@media (max-width: 760px){.access{grid-template-columns:minmax(0,1fr)}}.access .map{aspect-ratio:4 / 3;width:100%;border:0;border-radius:2px;background:var(--surface)}.posts{list-style:none;margin:0;padding:0;display:grid}.posts li{border-bottom:1px solid var(--line)}.posts li:first-child{border-top:1px solid var(--line)}.posts a{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:16px;padding-block:18px;color:var(--ink);text-decoration:none}.posts a:hover .t{color:var(--accent)}.posts time{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.posts .t{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;line-height:1.6}@media (max-width: 520px){.posts a{grid-template-columns:minmax(0,1fr);gap:2px}}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,36px) clamp(20px,3vw,32px);list-style:none;margin:0;padding:0}@media (max-width: 900px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.post-grid{grid-template-columns:minmax(0,1fr)}}.post-card a{display:grid;gap:10px;color:var(--ink);text-decoration:none}.post-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:2px;background:var(--line)}.post-card .t{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;line-height:1.6}.post-card a:hover .t{color:var(--accent)}.post-card .m{font-size:.8125rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px}.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.cat-tabs a{font-size:.875rem;padding:7px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}.cat-tabs a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.post{padding-block:clamp(28px,5vw,56px) clamp(56px,8vw,96px)}.crumbs{font-size:var(--step--1);color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}.crumbs a{color:var(--muted)}.post-head{display:grid;gap:16px;max-width:42rem;margin:18px 0 28px}.post-head .cat{font-size:.875rem;display:flex;gap:12px;flex-wrap:wrap}.post-head .cat a{color:var(--brass);text-decoration:none}.post-head h1{font-size:clamp(1.625rem,3.4vw,2.375rem);line-height:1.5;letter-spacing:.02em}.byline{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.cover{margin:0 0 clamp(28px,4vw,48px)}.cover img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:2px}.post-layout{display:grid;grid-template-columns:minmax(0,40rem) minmax(0,15rem);gap:clamp(32px,6vw,80px);align-items:start}@media (max-width: 900px){.post-layout{grid-template-columns:minmax(0,1fr)}}.toc{position:sticky;top:96px;font-size:.875rem;border-left:1px solid var(--line);padding-left:18px}.toc summary{font-weight:500;cursor:pointer;list-style:none;margin-bottom:8px}.toc summary::-webkit-details-marker{display:none}.toc ol{margin:0;padding-left:1.2em;display:grid;gap:6px;color:var(--muted)}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}@media (max-width: 900px){.toc{position:static;order:-1;border-left:0;border-block:1px solid var(--line);padding:14px 0}}.prose{font-size:1.0625rem;line-height:2;min-width:0;overflow-wrap:anywhere}.prose>*+*{margin-top:1.4em}.prose h2{font-size:var(--step-2);margin-top:2.4em;padding-top:.6em;border-top:1px solid var(--line);scroll-margin-top:96px}.prose h3{margin-top:2em;font-size:1.25rem}.prose h4{margin-top:1.6em;font-size:1.0625rem}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose blockquote{margin-inline:0;padding:20px 24px;background:var(--surface);border-left:2px solid var(--brass);font-family:var(--font-display)}.prose figure{margin-inline:0}.prose figure img{width:100%;border-radius:2px}.prose figcaption{font-size:var(--step--1);color:var(--muted);margin-top:6px}.author{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;align-items:center;margin-top:56px;padding-top:28px;border-top:1px solid var(--ink)}.author img{width:88px;aspect-ratio:1;object-fit:cover;border-radius:50%}.author b{font-family:var(--font-display);font-size:1.125rem}.author p{font-size:.875rem;color:var(--muted);line-height:1.8}.cta-box{margin-top:40px;padding:clamp(20px,3vw,32px);background:var(--surface);border:1px solid var(--line);border-radius:4px;display:grid;gap:14px}.cta-box h2{font-size:var(--step-1);border:0;padding:0;margin:0}.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}.pager a{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.pager .next{text-align:right;grid-column:2}.pager small{color:var(--muted);font-size:var(--step--1)}.pager span{font-family:var(--font-display);font-weight:700;line-height:1.6}.pager a:hover span{color:var(--accent)}@media (max-width: 520px){.pager{grid-template-columns:minmax(0,1fr)}.pager .next{text-align:left;grid-column:1}}.doc{max-width:46rem}.doc h2{font-size:1.25rem;margin-top:2em}.doc ul{padding-left:1.4em}.doc dl{margin:0;display:grid}.doc dl div{display:grid;grid-template-columns:11em minmax(0,1fr);gap:16px;padding-block:14px;border-bottom:1px solid var(--line)}.doc dl div:first-child{border-top:1px solid var(--line)}.doc dt{color:var(--muted);font-size:.9375rem}.doc dd{margin:0}@media (max-width: 560px){.doc dl div{grid-template-columns:minmax(0,1fr);gap:2px}}.apply{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}@media (max-width: 760px){.apply{grid-template-columns:minmax(0,1fr)}}.apply .copy{display:grid;gap:16px}form.trial{display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);padding:clamp(20px,3vw,32px);border-radius:4px}.field{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}.field>label,.field>legend{font-size:.875rem;font-weight:500;padding:0}.req{color:var(--brass);margin-left:4px;font-size:.75rem}.opt{color:var(--muted);margin-left:4px;font-size:.75rem;font-weight:400}input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 12px;width:100%}textarea{min-height:110px;resize:vertical}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.9375rem;cursor:pointer;background:var(--paper)}.chips input{width:auto;accent-color:var(--accent);margin:0}.chips label:has(input:checked){border-color:var(--accent);color:var(--accent)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-msg{font-size:.9375rem;padding:12px 14px;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.form-msg.error{background:color-mix(in srgb,#c0392b 12%,transparent)}.form-note{font-size:.8125rem;color:var(--muted)}.line-box{padding-top:16px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding-block:48px 56px;font-size:.875rem;color:var(--muted)}.site-footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px}.site-footer address{font-style:normal;display:grid;gap:4px}.site-footer address b{color:var(--ink);font-family:var(--font-display)}.site-footer nav ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.site-footer a{color:var(--muted)}.site-footer .copy{grid-column:1 / -1;font-size:.8125rem}@media (max-width: 640px){.site-footer .wrap{grid-template-columns:minmax(0,1fr)}}.prose-body>*+*{margin-top:1.4em}.prose-body img{width:100%;height:auto;border-radius:2px}
