:root{--navy:#082851;--red:#cc1736;--paper:#f7f4ee;--ink:#243c56;--line:#dddcd7;--muted:#5c6977}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--navy);font:15px/1.85 Arial,"Yu Gothic","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}button{color:inherit}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK SC",SimSun,Georgia,serif;line-height:1.45}h1{font-size:42px;font-weight:600;letter-spacing:.035em}h2{font-size:34px;letter-spacing:.02em;font-weight:600}h3{font-size:22px;font-weight:600}.container{width:min(1180px,calc(100% - 88px));margin:auto}.eyebrow{color:var(--red);font-size:12px;letter-spacing:.14em;font-weight:700;margin-bottom:17px}.red-rule{display:block;width:42px;height:2px;background:var(--red);margin-top:24px}.text-link{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:15px;white-space:nowrap}.text-link:after,.option-link:after{content:'→';font-size:21px;font-family:Arial;font-weight:400}.text-link:hover{color:var(--red)}header{background:#fff;position:relative;z-index:10;border-bottom:1px solid #eceae6}.header-inner{height:102px;display:flex;align-items:center;gap:28px;width:min(1380px,calc(100% - 70px))}.brand img{display:block;width:195px;height:auto}.brand{margin-right:auto;flex-shrink:0}nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}nav a:hover,summary:hover{color:var(--red)}summary{cursor:pointer;list-style:none;white-space:nowrap}summary::-webkit-details-marker{display:none}summary:after{content:'⌄';margin-left:8px}.school-menu{position:relative}.dropdown{position:absolute;top:35px;left:0;background:white;box-shadow:0 12px 30px #08285118;min-width:270px;border-top:2px solid var(--red);padding:12px}.dropdown button{display:block;text-align:left;width:100%;border:0;background:white;padding:13px;font-size:13px}.dropdown button:hover{background:var(--paper)}.languages{display:flex;gap:11px;border-left:1px solid var(--line);padding-left:22px;flex-shrink:0}.languages button{border:0;background:none;padding:3px 0;font-size:11px;white-space:nowrap}.languages button.active{color:var(--red);border-bottom:1px solid var(--red)}.mobile-menu{display:none}.showcase{background:#fff}.showcase-stage{max-width:1440px;margin:auto;aspect-ratio:16/9;position:relative}.showcase figure{margin:0;width:100%;height:100%;position:absolute;inset:0}.showcase figure[hidden]{display:none}.showcase figure img{display:block;width:100%;height:100%;object-fit:contain}.carousel-bar{height:57px;display:flex;align-items:center;justify-content:space-between}.carousel-controls{display:flex;gap:12px;align-items:center}.carousel-controls button{border:0;background:none;width:25px;height:32px;padding:0;font-size:24px}.carousel-controls .dot{width:7px;height:7px;background:#d4d6da;border-radius:100%;margin:8px 3px}.carousel-controls .dot[aria-current=true]{background:var(--red)}.count{font-size:10px;letter-spacing:.15em;margin:0 12px;color:var(--muted)}.carousel-controls .pause{font-size:14px}.intro{background:var(--paper);padding:65px 0}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}.intro-copy{font-size:16px;line-height:2}.intro-copy .subtle{font-size:14px;color:var(--muted);margin:15px 0 18px}.services{padding-top:76px;padding-bottom:78px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-photo{height:auto;aspect-ratio:1.55;position:relative;overflow:hidden;background:var(--paper)}.service-photo img{position:absolute;max-width:none;width:210%;height:210%;object-fit:fill}.study img{width:220%;height:220%;left:-102%;top:-5%}.campus img{width:205%;height:160%;left:-100%;top:-14%}.culture img{width:230%;height:230%;left:-73%;top:-129%}.service-title{display:flex;align-items:start;gap:12px;justify-content:space-between;margin:22px 0 12px}.number{font:italic 22px Georgia,serif;color:#8a929b}.service-card p{color:var(--muted);font-size:14px;min-height:53px;margin-bottom:12px}.school-section{background:var(--paper);padding:72px 0}.school-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:70px;align-items:center}.school-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:21px;max-width:330px}.school-intro .region-note{font-size:12px!important;line-height:2.2}.school-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.school-option{display:flex;flex-direction:column;text-align:left;background:white;border:1px solid #e5e1d8;padding:28px 25px;min-height:260px;transition:transform .2s,border-color .2s}.school-option:hover{transform:translateY(-3px);border-color:var(--navy)}.option-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:25px}.option-tag{font-size:10px;letter-spacing:.03em;color:var(--muted)}.school-option strong{font-family:"Yu Mincho",SimSun,Georgia,serif;font-size:22px;line-height:1.5;font-weight:600}.school-option>span:not(.option-top):not(.option-link){font-size:13px;color:var(--muted);margin:15px 0 22px}.option-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;border-top:1px solid var(--line);padding-top:15px;font-size:12px;font-weight:600}.process{background:var(--navy);color:white;padding:65px 0 70px}.process .eyebrow{color:#edc1bb}.process .text-link{color:white}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:40px}.step-number{font:32px Georgia,serif;color:#f18387;display:flex;align-items:center;gap:20px;margin-bottom:22px}.step-number:after{content:'';height:1px;background:#61728c;flex:1}.steps h3{font-size:20px;margin-bottom:12px}.steps p{font-size:13px;color:#d6dfeb;line-height:1.9}.contact{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:65px;padding-bottom:65px}.contact p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:14px}.primary-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--red);color:white;border-radius:40px;padding:13px 32px;font-weight:600;font-size:14px}.primary-button:hover{background:#a90e28}.primary-button:after{content:'→';font-size:20px}.contact-actions{text-align:center;flex-shrink:0}.phone{display:block;font:24px Georgia,serif;margin-top:17px;letter-spacing:.04em}footer{border-top:1px solid var(--line);padding:35px 0 25px;background:var(--paper)}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner img{width:140px}.footer-inner p,.footer-inner a{font-size:12px}.footer-inner small{font-size:10px;color:var(--muted)}.footer-right{text-align:right;align-self:center;line-height:2.2}dialog{border:0;padding:34px;width:min(710px,calc(100% - 36px));color:var(--navy);box-shadow:0 20px 80px #0003;max-height:85vh;overflow:auto}dialog::backdrop{background:#061a34aa}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.close-dialog{background:white;border:1px solid var(--line);padding:3px 12px;font-size:12px}dialog h2{font-size:27px;margin:10px 0}dialog p{font-size:14px}.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:24px 0}.region-grid button{background:var(--paper);border:1px solid var(--line);padding:15px 6px;font-size:13px}.region-grid button.selected{background:var(--navy);color:white}.directory-status{background:var(--paper);padding:17px;margin-bottom:22px}.close-bottom{font-size:12px}
@media(min-width:1450px){.showcase{background:#f7f8fa}.carousel-bar{background:#fff;width:100%;padding:0 max(44px,calc((100vw - 1180px)/2))}.showcase-stage{max-width:1280px}}
@media(max-width:1100px){.header-inner{gap:20px}.brand img{width:160px}nav{gap:16px;font-size:12px}.languages{padding-left:14px;gap:8px}.intro-grid{gap:50px}.school-grid{gap:35px}.school-option{padding:23px 18px}.school-option strong{font-size:20px}h1{font-size:36px}}
@media(max-width:850px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px);height:auto;min-height:80px;flex-wrap:wrap;gap:16px;padding:14px 0}.brand img{width:150px}.mobile-menu{display:block;background:none;border:0;font-size:12px;order:3;padding:4px}.languages{margin-left:auto;border:0;padding:0;gap:12px}.header-inner nav{display:none;order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:5px;font-size:14px}.header-inner nav.open{display:flex}nav a,nav summary{padding:12px 0;border-bottom:1px solid var(--line)}.dropdown{position:static;box-shadow:none;border:0;padding:0 10px;background:var(--paper)}.dropdown button{background:var(--paper)}h1{font-size:32px}h2{font-size:28px}.intro{padding:38px 0}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-copy{font-size:15px}.intro-copy .subtle{font-size:13px}.red-rule{margin-top:17px}.services{padding-top:44px;padding-bottom:45px}.section-heading{gap:20px;align-items:start}.section-heading>.text-link{font-size:11px;white-space:normal;flex-shrink:0;max-width:100px;margin-top:32px}.service-grid{gap:18px}.service-title h3{font-size:18px}.service-title .number{font-size:16px}.service-card p{font-size:12px}.school-grid{grid-template-columns:1fr;gap:25px}.school-intro>p:not(.eyebrow){max-width:none}.school-section{padding:40px 0}.school-option{min-height:245px}.process{padding:42px 0}.steps{grid-template-columns:1fr 1fr;gap:30px}.contact{padding-top:40px;padding-bottom:40px}.contact h2{font-size:26px}.primary-button{padding:12px 22px}.contact-actions{flex-shrink:1}.footer-inner{gap:20px}.footer-right{max-width:220px}.region-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){body{font-size:14px}.header-inner{gap:12px}.brand img{width:127px}.languages{gap:10px}.languages button{font-size:10px}.mobile-menu{font-size:11px}.carousel-bar{height:49px}.carousel-controls{gap:5px}.carousel-controls button{width:20px}.count{margin:0 4px;font-size:9px}.carousel-controls .dot{width:6px;height:6px;margin:8px 2px}.carousel-bar>.text-link{font-size:11px;gap:7px}.carousel-bar>.text-link:after{font-size:17px}.eyebrow{font-size:10px;margin-bottom:12px}h1{font-size:31px}h2{font-size:26px}.service-grid{grid-template-columns:1fr;gap:30px}.service-photo{aspect-ratio:1.75}.service-title{margin-top:16px;margin-bottom:8px}.service-title h3{font-size:22px}.service-card p{font-size:14px;min-height:0;margin-bottom:8px}.service-card .text-link{font-size:12px}.school-options{grid-template-columns:1fr;gap:14px}.school-option{min-height:0;padding:22px}.option-top{margin-bottom:15px}.school-option strong{font-size:23px}.school-option>span:not(.option-top):not(.option-link){margin:10px 0 15px}.steps{gap:25px 22px}.steps h3{font-size:18px}.steps p{font-size:12px}.step-number{font-size:27px;gap:12px;margin-bottom:16px}.contact{display:block}.contact-actions{margin-top:26px;text-align:left}.phone{font-size:22px}.footer-inner{display:block}.footer-right{text-align:left;max-width:none;margin-top:20px}dialog{padding:24px}dialog h2{font-size:23px}}
.service-photo img{height:auto;object-fit:contain}.study img{width:260%;left:-124%;top:-8%}.campus img{width:290%;left:-119%;top:-18%}.culture img{width:250%;left:-90%;top:-157%}
@media(max-width:540px){.section-heading{display:block}.section-heading>.text-link{max-width:none;margin-top:14px;white-space:nowrap}.culture img{top:-177%}.study img{top:-9%}.campus img{top:-22%}.steps{grid-template-columns:1fr}.steps article{display:grid;grid-template-columns:48px 1fr;column-gap:15px}.steps .step-number{grid-row:1/3;margin:0;align-self:start;display:block}.steps .step-number:after{display:none}.steps h3{margin-bottom:7px}.steps p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.campus img{width:260%;left:-95%;top:-95%}.culture img{width:280%;left:-97%;top:-142%}@media(max-width:540px){.campus img{top:-107%}.culture img{top:-161%}}
.service-photo.planning img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:center 45%}

/* Approved October 2026 layout: consistent typography, photography and process. */
:root{--font-sans:"AIFIT Sans","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif}
html:lang(ja){--font-sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
html:lang(en){--font-sans:Arial,"Helvetica Neue",sans-serif}
body{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.85}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,.school-option strong{font-family:var(--font-sans);font-weight:700;letter-spacing:0;line-height:1.5}
h1{font-size:38px}h2{font-size:32px}h3{font-size:22px}
.intro-grid{grid-template-columns:1.05fr 1fr;gap:56px}.intro-copy,.intro-copy .subtle{font-size:16px;line-height:1.9}
.eyebrow{display:flex;align-items:center;gap:20px;font-weight:700}.eyebrow:after{content:"";width:44px;height:1px;background:currentColor;flex:none}
.service-photo{aspect-ratio:1.75}.service-photo.planning img{width:100%;height:100%;inset:0;object-fit:cover;object-position:center 45%}
.service-photo.study img{width:246.154%;height:auto;left:-130.769%;top:-30.289%;object-fit:contain}
.service-photo.culture img{width:250.980%;height:auto;left:-87.255%;top:-140%;object-fit:contain}
.service-title{flex-direction:column-reverse;gap:0;margin:16px 0 10px}.service-title .number{color:var(--red);font-style:normal;font-size:23px}
.service-card p,.school-intro>p:not(.eyebrow),.contact p:not(.eyebrow){font-size:16px}
.service-card .text-link,.text-link{font-size:14px}.service-card p{min-height:60px}.service-grid{gap:24px}
.school-icon{width:44px;height:44px;flex:none}.option-top{flex-wrap:wrap;gap:10px}.option-top .number{margin-left:auto}.option-tag{flex-basis:100%}.school-option>span:not(.option-top):not(.option-link){font-size:15px}
.steps{gap:40px;text-align:center;margin-top:48px}.steps article{position:relative;min-width:0}.step-icon{width:108px;height:108px;border:1px solid #dce6f4;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;position:relative}
.step-icon img{width:53px;height:53px;filter:brightness(0) invert(1)}
.steps article:not(:last-child):after{content:"";position:absolute;height:1px;left:calc(50% + 68px);right:calc(-50% + 28px);top:54px;background:#adbed4}
.step-number{display:block;margin:0 0 10px;color:#ff7c8b;font:28px/1.2 Georgia,serif}.step-number:after{display:none}.steps h3{font-size:20px;margin-bottom:12px}.steps p{font-size:15px;line-height:1.9;color:#e2e9f3;max-width:245px;margin:auto}.process{padding:64px 0 66px}.process .eyebrow{color:#ff8c99}
.footer-inner{display:grid;grid-template-columns:240px 1fr 180px;gap:40px;align-items:center}.footer-inner img{width:180px}.footer-inner p{font-size:14px}.footer-right{text-align:left;max-width:none;border-left:1px solid var(--line);padding-left:36px}.contact-details{display:grid;grid-template-columns:max-content 1fr;gap:5px 18px;margin:0;font-size:14px;line-height:1.75}.contact-details dt{color:var(--muted)}.contact-details dd{margin:0;overflow-wrap:anywhere}.contact-details a{font-size:inherit}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;margin-top:12px}.feedback-link,.staff-login{display:inline-block;margin-top:0;color:var(--muted)}.staff-login{margin-left:12px;padding-left:12px;border-left:1px solid var(--line)}.feedback-link:hover,.staff-login:hover{color:var(--red)}.footer-motto{border-left:1px solid var(--line);padding-left:30px}.footer-motto small{display:block;letter-spacing:.12em;margin-top:12px;line-height:1.9}.phone{font-family:var(--font-sans);font-size:22px}footer{padding:40px 0}
@media(max-width:1100px){.footer-inner{grid-template-columns:190px 1fr;gap:25px}.footer-motto{display:none}.intro-grid{gap:32px}h1{font-size:32px}.steps{gap:24px}.steps article:not(:last-child):after{right:calc(-50% + 44px)}}
@media(max-width:850px){h1{font-size:32px}h2{font-size:28px}.intro-grid{grid-template-columns:1fr}.service-card p{font-size:15px}.service-title h3{font-size:20px}.steps{grid-template-columns:repeat(2,1fr);gap:36px 28px}.steps article:after{display:none}.footer-inner{grid-template-columns:1fr}.footer-right{padding:22px 0 0;border-left:0;border-top:1px solid var(--line);margin-top:0}.contact-details{font-size:14px}.contact h2{font-size:27px}.section-heading{align-items:start}}
@media(max-width:540px){h1{font-size:28px}h2{font-size:26px}.intro-copy,.intro-copy .subtle{font-size:16px}.service-title h3{font-size:22px}.service-card p{font-size:16px;min-height:0}.service-card .text-link{font-size:14px}.steps{grid-template-columns:1fr;text-align:left;gap:0;margin-top:32px}.steps article{display:grid;grid-template-columns:72px 1fr;column-gap:20px;padding:0 0 30px}.steps article:last-child{padding-bottom:0}.step-icon{grid-column:1;grid-row:1/4;width:68px;height:68px;margin:0}.step-icon img{width:34px;height:34px}.steps .step-number{grid-column:2;grid-row:1;font-size:23px;margin:0 0 8px}.steps h3{grid-column:2;grid-row:2;font-size:20px}.steps p{grid-column:2;grid-row:3;font-size:15px;max-width:none;margin:0}.steps article:not(:last-child):after{display:block;left:34px;right:auto;top:80px;bottom:12px;width:1px;height:auto;background:#718ba9}.contact-details{grid-template-columns:50px 1fr;gap:7px 12px}.process{padding:44px 0}.service-grid{gap:34px}}
/* Keep each contact field on one complete horizontal row. */
.footer-inner{grid-template-columns:190px minmax(0,1fr) 150px;gap:28px}.footer-right{min-width:0;padding-left:24px}.contact-details{grid-template-columns:max-content minmax(0,1fr);column-gap:14px;align-items:baseline}.contact-details dt,.contact-details dd,.contact-details dd a{white-space:nowrap;overflow-wrap:normal;word-break:normal}.contact-details dt{font-weight:400}.contact-details dd{min-width:0}.contact-details dd a{font-size:inherit}
@media(max-width:1200px){.footer-inner{grid-template-columns:170px minmax(0,1fr)}.footer-motto{display:none}}
@media(max-width:850px){.footer-inner{grid-template-columns:minmax(0,1fr)}.footer-right{padding-left:0}.contact-details{column-gap:12px}}
@media(max-width:540px){.contact-details{grid-template-columns:max-content minmax(0,1fr);column-gap:10px}}
@media(max-width:540px){html:lang(zh-CN) .contact h2{font-size:clamp(17px,5.1vw,26px);white-space:nowrap}}
