:root{--ink:#29304d;--muted:#68708b;--pink:#f58ca9;--pink-deep:#e96189;--aqua:#63d8d2;--yellow:#ffe86a;--wash:#fff6fa;--line:#f0dce4;--white:#fff;--shadow:0 18px 54px rgba(62,45,78,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.85;background:#fff}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1040px,calc(100% - 40px));margin:auto}.eyebrow{margin:0 0 12px;color:var(--pink-deep);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 22px;border-radius:999px;text-decoration:none;font-weight:800;background:linear-gradient(135deg,var(--pink),var(--pink-deep));color:#fff}.btn-light{background:#fff;color:var(--ink);border:1px solid var(--line)}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:148px}.navlinks{display:flex;gap:22px;align-items:center;font-size:.9rem;font-weight:700}.navlinks a{text-decoration:none}
.page-hero{padding:92px 0 74px;background:radial-gradient(circle at 85% 15%,rgba(255,232,106,.28),transparent 25%),linear-gradient(135deg,#fff 10%,#fff5fa 65%,#f8f0ff)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.page-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.25;margin:0 0 22px}.page-hero p{font-size:1.06rem}.page-hero img{width:100%;max-height:500px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.classroom-page .page-hero{background:radial-gradient(circle at 85% 15%,rgba(245,140,169,.24),transparent 27%),linear-gradient(135deg,#fff 10%,#fff3f8 66%,#fdeaf2)}
.section{padding:86px 0}.soft{background:#fcfaff}.title{font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.4;margin:0 0 20px}.intro{max-width:780px;color:#505870}.story{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.story img{border-radius:26px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}.card{padding:28px;background:#fff;border:1px solid #eee5ef;border-radius:22px;box-shadow:0 8px 24px rgba(57,42,70,.045)}.card h3{margin-top:0}.card p{color:var(--muted)}.quote{margin:34px 0 0;padding:30px 34px;border-left:5px solid var(--aqua);background:#fff;border-radius:0 20px 20px 0}
.feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;margin-top:48px}.feature.reverse{grid-template-columns:1.15fr .85fr}.feature img{width:100%;max-height:440px;object-fit:cover;border-radius:26px}.pill{display:inline-block;padding:4px 12px;border-radius:99px;background:#fff0f5;color:var(--pink-deep);font-size:.8rem;font-weight:800}.list{padding-left:1.2rem}.list li{margin-bottom:7px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.gallery img{width:100%;height:250px;object-fit:cover;border-radius:20px}.price{width:100%;border-collapse:collapse;margin:28px 0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.price th,.price td{padding:17px;border-bottom:1px solid var(--line);text-align:left}.price th{background:var(--wash)}.cta{padding:70px 0;text-align:center;background:linear-gradient(135deg,#fff3f8,#f7efff)}footer{padding:40px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:30px}.foot img{width:110px}.small{font-size:.88rem;color:var(--muted);text-align:right}
@media(max-width:760px){.navlinks{display:none}.hero-grid,.story,.feature,.feature.reverse{grid-template-columns:1fr}.page-hero{padding-top:60px}.section{padding:66px 0}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:190px}.foot{align-items:flex-start}.small{text-align:left}}
@media(max-width:480px){.wrap{width:min(100% - 28px,1040px)}.gallery{grid-template-columns:1fr}.gallery img{height:auto}.page-hero h1{font-size:2.45rem}}
