/* Shared information pages. All rules are scoped away from the game board. */
.site-shell{max-width:1180px;margin:auto;padding:0 32px;color:#182e41;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif}
.site-shell *{box-sizing:border-box}.site-shell a{color:inherit}.site-shell p{line-height:1.9}.site-shell h1,.site-shell h2,.site-shell h3,.site-shell p{margin:0}.site-shell a:focus-visible,.site-footer a:focus-visible,.site-service-links a:focus-visible{outline:3px solid #2563b7;outline-offset:4px}
.site-skip{position:absolute;left:12px;top:-100px;padding:12px;background:#fff;z-index:20}.site-skip:focus{top:8px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-bottom:1px solid #d7dfd7}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:16px;font-weight:750}.site-brand img{flex:none}.site-brand small{display:block;font-size:8px;letter-spacing:.14em;margin-top:5px}.site-header nav{display:flex;gap:20px}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none;font-weight:650}
.site-eyebrow{color:#167453;font-size:11px;font-weight:750;letter-spacing:.13em}.portal-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding:66px 0 54px}.portal-hero h1{font-size:60px;line-height:1.45;letter-spacing:.025em;margin:18px 0}.portal-hero h1 em{font-style:normal;color:#167453}.portal-lead{font-size:16px;color:#506675}.portal-promises{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.portal-promises span{font-size:12px;border:1px solid #cbd9cf;border-radius:100px;padding:7px 12px;background:#f8faf6}
.portal-example{background:#e8eee3;border-radius:32px;padding:34px 30px}.example-caption{font-size:12px;color:#476052}.portal-cards{display:flex;gap:15px;padding:28px 4px 25px}.portal-cards>div{width:50%;min-height:193px;border:2px solid #638bc5;background:#fff;border-radius:14px;padding:18px 14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 20px #30493109;transform:rotate(-5deg)}.portal-cards>div+div{transform:rotate(5deg)}.portal-cards small{font-size:8px;letter-spacing:.1em;color:#597184}.portal-cards strong{font-size:22px;line-height:1.5}.portal-cards span{font-size:11px;color:#2563b7}.example-reason{font-size:14px;background:#f7faf3;border-radius:14px;padding:16px;color:#334d50}
.section-heading{margin-bottom:25px}.section-heading h2{font-size:28px;line-height:1.6;margin:7px 0}.section-heading>p:last-child{color:#58707a;font-size:14px}.course-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.course-choice{border:1px solid #bacebf;border-radius:20px;background:#edf4eb;padding:28px}.course-gp{background:#eef3f6;border-color:#c5d5df}.course-choice-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.course-symbol{width:48px;height:48px;display:grid;place-items:center;background:#fff;border-radius:12px;font-size:22px;font-weight:750;color:#176548}.course-gp .course-symbol{color:#285d87}.free-pill{font-size:11px;font-weight:700;border-radius:30px;background:#fff;padding:7px 11px}.course-choice h3{font-size:23px;line-height:1.6;margin-bottom:12px}.course-choice p{font-size:14px;color:#46616b}.course-choice .portal-link{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin:24px 0 4px;padding:16px 18px;min-height:56px;border:0;border-radius:10px;background:#182e41;color:#fff;text-decoration:none;font-size:15px;font-weight:700}.course-choice .portal-link span{color:inherit;font-size:inherit}.course-choice .portal-link:hover{background:#23445a}.course-more{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-underline-offset:4px}
.portal-method{padding:62px 0}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.method-grid article{border-top:1px solid #cfdbcf;padding-top:20px}.method-grid article>span{font-size:12px;color:#167453;font-weight:750}.method-grid h3{font-size:17px;margin:12px 0}.method-grid p{font-size:13px;color:#506675}.site-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:700;text-underline-offset:5px;margin-top:18px}.portal-notice{background:#e9eee5;border-radius:16px;padding:28px 30px}.portal-notice h2,.portal-help h2{font-size:21px;margin-bottom:10px}.portal-notice p{font-size:14px}.site-small{font-size:12px!important;color:#566c74;margin-top:12px!important}.portal-help{padding:48px 0}.portal-help p{font-size:14px;color:#506675}
.site-footer{border-top:1px solid #d4dfd8;padding:28px 0 22px;margin-top:35px;color:#334c58;font-size:12px}.site-footer .site-wordmark{font-weight:750;text-decoration:none;font-size:15px;display:inline-flex;align-items:center;min-height:44px}.site-footer p{font-size:12px;line-height:1.8;margin:0 0 14px}.site-footer nav{display:flex;flex-wrap:wrap;gap:0 22px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}.site-copyright{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-top:17px;border-top:1px solid #e0e6df;margin-top:15px}.site-copyright a{color:inherit;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}.site-copyright small{font-size:10px}.site-service-links{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:22px;border-top:1px solid #d7dfd7;padding-top:12px}.site-service-links a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#176548;text-underline-offset:4px}
.page-heading{padding:46px 0 30px;border-bottom:1px solid #d7dfd7}.page-heading h1{font-size:34px;line-height:1.5;margin:9px 0 12px;overflow-wrap:anywhere}.page-heading p{font-size:14px;max-width:730px;color:#526b73}.page-meta{font-size:11px!important;margin-top:13px!important}.document-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;padding:32px 0}.page-toc{align-self:start;position:sticky;top:20px;display:flex;flex-direction:column;gap:3px}.page-toc strong{font-size:11px;color:#627a77;margin-bottom:10px;letter-spacing:.1em}.page-toc a{font-size:12px;line-height:1.6;min-height:44px;display:flex;align-items:center;padding:8px 10px;text-decoration:none;border-left:2px solid #d2ded1}.page-toc a:hover{background:#e7eee4}.document-body{max-width:760px;min-width:0;font-size:15px;line-height:1.9}.document-body section{margin-bottom:36px;scroll-margin-top:20px}.document-body h2{font-size:21px;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid #dbe2db;line-height:1.6}.document-body h3{font-size:16px;margin:18px 0 8px}.document-body p{margin:12px 0}.document-body ul,.document-body ol{padding-left:24px;margin:12px 0}.document-body li{margin:6px 0}.document-body a{color:#145f4b;text-underline-offset:4px;overflow-wrap:anywhere}.document-body .callout{padding:17px 20px;background:#eaf1e6;border-left:3px solid #167453;border-radius:0 10px 10px 0;margin:0 0 26px}.document-body .callout p{margin:0}.document-body .contact-card{background:#fff;border:1px solid #c8d9ce;border-radius:14px;padding:22px}.document-body .contact-card a{font-size:18px}.document-body .contact-card p{font-size:14px}.document-body .site-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#182e41;color:#fff;border-radius:9px;padding:11px 17px;text-decoration:none;font-size:14px;font-weight:700;margin:12px 0}.document-body details{border:1px solid #d2ded4;border-radius:10px;margin:12px 0;padding:0 16px;background:#fafbf8}.document-body summary{padding:15px 0;cursor:pointer;font-size:15px;font-weight:650}.document-body details p{font-size:14px}.document-body dl{margin:0}.document-body dt{font-size:13px;font-weight:750;color:#426557;margin-top:20px}.document-body dd{margin:6px 0 15px;overflow-wrap:anywhere}
@media(max-width:760px){.site-shell{padding:0 20px}.site-header{padding:13px 0;gap:10px}.site-brand{font-size:13px;gap:6px}.site-brand img{width:30px;height:34px}.site-brand small{font-size:6px}.site-header nav{gap:10px}.site-header nav a{font-size:11px}.portal-hero{padding:32px 0;display:block}.portal-hero h1{font-size:38px;line-height:1.4;margin:13px 0}.portal-lead{font-size:14px}.portal-promises{margin-top:17px;gap:6px}.portal-promises span{font-size:10px;padding:6px 9px}.portal-example{display:none}.section-heading{margin-bottom:16px}.section-heading h2{font-size:24px}.section-heading>p:last-child{font-size:13px}.course-choice-grid{grid-template-columns:1fr;gap:16px}.course-choice{padding:20px}.course-choice-head{margin-bottom:12px}.course-choice h3{font-size:20px}.course-choice p{font-size:13px}.course-choice .portal-link{margin-top:17px;font-size:14px}.course-symbol{width:40px;height:40px;font-size:20px}.portal-method{padding:38px 0}.method-grid{grid-template-columns:1fr;gap:22px}.method-grid h3{margin:8px 0}.portal-notice{padding:23px 20px}.portal-notice h2,.portal-help h2{font-size:19px}.portal-help{padding:30px 0}.site-footer{margin-top:25px}.site-footer nav{gap:0 15px}.site-footer nav a{font-size:11px}.page-heading{padding:30px 0 24px}.page-heading h1{font-size:27px}.document-layout{display:block;padding-top:22px}.page-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:5px 10px;border-bottom:1px solid #d7dfd7;padding-bottom:18px;margin-bottom:25px}.page-toc strong{width:100%;margin:0}.page-toc a{padding:7px 9px;font-size:11px}.document-body{font-size:14px}.document-body h2{font-size:20px}.document-body .contact-card{padding:18px}.document-body .contact-card a{font-size:16px}}
@media(prefers-reduced-motion:reduce){.site-shell *{scroll-behavior:auto!important}}

/* v1.11: compact footer links and both courses in the first viewport. */
.site-footer nav{gap:3px 16px;align-items:center}.site-footer nav a{min-height:30px;padding:3px 0;line-height:1.5;white-space:nowrap}.site-copyright{padding-top:10px;margin-top:10px;gap:5px}.site-copyright a{text-decoration:none;min-height:32px}.site-copyright a:hover,.site-copyright a:focus-visible{text-decoration:underline}.site-footer{padding:20px 0 16px}.portal-quick-start{display:flex;gap:10px;margin-top:20px}.portal-quick-start a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:11px 14px;border-radius:9px;background:#182e41;color:#fff;text-decoration:none;font-size:13px;font-weight:700}.portal-practice-intro{font-size:12px;margin-top:12px!important;color:#405d62}
@media(max-width:760px){.portal-hero{padding:18px 0}.portal-hero h1{font-size:30px;margin:7px 0}.portal-lead{font-size:12px;line-height:1.65!important}.portal-quick-start{display:grid;grid-template-columns:1fr;margin:14px 0 0;gap:7px}.portal-quick-start a{font-size:13px;min-height:46px}.portal-promises{margin-top:12px}.site-footer nav{gap:4px 14px}.site-footer nav a{min-height:30px}.site-footer p{margin-bottom:8px}.site-copyright a{min-height:30px}}

/* AIババヌキ series directory: supports any number of course cards. */
.course-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.course-choice{display:flex;flex-direction:column;min-width:0}.course-choice h3{font-size:21px;overflow-wrap:anywhere}.course-choice .course-category{font-size:11px;font-weight:750;letter-spacing:.08em;color:#486558;margin-bottom:7px}.course-intro{flex:1}.course-topics{display:flex;flex-wrap:wrap;list-style:none;gap:6px;padding:0;margin:18px 0 14px}.course-topics li{padding:5px 8px;border-radius:6px;background:#ffffffb8;font-size:11px;line-height:1.5;color:#42616c}.course-choice .course-free-summary{font-size:12px}.course-toeic{background:#f5f0e6;border-color:#ded0b8}.course-toeic .course-symbol{color:#935f24}.portal-hero{gap:40px;grid-template-columns:1.2fr 1fr}.portal-hero h1{font-size:50px;letter-spacing:0}.portal-example{padding:26px}.portal-mini-example{border:1px solid #c5d7c8;border-radius:16px;padding:20px;background:#fbfcf9;margin-top:16px}.example-subject{font-size:10px;font-weight:750;color:#476052;letter-spacing:.1em}.portal-word-pair{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.portal-word-pair strong{font-size:22px;line-height:1.4}.portal-word-pair>span{color:#739478;font-size:24px}.portal-mini-example p{font-size:12px;color:#506675}.english-example{background:#fffcf6;border-color:#ded0b8}.example-footnote{font-size:11px;color:#58707a;margin-top:15px!important}.portal-upcoming{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px 0;margin-bottom:35px;border-top:1px solid #d4dfd8;border-bottom:1px solid #d4dfd8}.portal-upcoming h2{font-size:24px;margin:8px 0}.portal-upcoming p{font-size:13px;color:#506675}.portal-upcoming ul{padding:0;margin:0;list-style:none}.portal-upcoming li{display:flex;flex-direction:column;gap:8px;padding:18px 24px;border:1px dashed #aebdb2;border-radius:12px;min-width:200px}.portal-upcoming li strong{font-size:17px}.portal-upcoming li span{font-size:12px;color:#526b73}
@media(max-width:1000px){.portal-hero h1{font-size:39px}.portal-word-pair strong{font-size:18px}.portal-hero{gap:25px}}
@media(max-width:760px){.site-header nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{font-size:10px}.portal-hero{display:block}.portal-hero h1{font-size:35px}.portal-example{display:block;margin-top:28px;padding:18px}.portal-mini-example{padding:15px}.portal-word-pair strong{font-size:22px}.course-choice-grid{grid-template-columns:1fr}.portal-upcoming{display:block}.portal-upcoming ul{margin-top:20px}.portal-upcoming h2{font-size:21px}}
@media(max-width:360px){.site-brand{font-size:12px}.site-brand small{display:none}.site-brand img{width:25px;height:28px}.site-header nav a{font-size:10px}.portal-hero h1{font-size:30px}.course-choice h3{font-size:19px}}

/* No.53: all three entry links occupy equal-width columns, including long course names. */
.portal-quick-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.portal-quick-start a{min-width:0;overflow-wrap:anywhere}.portal-quick-start a>span{flex:none}
@media(max-width:760px){.portal-quick-start{grid-template-columns:1fr}}

/* No.31: identical compact wrapping on standalone service pages. */
.site-footer nav{row-gap:0;column-gap:14px}.site-footer nav a{min-height:24px;line-height:20px;padding:2px 0;color:inherit}.site-footer p{margin-bottom:6px}
/* Public course-specific store links; do not alter the learning controls. */
.store-download{margin:28px 0;padding:20px;border:1px solid #cbd9df;border-radius:16px;background:#fff;color:#163447}
.store-download h2{font-size:1.25rem;margin:0 0 12px}
.store-download p{line-height:1.7}
.store-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.store-download-course h3{font-size:1.05rem;margin:0 0 8px}
.store-download-buttons{display:flex;gap:10px;flex-wrap:wrap}
.store-download a.store-download-button{display:flex;flex:1 1 130px;min-height:60px;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #163447;border-radius:10px;background:#163447;color:#fff;text-decoration:none;font-weight:700;line-height:1.4}
.store-download-button span{font-size:.8rem;font-weight:400}
.store-download-button:focus-visible{outline:3px solid #168b71;outline-offset:3px}
.store-download .store-download-note{font-size:.875rem;margin:14px 0 0;color:#536a77}
@media(max-width:600px){.store-download{padding:16px}.store-download-grid{grid-template-columns:1fr}.store-download-buttons{gap:8px}}
