:root{--bg:#131217;--panel:#1b191f;--gold:#dec085;--gold-dark:#ad8950;--ink:#f4f1e9;--muted:#bcb7bf;--line:rgba(222,192,133,.24);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--wrap:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--gold);line-height:1.8;margin-bottom:23px}h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,46px);line-height:1.65;letter-spacing:.06em}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 16px;background:var(--gold);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(19,18,23,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:91px;width:min(1440px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{line-height:1.3}.brand-name{display:block;font-family:Georgia,serif;font-size:26px;letter-spacing:.035em}.brand-sub{display:block;font-size:11px;letter-spacing:.14em;color:var(--gold);margin-top:7px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav-text:hover,.text-link:hover,.contact-link:hover{color:var(--gold)}.header-cta{display:flex;align-items:center;gap:28px;padding:13px 24px;border:1px solid var(--gold-dark);color:var(--gold)}.header-cta:hover{background:var(--gold);color:var(--bg)}
.hero{padding-top:68px;background:radial-gradient(ellipse at 70% 20%,#28202b 0,transparent 58%)}.hero-inner{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:58px}.hero .eyebrow{display:flex;align-items:center;gap:17px;margin-bottom:27px;letter-spacing:.12em;font-size:10px}.year{font:28px/1 Georgia,serif;letter-spacing:.02em;border-right:1px solid var(--gold-dark);padding-right:17px}.hero-author{font-size:14px;letter-spacing:.07em;margin-bottom:17px}.hero h1{font-family:var(--serif);font-size:clamp(46px,5.4vw,76px);font-weight:600;letter-spacing:.07em;line-height:1.38}.hero h1 span{display:block;color:var(--gold)}.hero-line{font-family:var(--serif);font-size:clamp(19px,2vw,26px);line-height:1.9;margin-top:27px}.hero-description{font-size:15px;color:var(--muted);line-height:2.15;margin-top:19px}.hero-art{display:block;border:1px solid var(--line);box-shadow:0 24px 70px #0006;transform:translateY(6px)}.hero-art img{width:100%}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:31px}.button{font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;line-height:1.6;min-height:56px;padding:17px 24px;border:1px solid transparent;transition:background .15s,color .15s}.button-gold{color:#201810;background:var(--gold)}.button-gold:hover{background:#f0dba8}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:14px;border-bottom:1px solid var(--line);padding-block:5px}.hero-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:24px;margin-top:68px;border-top:1px solid var(--line);color:#a49d9f}.hero-bottom span:first-child{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em;align-self:center}.hero-bottom span:last-child{font-size:13px;letter-spacing:.12em}
.intro{background:#f7f7f4;color:#26242a}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.intro .eyebrow,.instructor .eyebrow{color:#886528}.intro-copy{padding-top:9px}.intro-copy p{font-size:17px;line-height:2.2}.intro-copy p+p{margin-top:21px}
.catalog{padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.collection-count{display:flex;align-items:center;gap:19px;padding-bottom:10px}.collection-count strong{font-family:Georgia,serif;font-weight:400;font-size:88px;line-height:1;color:var(--gold)}.collection-count span{font-size:14px;border-left:1px solid var(--line);padding-left:20px;writing-mode:vertical-rl;letter-spacing:.16em;line-height:1.5}.catalog-guide{color:var(--muted);font-size:15px;margin-top:25px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:65px;margin-top:50px}.course{display:flex;flex-direction:column;min-width:0;scroll-margin-top:110px}.course-poster{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;width:100%;background:#09090b;border:1px solid var(--line);overflow:hidden;transition:border-color .2s}.course-poster img{width:100%;height:100%;object-fit:contain}.course-poster:hover{border-color:var(--gold)}.course-body{display:flex;flex:1;flex-direction:column;padding-top:23px}.course-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.course-meta>span:first-child{font-family:Arial,sans-serif;font-size:11px;color:var(--gold);letter-spacing:.15em}.level{font-size:12px;border:1px solid var(--line);padding:2px 10px;line-height:1.6;color:var(--gold)}.course h3{font-size:25px;font-family:var(--serif);line-height:1.7;letter-spacing:.025em;overflow-wrap:anywhere}.course h3 a:hover{color:var(--gold)}.course-catch{font-size:15px;line-height:1.9;color:var(--gold);margin-top:12px}.course-description{font-size:16px;line-height:2;color:var(--muted);margin-top:13px;margin-bottom:24px}.course-link{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);min-height:53px;font-size:14px;margin-top:auto;transition:color .15s,border-color .15s}.course-link span{font-size:21px;color:var(--gold)}.course-link:hover{color:var(--gold);border-color:var(--gold-dark)}.catalog-end{margin-top:70px;border:1px solid var(--line);padding:36px;display:flex;align-items:center;justify-content:center;gap:45px;background:var(--panel)}.catalog-end p{font-family:var(--serif);font-size:23px;line-height:1.8}
.instructor{background:#f7f7f4;color:#26242a}.instructor-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.instructor-art img{width:100%;height:auto}.instructor-role{font-size:13px;color:#66606b;margin-bottom:14px}.instructor-copy h2{font-size:29px;line-height:1.7;margin-bottom:25px}.ouji{font-family:Georgia,serif;display:block;font-size:69px;line-height:1.3;color:#86652e;letter-spacing:.035em}.instructor-copy>p:not(.eyebrow):not(.instructor-role):not(.institute-name){font-size:16px;line-height:2.1;margin-top:15px}.institute-name{font-size:13px;line-height:1.8;border-top:1px solid #d9d6d0;margin-top:27px;padding-top:20px}.institute-name span{display:block;font-family:Georgia,serif;letter-spacing:.02em;color:#736b62;font-size:12px;margin-top:4px}
.application{text-align:center;background:radial-gradient(ellipse at 50% 100%,#30242a,transparent 70%);padding-block:95px 106px;border-bottom:1px solid var(--line)}.application h2{font-size:clamp(33px,4vw,52px);margin-bottom:25px}.application-inner>p:not(.eyebrow){font-size:16px;line-height:2;color:var(--muted)}.application-cta{margin:32px 0 23px;min-width:360px;text-align:left;min-height:65px;padding:21px 30px;font-size:16px}.application-inner .application-note{font-size:14px!important;line-height:1.9!important}.contact-link{display:inline-block;margin-top:23px;font-size:14px;border-bottom:1px solid var(--line)}.site-footer{padding:50px 0 25px;background:#0b0a0d}.footer-main{display:flex;justify-content:space-between;gap:30px}.footer-brand{font-family:Georgia,serif;font-size:22px;letter-spacing:.12em}.footer-main p{font-size:13px;color:var(--muted);margin-top:14px}.footer-main nav{display:flex;gap:13px 26px;flex-wrap:wrap;align-content:center;justify-content:end;max-width:490px;font-size:13px;color:var(--muted)}.footer-main nav a:hover{color:var(--gold)}.footer-bottom{margin-top:38px;padding-top:23px;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#9d959f}.footer-bottom small{font-size:11px;font-family:Arial,sans-serif;align-self:center}
@media(min-width:1600px){.hero-inner{gap:75px}.hero{padding-top:90px}.hero h1{font-size:78px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px)}.hero-inner{gap:34px;grid-template-columns:.95fr 1.05fr}.hero h1{font-size:53px}.hero-description{font-size:14px}.hero-line{font-size:21px}.desktop-break{display:none}.hero-actions{gap:15px}.intro-grid{gap:50px}.course-grid{column-gap:25px}.course h3{font-size:23px}.instructor-grid{gap:35px}.instructor-copy h2{font-size:24px}.course-description{font-size:15px}.course-catch{font-size:14px}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:42px}.hero-copy{max-width:680px}.hero h1{font-size:clamp(52px,8vw,70px)}.hero h1 span{display:inline}.hero-art{max-width:760px;width:100%;margin:auto;transform:none}.hero-line br{display:none}.hero-description{max-width:590px;font-size:16px}.hero-bottom{margin-top:42px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 30px}.intro-grid{gap:35px;grid-template-columns:.9fr 1.1fr}.intro h2{font-size:30px}.intro-copy p{font-size:16px}.instructor-grid{grid-template-columns:1fr;gap:40px}.instructor-art{max-width:750px}.instructor-copy{max-width:660px}.instructor-copy h2{font-size:27px}.ouji{display:inline;margin-left:15px;font-size:50px}.instructor-role{margin-bottom:8px}.instructor-copy h2{margin-bottom:15px}.catalog-end{gap:24px;padding:30px 20px}.catalog-end p{font-size:19px}}
@media(max-width:600px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.header-inner{width:calc(100% - 32px);min-height:77px;gap:12px}.brand-name{font-size:20px}.brand-sub{font-size:9px;letter-spacing:.08em}.site-header nav{gap:0}.nav-text{display:none}.header-cta{padding:10px 12px;font-size:12px;gap:11px}.hero{padding-top:37px}.hero .eyebrow{font-size:9px;letter-spacing:.07em;gap:12px;margin-bottom:23px}.year{font-size:25px;padding-right:12px}.hero-author{font-size:12px;letter-spacing:.015em;margin-bottom:14px}.hero h1{font-size:clamp(42px,12vw,68px);letter-spacing:.035em}.hero h1 span{display:block}.hero-line{font-size:21px;margin-top:22px;line-height:1.9}.hero-line br{display:block}.hero-description{font-size:15px;line-height:2.05;margin-top:15px}.hero-actions{gap:18px;margin-top:24px}.button{font-size:14px;padding:16px 20px;gap:23px;min-height:53px}.hero-actions .text-link{font-size:13px;gap:7px}.hero-inner{gap:33px}.hero-bottom{margin-top:31px;padding-block:20px;display:block}.hero-bottom span:first-child{font-size:8px;letter-spacing:.1em}.hero-bottom span:last-child{display:block;font-size:12px;margin-top:8px}.intro-grid{grid-template-columns:1fr;gap:27px}.eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:15px}h2,.intro h2{font-size:29px;line-height:1.7}.intro-copy{padding-top:0}.intro-copy p{font-size:16px;line-height:2.1}.intro-copy p+p{margin-top:17px}.section-heading{gap:17px;align-items:center}.section-heading h2{font-size:27px;letter-spacing:.015em}.collection-count{display:block;text-align:center;padding-bottom:0}.collection-count strong{font-size:62px}.collection-count span{display:block;writing-mode:initial;font-size:9px;letter-spacing:0;padding:0;border:0;max-width:65px;line-height:1.7;margin-top:7px}.catalog-guide{font-size:14px;margin-top:24px}.course-grid{grid-template-columns:1fr;margin-top:33px;gap:49px}.course-poster{max-width:440px;margin-inline:auto}.course-body{padding-top:20px}.course h3{font-size:27px}.course-meta{margin-bottom:10px}.course-meta>span:first-child{font-size:11px}.level{font-size:13px}.course-catch{font-size:16px;margin-top:11px}.course-description{font-size:16px;margin-top:13px;line-height:2;margin-bottom:21px}.course-link{font-size:15px;min-height:55px}.catalog-end{display:block;text-align:center;padding:28px 20px;margin-top:45px}.catalog-end p{font-size:20px;margin-bottom:20px}.catalog-end .button{width:100%;justify-content:space-between}.instructor-grid{gap:28px}.instructor-role{font-size:12px}.instructor-copy h2{font-size:23px}.ouji{font-size:46px;margin-left:10px}.institute-name{font-size:12px}.institute-name span{font-size:11px}.application h2{font-size:33px}.application-inner>p:not(.eyebrow){font-size:15px}.application-cta{width:100%;min-width:0;font-size:15px;padding:20px 18px;gap:15px;margin-top:28px}.application-inner .application-note{font-size:13px!important}.contact-link{font-size:13px}.site-footer{padding-top:37px}.footer-main{display:block}.footer-main nav{margin-top:25px;display:grid;grid-template-columns:1fr;gap:10px;justify-content:start;font-size:13px}.footer-main p{font-size:12px}.footer-bottom{margin-top:26px;gap:15px;font-size:11px}.footer-bottom small{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
