@charset "UTF-8";
:root{--ink:#4a1c22;--green:#a51f2d;--muted:#766368;--cream:#fff7f3;--line:#ead9d9;--orange:#d05b45}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:#fffdfc;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a,button,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.preview-note{background:var(--green);color:white;text-align:center;font-size:11px;letter-spacing:.08em;padding:5px 14px}.preview-note span{opacity:.8;margin-left:15px}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:225px;mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:700}.nav-contact{background:var(--green);color:white;border-radius:5px;padding:12px 23px}.nav-contact span{margin-left:20px}.hero{position:relative;width:calc(100% - 48px);margin:0 auto;border-radius:12px;overflow:hidden;background:var(--cream);min-height:560px}.hero-image{position:absolute;width:100%;height:calc(100% - 58px);object-fit:cover;object-position:center}.hero-copy{position:relative;z-index:1;padding:78px 0 85px max(40px,calc((100vw - 1160px)/2 - 24px));width:54%;background:linear-gradient(90deg,#fff7f3e8 50%,#fff7f300)}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.17em;margin:0 0 18px}.hero .eyebrow span{font-size:10px;letter-spacing:.06em}h1{font-size:clamp(25px,2.8vw,42px);letter-spacing:.035em;line-height:1.75;margin:0;font-weight:800}h1 span{display:block}.hero-description{font-size:14px;margin:19px 0 27px}.hero-button{display:inline-flex;gap:28px;align-items:center;background:var(--green);color:white;font-size:12px;font-weight:700;padding:13px 22px;border-radius:4px}.hero-footer{position:absolute;bottom:0;width:100%;display:flex;justify-content:space-between;padding:15px 35px;background:#f5e7e4;font-size:12px;font-weight:700;letter-spacing:.04em}.hero-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:9px}.section{padding-block:94px}h2{font-size:clamp(25px,2.5vw,34px);line-height:1.7;letter-spacing:.035em;margin:0;font-weight:700}h2>span{color:var(--orange)}.news-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px}.news-list article{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--line)}.news-list article:last-child{margin:0}.tag{display:inline-block;font-size:10px;background:#f9eeee;border-radius:3px;padding:2px 10px;letter-spacing:.04em}.tag.accent{background:#fbe8e0;color:#984033}h3{font-size:16px;line-height:1.8;margin:12px 0}.news-list p,.contact-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:2}.text-link{display:inline-block;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:2px}.text-link span{margin-left:18px}.access-section{background:#f8eeee}.access-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}.details{margin:32px 0 0}.details>div{display:grid;grid-template-columns:82px 1fr;border-bottom:1px solid #ead9d9;padding:16px 0;font-size:13px}.details dt{font-size:11px;color:var(--muted);padding-top:2px}.details dd{margin:0}.details dd>a{font-family:Arial,sans-serif;font-size:22px;font-weight:700}.details small{display:block;font-size:11px;color:var(--muted)}.map-placeholder{min-height:350px;background:repeating-linear-gradient(0deg,transparent,transparent 43px,#ecdada80 44px),repeating-linear-gradient(90deg,#f6e9e7, #f6e9e7 59px,#ecdada 60px);border:7px solid white;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.map-pin{font-size:50px;line-height:1;color:var(--green)}.map-placeholder h3{font-family:Arial,sans-serif;font-size:22px;margin:14px 0 0}.map-placeholder p{font-size:12px}.map-caption{font-size:11px;background:white;border-radius:30px;padding:5px 18px}.map-note{font-size:10px;color:var(--muted);margin:10px 0 0}.contact-section{display:block}.contact-intro>p:not(.eyebrow){margin-top:24px}.phone{display:block;font-family:Arial,sans-serif;font-size:32px;letter-spacing:.025em;font-weight:700;margin-top:36px}.phone small{display:block;font-family:"Yu Gothic",sans-serif;font-size:11px;letter-spacing:.02em;font-weight:400}.phone>span{font-size:22px;margin-left:12px}.contact-panel{border:1px solid var(--line);padding:30px;border-radius:8px;background:white}.form-heading{display:flex;align-items:center;justify-content:space-between}.form-heading h3{margin:0;font-size:16px}.form-heading>span{font-size:10px;background:#f2e8e4;color:#7b5750;padding:1px 9px;border-radius:3px}.form-status{font-size:11px;color:var(--muted);background:#fbf4f1;padding:12px 14px;margin:16px 0 24px}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;font-size:12px;font-weight:700;margin-bottom:17px}label span{font-size:9px;color:#a24747;margin-left:8px}input,textarea{display:block;font:inherit;font-size:12px;width:100%;border:1px solid #eadfdd;background:#fdf9f8;border-radius:4px;padding:12px;margin-top:7px;color:var(--ink);resize:vertical}input::placeholder,textarea::placeholder{color:#96898a}button{width:100%;padding:15px;background:#eadfdd;color:#806d6e;font:inherit;font-size:12px;border:0;border-radius:4px} .privacy-note{font-size:10px;color:var(--muted);text-align:center;margin-bottom:0}.services-section{background:var(--cream)}.services-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.services-top>p{font-size:12px;color:var(--muted);margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{display:block;padding:28px;background:white;border:1px solid #eee1df;border-radius:7px;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:#cf8a8c}.service-number{font:12px Arial,sans-serif;letter-spacing:.08em;color:#a36d72;display:flex;align-items:center;justify-content:space-between}.service-number small{font-family:"Yu Gothic",sans-serif;font-size:10px;background:#f8eeee;border-radius:3px;padding:5px 9px;letter-spacing:0}.business .service-number small{background:#f1ebee}.service-symbol{font-size:37px;color:var(--green);height:69px;margin:22px 0 10px;line-height:69px}.code-symbol{font:700 32px/69px monospace}.service-card h3{font-size:19px;margin:0}.service-card p{font-size:12px;color:var(--muted);margin:8px 0 28px}.service-bottom{border-top:1px solid var(--line);padding-top:17px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.service-bottom b{font-size:18px}.footer{position:relative;padding-block:44px;display:flex;gap:24px;flex-wrap:wrap;align-items:center}.footer .brand img{width:170px}.footer>p{font-size:10px;color:var(--muted)}.footer>small{font-size:9px;margin-left:auto;padding-right:40px;color:var(--muted)}.back-top{position:absolute;right:0;top:42px;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;text-align:center;line-height:32px}
@media(min-width:1600px){.hero{max-width:1550px}.hero-copy{padding-left:100px}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.header nav{gap:20px}.hero{min-height:500px}.hero-copy{padding:70px 0 80px 30px;width:59%}.hero-image{object-position:58% center}.hero-copy h1{font-size:29px}.news-section,.access-grid,.contact-section{gap:40px}.section{padding-block:70px}.service-card{padding:22px}.service-card h3{font-size:16px}.services-top{display:block}.services-top>p{margin-top:13px}.phone{font-size:27px}}
@media(max-width:680px){.preview-note{font-size:10px}.preview-note span{display:none}.wrap{width:calc(100% - 40px)}.header{height:82px;gap:10px}.brand img{width:180px}.header nav>a:not(.nav-contact):not([href="#courses"]){display:none}.header nav{gap:0}.nav-contact{font-size:10px;padding:9px 11px}.nav-contact span{margin-left:8px}.hero{width:calc(100% - 24px);min-height:660px;border-radius:8px}.hero-image{top:260px;height:340px;object-position:74% center}.hero-copy{padding:28px 23px 36px;width:100%;background:linear-gradient(#fff7f3 85%,#fff7f300);height:320px}.hero-copy .eyebrow{font-size:9px;margin-bottom:10px}.hero .eyebrow span{font-size:9px}.hero h1{font-size:27px;line-height:1.6}.hero-description{font-size:12px;margin:13px 0 15px}.hero-button{font-size:11px;padding:10px 16px}.hero-footer{height:60px;align-items:center;padding:10px 17px;font-size:10px}.hero-footer>a{font-size:9px}.hero-footer i{width:5px;height:5px;margin-right:4px}.section{padding-block:56px}.eyebrow{font-size:10px;margin-bottom:10px}h2{font-size:26px}.news-section,.access-grid,.contact-section{grid-template-columns:1fr;gap:30px}.news-list h3{font-size:15px}.news-list p{font-size:12px}.news-list article:last-child{padding-bottom:0;border-bottom:0}.map-placeholder{min-height:280px}.contact-intro h2 br{display:none}.contact-intro>p:not(.eyebrow){margin-top:15px}.phone{margin-top:22px;font-size:30px}.contact-panel{padding:22px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{padding:22px 24px;position:relative}.service-symbol{height:40px;line-height:40px;margin:15px 0 10px;font-size:30px}.service-card h3{font-size:19px}.service-card p{margin-bottom:18px}.services-top{margin-bottom:25px}.footer{padding-block:32px;gap:8px;display:block}.footer .brand img{width:175px}.footer>p{font-size:9px;padding-right:25px;margin:16px 0 8px}.footer>small{font-size:9px}.back-top{top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

.banner-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:white}
.banner-art{position:relative;aspect-ratio:1.9;overflow:hidden;background:#f4f5ec}
.banner-art>img{width:100%;height:100%;object-fit:cover}
.robopro-art>img{object-fit:contain;background:#f3f3f3}
.banner-copy{position:absolute;inset:0;padding:20px 17px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#205e2c}
.banner-copy small{font-size:10px;font-weight:700;line-height:1.6;margin-bottom:8px;max-width:60%}
.banner-copy strong{font-size:30px;line-height:1.25;letter-spacing:.01em;text-shadow:0 1px 0 white}
.system-art .banner-copy{color:#653a12}
.system-art .banner-copy strong{font-size:25px;line-height:1.5}
.banner-info{padding:23px;display:flex;flex-direction:column;flex:1}
.banner-info h3{margin:16px 0 0;font-size:17px;line-height:1.65}
.banner-info p{font-size:11px;margin:9px 0 22px}
.banner-info .service-bottom{margin-top:auto}
@media(min-width:681px) and (max-width:1050px){.banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.banner-grid{gap:22px}.banner-art{aspect-ratio:1.9}.banner-copy{padding:22px}.banner-copy strong{font-size:clamp(26px,8vw,40px)}.banner-copy small{font-size:11px}.system-art .banner-copy strong{font-size:clamp(23px,7vw,32px)}.banner-info{padding:22px}.banner-info h3{font-size:19px}}

.google-map{display:block;width:100%;height:380px;border:7px solid white;border-radius:8px}.map-note a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;font-weight:400}.consent input{width:auto;margin:5px 0 0;flex-shrink:0}button:not(:disabled){background:var(--green);color:white;cursor:pointer}button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:680px){.google-map{height:300px}}

.phone-note{font-size:11px;color:var(--muted);margin:6px 0 0}

.course-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px}.course-status{margin:0;padding:22px 28px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);font-size:14px;font-weight:700;text-align:center;letter-spacing:.08em}@media(max-width:680px){.course-section{grid-template-columns:1fr;gap:16px}.header nav{gap:12px}.header nav>a[href="#courses"]{font-size:11px}}
