:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{color:#000;background:#fff;margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}:root{color-scheme:light;--green:#176a38;--green-deep:#0f4a27;--green-night:#0b3a1f;--gold:#c09a2c;--gold-ink:#7a5e12;--gold-pale:#e6d28e;--paper:#f6f3ea;--linen:#ede8d8;--card:#fbfaf5;--rule:#d9d2bc;--rule-dash:#cfc7ae;--ink:#1e2a22;--ink-sub:#4a564e;--mint:#dce8df;--warn:#9a3b2e;--white:#fff;--f-en:"Cormorant Garamond","Times New Roman",serif;--f-mincho:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;--wrap:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-feature-settings:"palt";margin:0;font-size:15px;line-height:1.8;overflow-x:clip}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:60;background:var(--green);position:fixed;inset:0 0 auto}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.wrap{max-width:var(--wrap);padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px));margin:0 auto}@media (width<=760px){.wrap{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}}.nowrap{white-space:nowrap}.ib{display:inline-block}.star{fill:currentColor;vertical-align:-.05em;width:.8em;height:.8em;display:inline-block}.btn{letter-spacing:.06em;cursor:pointer;min-height:48px;font-size:15px;font-weight:700;font-family:var(--f-body);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6em;padding:0 28px;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--green-night)}.btn-gold:hover{background:#d1ab3d}.btn-green{background:var(--green);color:var(--white)}.btn-green:hover{background:var(--green-deep)}.btn-line{color:var(--white);background:0 0;border-color:currentColor}.btn-line-g{border-color:var(--green);color:var(--green);background:0 0}.btn-line-g:hover{background:var(--green);color:var(--white)}.btn .arr{font-family:var(--f-en);font-size:1.2em;line-height:1}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.btn[aria-disabled=true]{border:2px dashed var(--rule-dash);color:var(--ink-sub);cursor:not-allowed;background:0 0;transform:none}.site-head{top:env(safe-area-inset-top,0px);z-index:50;background:var(--green);box-shadow:0 6px 0 var(--green-deep);color:var(--white);border-radius:0 0 22px 22px;position:sticky}.head-in{align-items:center;gap:20px;min-height:76px;padding-block:8px;display:flex}.brand{flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand img.em{aspect-ratio:2011/2050;width:44px;height:auto}.brand img.lt{aspect-ratio:1400/478;width:auto;height:40px}.gnav{flex:1;min-width:0}.gnav ul{justify-content:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.gnav a{white-space:nowrap;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:52px;padding:4px 10px;line-height:1.3;text-decoration:none;display:flex}.gnav a .jp{letter-spacing:.06em;font-size:14px;font-weight:700}.gnav a .en{font-family:var(--f-en);color:var(--gold-pale);letter-spacing:.08em;font-size:13px}.gnav a:hover,.gnav a[aria-current=page]{background:var(--green-deep)}.gnav a[aria-current=page] .jp{box-shadow:inset 0 -2px 0 var(--gold)}.head-act{flex:none;align-items:center;gap:8px;display:flex}.ico{background:var(--green-deep);width:44px;height:44px;color:var(--white);border-radius:50%;place-items:center;text-decoration:none;display:grid}.ico svg{fill:currentColor;width:18px;height:18px}.ico:hover{background:var(--green-night)}.head-act .btn{min-height:44px;padding:0 18px;font-size:14px}.menu-btn,.gnav .nav-join{display:none}@media (width<=1100px){.head-in{flex-wrap:wrap;gap:0 12px}.brand{order:1}.head-act{order:2;margin-left:auto}.menu-btn{background:var(--green-deep);width:48px;height:48px;color:var(--white);cursor:pointer;font:inherit;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;display:flex}.menu-btn:hover{background:var(--green-night)}.menu-btn .bars{width:20px;height:14px;display:block;position:relative}.menu-btn .bars i{background:currentColor;border-radius:2px;width:100%;height:2px;transition:transform .2s,opacity .2s;position:absolute;left:0}.menu-btn .bars i:first-child{top:0}.menu-btn .bars i:nth-child(2){top:6px}.menu-btn .bars i:nth-child(3){top:12px}.menu-btn .mt{font-family:var(--f-en);letter-spacing:.12em;color:var(--gold-pale);font-size:10px;line-height:1}.menu-btn[aria-expanded=true] .bars i:first-child{transform:translateY(6px)rotate(45deg)}.menu-btn[aria-expanded=true] .bars i:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] .bars i:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.gnav{flex-basis:100%;order:3;display:none}.site-head.is-open .gnav{display:block}.gnav ul{border-top:1px solid #e6d28e4d;flex-direction:column;gap:0;margin-top:8px;padding:8px 0 12px}.gnav li+li{border-top:1px dashed #e6d28e38}.gnav a{border-radius:6px;flex-direction:row;justify-content:space-between;align-items:baseline;min-height:52px;padding:12px 8px}.gnav a .jp{font-size:15px}.gnav a[aria-current=page] .jp{box-shadow:none;color:var(--gold-pale)}}@media (width<=1100px) and (prefers-reduced-motion:reduce){.menu-btn .bars i{transition:none}}@media (width<=560px){.brand img.lt{height:30px}.brand img.em{width:36px}.head-act .ico,.head-act .btn{display:none}.gnav .nav-join{padding-top:14px;display:block}.gnav .nav-join .btn{border-radius:999px;flex-direction:row;justify-content:center;align-items:center;width:100%;min-height:48px;font-size:14px;display:flex}}.sec{padding-block:96px}.sec-linen{background:var(--linen)}#about-teachers{scroll-margin-top:96px}@media (width<=760px){.sec{padding-block:64px}}.shead{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:48px;display:flex}.shead .en{font-family:var(--f-en);color:var(--green);letter-spacing:.04em;font-size:clamp(40px,5.4vw,68px);font-weight:500;line-height:1}.shead .jp{font-family:var(--f-mincho);letter-spacing:.3em;color:var(--ink);align-items:center;gap:14px;font-size:16px;font-weight:600;display:flex}.shead .jp:before,.shead .jp:after{content:"";background:var(--gold);width:40px;height:1px}.shead .jp .star{color:var(--gold)}.shead.left{text-align:left;align-items:flex-start}.lead{text-align:center;max-width:44em;color:var(--ink-sub);margin:0 auto}.mk{color:var(--green);background:linear-gradient(#0000 62%,#c09a2c52 62%);font-weight:800}.phead{background:var(--paper);border-bottom:1px solid var(--rule);padding-block:72px 40px;position:relative;overflow:hidden}.phead .crumb{color:var(--ink-sub);margin-bottom:18px;font-size:13px}.phead .crumb a{color:var(--green)}.phead h1{flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:0;display:flex}.phead h1 .en{font-family:var(--f-en);color:var(--green);letter-spacing:.03em;font-size:clamp(48px,7vw,96px);font-weight:500;line-height:1}.phead h1 .lbl{font-family:var(--f-body);background:var(--ink);color:var(--paper);letter-spacing:.2em;padding:4px 14px;font-size:14px;font-weight:700}.phead .bg-em{opacity:.06;pointer-events:none;width:300px;position:absolute;top:50%;right:-40px;translate:0 -50%}.phead p{max-width:46em;color:var(--ink-sub);margin:22px 0 0}.hero{background:var(--green-night);color:var(--white);isolation:isolate;position:relative;overflow:hidden}.hero-photos{opacity:.55;z-index:-2;flex-direction:column;justify-content:center;gap:14px;display:flex;position:absolute;inset:-25% -15%;transform:rotate(-7deg)}.prow{gap:14px;width:max-content;animation:70s linear infinite slide;display:flex}.prow:nth-child(2n){animation-name:slide-r;animation-duration:85s}.prow img{object-fit:cover;border-radius:6px;flex:none;width:320px;height:180px}@keyframes slide{to{transform:translate(-50%)}}@keyframes slide-r{0%{transform:translate(-50%)}to{transform:translate(0)}}.hero:after{content:"";z-index:-1;background:radial-gradient(60% 70%,#0b3a1ff0 0%,#0b3a1fc7 55%,#0b3a1f59 100%);position:absolute;inset:0}.hero-in{text-align:center;flex-direction:column;align-items:center;gap:18px;padding-block:120px 100px;display:flex}.hero .eyebrow{font-family:var(--f-en);color:var(--gold-pale);letter-spacing:.08em;align-items:center;gap:12px;font-size:20px;font-style:italic;display:flex}.hero .eyebrow .star{color:var(--gold)}.hero .em{aspect-ratio:2011/2050;width:112px}.hero h1{width:min(680px,100%);margin:0}.hero h1 img{aspect-ratio:1400/478;width:100%}.catch{font-family:var(--f-mincho);letter-spacing:.12em;margin:8px 0 0;font-size:clamp(25px,3.4vw,44px);font-weight:800;line-height:1.5}.catch .ln{display:block}.hero .btn-row{justify-content:center;margin-top:14px}@media (prefers-reduced-motion:reduce){.prow,.ticker-track{animation:none!important}html{scroll-behavior:auto}}.ticker{background:var(--gold);color:var(--green-night);border-block:1px solid var(--green-deep);overflow:hidden}.ticker-track{width:max-content;animation:48s linear infinite slide;display:flex}.ticker-track span{letter-spacing:.1em;white-space:nowrap;align-items:center;gap:22px;padding:12px 22px 12px 0;font-size:14px;font-weight:700;display:inline-flex}.ticker-track .star{width:14px;height:14px}.info{grid-template-columns:1.25fr 1fr;gap:24px;display:grid}@media (width<=900px){.info{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--rule);border-radius:4px;flex-direction:column;gap:16px;min-width:0;padding:32px;display:flex}.panel .tag{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.panel .tag .en{font-family:var(--f-en);color:var(--green);font-size:34px;font-weight:600;line-height:1}.panel .tag .lbl{background:var(--ink);color:var(--paper);letter-spacing:.15em;padding:2px 10px;font-size:12px;font-weight:700}.panel p{color:var(--ink-sub);margin:0}.calendar-embed{background:var(--card);border:0;width:100%;height:496px;display:block}.news-soon{text-align:center;border:1px dashed var(--rule-dash);background:repeating-linear-gradient(45deg,#176a380d 0 12px,transparent 12px 24px),var(--paper);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:240px;padding:32px 24px;display:flex}.news-soon .en{font-family:var(--f-en);color:var(--gold-ink);letter-spacing:.06em;font-size:22px;font-style:italic}.news-soon .h{font-family:var(--f-mincho);color:var(--green);letter-spacing:.06em;font-size:18px;font-weight:800}.panel .news-soon p{max-width:30em;font-size:14px}.x-timeline{width:100%;min-width:0;overflow:hidden}.x-timeline iframe{max-width:100%!important}.panel .embed-note{color:var(--ink-sub);font-size:13px;line-height:1.7}.cal{border:1px dashed var(--rule-dash);background:var(--paper);border-radius:4px;align-items:center;gap:18px;padding:18px 20px;text-decoration:none;display:flex}.cal:hover{border-color:var(--green)}.cal .cal-ic{text-align:center;border:1px solid var(--rule);background:var(--card);border-radius:6px;flex:none;width:58px;overflow:hidden}.cal .cal-ic b{background:var(--green);color:var(--white);font-family:var(--f-en);letter-spacing:.1em;padding:2px 0;font-size:12px;display:block}.cal .cal-ic i{font-style:normal;font-family:var(--f-en);color:var(--green);font-size:26px;font-weight:600;line-height:1.4;display:block}.cal .t1{color:var(--ink);font-weight:700;line-height:1.5}.cal .t2{color:var(--ink-sub);font-size:13px}.xcard{background:var(--green);color:var(--white);border-radius:4px;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.xcard:hover{background:var(--green-deep)}.xcard .ico{background:var(--green-night);flex:none}.xcard .t1{font-weight:700}.xcard .t2{font-family:var(--f-en);color:var(--gold-pale);font-size:17px}.sgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}@media (width<=1000px){.sgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.sgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.scard{background:var(--card);border:1px solid var(--rule);flex-direction:column;min-width:0;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex}.scard:hover{transform:translateY(-4px)rotate(-.6deg);box-shadow:0 10px 24px #0f4a2724}.scard img{aspect-ratio:16/9;object-fit:cover;background:var(--linen);width:100%}.scard .meta{justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px 2px;display:flex}.scard .nm{font-family:var(--f-mincho);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:800;overflow:hidden}.scard .no{font-family:var(--f-en);color:var(--gold-ink);flex:none;font-size:15px;font-weight:600}.scard .xid{color:var(--ink-sub);text-overflow:ellipsis;white-space:nowrap;padding:0 14px 12px;font-size:12.5px;overflow:hidden}@media (width<=760px){.scard .meta{padding:10px 10px 0}.scard .xid{padding:0 10px 10px}.scard .nm{font-size:14.5px}}.center{justify-content:center;margin-top:40px;display:flex}.note{color:var(--ink-sub);text-align:center;margin-top:24px;font-size:13px}.about{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}@media (width<=900px){.about{grid-template-columns:1fr;gap:32px}}.about-txt{font-family:var(--f-mincho);min-width:0;font-size:17px;font-weight:600;line-height:2.4}.about-txt p{margin:0 0 1em}.fig{min-width:0;margin:0}.fig .frame{padding:0 16px 16px 0;position:relative}.fig .frame:after{content:"";border:1px solid var(--gold);z-index:0;pointer-events:none;position:absolute;inset:16px 0 0 16px}.fig img{z-index:1;aspect-ratio:16/9;object-fit:cover;width:100%;position:relative}.fig figcaption{font-family:var(--f-mincho);letter-spacing:.12em;color:var(--ink-sub);align-items:center;gap:12px;margin-top:14px;font-size:13.5px;font-weight:600;display:flex}.fig figcaption:before{content:"";background:var(--gold);flex:none;width:28px;height:1px}.ttl-h{font-family:var(--f-mincho);color:var(--green);letter-spacing:.1em;text-wrap:balance;margin:0 0 6px;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.5}.ttl-en{font-family:var(--f-en);color:var(--gold-ink);margin:0 0 24px;font-size:20px;font-style:italic}.dark{background:var(--green-night);color:var(--white)}.act-head{grid-template-columns:auto 1fr;align-items:end;gap:24px 48px;margin-bottom:48px;display:grid}@media (width<=900px){.act-head{grid-template-columns:1fr}}.act-head .big{font-family:var(--f-en);color:var(--gold-pale);letter-spacing:.02em;font-size:clamp(48px,8vw,110px);font-weight:500;line-height:.9}.act-head .jp{font-family:var(--f-mincho);letter-spacing:.3em;margin-top:12px;font-size:17px;font-weight:600}.act-head p{color:var(--mint);max-width:34em;margin:0}.acts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}@media (width<=800px){.acts{grid-template-columns:1fr}}.acard{background:var(--green);border-radius:4px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.acard .ph{position:relative}.acard .ph img,.acard .ph .ph-dummy{aspect-ratio:2;object-fit:cover;width:100%}.acard .badge{background:var(--gold);color:var(--green-night);font-family:var(--f-en);letter-spacing:.06em;padding:2px 14px;font-size:18px;font-weight:600;position:absolute;bottom:16px;left:16px}.acard .bd{flex-direction:column;gap:8px;padding:24px 26px 28px;display:flex}.acard h3{font-family:var(--f-mincho);letter-spacing:.1em;margin:0;font-size:22px;font-weight:800}.acard p{color:var(--mint);margin:0}.acard .cap{color:var(--gold-pale);font-size:13px}.ph-dummy{color:var(--green);text-align:center;background:#dcd5c0 repeating-linear-gradient(45deg,#176a3812 0 12px,#0000 12px 24px);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex}.ph-dummy b{font-family:var(--f-en);font-size:30px;font-weight:600;line-height:1}.ph-dummy span{color:var(--ink-sub);font-size:13px}.guide-bn{background:var(--green);color:var(--white);isolation:isolate;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:44px 48px;display:grid;position:relative;overflow:hidden}.guide-bn:before{content:"";background:var(--guide-photo) center/cover;opacity:.18;z-index:-1;position:absolute;inset:0}.guide-bn h2{font-family:var(--f-mincho);letter-spacing:.1em;margin:0 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800}.guide-bn p{color:var(--mint);margin:0}@media (width<=760px){.guide-bn{grid-template-columns:1fr;padding:32px 24px}}.yt{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:32px;display:grid}@media (width<=860px){.yt{grid-template-columns:1fr}}.yt-player{aspect-ratio:16/9;background:var(--green-night);width:100%;max-width:100%;box-shadow:0 0 0 1px var(--rule),12px 12px 0 -1px var(--gold);border-radius:4px;position:relative;overflow:hidden}.yt-player iframe{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.yt-thumb{background:var(--green-night);text-decoration:none;display:block;position:absolute;inset:0}.yt-thumb .yt-cap{letter-spacing:.08em;color:var(--white);background:#0b3a1fbf;border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:700;position:absolute;bottom:12px;left:14px}.yt-thumb img{object-fit:cover;opacity:.75;width:100%;height:100%;transition:opacity .2s}.yt-thumb:hover img{opacity:.9}.yt-thumb .play{place-items:center;display:grid;position:absolute;inset:0}.yt-thumb .play i{background:#cc2b2b;border-radius:14px;place-items:center;width:76px;height:54px;display:grid}.yt-thumb .play i:after{content:"";border-left:20px solid var(--white);border-top:12px solid #0000;border-bottom:12px solid #0000;margin-left:5px}.yt-txt h3{font-family:var(--f-mincho);color:var(--green);letter-spacing:.08em;margin:0 0 8px;font-size:24px;font-weight:800}.yt-txt p{color:var(--ink-sub);margin:0 0 20px}.final{background:var(--green-night);color:var(--white);text-align:center;isolation:isolate;position:relative;overflow:hidden}.final:before{content:"";background:var(--final-photo) center/cover;opacity:.16;z-index:-1;position:absolute;inset:0}.final-in{flex-direction:column;align-items:center;gap:18px;padding-block:110px;display:flex}.final p.t{color:var(--mint);margin:0}.msg{background:var(--card);border:1px solid var(--rule);border-radius:40px 4px 4px;grid-template-columns:280px 1fr;align-items:start;gap:48px;padding:44px;display:grid}@media (width<=820px){.msg{grid-template-columns:1fr;gap:24px;padding:28px 22px}}.msg img{aspect-ratio:1;object-fit:cover;object-position:top;border:4px solid var(--gold);background:var(--green);border-radius:50%;width:100%;max-width:280px}.msg .role{color:var(--gold-ink);letter-spacing:.2em;font-size:13px;font-weight:700}.msg h3{font-family:var(--f-mincho);color:var(--green);letter-spacing:.1em;margin:4px 0 18px;font-size:28px;font-weight:800}.msg .body{font-family:var(--f-mincho);min-width:0;font-size:16px;font-weight:600;line-height:2.2}.msg .body p{margin:0 0 1em}.chips{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--green);color:var(--green);background:var(--card);border-radius:999px;padding:6px 18px;font-size:14px;font-weight:700}.chips li.t{background:var(--green);color:var(--white)}.course{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=800px){.course{grid-template-columns:1fr}}.dept{border:1px solid var(--green);background:var(--card);border-radius:40px 4px 4px;min-width:0;padding:36px 32px 84px;position:relative;overflow:hidden}.dept.tech{background:var(--green);color:var(--white);border-radius:4px 40px 4px 4px}.dept .en-bg{font-family:var(--f-en);color:#176a3814;pointer-events:none;font-size:88px;font-style:italic;line-height:1;position:absolute;bottom:-14px;right:-6px}.dept.tech .en-bg{color:#ffffff1a}.dept .k{letter-spacing:.2em;color:var(--gold-ink);font-size:13px;font-weight:700}.dept.tech .k{color:var(--gold-pale)}.dept h3{font-family:var(--f-mincho);letter-spacing:.1em;margin:6px 0 16px;font-size:22px;font-weight:800}@media (width<=760px){.dept .en-bg{font-size:60px}}.sd{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}@media (width<=900px){.sd{grid-template-columns:1fr;gap:28px}}.sd .fig img{aspect-ratio:16/9}.sd-no{font-family:var(--f-en);color:var(--gold-ink);letter-spacing:.1em;font-size:22px;font-weight:600}.sd-name{font-family:var(--f-mincho);color:var(--green);letter-spacing:.08em;overflow-wrap:anywhere;margin:0;font-size:clamp(30px,3.6vw,44px);font-weight:800;line-height:1.3}.sd-links{flex-wrap:wrap;gap:8px;margin:18px 0 26px;display:flex}.pill{border:1px solid var(--green);min-height:44px;color:var(--green);background:var(--card);border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.pill span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pill svg{fill:currentColor;flex:none;width:16px;height:16px}.pill:hover{background:var(--green);color:var(--white)}.prof{border-top:1px solid var(--rule);grid-template-columns:auto 1fr;margin:0;display:grid}.prof dt,.prof dd{border-bottom:1px solid var(--rule);margin:0;padding:14px 0}.prof dt{color:var(--gold-ink);letter-spacing:.1em;white-space:nowrap;padding-right:24px;font-size:13px;font-weight:700}.prof dd{overflow-wrap:anywhere;min-width:0}.quote{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--gold);font-family:var(--f-mincho);margin:32px 0 0;padding:28px 30px;font-size:16px;font-weight:600;line-height:2.1;position:relative}.quote .k{font-family:var(--f-en);color:var(--gold-ink);margin-bottom:6px;font-size:18px;font-style:italic;display:block}.sd-nav{grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;display:grid}.sd-nav a{border:1px solid var(--rule);background:var(--card);align-items:center;gap:14px;min-width:0;padding:12px;text-decoration:none;display:flex}.sd-nav a:hover{border-color:var(--green)}.sd-nav a.nx{text-align:right;flex-direction:row-reverse}.sd-nav img{aspect-ratio:16/9;object-fit:cover;flex:none;width:96px}.sd-nav .t{min-width:0}.sd-nav .t small{font-family:var(--f-en);color:var(--gold-ink);font-size:14px;display:block}.sd-nav .t b{font-family:var(--f-mincho);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media (width<=560px){.sd-nav img{width:64px}}.tabs{border:1px solid var(--green);background:var(--card);border-radius:999px;max-width:520px;margin:0 auto 40px;padding:4px;display:flex}.tabs button{min-height:44px;font-family:var(--f-body);color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:4px 8px;font-size:14px;font-weight:700;line-height:1.3}.tabs button small{color:var(--ink-sub);font-size:11.5px;font-weight:500;display:block}.tabs button[aria-selected=true]{background:var(--green);color:var(--white)}.tabs button[aria-selected=true] small{color:var(--mint)}.soon{text-align:center;background:var(--green);max-width:720px;color:var(--white);border-radius:4px;margin:0 auto;padding:56px 28px;position:relative;overflow:hidden}.soon .en{font-family:var(--f-en);color:var(--gold-pale);font-size:clamp(30px,4vw,44px);font-style:italic}.soon h3{font-family:var(--f-mincho);letter-spacing:.1em;margin:8px 0;font-size:22px;font-weight:800}.soon p{color:var(--mint);margin:0 0 24px}.soon .wm{opacity:.07;width:220px;position:absolute;top:-30px;right:-30px}.tgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (width<=960px){.tgrid{grid-template-columns:1fr}}.tcard{background:var(--card);border:1px solid var(--rule);flex-direction:column;min-width:0;display:flex}@media (width<=960px){.tcard{flex-direction:row}.tcard .tph{flex:none;width:42%}}@media (width<=560px){.tcard{flex-direction:column}.tcard .tph{width:100%}}.tph{background:var(--green);aspect-ratio:4/5;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.tph img{object-fit:cover;object-position:top;width:100%;height:100%!important}.tph img.full{object-fit:contain;width:auto;height:94%!important}.tph .ph-dummy{width:100%;height:100%}.tbd{flex-direction:column;gap:6px;min-width:0;padding:24px 26px 28px;display:flex}.tbd .role{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tbd .role b{letter-spacing:.2em;color:var(--white);background:var(--green);padding:1px 12px;font-size:13px}.tbd .role i{font-family:var(--f-en);color:var(--gold-ink);font-size:16px}.tbd h3{font-family:var(--f-mincho);letter-spacing:.1em;color:var(--green);margin:4px 0 8px;font-size:24px;font-weight:800}.tbd p{color:var(--ink-sub);margin:0}.recruit-bn{border:1px dashed var(--gold);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:48px;padding:24px 28px;display:flex}.recruit-bn p{font-family:var(--f-mincho);margin:0;font-size:17px;font-weight:600}.jgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=800px){.jgrid{grid-template-columns:1fr}}.jcard{background:var(--card);border:1px solid var(--rule);flex-direction:column;gap:14px;min-width:0;padding:36px 32px;display:flex;position:relative}.jcard .en{font-family:var(--f-en);color:var(--gold-ink);font-size:20px;font-style:italic;line-height:1}.jcard h3{font-family:var(--f-mincho);color:var(--green);letter-spacing:.2em;margin:0;font-size:28px;font-weight:800}.jcard h4{letter-spacing:.15em;color:var(--ink-sub);margin:8px 0 0;font-size:13px}.jcard p{margin:0}.check{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.check li{align-items:flex-start;gap:10px;display:flex}.check li:before{content:"";background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='white'/%3E%3C/svg%3E") center/12px no-repeat;border-radius:50%;flex:none;width:18px;height:18px;margin-top:4px}.apply{background:var(--green);color:var(--white);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:32px;padding:36px 32px;display:flex}.apply h3{font-family:var(--f-mincho);letter-spacing:.1em;margin:0 0 4px;font-size:22px;font-weight:800}.apply p{color:var(--mint);margin:0}.ev{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:40px;padding-block:48px;display:grid}.ev:nth-of-type(2n) .ev-ph{order:2}@media (width<=900px){.ev{grid-template-columns:1fr;gap:24px}.ev:nth-of-type(2n) .ev-ph{order:0}}.ev-ph img,.ev-ph .ph-dummy{aspect-ratio:2;object-fit:cover;width:100%}.ev .en{font-family:var(--f-en);color:var(--gold-ink);letter-spacing:.15em;font-size:18px;font-weight:600}.ev h3{font-family:var(--f-mincho);color:var(--green);letter-spacing:.1em;margin:0;font-size:clamp(26px,3vw,34px);font-weight:800}.ev .catch2{font-family:var(--f-mincho);margin:10px 0;font-size:18px;font-weight:600}.ev p{color:var(--ink-sub);margin:0 0 18px}.spec{grid-template-columns:auto 1fr;margin:0 0 22px;font-size:14px;display:grid}.spec dt,.spec dd{border-bottom:1px dashed var(--rule-dash);margin:0;padding:8px 0}.spec dt{color:var(--green);white-space:nowrap;padding-right:20px;font-weight:700}.cal-big{background:var(--card);border:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:20px 28px;margin-bottom:24px;padding:28px 32px;display:grid}@media (width<=760px){.cal-big{grid-template-columns:1fr}}.cal-big .cal-ic{width:80px}.cal-big h3{font-family:var(--f-mincho);color:var(--green);margin:0;font-size:20px;font-weight:800}.cal-big p{color:var(--ink-sub);margin:2px 0 0}.lesson{background:var(--linen);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;margin-top:48px;padding:28px 32px;display:flex}.lesson h3{color:var(--green);margin:0 0 4px;font-size:16px}.lesson p{color:var(--ink-sub);max-width:44em;margin:0}.steps{counter-reset:st;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 64px;padding:0;list-style:none;display:grid}@media (width<=860px){.steps{grid-template-columns:1fr}}.steps li{background:var(--card);border:1px solid var(--rule);min-width:0;padding:28px 26px;position:relative}.steps .n{font-family:var(--f-en);color:var(--gold-ink);font-size:44px;font-weight:600;line-height:1}.steps .n small{letter-spacing:.2em;margin-right:6px;font-size:15px}.steps h3{font-family:var(--f-mincho);color:var(--green);margin:8px 0;font-size:20px;font-weight:800}.steps p{color:var(--ink-sub);overflow-wrap:anywhere;margin:0}.steps a{color:var(--green);font-weight:700}.h3sec{font-family:var(--f-mincho);color:var(--green);letter-spacing:.12em;align-items:center;gap:10px;margin:0 0 18px;font-size:22px;font-weight:800;display:flex}.h3sec .star{color:var(--gold);width:16px;height:16px}.tbl-box{border:1px solid var(--rule);background:var(--card);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:14px 18px}.tbl thead th{background:var(--green);color:var(--white);letter-spacing:.1em;font-weight:700}.tbl tbody th{color:var(--green);white-space:nowrap;background:var(--paper)}.tbl tr:last-child>*{border-bottom:0}.tbl-note{color:var(--ink-sub);margin:8px 0 0;font-size:12.5px}.boxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px;display:grid}@media (width<=800px){.boxes{grid-template-columns:1fr}}.box{border:1px solid var(--rule);background:var(--card);min-width:0;padding:26px 28px}.box h3{color:var(--green);letter-spacing:.1em;margin:0 0 12px;font-size:16px}.box ul{margin:0;padding-left:1.2em}.box li{margin:4px 0}.box.warn{border:2px solid var(--warn)}.box.warn h3,.box.warn strong{color:var(--warn)}.news-x{border:1px solid var(--rule);background:var(--card);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;display:grid}@media (width<=800px){.news-x{grid-template-columns:1fr}}.news-x .l{background:var(--green-night);color:var(--white);flex-direction:column;justify-content:center;gap:14px;padding:44px 40px;display:flex}.news-x .l .xbig{background:var(--white);border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.news-x .l .xbig svg{width:26px;height:26px;fill:var(--green-night)}.news-x .l .h{font-family:var(--f-en);color:var(--gold-pale);font-size:30px}.news-x .l p{color:var(--mint);margin:0}.news-x .r{flex-direction:column;justify-content:center;gap:14px;padding:40px;display:flex}.news-x .r .hash{font-family:var(--f-mincho);color:var(--green);overflow-wrap:anywhere;font-size:clamp(24px,3vw,32px);font-weight:800}.news-x .r p{color:var(--ink-sub);margin:0}.faq{flex-direction:column;gap:12px;max-width:880px;margin:0 auto;display:flex}.faq details{background:var(--card);border:1px solid var(--rule)}.faq summary{cursor:pointer;align-items:flex-start;gap:16px;min-height:44px;padding:18px 22px;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .q,.faq .ans .a{font-family:var(--f-en);flex:none;width:1em;font-size:24px;font-weight:600;line-height:1.1}.faq summary .q{color:var(--green)}.faq summary .tx{flex:1;min-width:0}.faq summary .pm{flex:none;width:22px;height:22px;margin-top:4px;position:relative}.faq summary .pm:before,.faq summary .pm:after{content:"";background:var(--green);height:2px;transition:transform .2s;position:absolute;top:10px;left:3px;right:3px}.faq summary .pm:after{transform:rotate(90deg)}.faq details[open] .pm:after{transform:rotate(0)}.faq .ans{color:var(--ink-sub);gap:16px;padding:0 22px 20px;display:flex}.faq .ans .a{color:var(--gold-ink)}.faq .ans p{flex:1;min-width:0;margin:0}.site-foot{background:var(--green-night);color:var(--mint);border-top:6px solid var(--gold);text-align:center}.foot-in{flex-direction:column;align-items:center;gap:18px;padding-block:64px 40px;display:flex}.foot-in .em{aspect-ratio:2011/2050;width:70px}.foot-in .lt{aspect-ratio:1400/478;width:300px;max-width:70vw}.foot-in .copy{font-family:var(--f-mincho);color:var(--gold-pale);letter-spacing:.12em;margin:0;font-size:clamp(14px,4.2vw,18px);font-weight:600}@media (width<=560px){.foot-in .copy{letter-spacing:.06em}}.foot-in .copy .ln{line-height:1.9;display:block}.foot-sns{justify-content:center;gap:14px;margin:8px 0 0;padding:0;list-style:none;display:flex}.foot-sns .ico{background:var(--green);border:1px solid #e6d28e59;width:52px;height:52px;transition:background .2s,color .2s,transform .2s}.foot-sns .ico svg{width:20px;height:20px}.foot-sns .ico:hover{background:var(--gold);color:var(--green-night);transform:translateY(-2px)}.foot-map{min-height:44px;color:var(--white);letter-spacing:.12em;align-items:center;padding:0 8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.foot-map:hover{text-underline-offset:4px;text-decoration:underline}.foot-in small{font-family:var(--f-en);letter-spacing:.1em;color:var(--mint);font-size:14px}.foot-in .tag{color:var(--gold-pale);font-weight:700}[data-page]{animation:.35s fade}@keyframes fade{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){[data-page]{animation:none}}.skip-link{z-index:100;background:var(--paper);padding:8px 16px;position:absolute;top:-100px}.skip-link:focus{top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.smap{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.smap-card{background:var(--card);border:1px solid var(--rule);border-radius:4px;min-width:0;padding:32px}.smap-wide{grid-column:1/-1}.smap-h{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 14px;padding-bottom:14px;display:flex}.smap-h .en{font-family:var(--f-en);color:var(--green);letter-spacing:.02em;font-size:34px;font-weight:600;line-height:1}.smap-h .jp{background:var(--ink);color:var(--paper);letter-spacing:.15em;padding:2px 10px;font-size:12px;font-weight:700}.smap-list{margin:0;padding:0;list-style:none}.smap-list li+li{border-top:1px dashed var(--rule-dash)}.smap-list a{min-height:52px;color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 4px;text-decoration:none;display:flex}.smap-list a .jp{font-family:var(--f-mincho);letter-spacing:.06em;overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:600}.smap-list a .en{font-family:var(--f-en);color:var(--gold-ink);flex:none;font-size:15px;font-style:italic}.smap-list a:hover .jp{color:var(--green);background:linear-gradient(#0000 62%,#c09a2c52 62%)}.smap-sub{font-family:var(--f-mincho);letter-spacing:.2em;color:var(--ink);align-items:center;gap:12px;margin:22px 0 14px;font-size:15px;font-weight:600;display:flex}.smap-sub:before{content:"";background:var(--gold);width:28px;height:1px}.smap-students{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.smap-students a{border:1px solid var(--rule);background:var(--paper);min-height:48px;color:var(--ink);border-radius:4px;align-items:baseline;gap:10px;min-width:0;padding:12px 14px;text-decoration:none;display:flex}.smap-students .no{font-family:var(--f-en);color:var(--gold-ink);flex:none;font-size:14px;font-weight:600}.smap-students .nm{font-family:var(--f-mincho);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:800;overflow:hidden}.smap-students a:hover{border-color:var(--green);background:var(--card)}.smap-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.smap-links a{background:var(--green);min-height:64px;color:var(--white);border-radius:4px;align-items:center;gap:14px;min-width:0;padding:10px 18px 10px 10px;text-decoration:none;display:flex}.smap-links a:hover{background:var(--green-deep)}.smap-links .ico{background:var(--green-night);flex:none}.smap-links .jp{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:700}.smap-links .arr{color:var(--gold-pale);flex:none}.smap-note{color:var(--ink-sub);margin:14px 0 0;font-size:13px}@media (width<=1000px){.smap-students{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.smap{grid-template-columns:1fr}.smap-card{padding:24px 20px}.smap-students{grid-template-columns:repeat(2,minmax(0,1fr))}.smap-links{grid-template-columns:1fr}}
