.global-language{position:fixed;right:14px;top:10px;z-index:80;padding:5px;background:rgba(2,11,22,.94);border:1px solid #183149;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.28);backdrop-filter:blur(12px)}
.global-language__menu{display:none;position:absolute;right:0;top:calc(100% + 7px);min-width:132px;padding:5px;background:#020b16;border:1px solid #183149;border-radius:11px}.global-language.is-open .global-language__menu{display:grid;gap:3px}
.global-language button{appearance:none;border:0;border-radius:8px;background:transparent;color:#fff;padding:7px 9px;font:800 .72rem/1 "Noto Sans JP",sans-serif;cursor:pointer}
.global-language button:hover{background:#31d8f3;color:#00101b}
.global-mobile-menu{display:none;position:fixed;right:8px;top:8px;z-index:81}.global-mobile-menu__toggle{width:42px;height:42px;display:grid;place-content:center;gap:4px;border:1px solid #183149;border-radius:11px;background:rgba(2,11,22,.94);box-shadow:0 10px 30px rgba(0,0,0,.28)}.global-mobile-menu__toggle span{display:block;width:19px;height:2px;background:#fff;border-radius:2px}.global-mobile-menu__panel{display:none;position:absolute;right:0;top:49px;width:210px;padding:7px;background:#020b16;border:1px solid #183149;border-radius:12px;box-shadow:0 16px 36px rgba(0,0,0,.45)}.global-mobile-menu.is-open .global-mobile-menu__panel{display:grid}.global-mobile-menu__panel a{padding:10px 11px;border-radius:8px;color:#fff!important;font:800 .82rem/1.35 "Noto Sans JP",sans-serif;text-decoration:none}.global-mobile-menu__panel a:hover{background:#123047;color:#31d8f3!important}
.global-social-panel{padding:68px 20px;background:#03101d;color:#fff;text-align:center;border-top:1px solid #183149}
.global-social-panel__inner{width:min(100%,880px);margin:auto}
.global-social-panel .global-kicker{margin:0 0 9px;color:#31d8f3;font:800 .75rem/1.4 "Noto Sans JP",sans-serif;letter-spacing:.22em}
.global-social-panel h2{margin:0;font:900 clamp(1.7rem,4vw,2.7rem)/1.25 "Noto Sans JP",sans-serif}
.global-social-panel p{margin:14px auto 24px;max-width:680px;color:#9db2c5}
.global-socials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.global-socials a,.social-grid a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 14px;border-radius:13px;color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .2s ease,filter .2s ease}
.global-socials a:hover,.social-grid a:hover{transform:translateY(-2px);filter:brightness(1.08)}
.social-icon,.global-socials svg,.social-grid svg{width:20px;height:20px;flex:0 0 20px}.global-socials>a>svg{width:20px;height:20px}
.social-instagram,.social-grid .instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d 58%,#fcb045)}
.social-x,.social-grid .x-social{background:#050505;border:1px solid #343434}
.social-youtube,.social-grid .youtube{background:#ff0033}
.social-tiktok,.social-grid .tiktok{background:linear-gradient(135deg,#00f2ea 0 5%,#111 22% 78%,#ff0050 95%)}
.social-email,.social-grid .email{background:#1677ff}
#google_translate_element{position:fixed;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
body>.skiptranslate{display:none!important}body{top:0!important}
details.data-details{margin:20px auto 0;max-width:820px;border:1px solid #bfd2df;border-radius:13px;background:rgba(255,255,255,.65);color:#173243}details.data-details summary{cursor:pointer;padding:13px 16px;font-weight:900;text-align:center}details.data-details div{padding:0 18px 16px;font-size:.86rem;line-height:1.8}.social-grid a:before{display:none!important}
@media(max-width:760px){.global-language{top:8px;right:57px}.global-language button{padding:8px 9px;min-height:42px}.global-mobile-menu{display:block}.global-social-panel{padding:46px 16px 88px}.global-socials{grid-template-columns:repeat(2,minmax(0,1fr))}.global-socials a:last-child{grid-column:1/-1}.global-socials a,.social-grid a{min-height:46px}.language-link{display:none!important}section,.section{padding-top:42px!important;padding-bottom:42px!important}.hero{min-height:660px!important;align-items:flex-start!important;place-items:start!important}.hero-copy{padding-top:24px!important;padding-bottom:28px!important}.hero-shell{min-height:auto!important;align-items:flex-start!important}.hero-shell .hero{min-height:auto!important;padding-top:24px!important;padding-bottom:30px!important}.lesson-grid,.grid{gap:14px!important}.card-body{padding:20px!important}.nav-in,.top,.topbar{padding-right:104px!important}.lesson-grid>:nth-child(1){order:1}.lesson-grid>.offtraining-card{order:2}.lesson-grid>.trampoline-card{order:3}.lesson-grid>.indoor-card{order:4}.lesson-grid>.online{order:5}}

/* Shared navigation, mobile density and predictable Japanese wrapping. */
h1,h2,h3,p,li,b,strong{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.global-mobile-menu{display:block!important}
.global-language{top:8px;right:57px;height:42px;padding:0;display:flex;align-items:center}
.global-language__toggle{height:40px;min-height:40px!important;padding:0 10px!important}
.global-mobile-menu__panel{max-height:min(72vh,520px);overflow:auto}
.global-mobile-menu__panel .menu-back-link{margin-top:5px;padding-top:13px;border-top:1px solid #183149;color:#31d8f3!important}
.global-back-link{position:absolute;right:max(8px,calc((100% - 1100px)/2));top:10px;z-index:6;padding:7px 10px;border:1px solid #35536a;border-radius:9px;background:rgba(2,11,22,.82);color:#dceaf4!important;font:800 .72rem/1.2 "Noto Sans JP",sans-serif;text-decoration:none;backdrop-filter:blur(12px)}
.global-footer-back{padding:18px 20px;text-align:center;background:#020b16;border-top:1px solid #183149}
.global-footer-back a{display:inline-flex;padding:10px 15px;border:1px solid #24506b;border-radius:10px;color:#dceaf4!important;font-weight:900;text-decoration:none}
.nav .back-link,.top .back,.top-nav a[href="../"],.lang-switch a:first-child{display:none!important}
.social-icon,.global-socials svg,.social-grid svg,.contact-grid svg{width:15px!important;height:15px!important;flex:0 0 15px!important}
.contact-grid a{display:flex!important;align-items:center;justify-content:center;gap:7px;color:#fff!important}
.contact-grid .social-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d 58%,#fcb045)!important}
.contact-grid .social-x{background:#050505!important;border-color:#343434!important}
.contact-grid .social-email{background:#1677ff!important}
.page-home .profile .profile-image{width:112px;height:112px;aspect-ratio:1;margin:0;flex:0 0 112px}.page-home .profile .profile-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.page-snow .instructor img{object-position:center 34%}
.nz-card{position:relative}.nz-badge{position:absolute;top:12px;left:12px;z-index:2;padding:7px 10px;border-radius:99px;background:rgba(2,11,22,.88);border:1px solid rgba(255,255,255,.42);color:#fff;font:900 .72rem/1 "Noto Sans JP",sans-serif;letter-spacing:.06em}
@media(min-width:761px){.nav-in,.top,.topbar{padding-right:342px!important}.hero-copy{align-self:start;padding-top:22px!important}.page-home .hero,.page-snow .hero,.page-trampoline .hero,.page-indoor .hero{place-items:start!important}.page-home .hero>img{object-position:67% center}.page-snow .hero>img{object-position:68% center}.page-trampoline .hero>img{object-position:58% top}.page-indoor .hero>img{object-position:68% center}}
@media(max-width:760px){
  section,.section{padding-top:30px!important;padding-bottom:30px!important}
  .hero{min-height:auto!important;align-items:start!important;place-items:start!important}
  .hero-copy{padding-top:3px!important;padding-bottom:18px!important}
  .hero-shell .hero{padding-top:3px!important;padding-bottom:12px!important}
  .page-home .hero-shell{min-height:auto!important;align-items:start!important;padding-bottom:0!important}
  .page-home #lessons{padding-top:8px!important}
  .page-home .hero>img{object-position:65% center}
  .page-snow .hero>img{object-position:66% center}
  .page-trampoline .hero>img{object-position:57% top}
  .page-indoor .hero>img{object-position:67% center}
  .page-home .profile{display:grid;grid-template-columns:82px minmax(0,1fr)!important;align-items:start;gap:14px!important;text-align:left}.page-home .profile .profile-image{width:82px!important;height:82px!important;margin:0!important;flex:0 0 82px}.page-snow .instructor img{width:82px!important;height:82px!important;border-radius:50%!important;margin:0!important;flex:0 0 82px;object-fit:cover}
  .global-social-panel{padding:34px 16px 58px}
  .global-socials a,.social-grid a{min-height:42px;padding:8px 10px}
  .global-back-link{top:8px;right:8px}
}

.top-nav,.nav-in>a:not(.brand),.language-link,.lang-switch,.top>.back{display:none!important}
.hero-grid,.hero-copy{position:relative;z-index:1}
body[class] main>section:nth-of-type(even):not(.light){background-color:#061421}
.social-grid,.contact-grid{display:flex!important;justify-content:center!important;align-items:center;flex-wrap:nowrap!important;gap:12px!important}
.social-grid a,.contact-grid a{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border:0!important;border-radius:12px!important;font-size:0!important;background:#fff!important;overflow:hidden}
.social-grid a .social-icon,.contact-grid a .social-icon{width:100%!important;height:100%!important;flex:0 0 100%!important}
.social-grid a img,.contact-grid a img{width:100%!important;height:100%!important;object-fit:contain!important}
.page-home .profile .profile-image{order:2}.page-home .profile .profile-copy{order:1}
.page-home .connect{background:#061421;padding-bottom:64px}
.page-snow .nz-card>img{object-fit:contain!important;object-position:center!important;background:#071525}
.page-trampoline .trampoline-hero>img{object-fit:contain!important;object-position:right center!important;background:#020b16}
.page-trampoline .trampoline-videos-section .video{min-width:320px;width:320px}
.page-trampoline .trampoline-videos-section .video iframe{aspect-ratio:1/1!important;background:#000}
.page-trampoline #trampoline-for-you .one-card,.page-trampoline #trampoline-for-you .card{display:block;background:transparent;border:0;overflow:visible}
.page-trampoline #trampoline-for-you .card-body{padding:0!important}
.page-trampoline #trampoline-for-you .check{margin:0!important;columns:2;column-gap:28px}
.page-trampoline #trampoline-for-you .check li{break-inside:avoid;padding:7px 0}
.sale-label{display:inline-block;margin:0 0 10px;padding:5px 10px;border-radius:99px;background:#ff315c;color:#fff;font-weight:900}
.page-trampoline .price del{color:#7e8d98;font-size:.88rem;margin-right:7px;text-decoration-thickness:2px}
.page-trampoline .price .row strong{color:#00bcdc;font-size:1.12rem;white-space:nowrap}
.page-indoor .hero>img{object-fit:contain!important;object-position:right center!important;background:#020b16}
.page-indoor .small-note{margin:10px 0 0;color:#9db2c5;font-size:.82rem}
.page-online .hero{background-position:right center!important;background-size:auto 100%!important;background-repeat:no-repeat!important}
.page-online .features .feature>span,.page-online .flow .step:before{display:inline-block;vertical-align:baseline}
.page-online .features .feature>h3{display:inline;vertical-align:baseline;margin-left:10px}
.page-online .flow .step:before{font-size:1.45rem;line-height:1}
.page-online .flow .step b{display:inline;margin:0 0 0 8px;vertical-align:baseline}
.page-online .flow .step p{margin-top:8px}
.page-home .hero-shell{background:linear-gradient(90deg,rgba(0,8,17,.98) 0%,rgba(0,8,17,.72) 44%,rgba(0,8,17,.08) 82%),url("home-hero-v2.webp") right center/auto 100% no-repeat,#020b16!important}

@media(max-width:760px){
  .page-home .profile{grid-template-columns:minmax(0,1fr) 82px!important}
  .page-home .profile .profile-image{order:2}.page-home .profile .profile-copy{order:1}
  .page-trampoline .trampoline-hero{min-height:610px!important}
  .page-trampoline .trampoline-hero>img{object-fit:contain!important;object-position:right top!important}
  .page-trampoline #trampoline-for-you .check{columns:1}
  .page-trampoline .trampoline-videos-section .video{min-width:78vw;width:78vw}
  .page-indoor .hero{min-height:650px!important}
  .page-indoor .hero>img{object-fit:contain!important;object-position:right top!important}
  .page-online .hero{background-size:auto 100%!important;background-position:right top!important;background-repeat:no-repeat!important}
  .social-grid a,.contact-grid a{width:40px!important;height:40px!important;min-height:40px!important}
}

/* 2026-09 final shared navigation, heroes and contact refinements */
header.topbar,header.top,.nav{position:sticky!important;top:0;z-index:60;background:rgba(2,11,22,.94);backdrop-filter:blur(14px);border-bottom:1px solid #183149}
.brand[href="#top"],.brand[href="../"]{cursor:pointer}
.global-socials{display:flex!important;justify-content:center;align-items:center;flex-wrap:nowrap;gap:14px}
.global-socials a{width:44px;height:44px;min-height:44px!important;padding:0!important;border-radius:12px;background:#fff!important;border:0!important;overflow:hidden;box-shadow:none!important}
.global-socials a img{width:100%;height:100%;object-fit:contain}
.social-icon img{width:100%;height:100%;object-fit:contain}
.global-socials a span{display:none}
.global-social-panel{background:#061421}
.global-footer-back{background:#020b16}
.global-back-link{display:none!important}
.hero:after{background:linear-gradient(90deg,rgba(1,8,17,.96) 0%,rgba(1,8,17,.68) 43%,rgba(1,8,17,.08) 82%)!important}
.page-trampoline .trampoline-hero:after{background:linear-gradient(90deg,rgba(1,8,17,.96) 0%,rgba(1,8,17,.68) 43%,rgba(1,8,17,.08) 82%)!important}
.page-indoor .hero>img{object-fit:cover!important;object-position:center center!important}
details.data-details summary{list-style:none}
details.data-details summary::-webkit-details-marker{display:none}

@media(min-width:1180px){
  .global-mobile-menu{display:block!important;top:11px;right:146px;z-index:81}
  .global-mobile-menu__toggle{display:none}
  .global-mobile-menu__panel,.global-mobile-menu.is-open .global-mobile-menu__panel{display:flex;position:static;width:auto;max-width:none;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
  .global-mobile-menu__panel a{padding:8px 7px;font-size:.72rem;white-space:nowrap}
  .global-mobile-menu__panel a:hover{background:#123047}
  .global-mobile-menu__panel .menu-back-link{margin:0 0 0 4px;padding:8px 9px;border:1px solid #24506b;border-radius:8px;color:#31d8f3!important}
  .global-language{right:14px;top:10px;height:42px;padding:0;display:flex;align-items:center}
  .global-language__toggle{height:40px;min-height:40px;padding:0 10px!important}
  .top-nav,.nav-in>a:not(.brand),.language-link,.lang-switch{display:none!important}
  .nav-in,.top,.topbar{padding-right:0!important}
}

@media(max-width:760px){
  .global-social-panel{padding:32px 16px 52px!important}
  .global-socials{gap:10px}
  .global-socials a{width:40px;height:40px}
  .hero:after,.page-trampoline .trampoline-hero:after{background:linear-gradient(90deg,rgba(1,8,17,.94) 0%,rgba(1,8,17,.62) 50%,rgba(1,8,17,.12) 90%)!important}
  .page-home .hero-shell{background:linear-gradient(90deg,rgba(0,8,17,.96) 0%,rgba(0,8,17,.68) 48%,rgba(0,8,17,.1) 88%),url("home-hero-v2.webp") right top/auto 100% no-repeat,#020b16!important}
  .page-snow .hero{background-position:66% 45%!important;background-size:cover!important}
  .page-trampoline .hero>img{object-position:58% top!important;transform:none!important}
  .page-indoor .hero>img{object-position:58% center!important;transform:none!important}
  .page-online .hero{background-position:60% top!important;background-size:cover!important}
}
.lite-video{position:relative;display:block;width:100%;padding:0;border:0;background:#020b16;cursor:pointer;overflow:hidden;color:#fff}.lite-video img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}.lite-video__play{position:absolute;left:50%;top:50%;width:64px;height:46px;transform:translate(-50%,-50%);border-radius:14px;background:#f00;box-shadow:0 5px 22px rgba(0,0,0,.4)}.lite-video__play:after{content:"";position:absolute;left:26px;top:13px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}.lite-video:focus-visible{outline:3px solid #31d8f3;outline-offset:3px}.lite-video+iframe,.video-card>iframe,.video>iframe,.movie-frame>iframe,.shorts>iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
/* Only the Shibakatsu facility Short uses a portrait frame. Keep the full
   thumbnail height visible without changing any other lesson video. */
.page-indoor #indoor-movie .indoor-shorts-video{height:100%}
.page-indoor #indoor-movie .indoor-shorts-video img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
}
.page-indoor #indoor-movie .indoor-shorts-video+iframe{
  width:100%;
  height:100%;
  aspect-ratio:auto;
}
main>section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 760px}
/* Machine-translated pages must expose every section immediately; otherwise
   Google can skip off-screen sections and translate them only after scrolling. */
.language-en main>section,
.language-zh main>section{content-visibility:visible!important;contain-intrinsic-size:none!important}
.page-trampoline main>section{content-visibility:visible!important;contain-intrinsic-size:none!important}
.page-trampoline #trampoline-curriculum{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  content-visibility:visible!important;
  contain:none!important;
  background:#eaf7ff!important;
  color:#06111c!important;
}
.page-trampoline #trampoline-curriculum .wrap,
.page-trampoline #trampoline-curriculum .grid,
.page-trampoline #trampoline-curriculum .card{
  visibility:visible!important;
  opacity:1!important;
}
.page-trampoline #trampoline-curriculum .lead{color:#3e5a6b!important}
.page-trampoline #trampoline-curriculum .card{display:block!important;background:#fff!important;border-color:#cfdeea!important;color:#06111c!important}

/* Snow lesson videos are all Shorts: keep a compact portrait frame instead of
   letting the shared 16:9 video rule create oversized horizontal thumbnails. */
.page-snow #videos .videos{align-items:flex-start}
.page-snow #videos .video-card{flex:0 0 230px;max-width:230px}
.page-snow #videos .lite-video,
.page-snow #videos .video-card>img,
.page-snow #videos .video-card>iframe{
  width:100%;
  aspect-ratio:9/16!important;
  height:auto!important;
}
.page-snow #videos .lite-video img{
  width:100%;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover;
  object-position:center;
}
@media(max-width:760px){
  .page-snow #videos .video-card{flex-basis:min(64vw,240px);max-width:min(64vw,240px)}
}

/* Readability fixes for light and dark section variants. */
.page-indoor .board-list-content,
.page-indoor .board-list-content p,
.page-indoor .board-list-content b,
.page-indoor .board-list-content small,
.page-indoor .board-list-grid p{color:#183247!important}
.page-indoor #indoor-rental .split,
.page-indoor #indoor-rental .lead,
.page-indoor #indoor-rental h2,
.page-indoor #indoor-rental h3,
.page-indoor #indoor-rental .check{color:#e7f2f8!important}
.page-indoor #indoor-movie .lead,
.page-indoor #indoor-movie .small-note{color:#365062!important}
.page-home .numbers .section-head>p{color:#365062!important}
.page-snow #results .head>p{color:#365062!important}
.page-snow #price .head>p{color:#365062!important}
.page-online #price .head>p{color:#365062!important}

/* Native English home: dark lesson cards and white statistics cards. */
html[lang="en"] .page-home #lessons .card h3{color:#f7fbff!important}
html[lang="en"] .page-home #lessons .card p{color:#c8d8e4!important}
html[lang="en"] .page-home #lessons .head>p{color:#365062!important}
html[lang="en"] .page-home #home-results .stat,
html[lang="en"] .page-home #home-results .stat strong{color:#071525!important}
html[lang="en"] .page-home #home-results .stat strong span{color:#079dcc!important}
.coach-intro-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center}
.coach-intro-grid>img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid #31d8f3}
.coach-intro-grid h2{margin:4px 0 10px;font-size:clamp(2rem,5vw,3.4rem)}
.coach-intro-grid p:last-child{max-width:720px;color:#c8d8e4}

/* Keep the online price panel below the copy and away from the rider. */
.page-online .hero-grid{display:block!important;max-width:1080px;margin-left:auto!important;margin-right:auto!important}
.page-online .hero-copy,
.page-online .online-hero-copy,
.page-online .hero-grid>div{max-width:560px}
.page-online .hero .price-card{margin-top:22px;max-width:470px;padding:22px 24px}
.page-online .hero .price-card strong{font-size:clamp(3rem,5vw,4.4rem)}

@media(max-width:760px){
  .coach-intro-grid{grid-template-columns:88px minmax(0,1fr);gap:16px}
  .coach-intro-grid>img{width:88px;height:88px}
  .page-online .hero-grid{max-width:100%}
  .page-online .hero .price-card{max-width:min(92%,470px);margin-top:16px;padding:16px 18px}
}

/* Full-width sticky header: keep the brand aligned to the 1100px content grid. */
header.topbar,
header.top {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: max(20px, calc((100vw - 1100px) / 2)) !important;
  padding-right: max(20px, calc((100vw - 1100px) / 2)) !important;
}
header .brand { white-space: nowrap; }

/* The complete snow menu does not fit safely at small desktop widths. */
@media (min-width:1180px) and (max-width:1439px) {
  .global-mobile-menu {
    position: fixed !important;
    top: 8px !important;
    right: 8px !important;
  }
  .global-mobile-menu__toggle { display: grid !important; }
  .global-mobile-menu__panel,
  .global-mobile-menu.is-open .global-mobile-menu__panel {
    display: none;
    position: absolute;
    right: 0;
    top: 49px;
    width: min(320px, calc(100vw - 16px));
    max-height: min(72vh, 520px);
    padding: 7px;
    background: #020b16;
    border: 1px solid #183149;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(0,0,0,.45);
    overflow: auto;
  }
  .global-mobile-menu.is-open .global-mobile-menu__panel { display: grid; }
  .global-mobile-menu__panel a { padding: 10px 11px; font-size: .82rem; }
  .global-mobile-menu__panel .menu-back-link {
    margin: 5px 0 0;
    padding: 13px 11px 10px;
    border: 0;
    border-top: 1px solid #183149;
    border-radius: 0;
  }
  .global-language { right: 57px; top: 8px; }
}

@media (max-width:760px) {
  header.topbar,
  header.top {
    padding-left: 14px !important;
    padding-right: 104px !important;
  }
}
