:root{--blue:#153c63;--navy:#102e4c;--gold:#b58b43;--ink:#26394c;--muted:#667789;--line:#dfe6ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.wrap{width:min(1180px,90%);margin:auto}.top{background:#fff;border-bottom:1px solid var(--line);font-size:13px}.top .wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 0}header{background:linear-gradient(115deg,#102e4c,#204f77);color:white;overflow:hidden}.hero{min-height:475px;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:45px;padding:58px 0}h1{font-size:clamp(32px,3.4vw,48px);line-height:1.5;margin:16px 0}em{font-style:normal;color:var(--gold)}header em{color:#e6c790}header p{color:#d2dfeb}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold)}.button{display:inline-block;border-radius:7px;background:var(--gold);color:#fff;padding:12px 30px;font-weight:600;box-shadow:0 5px 15px #9a76231a;transition:transform .2s}.button:hover{transform:translateY(-2px);background:#a47d3b}.kana{border:1px solid #ffffff26;background:#ffffff08;padding:30px 38px;border-radius:24px;transform:rotate(-3deg);position:relative}.kana:after{content:'';position:absolute;width:140px;height:140px;border:1px solid #d9b87955;border-radius:50%;right:-50px;top:-40px}.kana>span{font-size:17px;color:#dfc392;letter-spacing:5px}.kana>div{font-family:serif;font-size:66px;line-height:1.6;letter-spacing:14px}.kana i{font-style:normal;color:#e2c38b}.kana small{font-size:20px;letter-spacing:2px}.kana p{font-size:13px}nav{position:sticky;top:0;z-index:20;background:#ffffffef;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}nav .wrap{display:flex;justify-content:space-between;overflow:auto}nav a{white-space:nowrap;padding:18px 13px;border-bottom:3px solid transparent;font-size:15px}nav a.active,nav a:hover{color:var(--gold);border-bottom-color:var(--gold)}section{padding:65px 0}h2{text-align:center;font-size:clamp(25px,2.4vw,34px);line-height:1.5;margin:0 0 34px;font-weight:650}h3{font-size:20px;line-height:1.5;margin:12px 0}p{margin:10px 0;color:var(--muted)}.sub{text-align:center;margin:-15px auto 30px;max-width:760px}.cream{background:#f8f5ef}.pale{background:#edf3f8}.navy{background:var(--navy);color:white}.navy p{color:#c2d0dc}.navy article{background:#ffffff08;border-color:#ffffff1e}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.cards article{padding:27px 24px;border:1px solid var(--line);border-radius:12px;background:white}.navy .cards article{background:#ffffff08}.number{font-size:26px;font-weight:600;color:var(--gold);font-family:Georgia,serif}.cards p{font-size:15px}.cta{text-align:center;margin-top:32px}.note{font-size:12px;margin-top:20px}.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}.tabs button{background:white;border:1px solid var(--line);border-radius:7px;padding:13px 5px;color:var(--ink)}.tabs button[aria-selected=true]{background:var(--blue);color:white;border-color:var(--blue)}.panels{display:grid}.panels article{grid-area:1/1;display:grid;grid-template-columns:250px 1fr;gap:38px;padding:35px;background:white;border-radius:12px;border:1px solid var(--line)}.panels article[hidden]{display:grid;visibility:hidden;pointer-events:none}.panel-label{background:#eef3f8;padding:25px;border-radius:8px}.panel-label span{font-size:12px;color:var(--gold);letter-spacing:2px}.panel-label h3{font-size:28px}.panels h4{margin:0;font-size:15px}.panels p{font-size:15px;margin:6px 0 17px}.tags{color:var(--gold)}.table-scroll{overflow:auto;border-radius:12px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:850px;font-size:14px;text-align:center}th,td{padding:19px 15px;border:1px solid white}thead th{background:var(--blue);color:white;font-size:18px}thead th:nth-child(3){background:#315c7c}thead th:nth-child(4){background:#51758c}thead th:nth-child(5){background:#958668}thead th:nth-child(6){background:#ad8846}tbody th{background:#e7edf3;min-width:120px}td{background:#f2f6f9;line-height:1.7}.service{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service article{display:flex;gap:20px;border-top:2px solid #d8bd8d;padding:20px 12px}.service h3{margin-top:0}.service p{font-size:15px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}details{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 24px}summary{cursor:pointer;font-weight:600}details p{font-size:15px}.official{display:flex;gap:28px;justify-content:center;margin-top:25px;font-size:14px;color:var(--blue);text-decoration:underline}.classroom{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.classroom img{width:100%;height:340px;object-fit:cover;border-radius:15px}.classroom h3{font-size:29px}.classroom strong{color:var(--blue)}footer{background:#0b233b;color:#b9c8d6;font-size:13px;padding:24px 0}footer .wrap{display:flex;justify-content:space-between}:focus-visible{outline:3px solid #c49d59;outline-offset:4px}@media(max-width:850px){.hero{gap:20px}.kana{padding:20px}.kana>div{font-size:47px}.cards{grid-template-columns:1fr 1fr}.tabs{grid-template-columns:repeat(3,1fr)}.service{grid-template-columns:1fr 1fr}.panels article{grid-template-columns:180px 1fr;gap:22px;padding:22px}.classroom{gap:28px}}@media(max-width:580px){.top span{display:none}.hero{grid-template-columns:1fr;padding:40px 0}.kana{max-width:360px;transform:none}.kana>div{font-size:40px}.kana p{margin-bottom:0}.cards,.faq,.service,.classroom{grid-template-columns:1fr}.cards{gap:12px}.cards article{padding:20px}.panels article{grid-template-columns:1fr;padding:20px;gap:18px}.panel-label{padding:12px 20px}.panel-label h3{margin:5px 0;font-size:23px}.panel-label p{display:none}section{padding:45px 0}nav a{font-size:13px;padding:14px 12px}.classroom img{height:250px}.official,footer .wrap{flex-wrap:wrap}.tabs{gap:7px}.tabs button{font-size:14px}}
/* Ability-test course selector: horizontal categories and vertical subcategories. */
.panels article.jlpt-panel{display:block;padding:0;background:transparent;border:0;border-radius:0}.jlpt-intro{padding:6px 0 18px;font-size:16px!important;color:var(--ink)}.jlpt-intro>span{color:var(--gold);margin-right:8px}.jlpt-layout{display:grid;grid-template-columns:220px 1fr;gap:24px}.jlpt-tabs{display:flex;flex-direction:column;gap:10px}.jlpt-tabs button{display:flex;justify-content:center;align-items:center;position:relative;padding:16px 20px;background:#ebe8e1;border:0;border-left:4px solid transparent;color:var(--ink)}.jlpt-tabs button span{position:absolute;right:20px;visibility:hidden;font-size:28px;line-height:1}.jlpt-tabs button[aria-selected=true]{background:linear-gradient(90deg,#e9ddc5,#f8f4ed);border-left-color:var(--gold);color:#946e31;font-weight:600}.jlpt-tabs button[aria-selected=true] span{visibility:visible}.jlpt-details{display:grid;background:white;padding:30px 36px;min-height:320px}.jlpt-details>[role=tabpanel]{grid-area:1/1}.jlpt-details>[hidden]{display:block;visibility:hidden;pointer-events:none}.detail-row{position:relative;padding-left:22px;margin-bottom:24px}.detail-row:last-child{margin-bottom:0}.detail-row:before{content:'';position:absolute;left:0;top:7px;width:11px;height:11px;background:#c4a363;border-radius:50%;box-shadow:6px 0 #e9d7b4}.detail-row h4{margin:0 0 12px!important;font-size:16px}.audience{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;list-style:none;font-size:14px;margin:0}.audience li:before{content:'✓';color:var(--gold);font-weight:bold;margin-right:7px}.level-options{display:inline-flex;gap:15px;flex-wrap:wrap;width:85%}.level-options a{flex:1;min-width:70px;border:1px solid var(--gold);border-radius:7px;text-align:center;color:#997236;line-height:30px;font-family:Georgia,serif}.level-options a:hover{background:#f8f3e9}.more-course{display:inline-block;font-size:13px;color:var(--gold);margin-left:12px}.detail-row p{margin:0!important;color:var(--ink);font-size:14px!important;line-height:1.9}@media(max-width:850px){.jlpt-layout{grid-template-columns:155px 1fr;gap:16px}.jlpt-details{padding:24px 20px}.level-options{width:100%}.more-course{margin:8px 0 0}}@media(max-width:580px){.jlpt-layout{grid-template-columns:1fr}.jlpt-tabs{flex-direction:row;gap:6px}.jlpt-tabs button{flex:1;padding:12px 5px;border-left:0;border-bottom:3px solid transparent;font-size:14px}.jlpt-tabs button[aria-selected=true]{border-bottom-color:var(--gold)}.jlpt-tabs button span{display:none}.jlpt-details{padding:24px 15px}.audience{display:grid;gap:8px}.level-options{gap:8px}.level-options a{min-width:56px}.detail-row{padding-left:20px}}
.selected-course{position:relative;text-align:center;padding:16px 28px 16px 16px;border-left:4px solid var(--gold);background:linear-gradient(90deg,#e9ddc5,#f8f4ed);color:#946e31;font-weight:600}.selected-course span{position:absolute;right:20px;font-size:28px;line-height:1}.jlpt-details>.detail-row{grid-area:auto}.level-options a{white-space:nowrap;padding:0 8px}@media(max-width:580px){.selected-course{border-left:0;border-bottom:3px solid var(--gold)}.selected-course span{display:none}}
/* Compact curriculum overview while retaining every reference row. */
#levels{padding:32px 0}#levels h2{font-size:28px;margin-bottom:20px}#levels .sub{font-size:14px;margin:-8px auto 18px}#levels .complete-levels{font-size:13px}#levels .complete-levels th,#levels .complete-levels td{padding:8px 10px;line-height:1.5}#levels .complete-levels thead th{font-size:17px;padding:12px 10px}#levels .note{font-size:11px;line-height:1.5;margin:10px 0 0}#levels .cta{margin-top:16px}#levels .button{padding:8px 26px;font-size:14px}@media(min-width:851px) and (max-height:800px){#levels{padding:22px 0}#levels h2{font-size:26px;margin-bottom:16px}#levels .sub{margin-bottom:12px}#levels .complete-levels th,#levels .complete-levels td{padding:6px 9px}#levels .complete-levels thead th{padding:9px}#levels .cta{margin-top:12px}}@media(max-width:580px){#levels h2{font-size:24px}#levels{padding:35px 0}#levels .complete-levels{font-size:13px}}
#levels{padding:48px 0;background:#fff}#levels h2{font-size:32px;margin-bottom:22px}#levels .sub{margin-bottom:28px}.level-track{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.level-track button{background:#f1f5f8;border:1px solid #e1e8ee;border-radius:10px;padding:14px;color:var(--blue);text-align:left;display:flex;align-items:center;justify-content:center;gap:14px}.level-track button strong{font:600 27px Georgia,serif}.level-track button span{font-size:14px}.level-track button[aria-selected=true]{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 6px 16px #153c631c}.level-detail-stack{display:grid}.level-detail-stack>article{grid-area:1/1;display:grid;grid-template-columns:225px 1fr;border:1px solid #e0e6ec;border-radius:14px;overflow:hidden}.level-detail-stack>article[hidden]{display:grid;visibility:hidden;pointer-events:none}.level-overview{background:#f5f1e9;padding:30px}.level-overview h3{font-size:32px;margin:12px 0 0}.level-overview p{margin-top:0}.level-period{border-top:1px solid #dfd4c0;margin-top:24px;padding-top:18px}.level-period small,.level-period strong{display:block}.level-period small{color:var(--muted);font-size:13px}.level-period strong{font-size:21px;color:var(--blue);margin-top:5px}.level-body{padding:28px 32px}.level-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:22px;border-bottom:1px solid #e5eaf0;gap:20px}.level-metrics small{display:block;color:var(--muted);font-size:12px}.level-metrics strong{display:block;font-size:23px;color:var(--blue);margin-top:5px;font-weight:550}.level-metrics strong span{font-size:13px}.level-goals{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:20px}.level-goals h4{font-size:15px;margin:0 0 9px}.level-goals p,.level-goals ul{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.level-goals ul{padding-left:19px}.level-goals li::marker{color:var(--gold)}.level-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px}.level-bottom p{font-size:13px;margin:0}.level-bottom p strong{color:var(--ink);margin-right:12px}#levels .level-bottom .button{white-space:nowrap;padding:11px 22px}#levels .note{margin-top:14px;color:#84909b;line-height:1.6}@media(max-width:850px){.level-track button{flex-direction:column;gap:2px}.level-detail-stack>article{grid-template-columns:180px 1fr}.level-overview{padding:25px 20px}.level-body{padding:24px}.level-metrics{gap:12px}.level-metrics strong{font-size:18px}}@media(max-width:580px){#levels h2{font-size:24px}.level-track{gap:5px}.level-track button{padding:10px 3px}.level-track button span{font-size:10px}.level-track button strong{font-size:23px}.level-detail-stack>article{grid-template-columns:1fr}.level-overview{padding:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.level-overview .eyebrow{display:none}.level-overview h3{font-size:23px;margin:0}.level-overview p{margin:0}.level-period{margin:0 0 0 auto;border:0;padding:0}.level-period strong{font-size:17px}.level-body{padding:20px}.level-metrics{grid-template-columns:repeat(2,1fr)}.level-goals{grid-template-columns:1fr;gap:18px}.level-bottom{flex-direction:column;align-items:flex-start}}
/* Full side-by-side overview with balanced spacing. */
#levels{padding:38px 0}#levels .wrap{width:min(1280px,94%)}#levels h2{font-size:30px;margin-bottom:19px}#levels .sub{font-size:14px;margin:-5px auto 24px}#levels .complete-levels{font-size:14px;table-layout:fixed;min-width:950px}#levels .complete-levels th,#levels .complete-levels td{padding:11px 10px;line-height:1.65}#levels .complete-levels thead th{font-size:18px;padding:15px 10px}#levels .complete-levels th:first-child{width:125px}#levels .complete-levels tbody th{font-weight:550}#levels .complete-levels tbody td{background:#f5f8fb}#levels .complete-levels tbody tr:nth-child(even) td{background:#edf3f8}#levels .note{margin-top:13px}#levels .cta{margin-top:20px}#levels .button{padding:10px 26px}@media(max-width:580px){#levels h2{font-size:24px}#levels .wrap{width:92%}}
.service-orbit-section{background:radial-gradient(ellipse at 50% 55%,#faf7f0 0,transparent 50%),linear-gradient(110deg,#edf3f7,#fbfcfd 48%,#f0f5f8);padding:48px 0}.service-orbit-section h2{margin-bottom:24px}.service-orbit-section .sub{margin-bottom:35px}.service-orbit{display:grid;grid-template-columns:1fr 300px 1fr;gap:36px;align-items:center;padding:8px 30px}.service-orbit-side{display:grid;gap:22px}.service-orbit-card{position:relative;background:#fff;border-radius:22px;padding:20px 28px;min-height:112px;box-shadow:0 8px 28px #17365405}.service-orbit-card h3{font-size:19px;margin:0 0 5px;padding-right:24px}.service-orbit-card p{font-size:14px;line-height:1.8;margin:0}.service-badge{position:absolute;top:0;right:26px;background:var(--gold);color:#fff;border-radius:0 0 14px 14px;width:29px;height:31px;text-align:center;line-height:29px;font:17px/29px Georgia,serif}.service-orbit-side.left .service-orbit-card:nth-child(2){transform:translateX(-32px)}.service-orbit-side.right .service-orbit-card:nth-child(2){transform:translateX(32px)}.service-orbit-center{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;background:#b58b4308;padding:23px}.service-core{width:100%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:23px;font-weight:600;line-height:1.7;color:#fff;background:var(--blue);border:15px solid #e7d8bb;box-shadow:0 0 0 16px #efe4d0,0 0 0 33px #f7f1e7}.service-orbit-section .cta{margin-top:32px}@media(max-width:1000px){.service-orbit{grid-template-columns:1fr 220px 1fr;gap:22px;padding:8px 18px}.service-orbit-card{padding:18px;min-height:125px}.service-core{font-size:19px;border-width:10px;box-shadow:0 0 0 12px #efe4d0,0 0 0 25px #f7f1e7}.service-orbit-side.left .service-orbit-card:nth-child(2){transform:translateX(-16px)}.service-orbit-side.right .service-orbit-card:nth-child(2){transform:translateX(16px)}}@media(max-width:700px){.service-orbit{grid-template-columns:1fr 1fr;gap:15px;padding:0}.service-orbit-center{grid-column:1/-1;grid-row:1;width:210px;margin:0 auto 20px}.service-orbit-side{gap:15px}.service-orbit-card{min-height:155px;border-radius:16px;padding:20px 15px}.service-orbit-card h3{font-size:17px}.service-orbit-card p{font-size:13px}.service-orbit-side.left .service-orbit-card:nth-child(2),.service-orbit-side.right .service-orbit-card:nth-child(2){transform:none}.service-badge{right:12px;width:25px;font-size:14px}.service-orbit-section{padding:40px 0}}
#faq{padding:55px 0}#faq .sub{margin-bottom:32px}.faq-reference{display:grid;grid-template-columns:30% 1fr;gap:14px;align-items:stretch}.faq-study-image{width:100%;height:100%;min-height:350px;max-height:440px;object-fit:cover;object-position:center;border-radius:8px}.faq-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.faq-info-card{background:white;padding:24px 21px;display:flex;flex-direction:column;align-items:flex-start;border-radius:6px}.faq-info-card h3{font-size:18px;margin:0 0 10px;line-height:1.5}.faq-info-card p{font-size:14px;line-height:1.8;margin:0 0 17px}.faq-info-card a{margin-top:auto;border:1px solid #d9c59e;border-radius:5px;color:#987130;font-size:14px;line-height:1.5;padding:7px 14px}.faq-info-card a:hover{background:#f8f2e8}@media(max-width:1000px){.faq-reference{grid-template-columns:27% 1fr}.faq-info-card{padding:20px 15px}.faq-info-card h3{font-size:16px}.faq-info-card p{font-size:13px}}@media(max-width:750px){.faq-reference{grid-template-columns:1fr}.faq-study-image{height:260px;min-height:0;object-position:center 38%}.faq-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:450px){.faq-card-grid{grid-template-columns:1fr}.faq-info-card{padding:22px}.faq-info-card h3{font-size:18px}}
header{background-color:#102e4c;background-image:linear-gradient(90deg,rgba(12,35,58,.96) 0%,rgba(12,35,58,.86) 30%,rgba(12,35,58,.35) 57%,rgba(12,35,58,.04) 100%),url('assets/hero-japanese-study.png');background-size:cover;background-position:center}.hero{display:flex;min-height:490px;align-items:center;padding:65px 0}.hero>div{max-width:690px}.hero h1{text-shadow:0 2px 18px #102e4c40}.hero p{max-width:650px}@media(max-width:700px){header{background-position:62% center;background-image:linear-gradient(90deg,rgba(12,35,58,.94),rgba(12,35,58,.65)),url('assets/hero-japanese-study.png')}.hero{min-height:430px;padding:45px 0}.hero>div{max-width:100%}}
/* Unite the top navigation strip with the navy hero. */
body>.top{background:#102e4c;color:#d6e2ed;border-bottom:1px solid #ffffff14}body>.top a:hover{color:#e6c790}body>header{background-color:#102e4c;color:#fff}
