
:root{--ink:#1d303b;--heading:#193e4c;--muted:#617580;--teal:#137a6a;--deep:#164855;--green:#248849;--line:#d9e5e7;--soft:#f4f8f9;--shadow:0 10px 34px rgba(10,61,74,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.8;-webkit-text-size-adjust:100%}
a{color:inherit}a:focus-visible{outline:3px solid #d99e35;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}.wrap{width:min(100% - 48px,1080px);margin-inline:auto}.skip-link{position:absolute;z-index:99;top:-120px;left:12px;background:#fff;color:#112; padding:10px 15px}.skip-link:focus{top:12px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;flex:0 1 auto}.brand img{display:block;width:min(390px,100%);height:auto}.header-label{font-size:13px;color:var(--muted);letter-spacing:.05em;white-space:nowrap}.notice-band{border-bottom:1px solid #ece3c8;background:#fff9ea;color:#875b16;font-size:14px;font-weight:700}.notice-band .wrap{padding-block:12px;display:flex;align-items:center;gap:10px}.notice-dot{width:8px;height:8px;border-radius:50%;background:#d89d36;flex:none}
.hero{background:linear-gradient(120deg,#f2f8f6 0%,#f7fafb 66%,#fbfcfc 100%);border-bottom:1px solid var(--line)}.hero-content{padding-block:64px 58px;max-width:1080px}.eyebrow,.section-kicker{letter-spacing:.16em;color:var(--teal);font-size:12px;font-weight:800;margin-bottom:10px}.hero h1{color:var(--heading);font-size:clamp(29px,4vw,43px);line-height:1.35;letter-spacing:.01em;margin-bottom:17px}.hero-accent{height:4px;width:54px;border-radius:4px;background:var(--green);margin-bottom:30px}.hero p:not(.eyebrow){max-width:860px}.hero-lead{font-size:19px;font-weight:700;color:var(--heading)}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.quick-links a{border:1px solid #cfdee2;background:#fff;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:700;color:#245063;text-decoration:none;display:flex;gap:13px;align-items:center}.quick-links a:hover{background:#f8fbfc;border-color:#9bc2c0}
.section{padding-block:76px 82px;scroll-margin-top:20px}.section-alt{background:#f5f8f9}.section-heading{display:flex;align-items:flex-start;gap:17px;margin-bottom:13px}.section-number{display:grid;place-items:center;background:#e5f4ed;color:#23734b;border-radius:10px;min-width:51px;height:48px;font-weight:800;font-size:17px}.section-heading h2{font-size:clamp(23px,3.2vw,29px);margin:0;color:var(--heading);letter-spacing:.02em}.section-kicker{margin:0;line-height:1.4}.section-description{color:#536773;margin:0 0 30px 68px;max-width:860px}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.contact-card,.form-card,.course-card{background:#fff;border:1px solid #d9e5e7;border-radius:14px;box-shadow:var(--shadow)}.contact-card{padding:24px 24px 21px}.contact-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.contact-top h3{font-size:18px;color:var(--heading);margin:0}.service-pill{border-radius:50px;background:#eaf1f4;color:#386579;padding:1px 10px;font-size:12px;font-weight:700}.phone{color:var(--teal);font-size:clamp(20px,2.4vw,25px);font-weight:800;text-decoration:none;letter-spacing:.015em;white-space:nowrap}.phone:hover{text-decoration:underline}.service-time{color:#5c6e77;font-size:14px;margin:7px 0 0}.small-clock{display:inline-block;width:13px;height:13px;border:1.5px solid #8da2aa;border-radius:50%;vertical-align:middle;margin-right:3px;position:relative}.small-clock:before{content:"";position:absolute;left:5px;top:2px;width:1px;height:4px;background:#8da2aa}.small-clock:after{content:"";position:absolute;left:5px;top:6px;width:3px;height:1px;background:#8da2aa}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.form-card{padding:24px;display:flex;flex-direction:column}.form-num{font-weight:800;color:#2d9780;font-size:13px}.form-card h3{margin:4px 0 4px;color:var(--heading);font-size:20px}.form-card p{font-size:14px;color:var(--muted);margin-bottom:20px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 17px;border-radius:9px;min-height:46px;text-decoration:none;font-weight:700;font-size:14px;line-height:1.4;transition:background .12s}.button-outline{background:#e8f5ef;color:#166b4f;border:1px solid #bedecd}.button-outline:hover{background:#d6ebe0}.form-card .button{margin-top:auto}
.download-panel{background:#eff7f3;border-radius:14px;padding:27px;margin-bottom:36px}.download-panel h3{font-size:18px;color:var(--heading);margin-bottom:15px}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pdf-link{background:#fff;border:1px solid #cbded5;border-radius:10px;padding:17px;display:flex;gap:13px;align-items:center;text-decoration:none}.pdf-link:hover{border-color:#559c7d}.pdf-icon{font-size:12px;display:grid;place-items:center;background:#bc453d;color:#fff;border-radius:5px;width:43px;height:50px;flex:none;font-weight:800}.pdf-link strong{display:block;font-size:14px;line-height:1.5;color:var(--heading)}.pdf-link small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.pdf-arrow{color:var(--teal);font-weight:700;margin-left:auto}.subheading{font-size:21px;color:var(--heading);margin-bottom:20px}.course-list{display:grid;gap:15px}.course-card{padding:24px 27px}.course-top{display:flex;align-items:center;gap:11px;margin-bottom:17px;flex-wrap:wrap}.course-category{background:#e8f5ef;color:#1c7552;border-radius:5px;padding:3px 10px;font-size:12px;font-weight:700}.course-top h4{font-size:19px;color:var(--heading);margin:0}.course-sub{font-size:13px;color:var(--muted);font-weight:500}.course-facts{display:grid;gap:6px;margin:0 0 16px}.course-facts>div{display:flex;align-items:baseline;gap:15px}.course-facts dt{min-width:67px;font-size:13px;font-weight:700;color:var(--muted);flex:none}.course-facts dd{margin:0;font-size:15px;color:#253c49;font-weight:600}.course-facts small{font-weight:400;color:var(--muted);margin-left:9px}.course-card .button{max-width:320px}.upcoming{border-radius:8px;background:#f1f4f6;color:#506773;padding:11px 14px;font-size:13px;margin:12px 0 0}
.site-footer{background:#173e4a;color:#eef6f5;padding-top:38px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px}.footer-organization{font-size:18px;font-weight:700;margin-bottom:1px}.footer-small{font-size:13px;color:#c4d6dd;line-height:1.7;margin-bottom:10px}.footer-contact{text-align:right}.footer-contact small{display:block;color:#c4d6dd;font-size:13px}.footer-contact a{font-size:24px;font-weight:800;color:white;text-decoration:none}.footer-bottom{border-top:1px solid #42636d;padding-block:16px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:#c4d6dd}.footer-bottom a{font-size:12px;text-decoration:none}.mobile-only{display:none}
@media(max-width:860px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.download-grid{grid-template-columns:1fr}.form-card{min-height:unset}.form-card .button{max-width:360px}}
@media(max-width:590px){.wrap{width:min(100% - 32px,1080px)}.header-inner{min-height:81px;gap:10px}.brand img{width:min(270px,100%)}.header-label{display:none}.notice-band{font-size:12px}.hero-content{padding-block:42px 44px}.hero h1{font-size:28px}.hero-lead{font-size:17px}.hero p{font-size:14px}.mobile-only{display:block}.quick-links{flex-direction:column;align-items:stretch}.quick-links a{justify-content:space-between}.section{padding-block:51px 56px}.section-heading{gap:11px}.section-number{width:40px;height:43px;min-width:40px;font-size:15px}.section-heading h2{font-size:22px;line-height:1.5}.section-description{margin-left:0;font-size:14px;margin-bottom:23px}.contact-grid{grid-template-columns:1fr;gap:11px}.contact-card{padding:17px 19px}.contact-top{margin-bottom:7px}.contact-top h3{font-size:17px}.phone{font-size:24px}.service-time{margin-top:4px}.form-card{padding:20px}.download-panel{padding:17px;margin-bottom:26px}.pdf-link{padding:13px}.pdf-link strong{font-size:13px}.course-card{padding:19px}.course-facts>div{display:block}.course-facts dt{margin-bottom:1px}.course-facts dd{font-size:14px}.course-top{margin-bottom:12px}.course-top h4{font-size:17px}.footer-inner{display:block}.footer-contact{text-align:left;margin-top:24px}.footer-bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Hide scan remnants beneath the lettering while preserving the emblem. */
.brand img{clip-path:polygon(0 0,100% 0,100% 90%,18% 90%,18% 100%,0 100%)}

/* Distinct service labels and matching navigation order. */
.quick-number{font-size:12px;font-weight:800;color:#23734b;background:#e5f4ed;border-radius:5px;padding:2px 6px;flex:none}
.quick-links a{gap:9px}.quick-links a>span:last-child{margin-left:auto}
.contact-card{border-top:5px solid var(--service-color);background:var(--service-surface)}
.contact-onsite{--service-color:#21659a;--service-surface:#f7fbff}
.contact-mobile{--service-color:#9a4d14;--service-surface:#fffaf4}
.contact-top{flex-wrap:wrap;justify-content:space-between;gap:8px}
.contact-card .service-pill{background:var(--service-color);color:#fff;font-size:14px;font-weight:800;padding:4px 15px;border-radius:6px;letter-spacing:.08em;flex:none}
.contact-card .phone{color:var(--service-color)}
@media(max-width:590px){.quick-links a{justify-content:flex-start}.contact-card .service-pill{font-size:14px;padding:4px 15px}}

/* Emphasize the course currently accepting applications. */
.course-open{border:2px solid #248849;background:#f7fcf8}
.application-status{display:inline-block;background:#166b4f;color:#fff;font-size:14px;font-weight:800;padding:4px 14px;border-radius:6px;margin:0 0 16px;letter-spacing:.06em}
.course-card .button-apply{display:flex;width:100%;max-width:480px;background:#166b4f;color:#fff;border:2px solid #166b4f;font-size:17px;min-height:60px;padding:16px 22px;box-shadow:0 4px 10px rgba(22,107,79,.18)}
.course-card .button-apply:hover{background:#10533d;border-color:#10533d}
@media(max-width:590px){.course-card .button-apply{font-size:16px;padding:15px 16px}}
