:root{--ink:#132f37;--deep:#103b46;--teal:#176477;--mint:#daf0eb;--pale:#f2f7f5;--line:#d6dfdc;--white:#fff;--muted:#5a6e73;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font:inherit}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.skip-link{position:fixed;left:12px;top:-60px;z-index:999;padding:10px 16px;background:#fff}.skip-link:focus{top:12px}.header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.94);transition:.25s;border-bottom:1px solid transparent}.header.scrolled{height:76px;border-color:var(--line);box-shadow:0 6px 30px rgba(16,59,70,.07)}.logo{display:flex;align-items:center;gap:12px}.logo img{object-fit:contain}.logo span{display:flex;flex-direction:column;line-height:1.4}.logo b{font-size:16px;letter-spacing:.05em}.logo small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.nav{height:100%;display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.nav a:not(.nav-login):not(.nav-entry){position:relative}.nav a:not(.nav-login):not(.nav-entry):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--teal);transition:.2s}.nav a:hover:after{right:0}.nav-login,.nav-entry{display:grid;place-items:center;height:46px;padding:0 19px;border:1px solid var(--deep)}.nav-entry{color:#fff;background:var(--deep)}.menu-button{display:none}.hero{min-height:780px;padding:145px 6vw 75px;display:grid;grid-template-columns:52% 48%;align-items:center;position:relative;overflow:hidden;background:linear-gradient(112deg,#f7fbf9 0 53%,#e2f1ec 53%)}.hero-copy{max-width:700px;z-index:2}.hero-kicker,.en{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--teal);text-transform:uppercase}.hero h1{font:700 clamp(42px,5.2vw,76px)/1.35 var(--serif);letter-spacing:.03em;margin:24px 0}.hero h1 em{font-style:normal;color:var(--teal);position:relative}.hero h1 em:after{content:"";position:absolute;height:8px;background:#acd8cc;left:-2px;right:-2px;bottom:2px;z-index:-1}.hero-lead{max-width:620px;color:#415b61}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{min-height:58px;padding:0 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-weight:700;font-size:14px;transition:.2s}.button.primary{background:var(--deep);color:#fff;min-width:230px}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,59,70,.16)}.text-link{font-weight:600;border-bottom:1px solid var(--ink)}.hero-art{height:580px;position:relative;display:grid;place-items:center}.hero-art img{width:88%;height:70%;object-fit:cover;filter:saturate(.72);clip-path:polygon(18% 0,100% 0,100% 82%,82% 100%,0 100%,0 18%);box-shadow:0 25px 80px rgba(16,59,70,.22)}.hero-art p{position:absolute;right:0;bottom:45px;background:#fff;padding:22px 30px;display:flex;flex-direction:column;line-height:1.25;border-left:4px solid var(--teal)}.hero-art p b,.hero-art p strong{font-family:var(--serif);font-size:21px}.hero-art p span{font-size:11px;letter-spacing:.18em;color:var(--teal)}.hero-orbit{position:absolute;border:1px solid rgba(23,100,119,.25);border-radius:50%}.orbit-one{width:510px;height:510px}.orbit-two{width:650px;height:280px;transform:rotate(-25deg)}.scroll-cue{position:absolute;left:3vw;bottom:40px;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.scroll-cue span{display:inline-block;width:1px;height:60px;background:var(--teal);margin-top:12px}.news{display:grid;grid-template-columns:25% 75%;padding:90px 0}.news h2,.section-label h2{font:700 28px/1.5 var(--serif);margin:2px 0}.news-list a{display:grid;grid-template-columns:110px 75px 1fr 20px;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.news-list time{font-size:12px;color:var(--muted)}.news-list span{font-size:10px;text-align:center;border:1px solid var(--teal);color:var(--teal)}.news-list p{margin:0;font-size:14px}.intro{padding:120px 0;background:var(--pale)}.intro-grid,.audience-grid{display:grid;grid-template-columns:28% 72%;gap:40px}.intro-body{max-width:800px}.statement{font:600 clamp(28px,3.3vw,46px)/1.6 var(--serif);margin:0 0 34px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:var(--line)}.feature-row article{padding:32px;background:var(--white)}.feature-row span,.steps>li>b,.requirement-cards b{font:600 30px var(--serif);color:#9fc9bf}.feature-row h3{margin:12px 0 8px;font-size:17px}.feature-row p{font-size:13px;color:var(--muted);margin:0}.outline,.flow,.faq{display:grid;grid-template-columns:28% 72%;gap:40px;padding-top:125px;padding-bottom:125px}.outline-lead{font:600 27px var(--serif);margin:0 0 38px}.data-table{margin:0;border-top:1px solid var(--ink)}.data-table>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:24px 0}.data-table dt{font-weight:700}.data-table dd{margin:0}.data-table dd small{display:block;color:var(--muted);font-size:12px}.data-table strong{font-size:24px;color:var(--teal)}.note{font-size:11px;color:var(--muted)}.audience{background:var(--deep);color:#fff;padding:110px 0}.section-label.light .en{color:#8fd0c1}.audience ul{list-style:none;margin:0;padding:0}.audience li{display:grid;grid-template-columns:60px 1fr;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.22);font:500 19px var(--serif)}.audience li span{color:#8fd0c1;font:500 15px var(--sans)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.steps li{display:grid;grid-template-columns:100px 1fr;padding:30px 0;border-bottom:1px solid var(--line)}.steps li div{display:grid;grid-template-columns:130px 180px 1fr;align-items:center;gap:20px}.steps small{color:var(--teal);font-size:10px;letter-spacing:.14em}.steps h3{font-size:17px}.steps p{font-size:13px;color:var(--muted);margin:0}.requirements{padding:110px 0;background:var(--pale)}.requirements .section-label{margin-bottom:45px}.requirement-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.requirement-cards article{padding:30px;background:#fff;min-height:230px;border-top:3px solid var(--teal)}.requirement-cards h3{margin:25px 0 8px}.requirement-cards p{font-size:13px;color:var(--muted)}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:25px 10px;display:flex;justify-content:space-between;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;color:var(--teal)}.faq-list details p{padding:0 48px 26px;margin:0;color:var(--muted);font-size:14px}.application{background:var(--teal);color:#fff;padding:100px 0}.application .en{color:#b7e4da}.application-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.application h2{font:700 clamp(30px,3.5vw,48px)/1.55 var(--serif);margin:8px 0}.application-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.button.white{background:#fff;color:var(--deep);min-width:300px}.application-actions small{opacity:.75}.application-actions>a:last-child{text-decoration:underline;font-size:13px}.footer{background:#102e35;color:#fff;padding:75px 0 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:60px}.footer-logo small{color:#aabdc1}.footer-top>div{display:flex;flex-direction:column;gap:12px;font-size:12px}.footer-bottom{padding-top:25px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;font-size:11px;color:#aabdc1}.to-top{position:fixed;right:25px;bottom:25px;width:48px;height:48px;border:0;background:var(--deep);color:#fff;opacity:0;pointer-events:none;transition:.2s}.to-top.visible{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.shown{opacity:1;transform:none}:focus-visible{outline:3px solid #f5b942;outline-offset:3px}
@media(max-width:1000px){.header{height:76px}.nav{position:fixed;inset:76px 0 0;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:30px;gap:0}.menu-open .nav{display:flex}.nav a{padding:16px;border-bottom:1px solid var(--line)}.menu-button{display:flex;width:52px;height:52px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-button span{width:24px;height:1px;background:var(--ink)}.menu-button i{font-style:normal;font-size:7px;letter-spacing:.12em}.hero{grid-template-columns:1fr;padding-top:120px}.hero-art{height:430px}.hero-copy{max-width:780px}.scroll-cue{display:none}.intro-grid,.audience-grid,.outline,.flow,.faq{grid-template-columns:1fr}.section-label{margin-bottom:20px}.requirement-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.logo b{font-size:13px}.logo small{font-size:7px}.logo img{width:42px}.hero{min-height:auto;padding:115px 20px 65px;background:linear-gradient(155deg,#f7fbf9 0 68%,#e2f1ec 68%)}.hero h1{font-size:38px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-art{height:320px}.hero-art img{width:100%;height:72%}.orbit-one{width:300px;height:300px}.orbit-two{width:350px}.hero-art p{right:-10px;bottom:18px;padding:16px 20px}.news{grid-template-columns:1fr;padding:65px 0}.news-list a{grid-template-columns:85px 55px 1fr;gap:8px}.news-list a b{display:none}.news-list p{font-size:12px}.intro,.audience,.requirements,.application{padding:75px 0}.outline,.flow,.faq{padding-top:80px;padding-bottom:80px}.feature-row{grid-template-columns:1fr}.data-table>div{grid-template-columns:1fr;gap:5px}.data-table dt{font-size:12px;color:var(--teal)}.audience li{font-size:15px}.steps li{grid-template-columns:60px 1fr}.steps li div{grid-template-columns:1fr;gap:0}.steps h3{margin:5px 0}.requirement-cards{grid-template-columns:1fr}.requirement-cards article{min-height:auto}.application-inner{align-items:flex-start;flex-direction:column}.button.white{min-width:100%}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.to-top{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.header{transition:none}}

/* Multi-page content */
.sub-header{position:fixed}.nav .current{color:var(--teal)}.simple-login{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink)}.page-hero{padding:175px 0 85px;background:linear-gradient(125deg,#f1f7f4 0 74%,#dfeee9 74%);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(23,100,119,.18);border-radius:50%;right:6%;top:30px}.page-hero.compact{padding-bottom:60px}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font:700 clamp(38px,5vw,64px)/1.35 var(--serif);margin:8px 0 15px}.page-hero .wrap>p:last-child{color:var(--muted);max-width:650px}.breadcrumb{font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:45px}.breadcrumb a{text-decoration:underline}.content-section{padding-top:110px;padding-bottom:110px}.content-section.soft{background:var(--pale)}.two-column{display:grid;grid-template-columns:28% 72%;gap:40px}.prose{max-width:780px}.prose h3{font:600 clamp(26px,3vw,42px)/1.65 var(--serif);margin:0 0 30px}.prose p{color:#425b61}.quote-block{margin-top:45px;padding:32px 38px;border-left:4px solid var(--teal);background:var(--pale);font:600 20px/1.8 var(--serif)}.number-list article,.syllabus-list article{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.number-list article:first-child,.syllabus-list article:first-child{border-top:1px solid var(--ink)}.number-list b,.syllabus-list b{font:600 28px var(--serif);color:#9fc9bf}.number-list h3,.syllabus-list h3{margin:0 0 7px;font-size:19px}.number-list p,.syllabus-list p{margin:0;color:var(--muted);font-size:14px}.page-cta{background:var(--teal);color:#fff;padding:65px 0}.page-cta .wrap{display:flex;align-items:center;justify-content:space-between}.page-cta .en{color:#b7e4da}.page-cta h2{font:600 30px var(--serif);margin:3px 0}.mini-footer{background:#102e35;color:#fff;padding:38px 0}.mini-footer .wrap{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:45px}.mini-footer>a,.mini-footer .wrap>a{font:600 14px var(--serif)}.mini-footer nav{display:flex;gap:24px;font-size:11px}.mini-footer small{color:#9ab0b5;font-size:9px}.data-table.large>div{padding:28px 0}.alert-box{margin-top:35px;padding:25px 30px;background:#fff8e9;border-left:4px solid #d99d2b}.alert-box p{font-size:13px;margin-bottom:0}.schedule-card{padding:45px;background:#fff;border-top:4px solid var(--teal)}.schedule-card>span{font-size:11px;letter-spacing:.12em;color:var(--teal)}.schedule-card h3{font:600 32px var(--serif);margin:10px 0}.schedule-card a,.inline-button{display:inline-block;margin-top:15px;font-weight:700;border-bottom:1px solid var(--ink)}.detail-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.detail-steps li{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid var(--line)}.detail-steps>li>b{font:600 30px var(--serif);color:#9fc9bf}.detail-steps small{font-size:10px;letter-spacing:.15em;color:var(--teal)}.detail-steps h3{font-size:20px;margin:3px 0 8px}.detail-steps p{margin:0;color:var(--muted);font-size:14px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-list label{padding:22px;background:#fff;font-weight:600}.check-list span{color:var(--teal);margin-right:12px}.application-page{width:min(900px,calc(100% - 40px));margin:auto}.form-wrap{display:grid;grid-template-columns:1fr 280px;gap:30px}.form-progress,.application-summary{grid-column:1/-1}.form-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 30px}.form-progress li{position:relative;text-align:center;color:#839397;font-size:11px}.form-progress li:before{content:"";position:absolute;height:1px;background:var(--line);top:18px;left:0;right:0}.form-progress b{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;background:#e6ecea}.form-progress .active{color:var(--deep);font-weight:700}.form-progress .active b{background:var(--deep);color:#fff}.application-summary{background:var(--pale);padding:28px 32px}.application-summary h2{font-size:18px}.application-summary dl{margin:0}.application-summary dl div{display:flex;justify-content:space-between;padding:8px 0}.application-summary dt{font-size:12px;color:var(--muted)}.application-summary dd{margin:0}.entry-form{padding:38px;border:1px solid var(--line)}.entry-form h2{font:600 25px var(--serif)}.entry-form>label:not(.consent){display:block;margin:24px 0}.entry-form label>span:first-child{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.entry-form label b{font-size:9px;color:#fff;background:#a64c46;padding:2px 5px;margin-left:6px}.entry-form input:not([type=checkbox]),.entry-form select,.entry-form textarea{width:100%;min-height:52px;border:1px solid #bfcac7;padding:12px 14px;background:#fff;font:inherit;border-radius:0}.entry-form textarea{resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;margin:26px 0;font-size:12px}.consent input{width:20px;height:20px}.consent a{text-decoration:underline}.form-submit{border:0;width:100%;cursor:pointer}.form-message{font-size:12px;color:var(--teal)}.form-message.error{color:#b42318}.form-note{padding:25px;background:var(--pale);align-self:start}.form-note h3{font-size:15px}.form-note ul{padding-left:20px;font-size:12px;color:var(--muted)}.faq-page{display:grid;grid-template-columns:220px 1fr;gap:60px}.faq-categories{display:flex;flex-direction:column;position:sticky;top:110px;align-self:start}.faq-categories a{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.faq-groups>section{scroll-margin-top:100px;margin-bottom:70px}.faq-groups h2{font:600 26px var(--serif)}.contact-grid{display:grid;grid-template-columns:300px 1fr;gap:55px}.legal{padding-top:80px;padding-bottom:110px;max-width:880px}.legal h2{font:600 22px var(--serif);margin-top:48px;padding-bottom:12px;border-bottom:1px solid var(--line)}.legal p,.legal li{color:#425b61;font-size:14px}.legal-notice{padding:20px 25px;background:#fff8e9;border-left:4px solid #d99d2b;color:#6a4c17!important}
@media(max-width:1000px){.two-column{grid-template-columns:1fr}.faq-page{grid-template-columns:1fr}.faq-categories{position:static;display:grid;grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.mini-footer .wrap{grid-template-columns:1fr}.form-wrap{grid-template-columns:1fr}.form-note{grid-column:1}.page-hero{padding-top:145px}}
@media(max-width:680px){.page-hero{padding:125px 0 60px}.page-hero:after{width:230px;height:230px;right:-80px}.content-section{padding-top:70px;padding-bottom:70px}.number-list article,.syllabus-list article,.detail-steps li{grid-template-columns:55px 1fr}.page-cta .wrap{align-items:flex-start;flex-direction:column;gap:25px}.mini-footer nav{flex-direction:column;gap:8px}.check-list{grid-template-columns:1fr}.form-progress span{font-size:9px}.application-summary{padding:20px}.application-summary dl div{display:block}.entry-form{padding:24px 18px}.faq-categories{grid-template-columns:1fr 1fr}.contact-grid{gap:30px}.simple-login{font-size:11px}}

/* Global slide-out navigation */
.header{padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}.header .menu-button{display:flex;width:54px;height:54px;border:1px solid var(--line);background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;margin-left:12px;transition:background .2s,color .2s,border-color .2s}.header .menu-button:hover{background:var(--deep);border-color:var(--deep);color:#fff}.header .menu-button span{display:block;width:22px;height:1px;background:currentColor;transition:transform .25s}.header .menu-button i{font-style:normal;font-size:7px;letter-spacing:.15em;margin-top:2px}.header-apply{height:54px;min-width:134px;margin-left:auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--deep);color:#fff;font-size:12px;font-weight:700;transition:.2s}.header-apply:hover{background:var(--teal)}.header-apply b{font-size:18px;font-weight:400}.header .nav{position:fixed;z-index:101;inset:0 0 0 auto;width:min(520px,92vw);height:100dvh;background:#f8fbfa;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 44px 34px;overflow-y:auto;transform:translateX(102%);visibility:hidden;transition:transform .36s cubic-bezier(.22,1,.36,1),visibility .36s;box-shadow:-30px 0 80px rgba(8,38,45,.2)}.menu-open .header .nav{transform:translateX(0);visibility:visible}.header .nav>a:not(.nav-login):not(.nav-entry){padding:19px 4px;border-bottom:1px solid var(--line);font:600 19px/1.4 var(--serif);letter-spacing:.03em}.header .nav>a:not(.nav-login):not(.nav-entry):before{content:"0" counter(navitem);counter-increment:navitem;margin-right:20px;color:#78a49a;font:500 10px var(--sans)}.header .nav{counter-reset:navitem}.header .nav>a:after{display:none!important}.header .nav .current{color:var(--teal)}.header .nav .nav-login,.header .nav .nav-entry{height:58px;margin-top:24px;flex:0 0 auto}.header .nav .nav-entry{margin-top:10px}.drawer-head{min-height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);margin-bottom:6px}.drawer-head>div{display:flex;flex-direction:column}.drawer-head small{font-size:9px;letter-spacing:.2em;color:var(--teal)}.drawer-head strong{font:600 20px var(--serif)}.drawer-close{width:48px;height:48px;border:1px solid var(--line);background:#fff;position:relative;cursor:pointer}.drawer-close span{position:absolute;left:13px;top:23px;width:22px;height:1px;background:var(--ink);transform:rotate(45deg)}.drawer-close span+span{transform:rotate(-45deg)}.drawer-foot{margin-top:auto;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;font-size:10px;color:var(--muted)}.drawer-foot small{grid-column:1/-1;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);letter-spacing:.12em}.nav-overlay{position:fixed;z-index:100;inset:0;border:0;background:rgba(4,27,33,.48);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.3s;cursor:pointer}.menu-open .nav-overlay{opacity:1;visibility:visible}.menu-open{overflow:hidden}.menu-open .header>.menu-button{background:var(--deep);color:#fff}@media(max-width:680px){.header-apply{min-width:auto;width:48px;height:48px;padding:0;justify-content:center}.header-apply span{display:none}.header .menu-button{width:48px;height:48px;margin-left:8px}.header .nav{padding:0 24px 26px}.drawer-head{min-height:90px}.header .nav>a:not(.nav-login):not(.nav-entry){padding:16px 2px;font-size:17px}.drawer-foot{grid-template-columns:1fr}.drawer-foot small{grid-column:1}.simple-login+.header-apply{display:none}}
