:root{--ink:#191919;--muted:#626262;--line:#d8d8d5;--paper:#fafaf8;--pale:#eeefec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.9;letter-spacing:.025em}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7b7b7b;outline-offset:5px}.wrap{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.draft{background:#deded9;text-align:center;font-size:12px;padding:7px 16px;letter-spacing:.07em}.header{position:sticky;top:0;z-index:10;background:rgba(250,250,248,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:24px 4.3%;gap:20px}.brand{font-family:Arial,sans-serif;font-size:23px;font-weight:800;letter-spacing:-.045em;line-height:1.1;white-space:nowrap}.brand span{display:block;font-size:9px;letter-spacing:.19em;margin-top:9px}.header nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:11px 20px}.menu{display:none}.hero{padding-top:65px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:3%}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.19em;margin:0 0 27px}.hero h1{font-size:clamp(38px,4.6vw,69px);line-height:1.48;letter-spacing:-.055em;font-weight:600;margin:34px 0 22px}.hero h1 em{font-style:normal}.hero-intro{font-size:15px;color:#555;line-height:2.15;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:17px 25px;font-size:14px;font-weight:600;min-height:58px;border:1px solid currentColor;transition:background .2s, color .2s}.light{background:var(--ink);color:#fff;border-color:var(--ink)}.button:hover{background:#545454;color:white}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;margin:14px 0 0 21px;padding:4px 0}.small{font-size:12px;color:var(--muted);line-height:1.9}.hero .small{margin-top:26px}.hero-art{position:relative;overflow:hidden;min-height:540px;background:linear-gradient(140deg,#292929,#070707 75%);color:#dedede}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:58px 58px}.orb{position:absolute;border-radius:50%;box-shadow:inset -25px -30px 35px #000, inset 6px 6px 10px #ffffff55, 0 30px 50px #0009;background:radial-gradient(circle at 30% 20%,#eee 0%,#8c8c8c 19%,#444 44%,#181818 70%);transform:rotate(-30deg)}.orb-one{width:75%;aspect-ratio:1;left:3%;top:16%}.orb-two{width:43%;aspect-ratio:1;right:-9%;top:49%;background:radial-gradient(circle at 35% 20%,#c9c9c9,#646464 30%,#151515 70%)}.art-top{position:absolute;top:25px;left:26px;font:9px Arial;letter-spacing:.2em}.art-bottom{position:absolute;bottom:28px;left:27px;right:27px;display:flex;align-items:end;justify-content:space-between;font:22px/1.25 Arial;letter-spacing:-.02em}.art-index{font-size:12px;letter-spacing:.1em}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:38px 0 27px;border-bottom:1px solid var(--line);font:10px Arial;letter-spacing:.12em}.section{padding-top:106px;padding-bottom:106px}h2{font-size:clamp(28px,3.1vw,43px);line-height:1.65;letter-spacing:-.045em;font-weight:500;margin:0 0 22px}h3{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 14px}p{margin-top:0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%}.body-copy{padding-top:48px;font-size:15px;color:#4b4b4b}.inline-note{border-left:2px solid #999;padding-left:17px;font-size:12px;margin-top:30px}.pale{background:var(--pale)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-head p{font-size:13px;color:var(--muted);margin-bottom:25px}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.focus-grid article{border-top:1px solid #b9bab7;padding-top:23px}.number{font-family:Arial,sans-serif;font-size:38px;letter-spacing:-.06em;color:#777;display:block;margin-bottom:27px}.focus-grid p{font-size:14px;color:#626262}.learning-list article{display:grid;grid-template-columns:55px 1fr 1.3fr;align-items:center;gap:25px;border-top:1px solid var(--line);padding:25px 0}.learning-list article:last-child{border-bottom:1px solid var(--line)}.learning-list span{font:12px Arial;color:#777}.learning-list h3,.learning-list p{margin:0}.learning-list p{font-size:14px;color:var(--muted)}.review-note{border:1px dashed #999;padding:16px;font-size:12px;color:#555;margin-top:25px}.dark{background:#1b1b1b;color:#f8f8f5}.dark .eyebrow{color:#b8b8b8}.dark .small{color:#bbb}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:47px}.journey article{border-top:1px solid #666;padding-top:24px}.journey span{font:11px Arial;letter-spacing:.14em;color:#b7b7b7}.journey h3{margin-top:25px}.journey p{font-size:13px;color:#b7b7b7}.course-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:17px;margin-bottom:25px}.course{grid-column:span 2;border:1px solid var(--line);padding:28px 25px;background:#fff}.course:nth-last-child(-n+2){grid-column:span 3}.course-index{font:10px Arial;letter-spacing:.14em;color:#6b6b6b;display:block;margin-bottom:18px}.course h3{font-size:19px;margin:0 0 7px}.period{font-size:12px;color:var(--muted)}.price{font-family:Arial,sans-serif;font-size:35px;font-weight:600;line-height:1.6;letter-spacing:-.05em;margin-bottom:20px}.price small{display:block;font-family:"Yu Gothic",sans-serif;font-size:10px;letter-spacing:.05em;color:#666;font-weight:400}.price span{font-size:14px;margin-left:4px}.course dl{font-size:12px;border-top:1px solid var(--line);padding-top:15px;margin:0}.course dl div{display:flex;justify-content:space-between;gap:12px}.course dd{margin:0}.consult-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px;background:var(--pale);margin-top:35px}.consult-bar h3{margin:0 0 7px}.consult-bar p{font-size:13px;margin:0;color:var(--muted)}.dark-button{white-space:nowrap}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.work-placeholder{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,#e3e4e0,#e3e4e0 1px,#e9eae6 1px,#e9eae6 14px);display:grid;place-items:center;border:1px solid #d5d6d1;margin-bottom:24px}.work-placeholder span{font:25px/1.5 Arial;letter-spacing:.15em;text-align:center;color:#747570}.work-placeholder small{font:11px "Yu Gothic",sans-serif;letter-spacing:.08em}.works-grid p{font-size:13px;color:var(--muted)}.ai-section{max-width:840px}.ai-section p:not(.eyebrow){font-size:15px;color:#555;max-width:650px}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.faq details{border-top:1px solid #c9cac6}.faq details:last-child{border-bottom:1px solid #c9cac6}.faq summary{cursor:pointer;list-style:none;position:relative;padding:24px 35px 24px 0;font-size:14px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:7px;font:22px Arial}.faq details[open] summary::after{content:'−'}.faq details p{font-size:13px;color:#555;padding:0 25px 10px 0}.contact{text-align:center}.contact h2{font-size:clamp(32px,3.6vw,51px)}.contact p:not(.eyebrow){color:#c4c4c4;font-size:14px;margin-bottom:30px}.contact .light{background:#f9f9f7;color:#191919}.contact .text-link{display:block;width:fit-content;margin:20px auto 0;color:#ddd}.operator{display:flex;gap:40px;align-items:center;padding-top:55px;padding-bottom:55px;border-bottom:1px solid var(--line)}.operator .eyebrow{margin:0}.operator h2{font-size:24px;margin:0}.operator p:not(.eyebrow){font-size:12px;color:#666;margin:5px 0 0}.operator .text-link{margin:0 0 0 auto}footer{padding-top:45px;padding-bottom:35px}footer .brand{font-size:22px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;margin-top:30px;color:#626262}footer>p{font:10px Arial;color:#777;margin:30px 0 0}.mobile-cta{display:none}.skip{position:fixed;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:0}
@media(min-width:1500px){.hero-art{min-height:610px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header nav{gap:16px;font-size:11px}.header{padding-inline:32px}.hero{column-gap:25px}.hero-art{min-height:480px}.hero .text-link{display:block;width:fit-content;margin-left:0}.hero h1{font-size:44px}.focus-grid{gap:25px}.course{padding:24px 18px}.price{font-size:31px}.journey{gap:20px}.journey h3{font-size:16px}}
@media(max-width:760px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 40px)}body{font-size:15px}.draft{font-size:10px;padding:6px 10px}.header{padding:19px 20px}.brand{font-size:21px}.brand span{font-size:8px;margin-top:6px}.menu{display:block;border:1px solid #999;padding:7px 11px;background:transparent;font-size:11px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 20px 24px;border-bottom:1px solid #aaa;box-shadow:0 10px 15px #0001}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.header nav a{padding:13px 10px;font-size:14px}.header nav .nav-cta{margin-top:8px}.hero{padding-top:37px;grid-template-columns:1fr;gap:0}.hero .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:22px}.hero h1{font-size:clamp(35px,9.8vw,55px);line-height:1.5;margin-top:0;margin-bottom:20px}.hero-intro{font-size:14px;line-height:2;margin-bottom:25px}.hero .button{width:100%;max-width:380px}.hero .text-link{display:inline-block;margin:12px 0 0}.hero .small{font-size:10px;margin-top:21px;margin-bottom:24px}.hero-art{min-height:0;aspect-ratio:1.27;margin-top:8px}.orb-one{width:66%;top:5%;left:10%}.orb-two{top:46%;right:-4%;width:37%}.art-top{top:20px;left:20px}.art-bottom{bottom:20px;left:20px;right:20px;font-size:18px}.hero-foot{font-size:8px;padding:24px 0;gap:20px}.hero-foot span:last-child{display:none}.section{padding-top:66px;padding-bottom:66px}.eyebrow{font-size:10px;margin-bottom:20px}h2{font-size:29px;line-height:1.65;margin-bottom:22px}.intro{grid-template-columns:1fr;gap:0}.body-copy{padding-top:5px;font-size:14px}.inline-note{margin-top:22px}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:15px;font-size:12px}.focus-grid{grid-template-columns:1fr;gap:23px}.focus-grid article{position:relative;padding:24px 0 0 51px}.number{position:absolute;left:0;top:22px;font-size:29px;margin:0}.focus-grid h3{font-size:17px}.focus-grid p{font-size:13px;margin-bottom:7px}.learning-list article{grid-template-columns:30px 1fr;gap:8px;padding:22px 0}.learning-list h3{font-size:17px}.learning-list p{grid-column:2;font-size:13px;margin-top:6px}.journey{grid-template-columns:1fr 1fr;gap:25px 18px;margin-top:30px}.journey h3{font-size:16px;margin-top:15px;margin-bottom:9px}.journey p{font-size:12px}.dark .small{margin-top:20px;font-size:11px}.course-grid{grid-template-columns:1fr;gap:14px}.course,.course:nth-last-child(-n+2){grid-column:auto;padding:23px}.course-index{font-size:9px;margin-bottom:12px}.course h3{font-size:20px}.course .period{font-size:12px;margin-bottom:14px}.price{font-size:39px;margin-top:0;margin-bottom:14px}.course dl{font-size:13px}.consult-bar{display:block;padding:25px 20px;margin-top:27px}.consult-bar .button{margin-top:20px;width:100%;gap:15px}.consult-bar p{font-size:12px}.works-grid{grid-template-columns:1fr;gap:25px}.work-placeholder{margin-bottom:17px}.works-grid h3{font-size:17px}.ai-section p:not(.eyebrow){font-size:14px}.faq{grid-template-columns:1fr;gap:10px}.faq summary{font-size:13px;padding-top:21px;padding-bottom:21px}.faq details p{font-size:13px}.contact .button{width:100%;max-width:380px}.contact h2{font-size:32px}.operator{display:block;padding-top:40px;padding-bottom:35px}.operator .eyebrow{margin-bottom:15px}.operator .text-link{margin:18px 0 0}.operator h2{font-size:23px}.footer-links{flex-direction:column;gap:13px;margin-top:25px}footer{padding-bottom:109px}.mobile-cta{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;background:#191919;color:#fff;border-top:1px solid #555;font-size:14px;font-weight:600}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
