/* AX service detail: the approved KALEIDO typography, navy and generous spacing. */
.ax-page { color:#181818; }
/* Material from the AX presentation; keep the corporate navy and Noto Sans JP. */
.ax-page figure { margin:0; }
.ax-apps { background:#f7f7f7; }
.ax-app-art img { display:block; width:100%; height:auto; }
.ax-app-art figcaption,.ax-page .ax-caption { font-size:13px; line-height:1.9; color:#666; margin-top:20px; }
.ax-app-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:32px 0; }
.ax-app-examples h3 { font-size:21px; line-height:1.7; margin-bottom:16px; }
.ax-app-examples p { font-size:16px; color:#555; }
.ax-app-examples .ax-app-benefit { color:#012677; font-size:14px; margin-top:16px; }
.ax-value { border-top:1px solid #ccd3df; padding-top:36px; margin-top:40px; }
.ax-value h3 { color:#012677; margin:0 0 16px; }
.ax-value>p { font-size:16px; }
.ax-selfdrive { background:#012677; color:#fff; padding:44px; margin-top:40px; }
.ax-selfdrive .ax-label { color:#fff; margin-bottom:12px; }
.ax-selfdrive h3 { font-size:30px; margin-bottom:20px; }
.ax-selfdrive>p { max-width:60em; font-size:16px; }
.ax-selfdrive .ax-caption { color:#d9e0ed; }
.ax-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:28px 0 0; }
.ax-roles>div { border-top:1px solid #788aaf; padding-top:20px; }
.ax-roles dt { font-weight:700; font-size:17px; margin-bottom:12px; }
.ax-roles dd { margin:0; font-size:15px; line-height:1.9; }
.ax-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ax-story-grid>* { min-width:0; }
.ax-story-art img { display:block; width:100%; height:auto; border-radius:12px; }
.ax-project-steps { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:56px 0; }
.ax-project-steps li { border-top:2px solid #012677; padding-top:20px; }
.ax-project-steps li>span { font-family:'Barlow Semi Condensed',sans-serif; color:#012677; font-size:32px; }
.ax-project-steps h3 { font-size:21px; margin:12px 0; }
.ax-project-steps p { font-size:15px; color:#555; }
.ax-student-offer { display:grid; grid-template-columns:1.4fr 1fr; gap:56px; padding:36px 0; border-block:1px solid #cbd2df; align-items:center; }
.ax-student-offer h3 { font-size:22px; margin-bottom:16px; }
.ax-student-offer p { color:#555; font-size:16px; }
.ax-student-offer .ax-goal-label { color:#012677; font-size:14px; font-weight:700; }
.ax-student-offer .ax-salary { color:#012677; font-size:clamp(25px,2.6vw,34px); font-weight:800; line-height:1.6; margin-top:10px; }
.ax-university-actions { list-style:none; margin:24px 0 0; padding:0; }
.ax-university-actions li { padding:16px 0; border-top:1px solid #dde1e7; }
.ax-university-actions strong,.ax-university-actions span { display:block; }
.ax-university-actions strong { color:#012677; font-size:17px; margin-bottom:6px; }
.ax-university-actions span { font-size:15px; line-height:1.9; color:#555; }
@media(max-width:1024px) {
 .ax-story-grid { gap:36px; }
 .ax-app-examples { gap:24px; }
 .ax-project-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .ax-student-offer { gap:32px; }
}
@media(max-width:760px) {
 .ax-app-examples,.ax-story-grid,.ax-student-offer,.ax-roles { grid-template-columns:1fr; }
 .ax-app-examples { gap:24px; margin-top:24px; }
 .ax-app-examples article { padding-bottom:24px; border-bottom:1px solid #d8dce4; }
 .ax-app-examples h3 { font-size:20px; margin-bottom:10px; }
 .ax-selfdrive { padding:28px 24px; margin-top:28px; }
 .ax-selfdrive h3 { font-size:25px; }
 .ax-roles { gap:20px; }
 .ax-story-grid { gap:28px; }
 .ax-university-story>figure { order:2; }
 .ax-project-steps { margin:36px 0; gap:24px 20px; }
 .ax-project-steps h3 { font-size:19px; }
 .ax-project-steps p { font-size:14px; }
 .ax-student-offer { padding:28px 0; gap:24px; }
 .ax-student-offer h3 { font-size:20px; }
 .ax-student-offer .ax-salary { font-size:28px; }
}
.ax-page h1,.ax-page h2,.ax-page h3 { letter-spacing:-.025em; }
.ax-page h1>span,.ax-page h2>span { display:block; }
.ax-page h2 { font-size:clamp(28px,3vw,38px); font-weight:800; line-height:1.65; margin:0 0 24px; }
.ax-page h3 { font-size:23px; font-weight:700; line-height:1.7; }
.ax-page p { line-height:2; }
.ax-label { font-size:14px; font-weight:700; color:#012677; margin:0 0 20px; }
.ax-section { padding:96px 0; scroll-margin-top:120px; }
.ax-section-head { max-width:820px; margin-bottom:48px; }
.ax-section-head>p:last-child,.ax-body { font-size:17px; color:#555; line-height:2; }
.ax-body { margin:0 0 24px; }
.ax-hero { padding:142px 0 76px; background:#f7f7f7; }
.ax-breadcrumb { display:flex; gap:12px; color:#666; font-size:12px; margin-bottom:44px; }
.ax-breadcrumb a { color:#012677; }
.ax-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:44px; align-items:center; }
.ax-hero h1 { font-size:clamp(29px,2.65vw,40px); font-weight:800; line-height:1.65; margin:0 0 24px; }
.ax-intro { font-size:17px; color:#555; margin-bottom:30px; }
.ax-hero-art { margin:0; min-width:0; }
.ax-hero-art img { display:block; width:100%; height:auto; border-radius:12px; }
.ax-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.ax-text-link { display:inline-flex; align-items:center; min-height:48px; color:#012677; font-size:15px; font-weight:600; line-height:1.8; text-decoration:underline; text-underline-offset:5px; }
.ax-page .btn { max-width:100%; white-space:normal; }
.ax-abilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.ax-abilities article { border-top:2px solid #012677; padding-top:24px; }
.ax-abilities h3 { color:#012677; margin:0 0 14px; }
.ax-abilities p { font-size:16px; color:#555; }
.ax-message { position:relative; min-height:420px; display:flex; align-items:flex-end; overflow:hidden; background:#012677; }
.ax-message>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.ax-message::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(1,27,70,.94),rgba(1,27,70,.18)); }
.ax-message .container { position:relative; z-index:1; padding-top:90px; padding-bottom:64px; }
.ax-message h2 { color:#fff; margin:0; font-size:clamp(28px,3.3vw,42px); line-height:1.7; }
.ax-support-flow { list-style:none; padding:0; margin:0; }
.ax-support-flow li { display:grid; grid-template-columns:92px minmax(0,1fr); gap:24px; padding:36px 0; border-top:1px solid #dde1e7; }
.ax-support-flow li:last-child { border-bottom:1px solid #dde1e7; }
.ax-step { color:#012677; font-family:'Barlow Semi Condensed',sans-serif; font-size:44px; font-weight:600; line-height:1.2; }
.ax-support-flow h3 { margin:0 0 12px; }
.ax-support-flow p { color:#555; font-size:16px; max-width:48em; }
.ax-company-note { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:36px; }
.ax-company-note p { color:#555; font-size:16px; }
.ax-learning { background:#f5f6f8; }
.ax-learning-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; }
.ax-learning-points { background:#fff; border-radius:12px; padding:40px; }
.ax-learning-points h3 { color:#012677; margin-bottom:28px; }
.ax-learning-points ul { list-style:none; padding:0; margin:0; }
.ax-learning-points li { padding:20px 0; border-top:1px solid #e3e6ec; }
.ax-learning-points strong,.ax-learning-points span { display:block; }
.ax-learning-points strong { font-size:17px; color:#012677; margin-bottom:8px; }
.ax-learning-points span { font-size:15px; line-height:1.9; color:#555; }
.ax-university-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:64px; }
.ax-faq { background:#f7f7f7; }
.ax-faq details { border-bottom:1px solid #d8dce4; padding:24px 0; }
.ax-faq details:first-of-type { border-top:1px solid #d8dce4; }
.ax-faq summary { font-size:17px; font-weight:600; line-height:1.9; cursor:pointer; }
.ax-faq details p { font-size:16px; color:#555; padding-top:20px; max-width:54em; }
.ax-contact .ax-body { margin:24px 0 32px; }
.ax-skip { position:fixed; top:-100px; left:20px; z-index:9999; padding:12px 20px; background:#fff; color:#012677; }
.ax-skip:focus { top:12px; }
.ax-text-link:focus-visible,.ax-faq summary:focus-visible,.ax-breadcrumb a:focus-visible { outline:2px solid #012677; outline-offset:5px; }
@media(max-width:1024px) { .ax-hero-grid { gap:28px; grid-template-columns:1fr 1fr; } .ax-hero h1 { font-size:clamp(25px,2.8vw,32px); } .ax-learning-grid { gap:40px; } .ax-learning-points { padding:28px; } .ax-abilities { gap:24px; } .ax-abilities h3 { font-size:21px; } }
@media(max-width:760px) {
 .ax-hero { padding:112px 0 56px; }
 .ax-breadcrumb { margin-bottom:32px; }
 .ax-hero-grid,.ax-learning-grid,.ax-university-grid { grid-template-columns:1fr; gap:36px; }
 .ax-hero h1 { font-size:clamp(24px,6.5vw,32px); }
 .ax-intro { font-size:16px; }
 .ax-actions { align-items:flex-start; flex-direction:column; gap:12px; }
 .ax-actions .btn { font-size:14px; padding:16px 22px; }
 .ax-section { padding:60px 0; scroll-margin-top:108px; }
 .ax-page h2 { font-size:clamp(24px,6.4vw,30px); }
 .ax-section-head { margin-bottom:32px; }
 .ax-section-head>p:last-child,.ax-body { font-size:16px; }
 .ax-desktop-br { display:none; }
 .ax-abilities { grid-template-columns:1fr; gap:28px; }
 .ax-abilities article { padding-top:20px; }
 .ax-abilities h3 { font-size:22px; }
 .ax-message { min-height:360px; }
 .ax-message>img { object-position:55% center; }
 .ax-message .container { padding-bottom:40px; }
 .ax-message h2 { font-size:clamp(21px,5.5vw,28px); }
 .ax-support-flow li { grid-template-columns:38px minmax(0,1fr); gap:16px; padding:28px 0; }
 .ax-step { font-size:32px; }
 .ax-support-flow h3 { font-size:20px; }
 .ax-company-note { flex-direction:column; align-items:flex-start; gap:24px; }
 .ax-company-note .btn { font-size:14px; padding:16px 22px; }
 .ax-learning-points { padding:28px 24px; }
 .ax-faq summary { font-size:16px; }
 .ax-contact .btn { font-size:14px; padding:16px 22px; }
}
