/* Local preview support only. Existing page/button styles remain in source CSS. */
html{scroll-behavior:auto;scroll-padding-top:90px}
.slider-top-pc.slick-initialized{visibility:visible}
.for-old,.for-nojs{display:none!important}
#nav_toggle{cursor:pointer}
@media(max-width:980px){.spmenu nav.design-open{display:block!important;max-height:calc(100dvh - 50px);overflow:auto}}

/* Restore the existing continuous teacher row; do not divide it into four columns. */
.slider-teacher .teacher-item{width:120px;box-sizing:content-box}

/* Existing service-hub CTA, scoped to the footer to preserve the English page. */
#footer .p-cta{color:#fff;text-align:center;background:url("/migration-assets/merise-seo-review-20261008.vercel.app/top/assets/hub-cta-recruit-bg.webp") center/cover no-repeat;padding:96px 24px;position:relative;overflow:hidden}
#footer .p-cta::before{content:"";z-index:1;background:#0000008c;position:absolute;inset:0}
#footer .p-cta__inner{position:relative;z-index:2;max-width:1004px;width:100%;margin:auto;display:flex;flex-direction:column;align-items:center;gap:24px}
#footer .p-cta__title{margin:0;color:#fff;font-size:48px;font-weight:700;line-height:1.4;letter-spacing:.06em}
#footer .p-cta__title .br-sp{display:none}
#footer .p-cta__lead{margin:0;color:#ffffffeb;font-size:18px;font-weight:700;line-height:1.8;letter-spacing:.03em}
#footer .p-cta__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%}
#footer .p-cta-card{display:flex;flex-direction:column;background:#fff;text-decoration:none;overflow:hidden}
#footer .p-cta-card:hover{opacity:1}
#footer .p-cta-card__media{display:block;aspect-ratio:4/3;position:relative;overflow:hidden}
#footer .p-cta-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s}
#footer .p-cta-card:hover .p-cta-card__img{transform:scale(1.05)}
#footer .p-cta-card__bar{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 8px}
#footer .p-cta-card__logo{display:block;object-fit:contain;width:auto;max-width:70%;height:22px}
#footer .p-cta-card__label{color:#222;font-size:16px;font-weight:700;line-height:1.6}
#footer .p-cta__corp{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}
#footer .p-cta__corp-text{margin:0;font-size:16px;font-weight:700;color:#ffffffd9}
#footer .p-cta__corp .btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:240px;min-height:56px;padding:14px 24px;border:0;border-radius:999px;background:#fff;color:#ed3037;font-size:18px;font-weight:700;text-decoration:none;line-height:1.5}
#footer .p-cta a:focus-visible,#footer .learning-media-link:focus-visible{outline:3px solid #cfad5f;outline-offset:4px}





@media(max-width:1100px){}
@media(max-width:980px){
 .slider-teacher .teacher-item{width:100px}
 #footer .p-cta{padding:56px 20px}
 #footer .p-cta__title{font-size:34px}
 #footer .p-cta__title .br-sp{display:inline}
 #footer .p-cta__lead{font-size:15px}
 #footer .p-cta__lead .br-pc{display:none}
 #footer .p-cta__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #footer .p-cta-card__label{font-size:13px}
 #footer .p-cta-card__bar{padding:12px 6px}
 
 
 
}

/* Media feature and shared group footer. */
#footer #learning-media{background:#f3f3f3;margin:0;padding:64px 24px;max-width:none;border:0}
#footer .media-feature{max-width:1024px;margin:auto;display:flex;flex-direction:column;background:#fff;overflow:hidden}
#footer .media-feature-copy{padding:32px 40px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start}
#footer .media-eyebrow{font-size:12px;line-height:1.7;color:#666;margin:0 0 12px;letter-spacing:.04em}
#footer .media-logo{width:160px;height:auto;display:block;margin-bottom:22px}
#footer .media-feature h2{font-size:27px;line-height:1.55;letter-spacing:.02em;font-weight:700;color:#292c2c;margin:0 0 16px}
#footer .media-description{color:#555;font-size:13px;line-height:1.9;margin:0 0 24px}
#footer .media-button{display:flex;align-items:center;justify-content:space-between;gap:24px;width:260px;max-width:100%;box-sizing:border-box;background:#d33039;border-radius:3px;color:#fff;padding:15px 22px;font-size:14px;line-height:1.6;font-weight:700;text-decoration:none}
#footer .media-feature-visual{min-width:0}
#footer .media-feature-visual img{display:block;width:100%;height:auto}
@media(max-width:700px){
 #footer #learning-media{padding:36px 20px}
 #footer .media-feature{grid-template-columns:1fr}
 #footer .media-feature-copy{padding:28px 24px;grid-template-columns:1fr;gap:4px}
 #footer .media-logo{width:140px;margin-bottom:20px}
 #footer .media-feature h2{font-size:24px}
 #footer .media-description{font-size:13px}
 #footer .media-pc-break{display:none}
 #footer .media-button{width:100%}
}

#footer .media-mobile-break{display:none}
@media(max-width:700px){#footer .media-mobile-break{display:inline}}

/* Complete footer navigation: retain existing English subpages. */
/* Prevent source wide-screen rules from stretching classroom photos to 1440–1508px. */
@media(min-width:981px){.section-lounge .lounge-slider .lounge-item{height:clamp(560px,46vw,720px)}}

/* One menu entry to the existing service section. */
#header .other-services-nav a{white-space:nowrap}
@media(min-width:981px) and (max-width:1360px){
 #gnav .inner_menu>ul>li{margin-left:8px;margin-right:0}
 #gnav .inner_menu>ul>li>a{font-size:11px}
}

/* Hatsuon remains a single named link; blog belongs to the English navigation. */
/* The English footer uses the original markup and source CSS unchanged. */
@media(min-width:981px) and (max-width:1064px){#footer #section-sitelink .inner .global._pc,#footer #section-copy .inner{width:calc(100% - 40px)}}

/* Study-abroad feature follows learner stories in the existing content width. */
#study-abroad-entry{padding:40px 24px 52px;background:#f5f5f5}
#study-abroad-entry *{box-sizing:border-box}
#study-abroad-entry .study-abroad-entry-inner{position:relative;max-width:1024px;margin:auto;min-height:402px;padding:40px 0 0;isolation:isolate}
#study-abroad-entry .study-abroad-entry-visual{position:absolute;z-index:-1;left:0;top:0;width:82%;height:330px}
#study-abroad-entry .study-abroad-entry-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:22% center}
#study-abroad-entry .study-abroad-photo-label{position:absolute;left:24px;top:24px;color:#fff;background:#0004;padding:6px 12px;font-size:11px;letter-spacing:.12em}
#study-abroad-entry .study-abroad-entry-copy{position:relative;width:49%;margin-left:auto;padding:34px 38px 36px;background:#fff;box-shadow:0 8px 28px #00000008}
#study-abroad-entry .study-abroad-eyebrow{color:#d33039;font-size:13px;font-weight:700;line-height:1.6;margin:0 0 20px}
#study-abroad-entry h2{font-size:26px;font-weight:700;line-height:1.6;letter-spacing:.025em;color:#292c2c;margin:0 0 16px;padding:0;border:0;background:none}
#study-abroad-entry h2 span{display:block}
#study-abroad-entry h2::before,#study-abroad-entry h2::after{display:none}
#study-abroad-entry .study-abroad-description{font-size:13px;line-height:1.9;color:#666;margin:0 0 24px}
#study-abroad-entry .study-abroad-entry-button{font-family:inherit;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:3px;background:#d33039;color:#fff;font-size:14px;line-height:1.5;font-weight:700;padding:17px 22px;min-height:54px;width:278px;max-width:100%;text-decoration:none}
#study-abroad-entry .study-abroad-entry-button span{width:13px;height:13px;flex-shrink:0;background:#fff;color:#d33039;border-radius:50%;display:grid;place-items:center;line-height:1;font-size:16px}
#study-abroad-entry .study-abroad-entry-button:focus-visible{outline:3px solid #cfad5f;outline-offset:4px}
@media(max-width:700px){
 #study-abroad-entry{padding:28px 20px 36px}
 #study-abroad-entry .study-abroad-entry-inner{padding:160px 0 0;min-height:0}
 #study-abroad-entry .study-abroad-entry-visual{width:100%;height:230px}
 #study-abroad-entry .study-abroad-entry-copy{width:calc(100% - 20px);padding:25px 24px;margin-left:20px}
 #study-abroad-entry h2{font-size:23px}
 #study-abroad-entry .study-abroad-eyebrow{margin-bottom:14px}
 #study-abroad-entry .study-abroad-description{font-size:12px}
 #study-abroad-entry .study-abroad-entry-button{width:100%;font-size:13px;padding:15px}
 #study-abroad-entry .study-abroad-photo-label{left:15px;top:15px}
}

/* Wide dropdown shell with the existing MeRISE service-hub cards. */
#header .service-menu-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:0;padding:0;color:#292c2c;font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;white-space:nowrap;cursor:pointer}
#header .service-menu-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .15s}
#header .service-menu-toggle[aria-expanded="true"] .service-menu-chevron{transform:rotate(225deg);margin-top:3px}
#header .service-menu-toggle:focus-visible{outline:2px solid #d33039;outline-offset:5px}
#header .service-menu-list[hidden],#header .service-menu-overlay[hidden]{display:none!important}
#header .service-menu-overlay{position:fixed;inset:var(--service-menu-top,88px) 0 0;background:#0005;z-index:100}
#header #gnav .service-menu-list{position:fixed;top:var(--service-menu-top,88px);left:0;right:0;box-sizing:border-box;display:block;margin:0;padding:24px 32px 28px;background:#cf161e url("/migration-assets/merise.asia/service-hub/top/background-chain.png") center/cover no-repeat;background-blend-mode:multiply;box-shadow:0 12px 20px #0002;max-height:calc(100dvh - var(--service-menu-top,88px));overflow:auto;z-index:101;animation:meriseMenuIn .18s ease-out}
#header .service-menu-inner{max-width:1200px;margin:0 auto}
#header .service-menu-heading{margin:0 0 18px;color:#fff;font-size:20px;line-height:1.5;font-weight:700}
#header .service-menu-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card{box-sizing:border-box;display:grid;grid-template-columns:120px minmax(0,1fr);min-height:120px;width:100%;margin:0;padding:0;background:#fff;color:#222;border:0;border-radius:3px;position:relative;overflow:hidden;text-decoration:none;white-space:normal;font-weight:400;line-height:1.35;opacity:1}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card::before,#header :is(#gnav,.spmenu) .service-menu-list .hero-card::after{display:none}
#header .service-menu-list .hero-card__media{display:block;aspect-ratio:1;align-self:start;position:relative;overflow:hidden}
#header .service-menu-list .hero-card__img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0;transition:scale .25s}
#header .service-menu-list .hero-card:hover .hero-card__img{scale:1.05}
#header .service-menu-list .hero-card__logo{box-sizing:content-box;position:absolute;left:8px;bottom:8px;width:auto;height:12px;max-width:calc(100% - 30px);object-fit:contain;background:#ffffffeb;border-radius:3px;padding:4px 7px}
#header .service-menu-list .hero-card__body{display:flex;flex-direction:column;gap:8px;padding:12px 20px;min-width:0}
#header .service-menu-list .hero-card__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
#header .service-menu-list .hero-card__name{font-size:18px;font-weight:700;color:#222;line-height:1.2}
#header .service-menu-list .hero-card__en{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ee3037}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card__points{display:flex;flex-direction:column;gap:4px;float:none;width:auto;margin:0;padding:0;list-style:none}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card__point{display:block;float:none;width:auto;margin:0;padding:0 0 0 20px;border:0;position:relative;font-size:13px;font-weight:400;line-height:1.35;color:#777}
#header .service-menu-list .hero-card__point::before{content:'✓';position:absolute;left:0;top:0;color:#ee3037;font-weight:700}
#header .service-menu-list .hero-card__foot{position:absolute;right:16px;bottom:12px;color:#ee3037;display:flex}
#header .service-menu-list .extlink-svg{width:16px;height:16px}
#header :is(#gnav,.spmenu) .service-menu-corporate{display:flex;justify-content:center;align-items:center;gap:28px;box-sizing:border-box;margin:18px 0 0;padding:12px 20px;border:1px solid #ffffff88;white-space:normal;color:#fff;font-size:13px;line-height:1.5;text-decoration:none}
#header .service-menu-corporate strong{color:#fff;font-size:15px}
#header .service-menu-corporate::after{display:none}
@keyframes meriseMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#header #gnav .service-menu-list{animation:none}}
@media(min-width:981px) and (max-width:1360px){#header .service-menu-toggle{font-size:11px;gap:6px}}
@media(max-width:980px){
 #header .service-menu-overlay{display:none}
 #header .spmenu .service-menu-toggle{width:100%;justify-content:space-between;font-size:15px;padding:18px 20px;text-align:left}
 #header .spmenu .service-menu-list{position:static;display:block;width:100%;box-sizing:border-box;margin:0;padding:16px;background:#cf161e}
 #header .spmenu .service-menu-heading{display:none}
 #header .spmenu .service-menu-cards{grid-template-columns:1fr;gap:8px}
 #header .spmenu .service-menu-list .hero-card{grid-template-columns:80px minmax(0,1fr);min-height:80px}
 #header .spmenu .service-menu-list .hero-card__body{padding:12px 26px 12px 12px;justify-content:center}
 #header .spmenu .service-menu-list .hero-card__head{gap:6px}
 #header .spmenu .service-menu-list .hero-card__name{font-size:15px}
 #header .spmenu .service-menu-list .hero-card__en{font-size:10px}
 #header .spmenu .service-menu-list .hero-card__points{display:none}
 #header .spmenu .service-menu-list .hero-card__foot{right:10px;bottom:12px}
 #header .spmenu .service-menu-corporate{flex-direction:column;gap:6px;margin-top:12px;padding:12px 8px;font-size:11px}
}

/* Keep the open panel above the existing hero slider. */
#header,#header.on-scroll{z-index:3000}
#header:not(.on-scroll){position:relative}
#header .nav-header-pc{overflow:visible}

#header :is(#gnav,.spmenu) .service-menu-list .hero-card{text-align:left}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card__points{height:auto;min-height:0;align-items:stretch;justify-content:flex-start;text-align:left}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card__point{text-align:left;flex-shrink:0}
#header #gnav .inner_menu .service-menu-list .service-menu-corporate{display:flex;width:100%;margin:18px 0 0;padding:12px 20px;color:#fff;border:1px solid #ffffff88}
#header #gnav .inner_menu .service-menu-list .service-menu-corporate>span{color:#fff}

@media(max-width:980px){
 #header :is(#gnav,.spmenu) .service-menu-list .hero-card{grid-template-columns:80px minmax(0,1fr);min-height:80px}
 #header :is(#gnav,.spmenu) .service-menu-list .hero-card__points{display:none}
}

/* Remove the old visible title strip while retaining the page's accessible name. */
#page-home #top-page h1.top-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Source lines were clipped by the header; only the hovered/focused link should show one. */
#header #gnav .inner_menu>ul>li>a::after{opacity:0;bottom:0;transition:opacity .15s}
#header #gnav .inner_menu>ul>li>a:hover::after,#header #gnav .inner_menu>ul>li>a:focus-visible::after{opacity:1;bottom:0}

/* Bound all hero overlays to the hero, including while scrolling or resizing. */
#page-home #top-page .slider-top{isolation:isolate}
#page-home #top-page .ctn-banner{clip-path:inset(0 -12px -32px);contain:layout}


@media(max-width:980px){#page-home #top-page .ctn-banner{clip-path:inset(0 -12px -80px)}}

/* Match the English page's neutral surfaces and give the service trigger breathing room. */
#header #gnav .service-menu-list{background:#f5f5f5;background-image:none;border-top:1px solid #e5e5e5}
#header .service-menu-heading{color:#292c2c}
#header :is(#gnav,.spmenu) .service-menu-list .hero-card{border:1px solid #e4e4e4;border-radius:3px}
#header #gnav .inner_menu .service-menu-list .service-menu-corporate{border:1px solid #ddd;background:#fff;color:#555}
#header #gnav .inner_menu .service-menu-list .service-menu-corporate>span{color:#555}
#header .service-menu-corporate strong{color:#d33039}
#header #gnav .inner_menu>ul>li.service-dropdown{margin-right:18px}
#header .service-menu-toggle{gap:10px;font-size:14px;padding:12px 0}
#header .service-menu-chevron{flex-shrink:0;margin-right:3px}
#header .service-menu-toggle:focus:not(:focus-visible){outline:none}
#header .service-menu-toggle:focus-visible{outline:2px solid #4dbac1;outline-offset:4px}
@media(min-width:981px) and (max-width:1360px){
 #header #gnav .inner_menu>ul>li{margin-left:0}
 #header #gnav .inner_menu>ul>li>a{margin-right:10px}
 #header #gnav .inner_menu>ul>li>a .h,#header .service-menu-toggle{font-size:12px}
 #header #gnav .inner_menu>ul>li.service-dropdown{margin-right:12px}
 #header #gnav .inner_menu>ul>li>.login-member{padding-left:12px;padding-right:12px;margin-right:0}
}
@media(max-width:980px){
 #header .spmenu .service-menu-list{background:#f5f5f5}
 #header .spmenu .service-menu-corporate{background:#fff;border-color:#ddd;color:#555}
}

/* Mobile services use the same ruled text accordion as Plans and Schools. */
@media(max-width:980px){
 #header .spmenu .service-menu-toggle{position:relative;display:block;box-sizing:border-box;width:calc(100% - 40px);margin:0 20px;padding:20px 35px 20px 0;border:0;border-top:1px solid rgb(149 151 151 / 20%);border-radius:0;font-family:inherit;font-size:14px;line-height:1.75;text-align:left;color:#2c2f2f;background:transparent}
 #header .spmenu .service-menu-chevron{display:none}
 #header .spmenu .service-menu-toggle::after{content:"";position:absolute;right:0;top:0;width:50px;height:58px;background:url("/migration-assets/merise-seo-review-20261008.vercel.app/top/assets/cd88a91e99cffc.svg") no-repeat right center;background-size:15px 15px}
 #header .spmenu .service-menu-toggle[aria-expanded="true"]::after{background-image:url("/migration-assets/merise-seo-review-20261008.vercel.app/top/assets/d4a7ae87540174.svg")}
 #header .spmenu .service-menu-list{display:block;position:static;width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
 #header .spmenu .service-menu-list .nav-sub-link{margin-left:20px}
 #header .spmenu .service-menu-list .nav-sub-link a{display:block;width:auto;margin:0 20px;padding:20px 0;border:0;border-top:1px solid rgb(149 151 151 / 20%);font-size:14px;font-weight:400;line-height:1.75;color:#2c2f2f;text-decoration:none}
}

/* Study abroad copy approved 2026-10-09 */
#study-abroad-entry .study-abroad-benefits{list-style:none;padding:0;margin:0 0 24px;font-size:13px;line-height:1.8;color:#666}
#study-abroad-entry .study-abroad-benefits li{position:relative;padding-left:16px;margin:0 0 7px}
#study-abroad-entry .study-abroad-benefits li::before{content:"✓";position:absolute;left:0;color:#d33039}

#study-abroad-entry .study-abroad-eyebrow span,#study-abroad-entry h2 em{display:inline-block;font-style:normal}
