*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Inter","Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial}
.container{max-width:var(--container);margin-inline:auto;padding:0 18px}
.section{padding:48px 0;border-bottom:1px solid var(--border)}
h1{font-size:clamp(28px,3.4vw,46px);margin:0 0 10px;letter-spacing:-.02em}
h2{font-size:clamp(20px,2.4vw,30px);margin:0 0 12px}
h3{font-size:20px;margin:0 0 6px}
p{line-height:1.75}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:12px 16px;font-weight:700;border:1px solid var(--border)}
.btn.green{background:var(--green);color:var(--green-ink);border-color:transparent}
.btn.ghost{background:#fff;color:var(--fg)}
.grid{display:grid;gap:18px}
@media(min-width:860px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.card{border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff}
.hero{background:var(--blue);padding:54px 0}
.hero .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.hero p{color:var(--muted);max-width:800px;margin:8px auto 18px}
.kv{display:flex;justify-content:center}
.feature{padding:16px;border-radius:12px;border:1px solid var(--border);background:#fff;min-height:120px;display:flex;align-items:flex-start}
.small{font-size:14px}
.testi{display:flex;flex-direction:column;gap:16px}
.testi-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.testi-top img{height:48px}
.testi-body{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
.testi-body img{width:140px;border-radius:12px}

.section.alt{background:#f3f4f6}
.caption{font-size:14px;margin-top:6px}
.card img.full{width:100%;height:auto;border-radius:12px}

.logo-box{display:flex;align-items:center;justify-content:center;padding:20px}
.logo-box img{max-width:160px;height:auto}

/* Testimonials fine-tune */
.voice-row1{display:grid;gap:18px}
@media(min-width:860px){.voice-row1{grid-template-columns:3fr 4fr}}
.voice-row2{display:grid;gap:18px;align-items:start}
@media(min-width:860px){.voice-row2{grid-template-columns:auto 1fr}}
.logo-box{display:block;padding:0}
.logo-box img{max-width:320px;height:auto;display:block}

.logo-inline{max-width:220px;height:auto;margin-top:12px;display:block}
.note{margin-top:8px}

/* curriculum list left align */
#curriculum .card h3,
#curriculum .card ul,
#curriculum .card li { text-align:left; }

/* curriculum list: true left align + clean bullets + better readability */
#curriculum .card { text-align:left; }
#curriculum .card ul { margin-left:0; padding-left:1.2em; list-style-position: outside; }
#curriculum .card li { text-align:left; line-height:1.8; word-break: normal; white-space: normal; }

/* hero background */
.hero{background-image:url('/img/hero.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;}
