@charset "UTF-8";
:root{--ink:#153e30;--muted:#52635d;--paper:#fbfaf7;--line:#dfe6df}*{box-sizing:border-box}html{scroll-behavior:smooth}body.portal-body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7}a{color:inherit}a:focus-visible{outline:3px solid #7152a1;outline-offset:5px}a:hover{text-decoration-thickness:2px}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:15px;top:15px;background:white;padding:12px;z-index:10}.portal-header{max-width:1160px;margin:auto;padding:14px 24px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:white}.portal-brand{display:block;margin-right:auto}.portal-brand img{display:block;width:205px;height:auto}.portal-header nav{display:flex;gap:24px;font-size:14px;font-weight:700}.portal-header nav a{text-decoration:none;white-space:nowrap}.about-link{font-size:12px;white-space:nowrap}.portal-main{max-width:1160px;margin:auto;padding:0 24px}.portal-intro{text-align:center;padding:30px 0 25px}.portal-intro h1{font-size:clamp(23px,3.1vw,40px);line-height:1.5;letter-spacing:.025em;margin:0 0 8px}.portal-intro p{color:var(--muted);font-size:15px;margin:0}.four-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.entry{position:relative;isolation:isolate;overflow:hidden;min-height:228px;padding:25px 27px;border:1px solid var(--edge);border-radius:15px;background:var(--bg);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .15s,transform .15s}.entry:hover{box-shadow:0 6px 16px #153e3012;transform:translateY(-2px)}.entry h2{font-size:32px;line-height:1.3;margin:0 0 8px;color:var(--color)}.entry .sub-brand{font-weight:700;font-size:16px;margin:0 0 6px}.entry p{font-size:14px;margin:0 0 17px;max-width:65%;position:relative;z-index:2}.entry .entry-action{display:inline-block;border-radius:30px;padding:8px 17px;font-size:13px;background:var(--color);color:white;font-weight:700;margin-top:auto;position:relative;z-index:2}.teacher{--bg:#f2f8ed;--edge:#d6e4ce;--color:#235c39}.family{--bg:#fff7e9;--edge:#eedfbd;--color:#935800}.game{--bg:#f5edfc;--edge:#e5d5f2;--color:#63348b}.regional{--bg:#eaf5fd;--edge:#c9dfef;--color:#125985}.entry .art{display:block;position:absolute;right:4px;bottom:0;width:205px;height:215px;background-image:url('/assets/portal-four-illustrations-20261024.png');background-size:1448px 1086px;background-repeat:no-repeat;z-index:-1;pointer-events:none}.teacher .art{background-position:-317px -332px}.family .art{background-position:-805px -332px}.game .art{background-position:-308px -555px}.regional .art{background-position:-808px -555px}.quick-help{display:flex;gap:35px;align-items:center;margin:23px 0;padding:12px 0;border-bottom:1px solid var(--line)}.quick-help h2{font-size:18px;margin:0}.quick-help a{font-size:15px;font-weight:700}.new-section{padding-bottom:28px}.new-section>h2{font-size:20px;margin:0 0 13px}.new-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.new-grid a{padding:15px;background:white;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:13px}.new-grid strong{display:block;font-size:14px;margin-bottom:5px}.portal-footer{max-width:1160px;margin:auto;padding:20px 24px 28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;font-size:12px}.portal-footer>a{font-size:16px;font-weight:700;text-decoration:none;margin-right:auto}.portal-footer nav{display:flex;flex-wrap:wrap;gap:10px 18px}.portal-footer small{display:block;flex-basis:100%;color:var(--muted);font-size:11px}.hub-main{max-width:1000px;margin:auto;padding:30px 24px 50px}.hub-main .breadcrumb{font-size:13px;margin-bottom:18px}.hub-main h1{font-size:34px;margin:0 0 12px}.hub-main>p{color:var(--muted)}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}.hub-card{padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.hub-card h2{font-size:21px;margin:0 0 10px}.hub-card p{font-size:14px;color:var(--muted)}.hub-card ul{padding-left:20px}.hub-card li{margin:10px 0}.hub-card a{font-weight:700;text-underline-offset:4px}.teacher-top{max-width:1120px;margin:25px auto;padding:0 24px}.teacher-top h1{font-size:30px;margin:0}.teacher-top p{margin:7px 0}.portal-teacher .site-header{display:none}.portal-teacher main{padding-top:0}.portal-teacher .portal-header{max-width:1160px}.portal-teacher .portal-brand img{width:205px}.legacy-anchors{height:0;overflow:hidden}
@media(max-width:760px){.portal-header{padding:10px 16px;gap:8px;flex-wrap:wrap}.portal-brand img{width:165px}.about-link{font-size:11px}.portal-header nav{flex-basis:100%;justify-content:space-between;gap:8px;padding:7px 0 1px;font-size:12px}.portal-main{padding:0 15px}.portal-intro{padding:23px 0 19px}.portal-intro h1{font-size:24px}.portal-intro p{font-size:12px}.four-entries{gap:12px}.entry{min-height:205px;padding:15px 14px}.entry h2{font-size:25px}.entry .sub-brand{font-size:12px;margin-bottom:5px}.entry p{font-size:12px;line-height:1.6;max-width:100%;margin-bottom:78px}.entry .entry-action{font-size:11px;padding:6px 9px;max-width:100%}.entry .art{transform:scale(.57);transform-origin:bottom right;right:-3px;bottom:25px}.quick-help{margin:18px 0;gap:12px;justify-content:space-between}.quick-help h2{font-size:15px}.quick-help a{font-size:12px}.new-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.new-grid a{padding:12px;font-size:12px}.portal-footer{padding:20px 16px}.portal-footer nav{gap:10px 14px}.hub-main{padding:24px 16px 38px}.hub-main h1{font-size:28px}.hub-grid{grid-template-columns:1fr;gap:12px}.portal-teacher .portal-header nav{flex-basis:100%}}
@media(max-width:360px){.entry{padding:13px 11px;min-height:212px}.entry h2{font-size:23px}.entry .entry-action{font-size:10px;padding:6px 8px}.portal-intro h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry{transition:none}}

.phrase{display:inline-block}.label-short{display:none}.game .art{background-position:-322px -570px;width:185px;height:195px}.regional .art{background-position:-830px -585px;width:180px;height:180px}
@media(max-width:760px){.label-full{display:none}.label-short{display:inline}.entry .entry-action{white-space:nowrap;font-size:11px}.portal-header>.about-link{order:0}.portal-header nav{order:1}.teacher-top{padding-top:0;margin-top:12px}.portal-intro h1{font-size:23px}}
