:root{--bg:#fff9ec;--card:#fff;--ink:#24364b;--muted:#5c6f82;--orange:#f2a400;--cta:#c75618;--blue:#46b6e8;--green:#71be67;--line:#e9e1d2;--shadow:0 18px 50px #503d1b1a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;font-size:16px;line-height:1.75;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em}h1,h2,h3,.brand,.eyebrow,.button{font-family:ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic,sans-serif}h1,h2,h3,p{margin-top:0}h1{letter-spacing:.02em;font-size:clamp(2.5rem,7vw,5rem);line-height:1.18}h2{font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.35}h3{font-size:1.25rem;line-height:1.5}:focus-visible{outline:4px solid var(--blue);outline-offset:4px}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:.65rem 1rem;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#fff9eceb;position:sticky;top:0}.site-header__inner,.site-footer__inner,.container{width:min(100% - 40px,1120px);margin-inline:auto}.site-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:76px;display:flex}.brand{align-items:center;gap:.65rem;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;width:52px;height:52px}.desktop-nav{align-items:center;gap:2rem;font-weight:700;display:flex}.desktop-nav a,.site-footer nav a{text-decoration:none}.desktop-nav a:hover,.site-footer nav a:hover{text-decoration:underline}.mobile-nav{display:none;position:relative}.mobile-nav summary{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.6rem .85rem;font-weight:700;list-style:none}.mobile-nav nav{border:1px solid var(--line);width:210px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:.65rem;display:grid;position:absolute;top:calc(100% + 10px);right:0}.mobile-nav nav a{border-radius:10px;padding:.7rem .85rem;text-decoration:none}.mobile-nav nav a:hover{background:var(--bg)}.section{padding-block:96px}.section--white{background:#fff}.section-heading{text-align:center;max-width:720px;margin:0 auto 3rem}.section-heading p{color:var(--muted);font-size:1.08rem}.eyebrow{color:#9a560d;letter-spacing:.12em;margin-bottom:.65rem;font-size:.9rem;font-weight:800;display:inline-block}.hero{align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;background:image-set("/gakusyu-san/assets/hero-background.webp" 1x type("image/webp"),"/gakusyu-san/assets/hero-background.png" 1x type("image/png")) 50%/cover;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#fff9ecf0 0 42%,#fff9ec3d 74%);position:absolute;inset:0}.hero__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;display:grid}.hero__copy{padding-block:5rem}.hero__copy h1{margin-bottom:1rem}.hero__copy .lead{max-width:540px;color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem);font-weight:500}.hero__copy .sublead{max-width:570px;margin-bottom:2rem}.hero__mascot{filter:drop-shadow(0 24px 24px #5b451833);justify-self:center;width:min(100%,500px)}.button{background:var(--cta);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:.85rem 1.45rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #c7561840}.button:hover{background:#a94613;transform:translateY(-1px)}.button--secondary{background:var(--ink);box-shadow:0 8px 20px #24364b2e}.button-row{flex-wrap:wrap;gap:.8rem;display:flex}.card-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:2rem}.card__icon{background:#fff0c5;border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:1.1rem;font-size:1.7rem;display:grid}.card:nth-child(3n+2) .card__icon{background:#dff5ff}.card:nth-child(3n) .card__icon{background:#e5f5df}.card p{color:var(--muted);margin-bottom:0}.learning-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.learning-card{border:1px solid var(--line);background:#fff;border-radius:20px;min-height:250px;padding:2.25rem;position:relative;overflow:hidden}.learning-card:after{content:attr(data-mark);color:#46b6e81f;font:800 7rem/1 ui-rounded,sans-serif;position:absolute;bottom:-25px;right:18px}.gallery{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;display:grid}.shot{margin:0}.shot img{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:18px}.shot figcaption{color:var(--muted);text-align:center;margin-top:.7rem;font-size:.92rem}.gallery--ipad{grid-template-columns:repeat(3,1fr);margin-top:2rem}.trust-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;display:grid}.trust-list{grid-template-columns:repeat(2,1fr);gap:.9rem;padding:0;list-style:none;display:grid}.trust-list li{border:1px solid var(--line);background:#fff;border-radius:14px;padding:1rem 1.1rem;font-weight:700}.trust-list li:before{content:"✓";color:#398631;margin-right:.65rem;font-weight:800}.device-card{background:var(--ink);color:#fff;border-radius:24px;padding:2.5rem}.device-card p{color:#dce6ef;margin-bottom:.3rem}.device-card strong{font:800 clamp(1.5rem,3vw,2.25rem)/1.4 ui-rounded,sans-serif;display:block}.link-panel{background:#fff3d7;border:1px solid #eddaa8;border-radius:24px;justify-content:space-between;align-items:center;gap:2rem;padding:3rem;display:flex}.link-panel h2{margin-bottom:.5rem}.site-footer{background:var(--ink);color:#fff;padding-block:2.5rem}.site-footer__inner{grid-template-columns:1fr auto auto;align-items:center;gap:2rem;display:grid}.brand--footer img{border-radius:12px;width:44px;height:44px}.site-footer nav{gap:1.5rem;display:flex}.site-footer p{color:#cbd5df;margin:0}.content-hero{text-align:center;border-bottom:1px solid var(--line);background:#fff3d7;padding:72px 0 52px}.content-hero h1{margin-bottom:.6rem;font-size:clamp(2rem,5vw,3.5rem)}.content-hero p{color:var(--muted);margin:0}.prose{width:min(100% - 40px,760px);margin-inline:auto;padding-block:72px 96px}.prose h2{border-top:1px solid var(--line);margin:3.5rem 0 1rem;padding-top:1rem;scroll-margin-top:100px;font-size:1.55rem}.prose h2:first-of-type{margin-top:2rem}.prose li+li{margin-top:.5rem}.meta-card,.support-intro{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:2rem;padding:1.4rem 1.6rem}.meta-card p,.support-intro p{margin-bottom:.2rem}.toc{border:1px solid var(--line);background:#fff;border-radius:16px;margin:2rem 0;padding:1.5rem 1.8rem}.toc strong{margin-bottom:.5rem;display:block}.toc ol{columns:2;margin:0;padding-left:1.4rem}.faq-list{gap:.85rem;margin-top:2rem;display:grid}.faq-list details{border:1px solid var(--line);background:#fff;border-radius:16px}.faq-list summary{cursor:pointer;padding:1.15rem 1.25rem;font-weight:700}.faq-list details p{color:var(--muted);margin:0;padding:0 1.25rem 1.25rem}.notice{border-left:5px solid var(--orange);background:#fff0c5;border-radius:8px 14px 14px 8px;padding:1.25rem 1.4rem}@media (width<=767px){.desktop-nav{display:none}.mobile-nav{display:block}.section{padding-block:64px}.hero{min-height:auto}.hero:after{background:#fff9ecb8}.hero__grid{grid-template-columns:1fr;gap:0}.hero__copy{padding:4rem 0 0}.hero__mascot{width:min(90%,390px)}.card-grid,.learning-grid,.gallery,.gallery--ipad,.trust-grid{grid-template-columns:1fr}.gallery{width:min(100%,360px);margin-inline:auto}.gallery--ipad{width:100%}.trust-list{grid-template-columns:1fr}.link-panel{flex-direction:column;align-items:flex-start;padding:2rem}.site-footer__inner{grid-template-columns:1fr;gap:1.25rem}.site-footer nav{flex-direction:column;gap:.45rem}.toc ol{columns:1}}@media (width>=768px) and (width<=1023px){.site-header__inner,.site-footer__inner,.container{width:min(100% - 64px,1120px)}.gallery,.gallery--ipad{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.site-header__inner,.site-footer__inner,.container{width:min(100% - 80px,1120px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
