
: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}}

/* Keep course descriptions and long titles readable on narrow screens. */
.course-top h3{margin:0;color:var(--heading);font-size:20px;line-height:1.6}
.course-sub{display:inline-block;margin-left:6px}
.course-facts dd,.pdf-link>span:not(.pdf-icon):not(.pdf-arrow){min-width:0;overflow-wrap:anywhere}
#sanai .download-panel{margin-top:24px;margin-bottom:0}
#salon{scroll-margin-top:20px}
@media(max-width:590px){.course-sub{display:block;margin:4px 0 0;font-size:14px}.course-top h3{font-size:18px}}

/* One reservation section with a clear choice of web or telephone. */
.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 36px}
.booking-options a{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #c8ded7;border-radius:12px;background:#f3faf6;color:#193e4c;text-decoration:none}
.booking-options a:hover{background:#e7f4ec;border-color:#248849}
.booking-method{display:inline-grid;place-items:center;min-width:48px;min-height:36px;border-radius:7px;background:#166b4f;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;flex:none}
.booking-options strong,.booking-options small{display:block}.booking-options strong{font-size:17px}.booking-options small{font-size:13px;color:#536773;margin-top:3px}
.booking-options a>span:last-child{margin-left:auto;color:#166b4f;font-weight:800}
.booking-group{scroll-margin-top:24px}.booking-group-heading{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.booking-group-heading h3{color:var(--heading);font-size:22px;margin:0;line-height:1.5}
.booking-description{color:#536773;margin-bottom:22px;font-size:15px}
.booking-phones{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
@media(max-width:590px){.booking-options{grid-template-columns:1fr;gap:10px;margin-bottom:28px}.booking-options a{padding:16px;gap:10px}.booking-options strong{font-size:16px}.booking-options small{font-size:12px}.booking-group-heading h3{font-size:20px}.booking-description{font-size:14px}.booking-phones{margin-top:32px;padding-top:26px}}

/* Compact, calm layout: direct actions and less vertical repetition. */
html{scroll-behavior:auto}
.hero-content{padding-block:34px 30px}.hero h1{font-size:34px;margin-bottom:12px}.hero-accent{margin-bottom:18px}.hero-lead{margin-bottom:10px}.hero p:not(.eyebrow){margin-bottom:10px}.eyebrow{margin-bottom:6px}
.quick-links{margin-top:20px;gap:8px}.section{padding-block:42px 46px}.section-heading{margin-bottom:10px}.section-description{margin-bottom:20px}
.booking-options{gap:12px;margin-bottom:24px}.booking-options a{padding:14px 16px}.booking-options small{display:none}.booking-method{min-width:42px;min-height:30px}
.booking-group-heading{margin-bottom:8px}.booking-description{margin-bottom:12px}.booking-phones{margin-top:24px;padding-top:22px}
.reservation-list{gap:10px}.reservation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 18px;border:1px solid #c7ded2;border-radius:9px;background:#f3faf6;color:#193e4c;text-decoration:none}
.reservation-row:hover{background:#e3f1e9;border-color:#248849}.reservation-name{font-size:17px;font-weight:800}.reservation-action{font-size:13px;color:#166b4f;font-weight:700;white-space:nowrap}.reservation-action span{margin-left:7px}
.contact-grid{gap:10px}.contact-card{padding:16px 18px 14px;box-shadow:none;border-top-width:3px}.contact-top{margin-bottom:7px}.contact-card .service-pill{font-size:12px;padding:2px 10px}.contact-card .phone{font-size:23px}.service-time{font-size:13px}
.download-panel{padding:18px;margin-bottom:24px}.download-panel h3{margin-bottom:10px;font-size:16px}.pdf-link{padding:12px;gap:10px}.pdf-icon{width:34px;height:39px;font-size:10px}.pdf-link small{margin-top:2px}
.subheading{margin-bottom:14px}.course-list{gap:12px}.course-card{padding:19px 22px;box-shadow:none}.course-top{margin-bottom:10px}.course-facts{gap:5px;margin-bottom:12px}.application-status{margin-bottom:10px;padding:3px 11px;font-size:13px}.upcoming{margin-top:8px;padding:9px 12px}
.course-card .button-apply{min-height:50px;font-size:16px;padding:12px 18px;box-shadow:none}
#sanai .download-panel{margin-top:18px}.site-footer{padding-top:26px}.footer-inner{padding-bottom:16px}.footer-bottom{padding-block:12px}
@media(max-width:590px){
 .header-inner{min-height:66px}.brand img{width:min(245px,100%)}.notice-band .wrap{padding-block:9px}
 .hero-content{padding-block:25px 24px}.hero h1{font-size:26px}.hero-lead{font-size:16px}.hero-accent{margin-bottom:15px}.hero p:not(.eyebrow){font-size:14px;line-height:1.75}.hero p:last-of-type{margin-bottom:0}
 .quick-links{margin-top:18px;gap:6px}.quick-links a{min-height:44px;padding:8px 12px}
 .section{padding-block:30px 32px}.section-heading h2{font-size:21px}.section-number{min-width:34px;width:34px;height:38px;font-size:14px}.section-kicker{font-size:10px}.section-description{margin-bottom:16px}
 .booking-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}.booking-options a{padding:12px 10px;gap:7px;align-items:center}.booking-options .booking-method{display:none}.booking-options strong{font-size:14px;line-height:1.5}.booking-options a>span:last-child{font-size:14px}
 .booking-group-heading{gap:9px}.booking-group-heading h3{font-size:18px}.booking-description{font-size:13px;line-height:1.7;margin-bottom:10px}.booking-phones{margin-top:22px;padding-top:20px}
 .reservation-list{gap:8px}.reservation-row{min-height:54px;padding:12px 14px}.reservation-name{font-size:16px}.reservation-action{font-size:13px}
 .contact-grid{gap:8px}.contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:3px;padding:12px 13px 10px;border-radius:9px}.contact-top{margin:0;gap:5px;justify-content:flex-start;align-content:center}.contact-top h3{font-size:15px}.contact-card .service-pill{font-size:11px;padding:1px 7px;letter-spacing:0}.contact-card .phone{font-size:18px;align-self:center;letter-spacing:0}.contact-card .service-time{grid-column:1/-1;margin:0;font-size:12px}
 .course-card{padding:15px 16px;border-radius:10px}.course-top{margin-bottom:9px}.course-top h4{font-size:17px}.course-sub{display:inline-block;font-size:12px;margin:0 0 0 5px}.course-facts>div{display:flex;gap:10px}.course-facts dt{min-width:54px;font-size:12px;margin:0}.course-facts dd{font-size:13px;line-height:1.7}.course-facts small{font-size:12px}.application-status{font-size:12px;margin-bottom:9px}.course-card .button-apply{font-size:15px;min-height:48px;padding:12px 14px}.upcoming{font-size:12px;line-height:1.7}
 .download-panel{padding:14px;margin-bottom:20px}.download-grid{gap:8px}.pdf-link{padding:10px}.pdf-link strong{font-size:13px}.pdf-link small{font-size:11px}.pdf-icon{width:30px;height:34px}.subheading{font-size:19px;margin-bottom:12px}
 #sanai .course-card p{font-size:14px;margin-bottom:12px}#sanai .course-card .service-time{font-size:13px}#salon .course-top h3{font-size:17px}
 .footer-organization{font-size:16px}.footer-small{font-size:12px}.footer-contact{margin-top:12px}.footer-contact a{font-size:21px}
}
@media(max-width:350px){.contact-card{grid-template-columns:1fr}.contact-card .phone{font-size:21px}.course-facts>div{display:block}.course-sub{display:block;margin:3px 0 0}}

/* Mobile readability: keep compact rows while restoring comfortable type. */
@media(max-width:590px){
 body{font-size:16px;line-height:1.8}
 .notice-band{font-size:13px}
 .hero p:not(.eyebrow){font-size:16px;line-height:1.8}.hero .hero-lead{font-size:17px}
 .quick-links a{font-size:15px;min-height:48px;padding:10px 12px}.quick-number{font-size:13px}
 .section-description,.booking-description{font-size:15px;line-height:1.8}
 .booking-options strong{font-size:16px}.booking-options a{min-height:62px;padding:12px}
 .booking-group-heading h3{font-size:20px}.booking-method{font-size:13px}
 .reservation-row{min-height:58px;padding:13px 14px}.reservation-name{font-size:17px}.reservation-action{font-size:15px}
 .contact-card{padding:13px 14px 11px;row-gap:5px}.contact-top h3{font-size:16px}.contact-card .service-pill{font-size:12px;padding:2px 7px}
 .contact-card .phone{font-size:20px}.contact-card .service-time{font-size:14px;line-height:1.7}
 .course-top h4{font-size:19px;line-height:1.6}.course-sub{font-size:14px;display:block;margin:2px 0 0}
 .course-facts>div{gap:10px}.course-facts dt{min-width:60px;font-size:14px;line-height:1.8}.course-facts dd{font-size:15px;line-height:1.8}.course-facts small{font-size:14px}
 .application-status{font-size:14px}.upcoming{font-size:14px;line-height:1.8;padding:10px 12px}
 .course-card .button-apply,.button{font-size:16px;min-height:48px}
 .download-panel h3{font-size:17px}.pdf-link strong{font-size:15px;line-height:1.65}.pdf-link small{font-size:13px}.pdf-icon{font-size:11px}
 #sanai .course-card p{font-size:16px;line-height:1.8}#sanai .course-card .service-time{font-size:15px}#salon .course-top h3{font-size:19px}
 .footer-organization{font-size:17px}.footer-small{font-size:14px}.footer-contact small,.footer-bottom,.footer-bottom a{font-size:13px}
}
@media(min-width:351px) and (max-width:390px){.contact-card{column-gap:7px;padding-inline:12px}.contact-card .phone{font-size:19px}.contact-card .service-pill{padding-inline:6px}}
@media(max-width:350px){.contact-card{grid-template-columns:1fr}.contact-card .phone{font-size:22px}.course-facts>div{display:block}.reservation-row{padding-inline:12px;gap:8px}.reservation-name{font-size:16px}}

