@font-face{font-family:Bebas;src:url('assets/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Logo;src:url('assets/sans-bold.woff2');font-weight:700;font-display:swap}
:root{--red:#f5292e;--ink:#151515;--jp:"hiragino-kaku-gothic-pron","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background-color:#fff;font:300 16px/1.9 var(--jp);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}p,figure{margin:0}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.5;font-synthesis:none}h2{font-size:clamp(29px,3vw,44px);letter-spacing:.015em}h3{font-size:22px}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.display{font:400 64px/.95 Bebas,sans-serif;font-synthesis:none}.skip{position:absolute;z-index:20;background:#fff;padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}.header{margin:0 5%;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:700 27px/1.2 Logo,sans-serif;white-space:nowrap}.brand span{display:block;font:300 11px/1.9 var(--jp);margin-top:6px}.header nav{display:flex;align-items:center;gap:22px;font-size:14px}.header nav>a{min-height:44px;display:flex;align-items:center}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;background:var(--red);color:#fff;min-height:52px;padding:12px 20px;font:600 16px/1.7 var(--jp);text-align:left}.cta:hover{background:#bf1720}.header .cta{font-size:14px;padding:10px 15px}.opening-band{background:var(--red);color:#fff;text-align:center;padding:7px 20px;font-weight:600;font-size:18px}.hero-stage{position:relative;isolation:isolate;height:690px;max-width:1600px;margin:auto 5%}.hero-copy{position:relative;z-index:2;padding-top:48px;width:40%}.hero h1{font-size:120px;line-height:.9;letter-spacing:0}.audience{margin-top:30px;font-weight:600}.hero-tagline{margin:10px 0 24px;font-weight:600}.hero-media{position:absolute;z-index:1;right:-3%;top:100px;width:70%}.hero-media img{transform:scale(.9)}.spray{position:absolute;z-index:0;inset:8% -1% 10% 18%}.spray img{height:100%;object-fit:contain;transform:rotate(-9deg)}.plane{transform:translate3d(0,var(--depth-y,0px),0)}.ticker{background:var(--red);color:#fff;overflow:hidden;padding:15px 0}.ticker-track{display:flex;width:max-content;animation:ticker-right 32s linear infinite}.ticker-group{display:flex;justify-content:space-around;align-items:center;gap:48px;flex:none;width:max(100vw,900px);min-width:100vw;padding:0 24px}.ticker-group span{font:400 24px/1 Bebas,sans-serif;white-space:nowrap}@keyframes ticker-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}.ticker:hover .ticker-track,.ticker:focus-within .ticker-track,.motion-hidden .ticker-track,.ticker-offscreen .ticker-track{animation-play-state:paused}.section{padding:96px 5%;max-width:1600px;margin:auto;border-bottom:1px solid #ddd}.eyebrow{display:flex;gap:12px;align-items:center;font:600 11px/1.7 var(--jp);letter-spacing:.08em;margin-bottom:24px}.eyebrow:before{content:'';width:24px;height:2px;flex:none;background:var(--red)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px}.section-head>p{max-width:520px}.trial-facts{display:flex;gap:16px;flex-wrap:wrap;margin:38px 0}.trial-facts span{border-bottom:2px solid var(--red);padding:6px 16px 10px;font-weight:600}.schedule-label{margin-bottom:24px}.trial-grid,.teachers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.trial-card{background:#fff;border:1px solid #ccc;padding:26px 22px}.trial-card h4{font-size:21px}.trial-card dl{margin:25px 0}.trial-card dl>div{display:grid;grid-template-columns:3em 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #eee}.trial-card dd{margin:0}.trial-card .cta{display:flex;font-size:16px;padding:12px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:44px 0}.steps li{border-top:1px solid #999;padding-top:20px}.steps .display{font-size:64px;color:var(--red)}.steps h3{font-size:18px;margin-top:15px}.belongings{display:flex;align-items:center;gap:42px;background:#f7f7f5;padding:26px 30px}.belongings ul{display:flex;gap:40px;margin:0;padding-left:20px}.teachers-grid{margin-top:40px}.photo-placeholder{aspect-ratio:4/3;background:#f2f2f0;display:grid;place-content:center;text-align:center;color:#555;border:1px solid #ddd}.teacher h3{font-size:50px;margin:24px 0 10px}.teacher .genre{font-weight:600;margin-bottom:12px}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.class-card{padding:26px;min-height:210px;background:#f4f3ef;display:flex;flex-direction:column}.class-card:nth-child(3n){background:#151515;color:#fff}.class-card.featured{background:var(--red);color:#fff}.class-card .display{font-size:48px;opacity:.8}.class-card h3{margin:24px 0 12px;font-size:25px}.class-card .eyebrow{margin:0;margin-top:auto}.class-card.featured .eyebrow:before{background:#fff}.spirit h2{text-align:center}.spirit-quote{font-size:clamp(24px,2.8vw,38px);text-align:center;margin:36px 0}.spirit-copy{max-width:36em;margin:0 auto;font-weight:600;line-height:1.9}.spirit-copy p+p{margin-top:28px}.spirit-art{position:relative;width:min(560px,90%);aspect-ratio:1672/941;margin:44px auto 10px}.spirit-art .plane{position:absolute;inset:0}.spirit-art img{height:100%;object-fit:contain}.faq{max-width:1150px}.faq h2{margin-bottom:40px}details{border-top:1px solid #aaa;padding:0 0 22px}details:last-child{border-bottom:1px solid #aaa}summary{cursor:pointer;font-size:18px;font-weight:600;padding:24px 0 4px;min-height:48px}details p{padding:18px 0 0;max-width:48em}.line-section{max-width:none;background:#151515;color:#fff;border:0}.line-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:6%}.opening-copy{font-size:18px;margin:28px 0;max-width:36em}.line-section .cta{background:#fff;color:#151515}.line-pending{margin-top:18px;color:#ddd}.year-art{position:relative}.year-art>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:clamp(90px,10vw,150px)}.year-art small{font:400 16px/1.9 Bebas,sans-serif;margin-top:20px;letter-spacing:.08em}footer{background:#151515;color:#fff;padding:35px 5%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #555}footer>a:last-child{padding:12px 0;min-height:44px}.mobile-reserve{display:none}
@media(max-width:1100px){.header nav>a:not(.cta){display:none}.hero h1{font-size:100px}.hero-copy{width:46%}.hero-media{width:66%;top:160px}.trial-grid{gap:16px}.trial-card{padding:22px 16px}.trial-card h4{font-size:18px}.trial-card dl>div{display:block}.trial-card .cta{font-size:15px}}
@media(max-width:760px){body{font-size:15px;padding-bottom:80px}.header{min-height:100px;margin:0 6%;gap:10px}.brand{font-size:25px}.brand span{font-size:11px;white-space:normal;max-width:210px}.header .cta{font-size:12px;max-width:145px;padding:10px;min-height:48px}.opening-band{font-size:16px;padding:8px 12px}.hero-stage{height:auto;min-height:790px;margin:0 6%;padding-bottom:25px;display:flex;flex-direction:column}.hero-copy{width:100%;padding-top:32px}.hero h1{font-size:78px;line-height:.94}.audience{font-size:15px;margin-top:28px}.hero-tagline{font-size:15px;margin:12px 0 20px}.hero-copy>.cta{width:100%;font-size:15px}.hero-media{position:relative;top:auto;right:auto;width:112%;margin:28px -6% 0}.spray{inset:53% -8% 0}.spray img{transform:rotate(-12deg)}.ticker-group span{font-size:21px}.section{padding:64px 6%}h2{font-size:30px}h3{font-size:21px}.eyebrow{font-size:11px;margin-bottom:22px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:24px}.trial-facts{gap:8px;margin:30px 0}.trial-facts span{padding:6px 10px;font-size:15px}.trial-grid,.teachers-grid{grid-template-columns:1fr;gap:24px}.trial-card{padding:26px 22px}.trial-card h4{font-size:22px}.trial-card dl>div{display:grid}.trial-card .cta{font-size:15px;min-height:52px}.steps{grid-template-columns:1fr 1fr;gap:28px 20px;margin:34px 0}.steps .display{font-size:54px}.steps h3{font-size:17px}.belongings{display:block;padding:24px}.belongings ul{display:block;margin-top:14px}.belongings li+li{margin-top:8px}.teacher h3{font-size:46px}.photo-placeholder{aspect-ratio:3/2}.class-grid{grid-template-columns:1fr 1fr;gap:14px}.class-card{padding:20px 16px;min-height:200px}.class-card h3{font-size:20px;overflow-wrap:anywhere}.class-card.featured{grid-column:1/-1;min-height:220px}.class-card.featured h3{font-size:30px}.class-card .eyebrow{font-size:11px;letter-spacing:0}.spirit h2,.spirit-quote{text-align:left}.spirit-quote{font-size:25px;margin:28px 0}.spirit-copy{font-size:15px;line-height:1.9}.spirit-art{width:100%;margin-top:30px}.faq h2{margin-bottom:30px}summary{font-size:17px;padding-top:23px}details p{font-size:15px}.line-grid{grid-template-columns:1fr;gap:36px}.line-section h2{font-size:30px}.opening-copy{font-size:15px}.line-section .cta{width:100%;font-size:15px}.line-pending{font-size:15px}.year-art{width:270px;max-width:90%;margin:auto}.year-art>span{font-size:100px}.year-art small{font-size:15px}footer{padding:30px 6%;display:block}footer>a:last-child{display:inline-block;margin-top:22px;font-size:15px}.mobile-reserve{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;padding:10px 6% max(10px,env(safe-area-inset-bottom));box-shadow:0 -2px 10px #0000000d}.mobile-reserve .cta{width:100%;min-height:52px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plane{transform:none!important}.ticker-track{animation:none!important}.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.mobile-reserve{display:none}.plane{transform:none!important}.ticker-track{animation:none}.section{break-inside:avoid}}
.reveal-ready{opacity:0;transform:translateY(16px)}.reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .35s ease,transform .45s ease}
@media(max-width:760px){.header{display:block;padding:20px 0}.header nav{display:grid;grid-template-columns:repeat(4,auto);gap:6px;margin-top:12px;font-size:13px}.header nav>a:not(.cta){display:flex;justify-content:center;min-height:44px}.header .cta{grid-column:1/-1;font-size:15px;max-width:none;min-height:52px;padding:12px 16px}.header .brand span{max-width:none}.header .brand{display:block}}
@media(min-width:761px) and (max-width:1100px){.header{flex-wrap:wrap;padding:18px 0}.header nav{width:100%;justify-content:space-between;gap:16px;font-size:14px}.header nav>a:not(.cta){display:flex;min-height:44px}}
@media(max-width:760px){.header nav{font-size:14px}}
/* Release: contain the art locally, without relying on a wide canvas. */
html{max-width:100%;overflow-x:clip}body{max-width:100%;overflow-x:clip}.hero{overflow:clip}.hero-stage{max-width:90%;overflow:clip}.spray{max-width:100%}.ticker{width:100%;max-width:100%;contain:inline-size;overflow:clip}.section,.header,footer{min-width:0}.section *{min-width:0}.faq{max-width:1600px}.next-trial{grid-template-columns:1fr;max-width:850px}.next-trial .trial-card{padding:32px}.next-trial h3{font-size:26px;margin-bottom:26px}.steps{grid-template-columns:repeat(5,minmax(0,1fr))}.step-note{font-size:14px;line-height:1.9;margin-top:14px}.teacher-photo{aspect-ratio:3/4;background:#151515;display:grid;place-items:center;overflow:hidden}.teacher-photo .display{font-size:clamp(120px,16vw,220px);color:#fff}.teacher-photo img{width:100%;height:100%;object-fit:cover}.teacher-intro>span{display:block}.line-section .cta{background:var(--red);color:#fff}.phrase{display:inline-block}.mobile-reserve[hidden]{display:none!important}
@media(max-width:760px){
 body{padding-bottom:0;word-break:keep-all;overflow-wrap:anywhere}.header .cta{display:none}.header nav{grid-template-columns:repeat(3,minmax(0,1fr));font-size:14px}.header nav>a:not(.cta){padding:0 6px}.hero-stage{max-width:none;width:88%;margin:0 auto;overflow:clip;min-height:0}.hero-copy{padding-top:28px}.hero-media{width:100%;margin:26px 0 0;right:auto;flex:none}.hero-media img{transform:none}.spray{inset:54% 0 0;max-width:100%}.hero-copy .audience,.hero-tagline,.section-head>p,.spirit-copy{text-align:center;font-size:14px;line-height:1.9}.section p br{display:none}.hero-copy p br{display:none}.hero h1 br{display:initial}.spirit h2,.spirit-quote{text-align:center}.section-head>p{margin-inline:auto}.next-trial{width:100%}.next-trial .trial-card{padding:25px 20px}.next-trial h3{font-size:23px}.steps{grid-template-columns:1fr;gap:24px}.steps li{display:grid;grid-template-columns:60px 1fr;gap:0 20px}.steps h3{margin-top:0;align-self:center}.step-note{grid-column:2;font-size:14px}.teacher-photo{aspect-ratio:3/4}.teacher-photo .display{font-size:180px}.teacher-intro{font-size:15px}.cta{max-width:100%;overflow-wrap:anywhere}.line-section .opening-copy{font-size:15px;line-height:1.9}.phrase{max-width:100%;white-space:normal}.mobile-reserve:not([hidden]){display:block}.mobile-reserve{bottom:0;max-width:100%;box-sizing:border-box}.reserve-active footer{padding-bottom:110px}
}
.spirit h2,.spirit-quote{text-align:left}@media(max-width:760px){.spirit h2,.spirit-quote{text-align:center}}
/* Finish only: Japanese rhythm, compact teacher rows, and a quiet closing. */
body{line-break:strict;letter-spacing:0}h2,h3,h4,summary,.cta,.audience,.hero-tagline,.opening-band,.next-trial h3{font-feature-settings:"palt";letter-spacing:.01em}.hero h1{font-feature-settings:normal;letter-spacing:0}.eyebrow{letter-spacing:.08em}.copy-unit{display:inline-block;max-width:100%;vertical-align:top}.step-duration{font-size:14px;line-height:1.9;white-space:nowrap;margin-top:6px}.step-title h3{margin-top:15px}.teacher-photo{aspect-ratio:4/5;max-height:360px;width:100%}.teacher-photo .display{font-size:180px}.spirit-copy{margin-left:0;margin-right:auto;max-width:36em}.closing-simple{text-align:left;max-width:1440px;margin:0 auto}.closing-simple h2{font-size:clamp(26px,2.8vw,40px)}.closing-simple .opening-copy{font-size:16px;margin:22px 0 28px;max-width:42em}
@media(max-width:760px){
 .hero-stage{display:grid;grid-template-columns:45% 55%;grid-template-rows:auto auto;gap:24px 0;padding-top:28px;padding-bottom:32px;min-height:0;align-items:center}.hero-copy{display:contents}.hero h1{grid-column:1;grid-row:1;position:relative;z-index:2;font-size:clamp(49px,16vw,68px);line-height:.94;width:100%;margin:0}.hero-media{grid-column:2;grid-row:1;position:relative;top:auto;right:auto;width:100%;margin:0;align-self:center;z-index:1}.hero-media img{width:100%;transform:none}.hero-info{grid-column:1/-1;grid-row:2;position:relative;z-index:2;text-align:center;width:100%}.hero-info .audience{margin-top:0}.hero-info>.cta{width:100%;font-size:15px}.hero-stage .spray{inset:0 0 auto 0;height:230px;max-width:100%}.hero-stage .spray img{transform:rotate(-9deg)}.hero-tagline{margin:12px 0 20px}.step-title{grid-column:2;align-self:center}.step-title h3{margin-top:0}.step-duration{font-size:14px;margin-top:2px}.teacher{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:20px;align-content:start}.teacher-photo{grid-column:1;grid-row:1/5;aspect-ratio:1;max-height:120px;width:120px}.teacher-photo .display{font-size:86px}.teacher h3{grid-column:2;font-size:36px;margin:0 0 5px}.teacher .genre{grid-column:2;font-size:14px;margin-bottom:8px}.teacher-intro{grid-column:2;font-size:14px;line-height:1.9}.teachers-grid{gap:32px}.spirit-copy{margin-left:auto;margin-right:auto;text-align:center;max-width:36em}.closing-simple h2{font-size:27px}.closing-simple .opening-copy{font-size:14px;line-height:1.9;margin:18px 0 24px}.closing-simple .cta{width:100%}
}
@media(min-width:761px){.teacher-photo{width:min(100%,288px)}.audience .copy-unit{display:block}}
/* Sticky editorial header: all horizontal overflow belongs to its nav. */
html{scroll-padding-top:150px}.header{position:sticky;top:0;z-index:30;background:#fff;margin:0;padding:18px 5%;min-height:100px;border-bottom:1px solid #151515;gap:24px}.header .brand{flex:0 1 auto;min-width:0}.header .logo-art{display:flex;align-items:center;gap:7px;font:400 40px/1 Bebas,sans-serif;letter-spacing:0;margin:0;white-space:nowrap}.header .logo-art>span{font:inherit;display:block;margin:0;letter-spacing:0}.header .logo-lab{background:var(--red);color:#fff;padding:2px 6px;transform:rotate(-3deg)}.header .brand-subtitle{font:300 11px/1.7 var(--jp);margin-top:8px;max-width:none;letter-spacing:0}.header nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0;min-width:0;width:auto}.header nav>.nav-tab{display:flex;align-items:center;gap:9px;border:1px solid var(--ink);position:relative;padding:8px 14px;min-height:44px;white-space:nowrap;font-size:14px;font-weight:600;flex:none}.nav-number{font:400 15px/1 Bebas,sans-serif;color:var(--red)}.header .nav-tab:hover{background:var(--ink);color:#fff}.header .nav-tab[aria-current="location"]:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--red)}.header nav>.cta{margin-left:8px;flex:none}.header-compact .header{padding-top:9px;padding-bottom:9px;min-height:76px}.header-compact .header .logo-art{font-size:31px}.header-compact .header .brand-subtitle{margin-top:5px}.section{scroll-margin-top:8px}
@media(min-width:761px) and (max-width:1100px){.header{flex-wrap:wrap}.header nav{width:100%;justify-content:space-between}.header .nav-tab{padding-inline:12px}}
@media(max-width:760px){html{scroll-padding-top:180px}.header{display:block;padding:14px 6% 12px;min-height:0;max-width:100%}.header .logo-art{font-size:32px}.header .brand-subtitle{font-size:11px;margin-top:7px}.header nav{display:flex;justify-content:flex-start;gap:10px;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:12px 0 8px;scrollbar-width:thin}.header nav>.nav-tab{padding:8px 11px;font-size:14px;min-height:44px;flex-shrink:0}.header nav>.cta{display:none}.header-compact .header{padding:9px 6% 7px;min-height:0}.header-compact .header .logo-art{font-size:27px}.header-compact .header .brand-subtitle{margin-top:5px}.header-compact .header nav{padding-top:8px}.nav-number{font-size:14px}}
html{scroll-padding-top:var(--header-anchor,200px)}
@media(max-width:760px){.hero-info .audience>.copy-unit,.trial .section-head>p>.copy-unit{width:100%}}
/* Polish: official Oswald 700 text logo; exact WiLD LAB casing is in HTML. */
@font-face{font-family:Oswald;src:url('assets/Oswald-Variable.ttf') format('truetype');font-weight:200 700;font-display:swap}
.header .logo-art,footer .logo-art{font:700 40px/1.15 Oswald,sans-serif;font-synthesis:none;text-transform:none;letter-spacing:0;display:inline-block;position:relative;isolation:isolate;white-space:nowrap;margin:0;color:#151515}
.logo-art:before{content:'';position:absolute;z-index:-1;inset:-10% -9%;background:url('assets/spray-horizontal.webp') center/contain no-repeat;transform:rotate(-7deg);pointer-events:none;opacity:.64}
.header .brand-subtitle,footer .brand-subtitle{display:block;font:700 15px/1.5 Oswald,sans-serif;letter-spacing:.015em;margin:8px 0 0;color:inherit}
.header .brand-descriptor,footer .brand-descriptor{display:block;font:300 11px/1.7 var(--jp);letter-spacing:0;margin:2px 0 0}
footer .logo-art{color:#fff}.header-compact .header .logo-art{font:700 31px/1.15 Oswald,sans-serif}.header-compact .header .brand-subtitle{margin-top:5px}
.faq details>p{max-width:40em;word-break:keep-all;overflow-wrap:anywhere;line-break:strict}.faq-unit{display:inline-block;max-width:100%;vertical-align:top;word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:760px){
 .header .logo-art{font:700 32px/1.15 Oswald,sans-serif}.header .brand-subtitle{font-size:14px;margin-top:7px}.header .brand-descriptor{font-size:11px}
 .hero-stage{grid-template-columns:40% 60%}.hero h1{font-size:clamp(45px,14.5vw,61px);line-height:.94}.hero-stage .spray{left:40%;right:0;top:28px;bottom:auto;height:clamp(140px,43vw,185px);max-width:60%;overflow:clip}.hero-stage .spray img{transform:none;width:100%;height:100%;object-fit:contain}.hero-media{max-width:100%;overflow:clip}
 .header-compact .header{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;min-height:56px;padding:6px 4%}.header-compact .header .brand{flex:none}.header-compact .header .logo-art{font:700 25px/1.15 Oswald,sans-serif}.header-compact .header .brand-subtitle,.header-compact .header .brand-descriptor{display:none}.header-compact .header nav{flex:1 1 auto;width:0;min-width:0;max-width:100%;padding:0;margin:0;gap:8px;overflow-x:auto}.header-compact .header nav>.nav-tab{min-height:44px;padding:7px 10px;font-size:14px}.header-compact .header .nav-tab[aria-current="location"]:after{bottom:0}.header-compact .header nav>.cta{display:none}
}

/* Refined: quiet full-width section surfaces and a single red accent system. */
body{background:#fff}
.section{max-width:none;margin:0;border:0;padding:120px max(5%,calc((100% - 1440px)/2));position:relative;isolation:isolate}
.hero,.trial,.spirit{background:#fff}
.preparation,.faq{background:#F2F2F0}
#teachers,.line-section{background:#151515;color:#fff}
.teacher-photo{background:transparent;border:1px solid #fff}
.ticker{background:#151515;color:#fff}
.trial-facts{flex-wrap:nowrap;gap:0;overflow-x:auto;max-width:100%;white-space:nowrap;scrollbar-width:thin;padding-bottom:8px}
.trial-facts span{border:0;padding:0;font-weight:300;font-size:14px;flex:none}
.trial-facts span+span:before{content:'／';display:inline-block;margin:0 14px}
.belongings{background:transparent;padding:34px 0 0;gap:42px}
.steps .display,.nav-number{color:inherit}
.header .nav-tab[aria-current="location"]:after{background:var(--ink)}
.eyebrow:before{background:var(--ink)}
.section>.eyebrow:before,.section-head .eyebrow:before{background:var(--red)}
#teachers>.eyebrow:before{background:var(--red)}
a:focus-visible,summary:focus-visible{outline-color:currentColor}
.header,footer{border:0}
.logo-art:before{inset:-10%;opacity:1}
.opening-label{font-size:14px;font-weight:600;line-height:1.9;margin:24px 0 10px;letter-spacing:.01em;font-feature-settings:"palt"}
.hero-tagline{font-size:28px;font-weight:600;line-height:1.65;margin:0 0 16px}
.hero-info .audience{font-size:14px;font-weight:300;line-height:1.9;margin:0 0 24px}
.hero-info .audience .copy-unit{display:block}
@media(max-width:760px){
 .section{padding:80px 6%}
 .opening-label{text-align:center;font-size:13px;margin:0 0 12px}
 .hero-tagline{font-size:20px;font-weight:600;line-height:1.7;margin:0 0 14px}
 .hero-info .audience{font-size:14px;margin:0 0 22px}
 .trial-facts span{font-size:14px}.trial-facts span+span:before{margin:0 10px}
 .belongings{padding:28px 0 0}
}

.operator-logo{width:160px;max-width:42%;flex:none}.operator-logo img{width:100%;height:auto}
@media(max-width:760px){.operator-logo{width:140px;max-width:60%;margin-top:30px}}

/* Supplied RGB parts are intentionally shown unmodified for placement review. */
.street-parts{display:flex;justify-content:flex-end;align-items:center;gap:48px;min-height:180px;margin-top:48px;padding:22px 12px;overflow:clip;pointer-events:none}
.street-part{display:block;flex:none;width:130px}.street-part img{width:100%;height:130px;object-fit:contain;transform:rotate(-8deg)}
.street-part:nth-child(2) img{transform:rotate(8deg)}
.shoe-art{display:block;width:70px;height:70px;margin:0 0 8px;overflow:clip;pointer-events:none}.shoe-art .plane{display:block}.shoe-art img{width:65px;height:58px;object-fit:contain;transform:rotate(-7deg)}
.belongings ul{align-items:center}.shoes-item{list-style:none}
@media(max-width:760px){.street-parts{min-height:120px;margin-top:32px;padding:16px 8px;gap:0}.street-part{width:88px}.street-part img{height:88px}.street-part:nth-child(n+2){display:none}.shoe-art{width:60px;height:60px}.shoe-art img{width:56px;height:50px}.shoes-item{margin-top:16px!important}}

/* ===== Street parts: oversized, edge-bleeding stickers (Luka, 2026-10-20) ===== */
.section,.hero{position:relative}
.section{overflow:clip}
.section>*:not(.street-parts){position:relative;z-index:1}
.street-parts{position:absolute;inset:0;z-index:0;display:block;margin:0;padding:0;min-height:0;gap:0;overflow:visible;pointer-events:none}
.street-part{position:absolute;display:block;width:var(--w,320px)}
.street-part img{width:100%;height:auto;object-fit:contain;transform:rotate(var(--r,-8deg));filter:none}
.p-trial-a{--w:clamp(300px,30vw,460px);--r:-11deg;right:-3%;top:34%}
.p-trial-b{--w:clamp(170px,15vw,240px);--r:13deg;right:24%;bottom:-40px}
.p-flow-a{--w:clamp(220px,19vw,300px);--r:7deg;right:-2%;top:-30px}
.p-flow-b{--w:clamp(90px,8vw,130px);--r:-14deg;right:21%;top:70px}
.p-teach-a{--w:clamp(200px,17vw,280px);--r:24deg;right:3%;top:30px}
.p-teach-b{--w:clamp(150px,13vw,210px);--r:-12deg;left:-50px;bottom:-60px}
.p-spirit-a{--w:clamp(340px,34vw,540px);--r:0deg;right:-8%;top:50%;margin-top:calc(var(--w) / -2)}
.p-spirit-b{--w:clamp(160px,14vw,230px);--r:-16deg;right:30%;bottom:20px}
.p-faq-a{--w:clamp(200px,17vw,270px);--r:12deg;right:2%;top:40px}
.p-line-a{--w:clamp(300px,28vw,440px);--r:-9deg;right:4%;top:50%;margin-top:calc(var(--w) / -2.2)}
.p-line-b{--w:clamp(110px,9vw,150px);--r:14deg;right:33%;top:28px}
.spirit-art{display:none}
.spirit-copy,.spirit-quote,.spirit h2{max-width:34em}
.line-grid{grid-template-columns:1fr}
.street-part{animation:part-float 6s ease-in-out infinite}
.street-part:nth-child(2){animation-duration:7.5s;animation-delay:-2s}
@keyframes part-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
/* belongings with illustrations */
.belongings ul{display:flex;gap:56px;list-style:none;padding:0;margin:0;align-items:flex-end}
.belong-item{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-weight:600}
.belong-art{display:block;width:96px;height:96px}
.belong-art img{width:100%;height:100%;object-fit:contain;transform:rotate(-6deg)}
.belong-art--empty{visibility:hidden}
@media(max-width:1100px){.p-trial-b,.p-spirit-b,.p-line-b,.p-flow-b{display:none}}
@media(max-width:760px){
 .p-trial-a{--w:150px;right:-30px;top:auto;bottom:-20px}
 .p-flow-a{--w:110px;right:-14px;top:20px}
 .p-teach-a{--w:120px;right:-10px;top:24px}.p-teach-b{display:none}
 .p-spirit-a{--w:190px;right:-70px;top:30px;margin-top:0}
 .p-faq-a{--w:110px;right:-6px;top:30px}
 .p-line-a{--w:170px;right:-40px;top:auto;bottom:-30px;margin-top:0}
 .belongings ul{gap:28px}.belong-art{width:72px;height:72px}
}
@media(prefers-reduced-motion:reduce){.street-part{animation:none}}
/* parallax offsets grew with page distance and pushed lower parts out of view; use a gentle scroll-independent float instead */
.street-parts .plane{transform:none!important}
@media(max-width:760px){.p-spirit-a{--w:170px;top:auto;bottom:-50px;right:-50px}}

/* ===== Brush-up v2: parts may cross section borders vertically ===== */
.section{overflow:visible;overflow-x:clip}
.street-parts{z-index:2}
.section>*:not(.street-parts){z-index:3}
.hero-parts{position:absolute;inset:0;z-index:3}
.p-hero-a{--w:clamp(70px,6vw,96px);--r:-14deg;left:clamp(250px,22vw,330px);top:270px}
.p-trial-a{--w:clamp(320px,31vw,480px);--r:-10deg;right:-4%;top:30%}
.p-trial-b{--w:clamp(170px,14vw,220px);--r:16deg;right:27%;bottom:-86px}
.p-flow-a{--w:clamp(240px,20vw,320px);--r:6deg;right:2%;top:-120px}
.p-flow-b{--w:clamp(70px,6vw,96px);--r:-18deg;right:25%;top:56px}
.p-teach-a{--w:clamp(230px,19vw,310px);--r:26deg;right:2%;top:24px}
.p-teach-b{--w:clamp(110px,9vw,150px);--r:-12deg;right:30%;top:70px;left:auto;bottom:auto}
.p-spirit-a{--w:clamp(380px,38vw,600px);--r:0deg;right:-10%;top:50%;margin-top:calc(var(--w) / -2)}
.p-spirit-b{--w:clamp(170px,14vw,220px);--r:-14deg;right:33%;bottom:-70px}
.p-faq-a{--w:clamp(260px,22vw,340px);--r:13deg;right:-3%;top:30px}
.p-faq-b{--w:clamp(70px,6vw,96px);--r:16deg;right:24%;top:96px}
.p-line-a{--w:clamp(320px,30vw,460px);--r:-8deg;right:5%;top:50%;margin-top:calc(var(--w) / -2.1)}
.p-line-b{--w:clamp(80px,7vw,110px);--r:14deg;right:36%;top:40px}
.street-part:nth-child(2){animation-duration:8s}
@media(max-width:1100px){.p-hero-a{display:none}.p-trial-b,.p-spirit-b,.p-line-b,.p-flow-b,.p-faq-b,.p-teach-b{display:none}}
@media(max-width:760px){
 .p-trial-a{--w:160px;right:-34px;top:auto;bottom:-56px}
 .p-flow-a{--w:120px;right:-10px;top:-30px}
 .p-teach-a{--w:130px;right:-14px;top:18px}
 .p-spirit-a{--w:190px;right:-60px;top:auto;bottom:-70px;margin-top:0}
 .p-faq-a{--w:130px;right:-18px;top:22px}
 .p-line-a{--w:180px;right:-40px;top:auto;bottom:-20px;margin-top:0}
}
/* v2.1: resolve collisions */
.p-trial-a{top:22%}
.p-flow-a{top:-40px;right:3%}
@media(max-width:760px){
 .p-line-a{--w:150px;top:-20px;bottom:auto;right:-30px}
 .p-spirit-a{--w:170px;bottom:-100px;right:-80px}
}

/* ===== Spray stencil logo image (Luka, 2026-10-20) ===== */
.logo-art,footer .logo-art{font-size:0;line-height:0;display:inline-block;position:relative;isolation:isolate}
.logo-art .logo-img{display:block;height:46px;width:auto;max-width:none}
.logo-art:before{inset:-18% -8%;opacity:.9;transform:rotate(-6deg)}
footer .logo-art .logo-img{height:52px}
.header-compact .logo-art .logo-img{height:30px}
@media(max-width:760px){.logo-art .logo-img{height:36px}footer .logo-art .logo-img{height:42px}.header-compact .logo-art .logo-img{height:26px}}
/* v3: left-side stickers + larger logo */
.logo-art .logo-img{height:40px}
footer .logo-art .logo-img{height:46px}
.header-compact .logo-art .logo-img{height:28px}
.p-trial-c{--w:clamp(130px,11vw,170px);--r:-18deg;left:2%;bottom:-78px}
.p-spirit-c{--w:clamp(130px,11vw,170px);--r:12deg;left:3%;bottom:-74px}
.p-faq-c{--w:150px;--r:-22deg;left:calc((1150px - 100vw) / 2 + 30px);top:46%}
@media(max-width:1340px){.p-faq-c{display:none}}
@media(max-width:1100px){.p-trial-c,.p-spirit-c{--w:120px}}
@media(max-width:760px){
 .logo-art .logo-img{height:32px}footer .logo-art .logo-img{height:38px}.header-compact .logo-art .logo-img{height:24px}
 .p-trial-c{--w:96px;left:-14px;bottom:-56px}
 .p-spirit-c{--w:96px;left:-12px;bottom:-52px}
}
.logo-art .logo-img{height:34px}footer .logo-art .logo-img{height:40px}.header-compact .logo-art .logo-img{height:24px}
@media(max-width:760px){.logo-art .logo-img{height:28px}footer .logo-art .logo-img{height:32px}.header-compact .logo-art .logo-img{height:20px}}
.logo-art:before{inset:-30% -10%}
/* v3.1: stronger left side */
.p-trial-c{--w:clamp(150px,14vw,210px);left:1%;bottom:-96px}
.p-spirit-c{--w:clamp(150px,14vw,210px);left:2%;bottom:-92px}
.p-faq-c{--w:180px}
.p-teach-c{--w:clamp(130px,11vw,170px);--r:-16deg;left:-46px;bottom:36px}
.p-line-c{--w:clamp(120px,10vw,160px);--r:-12deg;left:-40px;bottom:46px}
.header-compact .logo-art .logo-img{height:28px}
@media(max-width:1100px){.p-teach-c,.p-line-c{display:none}}
@media(max-width:760px){.header-compact .logo-art .logo-img{height:24px}.p-trial-c{--w:110px;bottom:-62px}.p-spirit-c{--w:110px;bottom:-60px}}
.p-teach-c{display:none}
.p-line-c{--w:120px;top:10px;bottom:auto;left:-34px}

/* ===== Header tabs in the spray / stencil tone (Luka) ===== */
.header nav>.nav-tab,.header-compact .header nav>.nav-tab{border:0!important;background:none!important;padding:8px 10px;gap:8px;min-height:44px;position:relative;isolation:isolate;font:700 15px/1 var(--jp);letter-spacing:.02em;color:var(--ink);font-feature-settings:"palt"}
.header nav>.nav-tab:after{display:none!important}
.header nav>.nav-tab .nav-number{font:400 17px/1 Bebas,sans-serif;color:var(--red);letter-spacing:.02em;transform:translateY(1px)}
.header nav>.nav-tab:before{content:'';position:absolute;z-index:-1;left:-6px;right:-6px;top:50%;height:30px;margin-top:-15px;background:url('assets/spray-horizontal.webp') center/100% 100% no-repeat;transform:rotate(-4deg) scaleX(.15);transform-origin:left center;opacity:0;transition:transform .35s cubic-bezier(.2,.9,.3,1),opacity .2s}
.header nav>.nav-tab:hover:before,.header nav>.nav-tab[aria-current]:before{opacity:.9;transform:rotate(-4deg) scaleX(1)}
.header nav>.nav-tab:hover .nav-number,.header nav>.nav-tab[aria-current] .nav-number{color:var(--ink)}
.header nav{gap:18px}
@media(prefers-reduced-motion:reduce){.header nav>.nav-tab:before{transition:none}}
@media(max-width:760px){.header nav{gap:6px}.header nav>.nav-tab,.header-compact .header nav>.nav-tab{font-size:14px;padding:8px 8px}}
/* tabs: spray sits under the label like a marker underline, keeping text legible */
.header nav>.nav-tab:before{top:auto;bottom:4px;height:13px;margin-top:0;left:-2px;right:-2px;transform:rotate(-2deg) scaleX(.15)}
.header nav>.nav-tab:hover:before,.header nav>.nav-tab[aria-current]:before{opacity:.85;transform:rotate(-2deg) scaleX(1)}
.header nav>.nav-tab:hover .nav-number,.header nav>.nav-tab[aria-current] .nav-number{color:var(--red)}
/* logo: spray slightly lower and lighter so the letters stay crisp */
.logo-art:before{inset:12% -6% -22% -6%;opacity:.7}
/* sections must not isolate, so stickers that cross a border sit above the neighbouring section's background */
main>.section{isolation:auto}
/* v4: keep every sticker fully inside the screen (no edge cut-offs) */
.p-trial-a{right:2%}
.p-spirit-a{--w:clamp(340px,32vw,500px);right:2%}
.p-faq-a{right:2%}
.p-faq-c{display:none}
.p-line-c{left:12px}
@media(max-width:760px){
 .p-trial-a{--w:140px;right:6px}
 .p-teach-a{--w:118px;right:6px}
 .p-spirit-a{--w:150px;right:6px;bottom:-80px}
 .p-faq-a{--w:118px;right:6px}
 .p-line-a{--w:130px;right:6px}
 .p-trial-c{left:4px}.p-spirit-c{left:4px}
}

/* ===== Hero refinement (Luka, 2026-10-20) ===== */
/* header: one calm row */
@media(min-width:761px){
 .header{min-height:84px;padding:14px 0;flex-wrap:nowrap!important}
 .header nav{width:auto!important;flex:0 1 auto;justify-content:flex-end!important;gap:14px;padding:0!important;overflow:visible}
 .brand-descriptor{display:none!important}
 .brand-subtitle{font-size:12px!important;margin-top:4px!important;letter-spacing:.06em!important}
}
@media(min-width:761px) and (max-width:1100px){
 .header nav{gap:4px}
 .header nav>.nav-tab{font-size:13px!important;padding:8px 7px!important}
 .header nav>.cta{font-size:13px!important;padding:10px 12px!important;margin-left:6px}
 .logo-art .logo-img{height:28px}
}
/* stage: full first view, two-column poster */
.hero-stage{height:auto;min-height:min(calc(100svh - 84px - 54px),860px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:0;padding:28px 0 48px}
.hero-copy{grid-column:1;grid-row:1;width:auto;padding:0;position:relative;z-index:3}
.hero-media{grid-column:2;grid-row:1;position:relative!important;right:auto!important;top:auto!important;width:auto!important;margin:0 -4% 0 -10%;z-index:2}
.hero-media img{transform:none!important;width:100%}
.spray{inset:6% -2% 4% 30%!important}
.hero-title{font-size:clamp(96px,9.6vw,152px)!important;line-height:.84!important;letter-spacing:-.005em;margin:0}
.hero-title span{display:block}
.hero-title i{font-style:normal;color:var(--red)}
.opening-label{display:inline-flex!important;align-items:stretch;margin:34px 0 18px!important;font-size:13px!important;letter-spacing:.06em!important;border:1.5px solid var(--ink)}
.opening-label .ol-place{background:var(--ink);color:#fff;padding:5px 10px;font-weight:700}
.opening-label .ol-text{padding:5px 12px;font-weight:700}
.hero-tagline{font-size:clamp(24px,2.3vw,34px)!important;line-height:1.5!important;margin:0 0 14px!important;letter-spacing:.01em;font-feature-settings:"palt"}
.hero-info .audience{font-size:14px!important;color:#444;margin:0 0 28px!important}
.hero-copy .cta{min-height:58px;padding:14px 22px;font-size:16px}
.hero-sub{display:inline-flex;align-items:center;gap:8px;margin-left:22px;font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding:2px 0}
.hero-sub:hover{color:var(--red)}
.p-hero-a{--w:clamp(64px,5.4vw,88px);--r:-14deg;left:auto;right:auto;top:auto;grid-area:auto}
.hero-parts .p-hero-a{left:calc(41.6% - 40px);top:12%}
/* tablet */
@media(min-width:761px) and (max-width:1100px){
 .hero-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;padding:24px 0 40px}
 .hero-title{font-size:clamp(84px,11vw,118px)!important}
 .hero-media{margin:0 -6% 0 -14%}
 .hero-sub{display:flex;margin:16px 0 0;width:max-content}
}
/* phone: headline + art side by side, copy centred under */
@media(max-width:760px){
 .hero-stage{display:grid;grid-template-columns:44% 56%;align-items:center;min-height:0;padding:18px 0 34px}
 .hero-copy{display:contents}
 .hero-title{grid-column:1;grid-row:1;font-size:clamp(58px,17vw,74px)!important;line-height:.86!important}
 .hero-media{grid-column:2;grid-row:1;margin:0 -10% 0 -6%}
 .hero-info{grid-column:1/-1;grid-row:2;text-align:center;margin-top:20px}
 .opening-label{margin:0 0 14px!important;font-size:12px!important}
 .hero-tagline{font-size:22px!important}
 .hero-info .audience{font-size:13px!important;margin-bottom:22px!important}
 .hero-copy .cta{width:100%}
 .hero-sub{margin:16px auto 0;display:flex;width:max-content}
 .spray{inset:4% -4% 46% 30%!important}
}
@media(min-width:761px){.header{margin:0!important;padding:14px 5%!important;box-sizing:border-box;width:100%}}
.hero-parts .p-hero-a{left:24%;top:9%}
@media(min-width:761px) and (max-width:1100px){.hero-parts .p-hero-a{display:block;--w:64px;left:31%;top:6%}}

/* ===== Header A: black bar + official WiLDCARD logo (Luka, 2026-10-20) ===== */
.header{background:#151515!important;color:#fff}
.logo-art:before{display:none!important}
.brand{color:#fff!important;display:flex!important;flex-direction:column;gap:7px;text-decoration:none}
.brand-row{display:flex;align-items:center;gap:14px}
.brand-kind{display:block;font:700 11px/1.35 var(--jp)!important;letter-spacing:.08em;color:#fff;padding-left:14px;border-left:1px solid rgba(255,255,255,.45);margin:0!important;white-space:nowrap}
.brand-by{display:flex!important;align-items:center;gap:7px;margin:0!important;font:600 10px/1 Oswald,sans-serif!important;letter-spacing:.06em;color:#bbb}
.brand-by img{height:13px;width:auto;display:block}
.brand-subtitle,.brand-descriptor{display:none!important}
.logo-art .logo-img{height:30px}
.header nav>.nav-tab{color:#fff!important}
.header nav>.nav-tab .nav-number{color:var(--red)!important}
.header .cta{background:var(--red)!important;color:#fff!important}
.header .cta:hover{background:#fff!important;color:#151515!important}
.header-compact .header{box-shadow:0 1px 0 rgba(255,255,255,.08)}
.header-compact .brand-by,.header-compact .brand-kind{display:none!important}
.header-compact .logo-art .logo-img{height:24px}
@media(min-width:761px){.header{min-height:88px;padding:16px 5%!important}}
@media(max-width:760px){
 .header{padding:14px 6% 6px!important}
 .logo-art .logo-img{height:26px}
 .brand-kind{font-size:10px!important;padding-left:10px}
 .brand-row{gap:10px}
 .brand-by img{height:11px}
 .header nav{padding-top:10px!important}
 .header-compact .logo-art .logo-img{height:20px}
}
/* footer brand on black */
footer .brand{color:#fff!important}
footer .logo-art .logo-img{height:38px}
footer .brand-by img{height:15px}
.brand .brand-row{display:flex!important;align-items:center;gap:14px;margin:0!important}
.brand .brand-kind{display:block!important;margin:0!important}
.brand .brand-by{display:flex!important;margin:0!important}
.header-compact .header .brand-by,.header-compact .header .brand-kind{display:none!important}
.header-compact footer .brand-by,.header-compact footer .brand-kind{display:flex!important}
.header-compact footer .brand-kind{display:block!important}
footer .brand .brand-kind{font-size:12px!important}
@media(max-width:760px){.brand .brand-row{gap:10px}}
.brand .brand-kind{white-space:nowrap!important;max-width:none!important}

/* ===== v5 (Luka 2026-10-20): brand label, trial heading, facts, steps, black texture ===== */
.brand .brand-kind{font:600 10px/1.25 Oswald,sans-serif!important;letter-spacing:.16em!important}
.brand .brand-by{align-items:center!important;gap:8px!important;height:13px}
.brand .brand-by .by-label{display:block!important;font:500 9px/1 Oswald,sans-serif!important;letter-spacing:.18em;color:#9a9a9a;margin:0!important;transform:translateY(.5px)}
.brand .brand-by img{height:12px!important;display:block}
footer .brand .brand-by{height:15px}footer .brand .brand-by img{height:15px!important}footer .brand .brand-by .by-label{font-size:10px!important}
/* trial heading */
.trial-lead{font:700 15px/1.4 var(--jp);letter-spacing:.04em;margin:0 0 8px;color:#555}
#trial h2{font-feature-settings:"palt"}
.sp-br{display:none}
/* trial facts: tags, never a sideways scroller */
.trial-facts{display:flex!important;flex-wrap:wrap!important;gap:10px!important;overflow:visible!important;margin:30px 0 34px!important;padding:0!important;white-space:normal!important}
.trial-facts span{display:inline-flex!important;align-items:center;border:1.5px solid #151515!important;border-radius:999px;padding:6px 14px!important;font-weight:700;font-size:14px!important;line-height:1.3;white-space:nowrap;background:#fff}
.trial-facts span:before,.trial-facts span:after{display:none!important;content:none!important}
/* trial: keep the boombox clear of the copy */
.p-trial-a{top:auto!important;bottom:60px;right:2%;--w:clamp(260px,24vw,380px)}
.p-trial-b{right:30%;bottom:-86px}
/* steps: duration as a chip above the title, short note */
.step-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.step-duration{display:inline-block!important;order:-1;background:#151515;color:#fff;font:600 12px/1 var(--jp)!important;padding:5px 9px;margin:0!important;letter-spacing:.04em}
.step-note{font-size:13px!important;line-height:1.8!important;color:#555;margin-top:8px!important}
/* black areas: paper texture instead of flat black */
.header,.ticker,#teachers,.line-section,footer{background-color:#141414!important;background-image:url('assets/texture-black-v2.webp')!important;background-size:1200px auto!important;background-repeat:repeat!important;background-position:center!important}
@media(max-width:760px){
 .sp-br{display:inline}
 #trial h2{font-size:30px;line-height:1.4}
 .trial-lead{font-size:14px}
 .trial-facts{justify-content:center;gap:8px!important}
 .trial-facts span{font-size:13px!important;padding:6px 12px!important}
 .p-trial-a{--w:120px!important;bottom:-46px;right:6px}
 .steps li{grid-template-columns:64px 1fr!important}
 .step-title h3{font-size:17px!important;line-height:1.5}
 .step-note{font-size:13px!important}
 .header,.ticker,#teachers,.line-section,footer{background-size:800px auto!important}
}
.step-title h3{margin:0!important;padding:0!important;text-indent:0!important}

/* ===== Paper texture on light areas (Luka) ===== */
body,.hero,#trial,#about{background-color:#fafafa!important;background-image:url('assets/paper-white.webp?v=2')!important;background-size:1200px auto!important;background-repeat:repeat!important}
#flow,#faq{background-color:#efefed!important;background-image:url('assets/paper-grey.webp')!important;background-size:1200px auto!important;background-repeat:repeat!important}
@media(max-width:760px){body,.hero,#trial,#about,#flow,#faq{background-size:800px auto!important}}

/* ===== Hero dance video (multiply onto paper so the white disappears) ===== */
.hero-media{position:relative}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}
.hero-video-on .hero-media>img{visibility:hidden}
/* ===== HERO v2 (2026-10-20): 動画を全面に敷き、文字とボタンを中央に重ねる ===== */
.hero-v2{position:relative;isolation:isolate;overflow:clip;display:grid;place-items:center;min-height:max(620px,calc(100svh - var(--hh,92px)));padding:56px 5% 64px}
.hero-v2 .hv-media{position:absolute;inset:0;z-index:0}
.hero-v2 .hv-media>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}
.hero-video-on .hero-v2 .hv-poster{visibility:hidden}
.hero-v2 .hv-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
 background:
  radial-gradient(ellipse 62% 58% at 50% 52%,rgba(250,250,248,.55),rgba(250,250,248,0) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  rgba(250,250,248,.6)}
.hero-v2 .hv-copy{position:relative;z-index:2;width:100%;max-width:1320px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-v2 .opening-label{margin:0 0 22px!important}
.hero-v2 .hv-title{margin:0;font-size:clamp(64px,12.6vw,200px);line-height:.86;letter-spacing:0;color:var(--ink);white-space:nowrap}
.hero-v2 .hv-title i{font-style:normal;color:var(--red)}
.hero-v2 .hv-tag{margin:26px 0 8px;font-size:clamp(22px,2.3vw,34px);font-weight:600;line-height:1.5;letter-spacing:.01em;font-feature-settings:"palt"}
.hero-v2 .hv-aud{margin:0 0 30px;font-size:15px;font-weight:600;line-height:1.8;color:#2a2a2a}
.hero-v2 .hv-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.hero-v2 .cta{min-height:58px;padding:14px 24px;font-size:16px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.hero-v2 .hero-sub{margin:0}
@media(max-width:760px){
 .hero-v2{padding:36px 6% 40px;min-height:calc(100svh - var(--hh,100px))}
 .hero-v2 .hv-veil{background:
  radial-gradient(ellipse 90% 60% at 50% 50%,rgba(250,250,248,.55),rgba(250,250,248,0) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  rgba(250,250,248,.62)}
 .hero-v2 .hv-title{font-size:clamp(80px,27vw,120px);white-space:normal;line-height:.9}
 .hero-v2 .hv-title span{display:block}
 .hero-v2 .opening-label{margin:0 0 18px!important}
 .hero-v2 .hv-tag{font-size:21px;margin:20px 0 6px}
 .hero-v2 .hv-aud{font-size:13px;margin-bottom:22px}
 .hero-v2 .hv-aud .copy-unit{display:block}
 .hero-v2 .hv-actions{flex-direction:column;gap:14px;width:100%}
 .hero-v2 .cta{width:100%;font-size:15px}
}
/* parts-guard.js が重なりを検出したパーツを隠す */
.street-part.part-off{visibility:hidden!important}

/* HERO v2.1: 主役コピーを日本語「「好き」が、いちばんの才能。」に変更 */
.hero-v2 .hv-title-jp{font-family:"hiragino-kaku-gothic-pron","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP","Noto Sans CJK JP",sans-serif;font-weight:900;font-synthesis:weight;font-size:clamp(46px,7.4vw,118px);line-height:1.18;letter-spacing:-.02em;font-feature-settings:"palt";white-space:normal;color:var(--ink)}
.hero-v2 .hv-title-jp .hv-line{display:block;white-space:nowrap}
.hero-v2 .hv-title-jp em{font-style:normal;color:var(--red)}
@media(max-width:760px){.hero-v2 .hv-title-jp{font-size:clamp(34px,11.2vw,56px);line-height:1.25}}

/* HERO v2.2: ダンススタジオであることを見出し内で明示し、ダンサーを少し見せる */
.hero-v2 .hv-title-jp .hv-kicker{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px;font-size:clamp(17px,1.9vw,28px);font-weight:800;line-height:1.4;letter-spacing:.06em;white-space:nowrap}
.hero-v2 .hv-title-jp .hv-kicker:before,.hero-v2 .hv-title-jp .hv-kicker:after{content:'';width:clamp(24px,3vw,48px);height:3px;background:var(--red);flex:none}
.hero-v2 .hv-title-jp .hv-kicker b{font-weight:900;color:var(--red)}
.hero-v2 .hv-veil{background:
  radial-gradient(ellipse 52% 50% at 50% 50%,rgba(250,250,248,.7),rgba(250,250,248,0) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  rgba(250,250,248,.42)}
@media(max-width:760px){
 .hero-v2 .hv-title-jp .hv-kicker{font-size:15px;gap:10px;margin-bottom:12px;letter-spacing:.04em}
 .hero-v2 .hv-veil{background:
  radial-gradient(ellipse 85% 55% at 50% 50%,rgba(250,250,248,.7),rgba(250,250,248,0) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  rgba(250,250,248,.45)}
}
.hero-v2 .hv-title-jp .hv-kicker{width:max-content;max-width:100%;margin-inline:auto;padding:6px 18px;background:var(--ink);color:#fff}
.hero-v2 .hv-title-jp .hv-kicker:before,.hero-v2 .hv-title-jp .hv-kicker:after{display:none}
.hero-v2 .hv-title-jp .hv-kicker b{color:#fff;box-shadow:inset 0 -.32em 0 var(--red)}
@media(max-width:760px){.hero-v2 .hv-title-jp .hv-kicker{padding:5px 12px}}

/* 講師写真（2026-10-20）: サイトの白黒トーンに合わせてモノクロ表示 */
.teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.06)}
.teacher-intro>span{display:block}

/* HERO v2.3: 四角を1つも使わず、見出し上の1行に情報を集約 */
.hero-v2 .hv-title-jp .hv-kicker{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;width:auto;margin:0 0 20px;padding:0;background:none;color:var(--ink);font-size:clamp(15px,1.5vw,20px);font-weight:800;letter-spacing:.08em;line-height:1.5;white-space:normal;font-feature-settings:normal}
.hero-v2 .hv-title-jp .hv-kicker .hv-dot{width:7px;height:7px;background:var(--red);flex:none}
.hero-v2 .hv-aud{margin:22px 0 30px;font-size:clamp(15px,1.3vw,18px);font-weight:700;letter-spacing:.06em;color:var(--ink)}
@media(max-width:760px){
 .hero-v2 .hv-title-jp .hv-kicker{font-size:14px;gap:2px 10px;margin-bottom:14px;letter-spacing:.06em;padding:0}
 .hero-v2 .hv-aud{font-size:15px;margin:16px 0 24px}
 .hero-v2 .hv-aud .copy-unit{display:inline-block}
}
@media(max-width:560px){.hero-v2 .hv-title-jp .hv-kicker{flex-direction:column;gap:0}.hero-v2 .hv-title-jp .hv-kicker .hv-dot{display:none}.hero-v2 .hv-title-jp .hv-kicker .copy-unit+.hv-dot+.copy-unit{font-size:13px;color:#444}}

/* TYPOGRAPHY SYSTEM 2026-10-20 */
/* Single source of truth for Japanese typography below the hero. Earlier layers are left in place but overridden here.
   Scope: everything except section.hero-v2, the sticky header and .mobile-reserve (untouched). */

/* 1. Line breaking: normal CJK breaking. keep-all + overflow-wrap:anywhere (old mobile rule) made whole sentences unbreakable and then chopped them at random. */
body{word-break:normal;overflow-wrap:break-word;line-break:strict;letter-spacing:.04em;font-feature-settings:normal;line-height:1.9}
.cta,.faq details>p,.faq-unit{word-break:normal;overflow-wrap:break-word}
.class-card h3{overflow-wrap:break-word}
.copy-unit,.faq-unit{display:inline-block;max-width:100%;vertical-align:top;word-break:normal;overflow-wrap:break-word}
main p,main li,main dd,main dt{text-wrap:pretty}
main h2,main h3,main h4,main .spirit-quote,main summary{text-wrap:balance}

/* 2. Tracking: body .04em / no palt; headings palt .04em / 1.45; labels .04em; Latin eyebrows .12em; Bebas numbers .01em */
main section:not(.hero-v2) p,main section:not(.hero-v2) li,main section:not(.hero-v2) dd,main section:not(.hero-v2) dt{letter-spacing:.04em;font-feature-settings:normal}
main section:not(.hero-v2) h2,main section:not(.hero-v2) h3,main section:not(.hero-v2) h4,
main section:not(.hero-v2) .spirit-quote,main section:not(.hero-v2) .closing-simple h2,
main section:not(.hero-v2) .next-trial h3,main section:not(.hero-v2) summary{font-feature-settings:"palt";letter-spacing:.04em;line-height:1.45}
main section:not(.hero-v2) .cta,main section:not(.hero-v2) .trial-facts span,main section:not(.hero-v2) .genre,main section:not(.hero-v2) .step-duration,main section:not(.hero-v2) .trial-lead{letter-spacing:.04em;font-feature-settings:normal}
main section:not(.hero-v2) .eyebrow{letter-spacing:.12em;font-feature-settings:normal}
main section:not(.hero-v2) .display,.teacher h3.display{font-family:Bebas,sans-serif;letter-spacing:.01em;font-feature-settings:normal;line-height:.95}
main section:not(.hero-v2) .teacher-intro{letter-spacing:.04em}
main section:not(.hero-v2) .teacher-intro span{letter-spacing:inherit}
main section:not(.hero-v2) .step-note{line-height:1.8!important}
footer,footer a{letter-spacing:.04em}
footer .logo-art,footer .brand,footer .brand *{letter-spacing:normal}

/* 3. Alignment: LEFT everywhere below the hero, every width */
main section:not(.hero-v2),main section:not(.hero-v2) h2,main section:not(.hero-v2) h3,main section:not(.hero-v2) h4,main section:not(.hero-v2) p,main section:not(.hero-v2) li,
main section:not(.hero-v2) dd,main section:not(.hero-v2) dt,main section:not(.hero-v2) summary,main section:not(.hero-v2) .spirit-quote,
main section:not(.hero-v2) .spirit-copy,main section:not(.hero-v2) .spirit-copy p,main section:not(.hero-v2) .section-head>p,
main section:not(.hero-v2) .closing-simple,main section:not(.hero-v2) .opening-copy,main section:not(.hero-v2) .belong-item,main section:not(.hero-v2) .teacher,main section:not(.hero-v2) .teacher-intro,footer{text-align:left!important}
main section:not(.hero-v2) .section-head>p,main section:not(.hero-v2) .spirit-copy,main section:not(.hero-v2) .opening-copy{margin-inline:0!important}
main section:not(.hero-v2) .spirit-copy{margin-left:0!important;margin-right:auto!important}
main section:not(.hero-v2) .trial-facts{justify-content:flex-start!important}
main section:not(.hero-v2) .belong-item{align-items:flex-start}
main section:not(.hero-v2) .belongings ul{justify-content:flex-start}
main section:not(.hero-v2) .closing-simple{margin:0 auto 0 0}
main section:not(.hero-v2) .closing-simple .cta{text-align:left}

/* 4. Mobile sizes and rhythm */
@media(max-width:760px){
  body{font-size:15px;line-height:1.85}
  main section:not(.hero-v2) p,main section:not(.hero-v2) li,main section:not(.hero-v2) dd{line-height:1.85}
  main section:not(.hero-v2) .section-head>p,main section:not(.hero-v2) .spirit-copy,main section:not(.hero-v2) .spirit-copy p,
  main section:not(.hero-v2) .opening-copy,main section:not(.hero-v2) .teacher-intro,main section:not(.hero-v2) .faq details>p,main .faq details>p{font-size:15px!important;line-height:1.85!important}
  main section:not(.hero-v2) h2,main section:not(.hero-v2) .closing-simple h2,main .line-section h2,#trial h2{font-size:27px!important;line-height:1.45}
  main section:not(.hero-v2) .spirit-quote{font-size:24px;line-height:1.45}
  main section:not(.hero-v2) .next-trial h3{font-size:21px}
  main section:not(.hero-v2) .step-note{font-size:13px!important}
  main section:not(.hero-v2) .genre,main section:not(.hero-v2) .trial-facts span,main section:not(.hero-v2) .trial-lead{font-size:14px!important}
  main section:not(.hero-v2) .eyebrow{font-size:11px;letter-spacing:.12em}
  main .class-card .eyebrow{letter-spacing:.12em}
}

/* step titles: older "align-self:center" on h3 centred them inside the flex column */
main .steps h3,main .step-title h3{align-self:flex-start;justify-self:start}
main .step-title{align-items:flex-start}
/* keep the LINE arrow with the label instead of orphaning it */
main .cta{flex-wrap:nowrap}
/* belongings: items never wrap inside; the row wraps as a whole on narrow phones */
main .belongings ul{flex-wrap:wrap;gap:16px 28px}
main .belong-item{white-space:nowrap}
@media(min-width:761px){main .belongings ul{gap:16px 56px}}

/* 見た目には出さず、読み上げ・検索用にだけ残す見出し */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
#teachers .eyebrow+.sr-only+.teachers-grid{margin-top:8px}
/* NAV 2026-10-20: タブを横スクロールさせない。入りきらない幅ではロゴの下の段に3等分で並べる */
.header nav,.header-compact .header nav{overflow:visible!important;scrollbar-width:none}
.header nav>.nav-tab{white-space:nowrap}
@media(max-width:1100px){
 .header{flex-wrap:wrap;row-gap:0}
 .header nav,.header-compact .header nav{flex:0 1 auto!important;width:auto!important;max-width:100%!important;margin-left:auto!important}
}
@media(max-width:760px){
 .header nav,.header-compact .header nav{flex:1 0 100%!important;width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;margin:0!important;padding:2px 0 6px!important;justify-content:stretch!important}
 .header nav>.nav-tab,.header-compact .header nav>.nav-tab{justify-content:center;gap:5px!important;padding:8px 2px!important;font-size:clamp(12px,3.6vw,15px)!important;min-width:0}
 .header nav>.nav-tab .nav-number{font-size:clamp(14px,4vw,17px)}
}
@media(max-width:760px){
 .header-compact .header{flex-wrap:wrap!important;row-gap:0!important;padding:6px 6% 0!important}
 .header-compact .header .brand{flex:1 0 100%}
 .header-compact .header nav>.nav-tab{min-height:40px;padding:6px 2px!important}
}
@media(min-width:761px) and (max-width:1100px){
 .header .brand{flex:none!important}
 .header nav,.header-compact .header nav{flex:0 0 auto!important}
 .header>nav:only-of-type{padding-bottom:0}
}
@media(max-width:1100px){.header{flex-wrap:wrap!important;row-gap:4px!important}.header nav{margin-left:auto!important}}
/* ヘッダーから「BY WiLDCARD」を外す（フッターにのみ表示） */
.header .brand-by{display:none!important}
.header .brand{justify-content:center}

/* HERO v3 (2026-10-20): 左揃えの極太見出し。コピー「「好き」が見つかるまで、何回でも。」 */
.hero-v2{place-items:center start}
.hero-v2 .hv-copy{max-width:1320px;margin:0 auto;align-items:flex-start;text-align:left}
.hero-v2 .hv-title-jp{font-size:clamp(56px,7.8vw,128px);line-height:1.08;letter-spacing:-.03em;text-align:left}
.hero-v2 .hv-title-jp .hv-line{display:block;white-space:nowrap}
.hero-v2 .hv-title-jp .hv-kicker{justify-content:flex-start;margin:0 0 22px}
.hero-v2 .hv-aud{margin:26px 0 32px;font-size:clamp(16px,1.45vw,21px);font-weight:800;line-height:1.7;letter-spacing:.04em;text-align:left}
.hero-v2 .hv-aud-line{display:block}
.hero-v2 .hv-aud-line+.hv-aud-line{font-weight:600;font-size:.86em}
.hero-v2 .hv-actions{justify-content:flex-start}
.hero-v2 .cta{border-radius:999px;padding:16px 30px}
.hero-v2 .hv-veil{background:
  linear-gradient(90deg,rgba(250,250,248,.82) 0%,rgba(250,250,248,.62) 42%,rgba(250,250,248,.2) 75%,rgba(250,250,248,.12) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 48px),
  rgba(250,250,248,.22)}
@media(max-width:760px){
 .hero-v2{place-items:end start;padding:28px 6% 32px}
 .hero-v2 .hv-title-jp{font-size:clamp(40px,12.6vw,62px);line-height:1.1}
 .hero-v2 .hv-title-jp .hv-kicker{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:2px 10px!important;margin-bottom:14px}
 .hero-v2 .hv-title-jp .hv-kicker .hv-dot{display:block!important}
 .hero-v2 .hv-title-jp .hv-kicker .copy-unit+.hv-dot+.copy-unit{font-size:inherit;color:inherit}
 .hero-v2 .hv-aud{font-size:16px;margin:18px 0 24px}
 .hero-v2 .hv-actions{align-items:stretch}
 .hero-v2 .cta{border-radius:999px}
 .hero-v2 .hero-sub{align-self:center}
 .hero-v2 .hv-veil{background:
  linear-gradient(180deg,rgba(250,250,248,.25) 0%,rgba(250,250,248,.55) 35%,rgba(250,250,248,.82) 60%,rgba(250,250,248,.9) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px)}
}
/* iPhone下部に常に出る予約ボタンを丸いピル型に */
@media(max-width:760px){
 .mobile-reserve{background:none!important;box-shadow:none!important;padding:0 6% max(14px,env(safe-area-inset-bottom))!important;pointer-events:none}
 .mobile-reserve .cta{pointer-events:auto;border-radius:999px;min-height:56px;justify-content:center;gap:12px;box-shadow:0 8px 22px rgba(0,0,0,.28);border:2px solid #151515}
}
.hero-v2 .hv-title-jp{line-height:1.14}
@media(max-width:560px){.hero-v2 .hv-title-jp .hv-kicker{flex-direction:column!important;align-items:flex-start!important;gap:0!important}.hero-v2 .hv-title-jp .hv-kicker .hv-dot{display:none!important}}

/* HERO v3.1: 括弧を外し、Noto Sans JP Black（見出しの文字だけ読み込み）で極太に */
.hero-v2 .hv-title-jp{font-family:"Noto Sans JP","Noto Sans CJK JP","hiragino-kaku-gothic-pron","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;font-weight:900!important}
.hero-v2 .hv-title-jp .hv-kicker{font-family:var(--jp)}
.hero-v2 .hv-aud{font-family:"Noto Sans JP","Noto Sans CJK JP",var(--jp);font-weight:900}
.hero-v2 .hv-aud-line+.hv-aud-line{font-weight:700}

/* 予約導線（2026-10-20）: スマホ・iPadは画面最上部の帯、PCは右端の縦タブ */
.mobile-reserve,.mobile-reserve:not([hidden]){display:none!important}
.reserve-active footer{padding-bottom:30px!important}
.topbar{display:none}
.sidetab{display:none}
@media(max-width:1100px){
 .topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:6px 4%;background:var(--red);color:#fff;font:800 14px/1.3 var(--jp);letter-spacing:.04em;text-align:center}
 .topbar:hover{background:#d81f25}
 .topbar-label{flex:none;background:#fff;color:var(--red);font-size:11px;font-weight:900;padding:2px 8px;border-radius:999px;letter-spacing:.06em}
 .header,.header-compact .header{top:var(--topbar,40px)!important}
 .header .cta{display:none!important}
 html{scroll-padding-top:calc(var(--header-anchor,200px) + var(--topbar,40px))!important}
}
@media(max-width:360px){.topbar{font-size:13px;gap:6px}.topbar-label{font-size:10px;padding:2px 6px}}
@media(min-width:1101px){
 .header .cta{display:none!important}
 .sidetab{position:fixed;z-index:50;right:0;top:50%;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 14px 24px;background:var(--red);color:#fff;border:2px solid #151515;border-right:0;border-radius:18px 0 0 18px;box-shadow:-6px 8px 0 rgba(21,21,21,.9);transform:translate(110%,-50%);animation:sidetab-in .6s .8s cubic-bezier(.2,.9,.3,1) forwards;transition:padding .2s,background .2s}
 .sidetab:hover{background:#d81f25;padding-right:20px}
 .sidetab-badge{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--red);font:900 12px/1 var(--jp);letter-spacing:.04em}
 .sidetab-text{writing-mode:vertical-rl;font:900 17px/1 var(--jp);letter-spacing:.14em}
 @keyframes sidetab-in{to{transform:translate(0,-50%)}}
}
@media(min-width:1101px) and (prefers-reduced-motion:reduce){.sidetab{animation:none;transform:translate(0,-50%)}}

@media(min-width:1101px){.sidetab-text{writing-mode:horizontal-tb!important;display:flex;flex-direction:column;align-items:center;gap:3px;font:900 17px/1.05 var(--jp);letter-spacing:0}.sidetab-text span{display:block}}
/* iPad幅: 当日の流れは5列だと窮屈なので、スマホと同じ縦一列に */
@media(min-width:761px) and (max-width:1100px){.steps{grid-template-columns:1fr!important;gap:22px!important;max-width:720px}.steps li{display:grid!important;grid-template-columns:80px 1fr;gap:0 24px;align-items:start}.steps li>*:not(.display){grid-column:2}.steps li>.display{grid-row:1/span 3}}

/* 予約導線 v2（2026-10-20）: 上部の帯をやめ、スマホ・iPadは画面下のフロートボタンを常時表示 */
.topbar{display:none!important}
.floatcta{display:none}
@media(max-width:1100px){
 .header,.header-compact .header{top:0!important}
 html{scroll-padding-top:var(--header-anchor,200px)!important}
 .floatcta{position:fixed;z-index:60;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;width:min(88vw,460px);min-height:58px;padding:10px 22px;border-radius:999px;background:var(--red);color:#fff;border:2px solid #151515;box-shadow:0 8px 22px rgba(0,0,0,.28);font:800 16px/1.3 var(--jp);letter-spacing:.04em;white-space:nowrap}
 .floatcta:active{transform:translateX(-50%) translateY(1px)}
 .floatcta-badge{flex:none;background:#fff;color:var(--red);font-size:11px;font-weight:900;padding:3px 8px;border-radius:999px;letter-spacing:.06em}
 footer{padding-bottom:110px!important}
 .hero-v2{padding-bottom:104px!important}
}
@media(max-width:374px){.floatcta{font-size:14px;gap:6px;padding:10px 14px}.floatcta-badge{font-size:10px;padding:2px 6px}}
@media(max-width:760px){.hero-v2 .hero-sub{align-self:flex-start!important;margin:0!important}}
/* v=u */
/* フロートボタンが小さいiPhoneではみ出さないように */
@media(max-width:430px){.floatcta{width:calc(100vw - 28px);font-size:clamp(13px,3.7vw,16px);gap:8px;padding:10px 16px;letter-spacing:.02em}.floatcta-badge{font-size:10px;padding:2px 7px}}
@media(max-width:340px){.floatcta-badge{display:none}}
@media(max-width:340px){.floatcta{font-size:12.5px;padding:10px 12px;gap:6px;letter-spacing:0}}

/* 文字の太さ（2026-10-20）: 細い300ウェイトをやめ、見出しは太く、本文は標準〜中太に */
main section:not(.hero-v2) h2{font-weight:800!important;letter-spacing:.03em}
main section:not(.hero-v2) h3{font-weight:700!important}
main section:not(.hero-v2) p,main section:not(.hero-v2) li,main section:not(.hero-v2) dd,main section:not(.hero-v2) summary,main section:not(.hero-v2) .step-note,main section:not(.hero-v2) .teacher-intro{font-weight:500}
main section:not(.hero-v2) .trial-lead{font-weight:700;color:var(--red);letter-spacing:.06em}
main section:not(.hero-v2) .section-head>p{color:#222}
.line-section .opening-copy,.line-section p{color:#eee}
.trial-facts span{font-weight:700!important}

/* 和文書体の統一（2026-10-20）: Noto Sans JP（Google Fonts、使う文字だけ自動で分割読み込み）を最優先にする。
   WindowsでYu Gothic Lightに落ちて細く安っぽく見える問題の対策 */
:root{--jp:"Noto Sans JP","Noto Sans CJK JP","hiragino-kaku-gothic-pron","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
body{font-weight:400}
/* スマホ: 文字を下寄せにすると上に大きな空白ができるため、中央寄せにして高さの上限を設ける */
@media(max-width:760px){
 .hero-v2{place-items:center start!important;min-height:min(calc(100svh - var(--hh,100px)),720px)!important;padding:40px 6% 112px!important}
 .hero-v2 .hv-veil{background:
  radial-gradient(ellipse 120% 60% at 30% 55%,rgba(250,250,248,.8),rgba(250,250,248,.45) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px)}
}
@media(max-width:760px){
 .hero-v2{place-items:start start!important;align-content:start!important;padding:36px 6% 112px!important}
 .hero-v2 .hv-title-jp{font-size:clamp(40px,14.4vw,64px)!important;line-height:1.12}
 .hero-v2 .hv-veil{background:
  linear-gradient(180deg,rgba(250,250,248,.85) 0%,rgba(250,250,248,.75) 55%,rgba(250,250,248,.35) 80%,rgba(250,250,248,.25) 100%),
  repeating-linear-gradient(0deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(21,21,21,.07) 0 1px,transparent 1px 32px)}
}
@media(max-width:760px){.hero-v2 .hv-title-jp{line-height:1.18!important}}
/* ページ内リンクの着地位置: セクション上の余白を飛ばし、小見出しがヘッダーのすぐ下（約24px）に来るように */
#trial,#flow,#faq,#about,#line{scroll-margin-top:-128px}
#teachers{scroll-margin-top:-140px}
@media(max-width:760px){#trial,#flow,#faq,#about,#line{scroll-margin-top:-88px}#teachers{scroll-margin-top:-112px}}
#trial,#about,#line{scroll-margin-top:-120px}#flow,#faq{scroll-margin-top:-132px}#teachers{scroll-margin-top:-132px}
@media(max-width:760px){#trial,#about,#line{scroll-margin-top:-80px}#flow,#faq{scroll-margin-top:-104px}#teachers{scroll-margin-top:-104px}}
/* 着地位置を確定値で指定（スクロール中にヘッダーが小さくなっても位置がずれないように） */
html,html[style]{scroll-padding-top:100px!important}
#trial,#flow,#faq,#about,#line{scroll-margin-top:-120px!important}#teachers{scroll-margin-top:-144px!important}
@media(max-width:760px){html,html[style]{scroll-padding-top:98px!important}#trial,#flow,#faq,#about,#line{scroll-margin-top:-80px!important}#teachers{scroll-margin-top:-104px!important}}
#trial,#flow,#faq,#about,#line{scroll-margin-top:-108px!important}#teachers{scroll-margin-top:-120px!important}
@media(max-width:760px){#trial,#flow,#faq,#about,#line{scroll-margin-top:-56px!important}#teachers{scroll-margin-top:-56px!important}}
#teachers{scroll-margin-top:-108px!important}@media(max-width:760px){#teachers{scroll-margin-top:-56px!important}}

/* 講師紹介（スマホ）: カードを横に並べ、左右にスワイプして1人ずつ見る */
.teacher-dots{display:none}
@media(max-width:760px){
 #teachers .teachers-grid{display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:8px -6.5% 0!important;padding:4px 6.5% 8px!important;scroll-padding-inline:6.5%}
 #teachers .teachers-grid::-webkit-scrollbar{display:none}
 #teachers .teacher{flex:0 0 78%!important;display:block!important;scroll-snap-align:center;scroll-snap-stop:always;background:#1d1d1d;border:1px solid #333;border-radius:18px;overflow:hidden;padding:0 0 20px!important}
 #teachers .teacher-photo{width:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:4/5!important;margin:0 0 16px!important;border:0!important;grid-row:auto!important}
 #teachers .teacher h3,#teachers .teacher .genre,#teachers .teacher .teacher-intro{margin-left:18px!important;margin-right:18px!important;grid-column:auto!important}
 #teachers .teacher h3{font-size:40px!important;margin-bottom:4px!important}
 #teachers .teacher-intro{font-size:14px!important;line-height:1.8!important}
 .teacher-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
 .teacher-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#555;cursor:pointer;transition:width .25s,background .25s}
 .teacher-dots button[aria-pressed="true"]{width:24px;background:var(--red)}
}

/* STREET PARTS LAYOUT v2 2026-10-20 */
/* Concept: few, bold pieces. Hero pieces (26-32vw) bleed off the right edge in the empty column beside short headings;
   medium/small pieces sit in section corners or the empty centre. Art matches content; max 1 piece per section. */
.street-parts{position:absolute!important;inset:0!important;z-index:2!important;display:block!important;margin:0!important;padding:0!important;min-height:0!important;overflow:visible!important;pointer-events:none}
.street-part{position:absolute!important;display:none!important;width:var(--w)!important;left:auto;right:auto;top:auto;bottom:auto;margin:0!important;animation:part-float 6s ease-in-out infinite!important}
.street-part img{width:100%!important;height:auto!important;transform:rotate(var(--r,0deg))!important;filter:none!important}
/* PC */
.p-trial-a,.p-flow-a,.p-teach-a,.p-spirit-a,.p-faq-a,.p-line-a{display:block!important}
.p-trial-a{--w:25vw;--r:-8deg;right:-5vw!important;top:306px!important}
.p-flow-a{--w:15vw;--r:-10deg;right:5vw!important;bottom:24px!important;top:auto!important}
.p-teach-a{--w:9vw;--r:10deg;right:3vw!important;top:0!important}
.p-spirit-a{--w:32vw;--r:6deg;right:-9vw!important;top:90px!important}
.p-faq-a{--w:14vw;--r:9deg;right:-2vw!important;top:12px!important}
.p-line-a{--w:27vw;--r:-6deg;right:-6vw!important;top:6px!important}
/* tablet */
@media(max-width:1100px){
 .p-trial-a{--w:28vw;right:-8vw!important}.p-flow-a{--w:12vw;bottom:2px!important;right:8vw!important}.p-teach-a{--w:10vw;top:-10px!important}.p-spirit-a{--w:36vw}.p-faq-a{--w:20vw}.p-line-a{--w:30vw}
}
/* phones: one piece, top-right corner beside eyebrow/h2 */
@media(max-width:760px){
 .p-trial-a,.p-flow-a,.p-teach-a,.p-spirit-a,.p-faq-a,.p-line-a{--w:112px;right:-26px!important;left:auto!important;top:14px!important;bottom:auto!important;margin-top:0!important}
}
@media(max-width:760px){
 .p-teach-a{--w:92px;--r:12deg;top:-8px!important}
 .p-line-a{--w:120px;--r:-8deg;top:auto!important;bottom:14px!important}
}

/* HEADER v3（2026-10-20）: ロゴの段とタブの段を分け、タブを1つずつ区切られたボタンにする */
.header nav>.nav-tab:before{display:none!important}
.header nav>.nav-tab,.header-compact .header nav>.nav-tab{justify-content:center;border:1.5px solid rgba(255,255,255,.55)!important;background:rgba(255,255,255,.04)!important;padding:8px 18px!important;min-height:40px!important;font:700 14px/1 var(--jp)!important;letter-spacing:.06em!important;color:#fff!important;transition:background .2s,border-color .2s,color .2s}
.header nav>.nav-tab:hover{background:#fff!important;color:#151515!important;border-color:#fff!important}
.header nav>.nav-tab[aria-current]{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}
.header nav{gap:10px!important}
@media(max-width:760px){
 .header,.header-compact .header{padding:0!important;row-gap:0!important}
 .header .brand,.header-compact .header .brand{padding:12px 6% 10px;flex:1 0 100%}
 .header-compact .header .brand{padding:8px 6% 6px}
 .header nav,.header-compact .header nav{background:#0d0d0d!important;border-top:1px solid #333;padding:8px 6% 9px!important;gap:8px!important}
 .header nav>.nav-tab,.header-compact .header nav>.nav-tab{min-height:36px!important;padding:6px 4px!important;font-size:13px!important;letter-spacing:.04em!important}
}
@media(min-width:761px) and (max-width:1100px){.header nav{padding-top:4px}}

/* 予約ボタンの質感をサイトのトンマナ（角張った赤＋黒のスタンプ影）に合わせる */
.floatcta{border-radius:0!important;border:2px solid #151515!important;box-shadow:5px 5px 0 #151515!important;font-weight:900!important;letter-spacing:.06em!important;width:calc(100vw - 36px)!important;max-width:460px;left:calc(50% - 3px)!important}
.floatcta:active{box-shadow:2px 2px 0 #151515!important;transform:translateX(-50%) translate(3px,3px)!important}
.floatcta-badge{border-radius:0!important;background:#151515!important;color:#fff!important;padding:3px 7px!important}
.sidetab{border-radius:0!important;box-shadow:-5px 5px 0 #151515!important}
.sidetab-badge{border-radius:0!important;background:#151515!important;color:#fff!important;width:44px!important;height:30px!important}
/* 当日の流れ: 持ち物のスニーカーと重複しないようキャップに変更し、右端の予約タブを避けて中央寄りに */
@media(min-width:1101px){.p-flow-a{--w:13vw!important;--r:8deg!important;right:18vw!important;bottom:56px!important}}
@media(max-width:760px){.p-trial-a{margin-top:16px!important}}

/* 予約ボタン v3（2026-10-20）: 赤のまま、黒縁と段ずれ影をやめ、ちぎったステッカーのようなラフな輪郭に */
.floatcta,.sidetab{background:none!important;border:0!important;box-shadow:none!important;isolation:isolate;filter:drop-shadow(0 6px 10px rgba(0,0,0,.28)) drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.floatcta:before,.sidetab:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--red) url('assets/paper-grey.webp') center/600px auto;background-blend-mode:multiply;clip-path:polygon(0.0% 1.0px,3.8% 0.5px,7.7% 2.1px,11.5% 0.2px,15.4% 1.7px,19.2% 1.2px,23.1% 0.2px,26.9% 1.6px,30.8% 0.1px,34.6% 1.4px,38.5% 0.2px,42.3% 0.3px,46.2% 1.4px,50.0% 2.6px,53.8% 0.4px,57.7% 0.7px,61.5% 2.0px,65.4% 3.0px,69.2% 1.8px,73.1% 1.3px,76.9% 3.1px,80.8% 0.1px,84.6% 2.7px,88.5% 0.9px,92.3% 0.5px,96.2% 0.4px,100.0% 1.0px,calc(100% - 0.6px) 25.0%,calc(100% - 1.9px) 50.0%,calc(100% - 2.0px) 75.0%,calc(100% - 1.2px) 100.0%,96.2% calc(100% - 2.1px),92.3% calc(100% - 0.1px),88.5% calc(100% - 1.6px),84.6% calc(100% - 0.5px),80.8% calc(100% - 2.4px),76.9% calc(100% - 1.3px),73.1% calc(100% - 0.4px),69.2% calc(100% - 3.1px),65.4% calc(100% - 0.9px),61.5% calc(100% - 2.3px),57.7% calc(100% - 2.8px),53.8% calc(100% - 1.7px),50.0% calc(100% - 1.8px),46.2% calc(100% - 0.8px),42.3% calc(100% - 2.2px),38.5% calc(100% - 2.5px),34.6% calc(100% - 1.0px),30.8% calc(100% - 1.5px),26.9% calc(100% - 1.9px),23.1% calc(100% - 1.0px),19.2% calc(100% - 1.4px),15.4% calc(100% - 2.2px),11.5% calc(100% - 0.7px),7.7% calc(100% - 0.2px),3.8% calc(100% - 0.2px),0.0% calc(100% - 1.8px),2.2px 75.0%,1.0px 50.0%,2.8px 25.0%)}
.sidetab:before{clip-path:polygon(0.0% 1.9px,25.0% 1.5px,50.0% 2.7px,75.0% 3.0px,100.0% 1.5px,calc(100% - 0.2px) 4.5%,calc(100% - 2.2px) 9.1%,calc(100% - 2.1px) 13.6%,calc(100% - 3.2px) 18.2%,calc(100% - 2.6px) 22.7%,calc(100% - 0.9px) 27.3%,calc(100% - 1.2px) 31.8%,calc(100% - 2.1px) 36.4%,calc(100% - 0.1px) 40.9%,calc(100% - 1.5px) 45.5%,calc(100% - 0.5px) 50.0%,calc(100% - 0.4px) 54.5%,calc(100% - 0.2px) 59.1%,calc(100% - 2.5px) 63.6%,calc(100% - 0.4px) 68.2%,calc(100% - 0.8px) 72.7%,calc(100% - 1.3px) 77.3%,calc(100% - 2.8px) 81.8%,calc(100% - 0.3px) 86.4%,calc(100% - 1.4px) 90.9%,calc(100% - 1.8px) 95.5%,calc(100% - 2.8px) 100.0%,75.0% calc(100% - 1.3px),50.0% calc(100% - 0.9px),25.0% calc(100% - 2.8px),0.0% calc(100% - 2.6px),2.8px 95.5%,2.5px 90.9%,2.9px 86.4%,0.2px 81.8%,2.2px 77.3%,2.0px 72.7%,1.6px 68.2%,2.2px 63.6%,3.0px 59.1%,1.8px 54.5%,1.2px 50.0%,1.3px 45.5%,0.0px 40.9%,0.8px 36.4%,1.9px 31.8%,1.6px 27.3%,0.7px 22.7%,0.7px 18.2%,0.6px 13.6%,0.5px 9.1%,3.1px 4.5%)}
.floatcta{transform:translateX(-50%) rotate(-1deg)!important;left:50%!important}
.floatcta:active{transform:translateX(-50%) rotate(-1deg) translateY(2px)!important;box-shadow:none!important}
.floatcta-badge,.sidetab-badge{background:#fff!important;color:var(--red)!important;border-radius:0!important;transform:rotate(-2deg)}
.sidetab:hover{padding-right:20px}

/* ヘッダーのタブ v4: 四角の枠をやめ、文字タブを縦線で区切る。現在地は赤いスプレーの下線 */
.header nav>.nav-tab,.header-compact .header nav>.nav-tab{border:0!important;background:none!important;position:relative;padding:8px 16px!important}
.header nav>.nav-tab+.nav-tab:after{content:''!important;display:block!important;position:absolute;left:0;top:50%;width:1px;height:16px;margin-top:-8px;background:rgba(255,255,255,.35);bottom:auto;right:auto;opacity:1;transform:none}
.header nav{gap:0!important}
.header nav>.nav-tab:hover{background:none!important;color:#fff!important}
.header nav>.nav-tab[aria-current]{background:none!important;color:#fff!important}
.header nav>.nav-tab:before{display:block!important;content:''!important;position:absolute;z-index:-1;left:10px;right:10px;top:auto!important;bottom:3px;height:12px;margin:0!important;background:url('assets/spray-horizontal.webp') center/100% 100% no-repeat;transform:rotate(-2deg) scaleX(.15);transform-origin:left center;opacity:0;transition:transform .35s cubic-bezier(.2,.9,.3,1),opacity .2s}
.header nav>.nav-tab:hover:before,.header nav>.nav-tab[aria-current]:before{opacity:.95;transform:rotate(-2deg) scaleX(1)}
.header nav>.nav-tab{isolation:isolate}
@media(max-width:760px){.header nav>.nav-tab,.header-compact .header nav>.nav-tab{padding:6px 4px!important}.header nav>.nav-tab:before{left:14%;right:14%}}

/* フッター: BY WiLDCARD を本業サイト（wildcard.jp）へのリンクに */
footer .brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
footer a.brand-by{display:inline-flex!important;align-items:center;gap:8px;opacity:.85;transition:opacity .2s}
footer a.brand-by:hover{opacity:1}
footer a.brand-by:after{content:'↗';font-size:12px;margin-left:2px}
/* 黒い面のテクスチャ v3（2026-10-20）: 新しい黒紙テクスチャを継ぎ目なしのタイルに加工して使用 */
.header,.ticker,#teachers,.line-section,footer{background-color:#212121!important;background-image:url('assets/texture-black-v3.webp')!important;background-size:1400px 1400px!important;background-repeat:repeat!important;background-position:0 0!important}
@media(max-width:760px){.header,.ticker,#teachers,.line-section,footer{background-size:900px 900px!important}}

.spirit-copy .sp-line{display:block}

.hero-v2 .hv-media>picture.hv-poster{position:absolute;inset:0;mix-blend-mode:multiply}.hero-v2 .hv-media>picture.hv-poster img{width:100%;height:100%;object-fit:cover}
.hero-video-on .hero-v2 .hv-poster{visibility:hidden}

/* 流れる帯 v2: 文言を増やし、赤い✱で区切って途切れなく流す */
.ticker{padding:14px 0!important}
.ticker-track{animation-duration:46s!important}
.ticker-group{width:auto!important;min-width:0!important;justify-content:flex-start!important;gap:0!important;padding:0!important}
.ticker-group span{font:400 30px/1 Bebas,sans-serif!important;letter-spacing:.06em;padding:0 22px;white-space:nowrap}
.ticker-group i{font-style:normal;color:var(--red);font:400 22px/1 var(--jp);transform:translateY(-1px)}
@media(max-width:760px){.ticker{padding:11px 0!important}.ticker-group span{font-size:24px!important;padding:0 16px}.ticker-group i{font-size:18px}}

/* フッターの BY WiLDCARD の矢印を外す */
footer a.brand-by:after{content:none!important;display:none!important}
.ticker-track{animation-duration:80s!important}

/* 表示アニメーション（2026-10-20）: reveal.js と組み合わせて使う */
.rv-on .rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv.rv-in{opacity:1;transform:none}
.rv-measure .rv{transition:none!important;transform:none!important}
/* 以前の講師カードの出現アニメーション（スワイプ時に斜め上へ動く原因）を無効化 */
.reveal-ready,.reveal-ready.is-visible{opacity:1!important;transform:none!important;transition:none!important}
/* 講師カード列は横方向にだけ動く */
@media(max-width:760px){#teachers .teachers-grid{overflow-y:hidden!important;touch-action:pan-x pan-y;overscroll-behavior-y:auto}}

/* 見出し構成の統一（2026-10-20）: 英字の小見出し → 日本語の大見出し */
#trial .trial-lead{margin:18px 0 2px!important}
#trial .trial-catch{margin:0!important;font-size:clamp(20px,2vw,26px)!important;font-weight:800!important;line-height:1.5;letter-spacing:.03em}
#teachers .eyebrow+h2{margin-bottom:32px}
@media(max-width:760px){#teachers .eyebrow+h2{margin-bottom:22px}#trial .trial-catch{font-size:20px!important}}
/* 白い紙テクスチャ v2（2026-10-20）: 継ぎ目なしタイルをページ全体に1枚で敷き、セクションごとの切れ目をなくす */
body{background-color:#f4f4f2!important;background-image:url('assets/paper-white-v2.webp')!important;background-size:1060px 1060px!important;background-repeat:repeat!important;background-position:0 0!important}
#trial,#flow,#about,#faq{background:transparent!important}
.hero,.hero-v2{background-color:#f4f4f2!important;background-image:url('assets/paper-white-v2.webp')!important;background-size:1060px 1060px!important;background-repeat:repeat!important;background-position:0 calc(-1 * var(--hh,88px))!important}
@media(max-width:760px){body,.hero,.hero-v2{background-size:760px 760px!important}}

/* 体験会の見出し横の説明文: 右端に寄りすぎないよう、中央付近から始める */
@media(min-width:1101px){
 #trial .section-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
 #trial .section-head>p{max-width:34em!important;justify-self:start;margin:0 0 6px!important}
}
@media(min-width:1101px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* トップ見出しの出現アニメーション（hero-type.js と組み合わせ）
   1文字ずつアウトラインが明滅して現れ → 全文字そろったら左から順に塗りつぶし → 下の文と導線がフェードイン */
.hero-type-on .hv-title-jp .ch{--c:var(--ink);--d:70ms;--t0:.35s;display:inline-block;color:transparent;-webkit-text-stroke:2px var(--c);opacity:0;
 animation:ch-flicker .55s steps(1,end) calc(var(--t0) + var(--i) * var(--d)) forwards,ch-fill .45s cubic-bezier(.3,.7,.2,1) calc(var(--t0) + var(--n) * var(--d) + .45s + var(--i) * 28ms) forwards}
.hero-type-on .hv-title-jp em .ch{--c:var(--red)}
@keyframes ch-flicker{0%{opacity:1}14%{opacity:0}26%{opacity:1}38%{opacity:.15}50%{opacity:1}64%{opacity:0}78%{opacity:1}100%{opacity:1}}
@keyframes ch-fill{0%{color:transparent;-webkit-text-stroke-color:var(--c)}100%{color:var(--c);-webkit-text-stroke-color:transparent}}
@media(max-width:760px){.hero-type-on .hv-title-jp .ch{-webkit-text-stroke-width:1.5px}}
.hero-type-on .hero-v2 .hv-kicker{opacity:0;animation:hv-fade .6s ease .1s forwards}
.hero-type-on .hero-v2 .hv-aud,.hero-type-on .hero-v2 .hv-actions{opacity:0;transform:translateY(14px);animation:hv-rise .7s cubic-bezier(.2,.7,.2,1) calc(.35s + var(--hv-n,14) * 70ms + .45s + var(--hv-n,14) * 28ms + .3s) forwards}
.hero-type-on .hero-v2 .hv-actions{animation-delay:calc(.35s + var(--hv-n,14) * 70ms + .45s + var(--hv-n,14) * 28ms + .5s)}
@keyframes hv-fade{to{opacity:1}}
@keyframes hv-rise{to{opacity:1;transform:none}}

/* 見出しアウトライン v2: 画ごとの輪郭ではなく、文字全体を1本でつないだ外形線にする（SVGフィルターで塗り文字の外周だけを抽出） */
.hero-type-on .hv-title-jp .ch{position:relative;-webkit-text-stroke:0!important;opacity:1;color:transparent;
 animation:ch-fill2 .45s cubic-bezier(.3,.7,.2,1) calc(var(--t0) + var(--n) * var(--d) + .45s + var(--i) * 28ms) forwards!important}
.hero-type-on .hv-title-jp .ch::before{content:attr(data-c);position:absolute;inset:0;color:var(--c);filter:url(#hv-outline);opacity:0;pointer-events:none;
 animation:ch-flicker .55s steps(1,end) calc(var(--t0) + var(--i) * var(--d)) forwards,ch-ring-out .35s ease calc(var(--t0) + var(--n) * var(--d) + .45s + var(--i) * 28ms + .15s) forwards}
@keyframes ch-fill2{from{color:transparent}to{color:var(--c)}}
@keyframes ch-ring-out{from{opacity:1}to{opacity:0}}

/* 持ち物: アイコンと文字の中心をそろえる */
main .belong-item{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px}
main .belong-art{display:flex!important;justify-content:center;align-items:center}
main .belong-art img{object-fit:contain;object-position:center}

/* ボトル画像は絵の本体が画像の右寄り（中心が約64%の位置）にあるため、本体の中心が文字の中心に来るよう左へ補正 */
main .belong-art img.belong-bottle{width:auto!important;max-width:none!important;height:100%!important;transform:translateX(-14%)}

/* 2026-10-24 手書きロゴ（WiLD lab）への差し替え：縦横比が約3.3:1になったため表示の高さを調整 */
.logo-art .logo-img{height:44px}
.header-compact .logo-art .logo-img{height:34px}
footer .logo-art .logo-img{height:54px}
@media(max-width:760px){.logo-art .logo-img{height:36px}.header-compact .logo-art .logo-img{height:28px}footer .logo-art .logo-img{height:44px}}
.header-compact footer .logo-art .logo-img{height:54px}
@media(max-width:760px){.header-compact footer .logo-art .logo-img{height:44px}}

/* ===== anim.js：追加の現れ方（2026-10-24） ===== */
:root{--ax-ease:cubic-bezier(.16,1,.3,1);--ax-pop:cubic-bezier(.34,1.45,.64,1)}
/* 1. 見出し上の赤い線を左から引く */
.ax-on main .eyebrow:before{transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ax-ease) calc(var(--ax-d,0ms) + .15s)}
.ax-on main .eyebrow.ax-in:before{transform:scaleX(1)}
/* 2. 大見出しを下から覗かせる */
.ax-on main section:not(.hero-v2) h2{clip-path:inset(0 -6% 100% -6%);translate:0 .32em;transition:clip-path 1.05s var(--ax-ease) calc(var(--ax-d,0ms) + .1s),translate 1.05s var(--ax-ease) calc(var(--ax-d,0ms) + .1s)}
.ax-on main section:not(.hero-v2) h2.ax-in{clip-path:inset(-25% -6% -25% -6%);translate:0 0}
/* 3. 当日の流れの区切り線を伸ばす */
.ax-on main .steps>li{border-top-color:transparent!important;background:linear-gradient(#999,#999) left top/0% 1px no-repeat;transition:background-size 1.1s var(--ax-ease) calc(var(--ax-d,0ms) + .1s)}
.ax-on main .steps>li.ax-in{background-size:100% 1px}
/* 4. イラストを軽く弾ませて出す（scale/opacityのみ。位置や回転の指定とは干渉しない） */
.ax-on main .belong-item,.ax-on main .street-part img{opacity:0;scale:.82;transition:opacity .6s ease var(--ax-d,0ms),scale .85s var(--ax-pop) var(--ax-d,0ms)}
.ax-on main .belong-item.ax-in,.ax-on main .street-part img.ax-in{opacity:1;scale:1}
/* 5. 講師写真をわずかに寄った状態からゆっくり戻す */
.ax-on main .teacher-photo img{scale:1.08;opacity:.001;transition:scale 1.6s var(--ax-ease) var(--ax-d,0ms),opacity .9s ease var(--ax-d,0ms)}
.ax-on main .teacher-photo.ax-in img{scale:1;opacity:1}
/* パーツの重なり検査（parts-guard.js）の計測中は、最終状態の大きさで測る */
.rv-measure .street-part img,.rv-measure .belong-item,.rv-measure main .teacher-photo img{scale:none!important;transition:none!important}
.rv-measure main section h2{translate:none!important;clip-path:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.ax-on main *{transition:none!important}}

/* ===== 背景の大きなイラスト（2026-10-24）：文字の配置は変えず、セクションの背面に大きくはみ出して敷く ===== */
.street-parts{display:none!important}
main section#trial,main section#flow,main section#teachers,main section#about,main section#faq,main section#line{position:relative;isolation:isolate;overflow-x:clip;overflow-y:visible}
main{overflow-x:clip}
main section>.bg-art{position:absolute!important;z-index:-1!important;pointer-events:none;width:var(--bw);height:auto;aspect-ratio:1;margin:0!important}
main section>.bg-art img{width:100%;height:100%;object-fit:contain;display:block;opacity:var(--bo,.085);rotate:var(--br,0deg)}
/* 白地は黒を薄く、黒地は白を薄く。背景になじませる */
#teachers .bg-art,#line .bg-art{--bo:.075}
/* 位置と大きさ（PC）：左右交互・画面端から大きくはみ出す */
.bg-art-trial   {--bw:clamp(520px,58vw,900px);right:-14%;top:-28%;--br:-8deg}
.bg-art-flow    {--bw:clamp(520px,60vw,920px);left:-18%;top:18%;--br:10deg}
.bg-art-teachers{--bw:clamp(520px,56vw,860px);right:-10%;top:4%;--br:-12deg}
.bg-art-about   {--bw:clamp(600px,72vw,1100px);left:-30%;top:-22%;--br:0deg}
.bg-art-faq     {--bw:clamp(520px,58vw,900px);right:-16%;top:8%;--br:8deg}
.bg-art-line    {--bw:clamp(460px,52vw,780px);left:-12%;top:-55%;--br:-10deg}
/* スマホ：同じ考え方で画面幅基準に */
@media(max-width:760px){
 .bg-art-trial{--bw:120vw;right:-52%;top:-12%}
 .bg-art-flow{--bw:120vw;left:-58%;top:30%}
 .bg-art-teachers{--bw:115vw;right:-45%;top:2%}
 .bg-art-about{--bw:140vw;left:-70%;top:-6%}
 .bg-art-faq{--bw:120vw;right:-55%;top:12%}
 .bg-art-line{--bw:110vw;left:-40%;top:-30%}
}

/* ===== 交差するテープ（流れる帯を2本にして交差） ===== */
.tape-cross{position:relative;height:210px;overflow:clip;isolation:isolate}
.tape-cross .ticker{position:absolute;left:-6%;width:112%;max-width:none;top:50%;padding:13px 0;border-top:2px dashed rgba(255,255,255,.45);border-bottom:2px dashed rgba(255,255,255,.45);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.tape-cross .ticker:not(.ticker-b){transform:translateY(-50%) rotate(-4deg);z-index:2}
.tape-cross .ticker.ticker-b{transform:translateY(-50%) rotate(3.2deg);z-index:1;background:var(--red)!important;background-image:none!important}
.tape-cross .ticker.ticker-b .ticker-group i{color:#151515}
@media(max-width:760px){.tape-cross{height:150px}.tape-cross .ticker{padding:10px 0}.tape-cross .ticker:not(.ticker-b){transform:translateY(-50%) rotate(-6deg)}.tape-cross .ticker.ticker-b{transform:translateY(-50%) rotate(5deg)}}
/* 背景イラスト：濃さを上げる（白地12%・黒地10%）／スクロール連動の動き（translate・rotate は個別指定で他の演出と干渉しない） */
main section>.bg-art{--bo:.12;translate:0 var(--py,0px);will-change:translate}
#teachers>.bg-art,#line>.bg-art{--bo:.10}
main section>.bg-art img{rotate:calc(var(--br,0deg) + var(--pr,0deg))}

/* 体験会：説明文を左の見出しの下へ */
#trial .section-head{display:block!important}
#trial .section-head>p{margin:28px 0 0!important;max-width:34em!important}

/* メインビジュアル下：横一本の黒帯に戻す（交差・傾き・点線なし） */
.tape-cross{height:auto!important;margin:0!important;overflow:visible!important}
.tape-cross .ticker.ticker-b{display:none!important}
.tape-cross .ticker{position:relative!important;left:auto!important;top:auto!important;width:100%!important;transform:none!important;rotate:none!important;translate:none!important;border:0!important;box-shadow:none!important}

/* 項目の切れ目：当日の流れ・よくある質問をグレーの紙にして、白→グレー→黒のリズムを作る */
#flow,#faq{max-width:none!important;padding-left:calc(max(0px,(100% - 1600px) / 2) + min(5%,80px))!important;padding-right:calc(max(0px,(100% - 1600px) / 2) + min(5%,80px))!important;
 background-color:#e6e4df!important;background-image:linear-gradient(rgba(40,32,24,.07),rgba(40,32,24,.07)),url('assets/paper-white.webp?v=2')!important;background-size:auto,1200px auto!important;background-repeat:repeat!important;border-bottom:0!important}
@media(max-width:760px){#flow,#faq{padding-left:6%!important;padding-right:6%!important;background-size:auto,800px auto!important}}

/* 試し：黒背景にプラスチックラップの質感（黒い部分は透け、光った部分だけが乗る＝スクリーン合成） */
#teachers::after,#line::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:url('assets/wrap-overlay.webp') center/cover no-repeat;mix-blend-mode:screen;opacity:.55}
/* ラップの質感を黒い部分ごとに別の画像で（拡大して1枚で覆い、つなぎ目を出さない） */
.header,.ticker,footer{isolation:isolate}
footer{position:relative}
.header::after,.ticker::after,footer::after,#teachers::after,#line::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat!important;background-size:cover!important;mix-blend-mode:screen}
.header::after{background-image:url('assets/wrap-header.webp');background-position:center 35%;opacity:.45}
.ticker::after{background-image:url('assets/wrap-ticker.webp');background-position:center 62%;opacity:.4}
#teachers::after{background-image:url('assets/wrap-teachers.webp')!important;background-position:center;opacity:.38}
#line::after{background-image:url('assets/wrap-line.webp')!important;background-position:center;opacity:.6}
footer::after{background-image:url('assets/wrap-footer.webp');background-position:center 70%;opacity:.5}
/* ラップの質感は「開校予定」だけに残す */
.header::after,.ticker::after,footer::after,#teachers::after{display:none!important}
/* ラップの光の筋を下に向かって消し、フッターとの境で途切れて見えないようにする */
#line::after{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 50%,transparent 96%);mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 50%,transparent 96%)}
/* カセットの背景イラストも、フッターとの境の手前で消す（同じ黒同士の境で切れて見えないように） */
#line>.bg-art{-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent 76%);mask-image:linear-gradient(to bottom,#000 45%,transparent 76%)}

/* 当日の流れ：背景の帽子を左右反転し、つばを内側（右）へ向ける */
#flow>.bg-art-flow{scale:-1 1}

/* 持ち物：黒いラベル＋チケット風の枠でまとめる */
#flow .belongings{display:grid!important;grid-template-columns:auto 1fr;align-items:stretch;gap:0!important;margin-top:56px;padding:0!important;
 background:#fbfbf9;border:2px solid #151515;box-shadow:8px 8px 0 #151515;max-width:880px}
#flow .belongings>h3{display:flex;flex-direction:column;justify-content:center;gap:6px;margin:0;padding:28px 34px;background:#151515;color:#fff;font-size:22px;line-height:1.3;white-space:nowrap}
#flow .belongings>h3::before{content:"WHAT TO BRING";font:400 15px/1 Bebas,sans-serif;letter-spacing:.08em;color:var(--red)}
#flow .belongings ul{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;margin:0!important;padding:0!important}
#flow .belongings .belong-item{justify-content:flex-end;padding:26px 16px 22px;border-left:1px dashed #b9b9b4;margin:0!important;font-size:15px}
#flow .belongings .belong-item:first-child{border-left:0}
#flow .belongings .belong-art{width:84px;height:84px}
@media(max-width:760px){
 #flow .belongings{grid-template-columns:1fr;box-shadow:5px 5px 0 #151515;margin-top:44px}
 #flow .belongings>h3{flex-direction:row;align-items:baseline;gap:12px;padding:14px 18px;font-size:19px}
 #flow .belongings>h3::before{font-size:14px;order:2}
 #flow .belongings .belong-item{padding:18px 6px 16px;font-size:13px;white-space:normal}
 #flow .belongings .belong-art{width:60px;height:60px}
}
#flow>.bg-art-flow{left:-6%!important}
@media(max-width:760px){#flow .belongings>h3{justify-content:flex-start}}

/* 持ち物 v2：黒の重さを抜き、上の「01〜04」と同じ4列・細線の文法にそろえる */
#flow .belongings{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:24px!important;max-width:none!important;margin-top:64px!important;
 background:transparent!important;border:0!important;box-shadow:none!important}
#flow .belongings>h3{background:transparent!important;color:var(--ink)!important;padding:20px 0 0!important;justify-content:flex-start!important;border-top:2px solid #151515;font-size:22px!important}
#flow .belongings>h3::before{font-size:14px!important}
#flow .belongings ul{grid-column:2 / -1;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:24px!important}
#flow .belongings .belong-item{border-left:0!important;border-top:1px solid rgba(21,21,21,.3);padding:20px 0 0!important;align-items:flex-start!important;text-align:left!important;justify-content:flex-start!important;gap:12px!important}
#flow .belongings .belong-art{width:72px!important;height:72px!important;justify-content:flex-start!important}
@media(max-width:760px){
 #flow .belongings{grid-template-columns:1fr!important;row-gap:0;margin-top:48px!important}
 #flow .belongings>h3{flex-direction:row!important;align-items:baseline;gap:12px;padding:16px 0 0!important;font-size:19px!important}
 #flow .belongings>h3::before{order:2}
 #flow .belongings ul{grid-column:1;column-gap:14px!important;margin-top:16px!important}
 #flow .belongings .belong-item{padding:14px 0 0!important;font-size:13px!important;white-space:normal}
 #flow .belongings .belong-art{width:56px!important;height:56px!important}
}
@media(max-width:760px){#flow .belongings .belong-item{border-top:0!important;padding-top:4px!important}}
/* 持ち物の線を「01〜04」と同じ1px・同じ色に（重さの逆転をなくす） */
#flow .belongings>h3{border-top:1px solid #999!important}
#flow .belongings .belong-item{border-top-color:#999!important}

/* 体験会：次回の開催予定 */
#trial .trial-next{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:28px 0 0;max-width:34em}
#trial .trial-next-tag{display:inline-block;background:#151515;color:#fff;font-size:13px;font-weight:600;line-height:1;padding:7px 10px}
#trial .trial-next-date{font-size:20px;font-weight:600;line-height:1.4}
#trial .trial-next-note{flex-basis:100%;font-size:14px;color:#555}
@media(max-width:760px){#trial .trial-next{margin-top:22px}#trial .trial-next-date{font-size:18px}#trial .trial-next-note{font-size:13px}}

/* スマートフォンでスクロール中に帯がガクガクする対策 */
/* 1) 指で触れると「ホバー中」扱いになり帯が止まる→動くを繰り返すため、タッチ端末ではホバー停止を無効化 */
@media (hover:none){.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:running!important}}
/* 2) 帯の流れを専用の描画レイヤーに分け、スクロール中の描き直しの影響を受けないようにする */
.ticker-track{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
/* 3) 背景イラストの描き直しを減らす（スマートフォンでは回転をやめ、上下の動きだけ残す） */
main section>.bg-art img{will-change:transform}
@media(max-width:760px){main section>.bg-art img{rotate:var(--br,0deg)!important}}
/* スマートフォン下部の赤い予約ボタン：スクロール中にブラウザのツールバーが出入りするたび、
   重い影（drop-shadow）とギザギザの切り抜きを描き直してガクつくため、影をやめて専用レイヤーに固定する */
@media(max-width:760px){
 .floatcta{filter:none!important;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(-50%,0,0) rotate(-1deg)!important}
 .floatcta:active{transform:translate3d(-50%,2px,0) rotate(-1deg)!important}
 .floatcta:before{background-blend-mode:normal!important;background-image:none!important}
}
/* iPhoneのChromeなどでは、スクロール中にツールバーが出入りするたび画面の高さ（svh）が変わり、
   メインビジュアルの高さが伸び縮みして黒い帯と下の内容が上下にガクッと動く。
   スマートフォンでは読み込み時の高さで固定し、画面の向きが変わったときだけ計算し直す */
@media(max-width:760px){.hero-v2{min-height:min(calc(var(--hero-lock,100svh) - var(--hh,100px)),720px)!important}}
