:root{--blue:#0b74d8;--blue2:#1697ed;--navy:#073767;--sky:#eaf6ff;--line:#cfe3f3;--text:#16344f;--muted:#5c7184;--white:#fff;--shadow:0 16px 40px rgba(15,91,150,.11);--radius:20px;--font-en:'Montserrat',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--text);font-family:'Noto Sans JP',sans-serif;line-height:1.8;background:#fff;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1200px,calc(100% - 48px));margin:auto}.section{padding:96px 0}.bg-soft{background:#f4faff}.center{text-align:center;margin-top:48px}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{box-shadow:0 8px 30px rgba(16,65,105,.09);border-color:#e7f0f7}.header-inner{height:100%;max-width:1400px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;line-height:1;color:var(--navy);flex-shrink:0}.brand strong{font:800 1.25rem/1 var(--font-en);letter-spacing:.04em}.brand small{display:block;font:600 .58rem/1.5 var(--font-en);letter-spacing:.28em;margin-top:5px}.brand-mark{position:relative;width:34px;height:34px;transform:rotate(-8deg)}.brand-mark:before,.brand-mark i,.brand-mark b{content:"";position:absolute;display:block;background:linear-gradient(135deg,var(--blue2),var(--blue));border-radius:100% 0 100% 0}.brand-mark:before{width:8px;height:28px;left:13px;top:1px;transform:rotate(42deg)}.brand-mark i{width:7px;height:25px;left:7px;top:7px;transform:rotate(-34deg)}.brand-mark b{width:7px;height:23px;right:4px;top:8px;transform:rotate(25deg)}.global-nav{display:flex;align-items:center;gap:19px;margin-left:auto}.global-nav a{font-size:.76rem;font-weight:600;white-space:nowrap;transition:.2s}.global-nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;border-radius:999px;background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;font-weight:700;border:0;box-shadow:0 8px 20px rgba(11,116,216,.22);transition:.25s;cursor:pointer}.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(11,116,216,.3)}.header-cta{font-size:.8rem;padding:11px 18px;white-space:nowrap}.button-lg{min-height:58px;padding:16px 28px}.button span{font-size:1.2rem}.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px;transition:.25s}
.hero{padding-top:76px;background:linear-gradient(115deg,#f4faff 0%,#fff 55%)}.hero-grid{min-height:690px;display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);align-items:center}.hero-copy{padding:70px 5vw max(65px,6vw) max(5vw,calc((100vw - 1200px)/2))}.eyebrow,.section-en{font:700 .82rem/1 var(--font-en);color:var(--blue);letter-spacing:.22em;margin:0 0 18px}.hero h1{font-size:clamp(2.4rem,4.1vw,4.75rem);line-height:1.35;letter-spacing:.03em;margin:0 0 24px;color:var(--navy)}.hero h1 em{font-style:normal;color:var(--blue)}.hero-lead{font-weight:600;font-size:1.05rem;line-height:2;margin:0 0 10px}.hero-sub{font-size:.93rem;color:var(--muted);margin:0}.hero-points{display:flex;gap:10px;margin:26px 0}.hero-points span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-weight:700;font-size:.82rem;box-shadow:0 5px 14px rgba(41,100,145,.07)}.hero-points span:before{content:'✓';color:var(--blue);margin-right:6px}.hero-action{display:flex;align-items:center;gap:22px}.trial-price{padding-right:20px;border-right:1px solid var(--line);line-height:1.15}.trial-price small{display:block;font-weight:700;color:var(--blue)}.trial-price strong{font:800 2.1rem var(--font-en);color:var(--navy)}.trial-price em{font:700 .9rem 'Noto Sans JP';margin-left:2px}.hero-image{height:690px;position:relative;overflow:hidden;border-radius:0 0 0 70px}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.15),transparent 30%)}.hero-image img{height:100%;object-fit:cover;object-position:center}.image-tag{position:absolute;z-index:2;right:32px;bottom:30px;color:#fff;font:700 .74rem/1.5 var(--font-en);letter-spacing:.2em;border:1px solid rgba(255,255,255,.7);border-radius:50%;width:106px;height:106px;display:grid;place-content:center;text-align:center;backdrop-filter:blur(8px);background:rgba(0,88,165,.25)}.hero-bottom{height:58px;display:flex;align-items:center;justify-content:center;gap:25px;color:#6a88a1;font:600 .68rem var(--font-en);letter-spacing:.18em}.hero-bottom i{width:3px;height:3px;border-radius:50%;background:var(--blue2)}
.about-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:80px;align-items:center}.section-en{position:relative;padding-left:38px}.section-en:before{content:"";position:absolute;left:0;top:50%;width:26px;height:3px;background:var(--blue)}h2{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.4;color:var(--navy);margin:0 0 28px;letter-spacing:.03em}.section-copy>p{margin:0 0 17px}.worry-list{display:grid;gap:8px;margin:24px 0}.worry-list span{background:var(--sky);border-left:3px solid var(--blue);border-radius:5px;padding:8px 14px;color:var(--navy);font-weight:600}.about-image{position:relative;margin:0}.about-image img{aspect-ratio:1.15;object-fit:cover;border-radius:30px}.about-image:before{content:"";position:absolute;z-index:-1;width:70%;height:70%;right:-22px;bottom:-22px;background:var(--sky);border-radius:30px}.about-image figcaption{position:absolute;left:-28px;bottom:28px;background:#fff;padding:16px 22px;color:var(--blue);font:600 .8rem/1.6 var(--font-en);letter-spacing:.1em;box-shadow:var(--shadow);border-radius:10px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}.section-head h2{margin:0}.section-head>p{max-width:390px;color:var(--muted);margin:0}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.class-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px rgba(21,85,135,.07);transition:.3s}.class-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.class-card>img{height:215px;object-fit:cover}.class-card:nth-child(1)>img{object-position:48% center}.card-body{padding:24px 20px}.class-no{font:700 .72rem var(--font-en);color:var(--blue)}.class-card h3{font-size:1.2rem;margin:4px 0 13px;color:var(--navy)}.meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.meta span,.meta b{font-size:.74rem;padding:5px 9px;border-radius:5px}.meta span{background:#eef3f7}.meta b{background:var(--sky);color:var(--blue)}.class-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.8}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reason-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;min-height:230px}.reason-card:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:linear-gradient(90deg,var(--blue),var(--blue2));border-radius:0 0 18px 18px}.line-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--blue);color:var(--blue);font-size:1.4rem;margin-bottom:18px}.reason-card>b{position:absolute;right:24px;top:25px;font:700 1.2rem var(--font-en);color:#c7dfef}.reason-card h3{font-size:1.05rem;margin:0 0 10px;color:var(--navy)}.reason-card p{font-size:.86rem;color:var(--muted);margin:0}.price-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}.price-table-wrap{overflow:hidden;border-radius:14px;background:#fff;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th{background:linear-gradient(90deg,#176aa8,#3997cc);color:#fff;text-align:left;padding:15px 18px;font-size:.88rem}td{padding:16px 18px;border-bottom:1px solid #dfebf4;font-size:.9rem}tbody tr:nth-child(even){background:#f2f9ff}td strong{color:var(--blue);font-size:1rem}.notes{font-size:.78rem;color:var(--muted);padding:4px 18px 15px}.price-side{display:grid;gap:14px}.trial-box{padding:26px;background:linear-gradient(145deg,var(--blue),#0e96ea);color:#fff;border-radius:18px;box-shadow:var(--shadow)}.trial-box small{font-weight:700}.trial-box h3{margin:2px 0;font-size:1.25rem}.trial-box strong{font:800 2.6rem var(--font-en)}.trial-box strong em{font:700 1rem 'Noto Sans JP';font-style:normal}.trial-box p{font-size:.82rem;margin:8px 0 0}.entry-box{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:13px}.entry-box span{font-size:.85rem}.entry-box strong{color:var(--navy);font-size:1.1rem}.schedule-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.s-row{display:grid;grid-template-columns:90px repeat(6,1fr);min-height:72px;border-bottom:1px solid var(--line)}.s-row:last-child{border:0}.s-row>span,.s-row>i,.s-row>b{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);padding:9px;text-align:center;font-size:.78rem;font-style:normal}.s-row>b{flex-direction:column;color:var(--navy)}.s-row small{display:block;font-weight:500}.s-head{min-height:48px;background:var(--navy);color:#fff;font-weight:700}.s-head>span{font-size:.88rem}.hiphop{background:#dff4ff}.kpop{background:#eee9ff}.jazz{background:#fff0f3}.girls{background:#fff4dc}.schedule-mobile{display:none}.bg-blue{background:linear-gradient(135deg,#073b70,#086dbb);color:#fff}.section-head.light h2,.section-head.light .section-en,.section-head.light>p{color:#fff}.section-head.light .section-en:before{background:#71c6ff}.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.flow-grid article{position:relative;padding:25px 20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:14px;min-height:250px}.flow-grid article:not(:last-child):after{content:'›';position:absolute;right:-10px;top:44%;z-index:3;font-size:1.5rem;color:#9bd9ff}.flow-grid b{font:800 2rem var(--font-en);color:#6fcaff}.flow-grid h3{font-size:1rem;line-height:1.55;margin:14px 0}.flow-grid p{font-size:.8rem;color:#ddecf8;margin:0}.intro-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;margin-bottom:50px}.intro-layout p{margin-top:0}.instructor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.instructor-card{display:grid;grid-template-columns:45% 55%;background:#f4faff;border-radius:22px;overflow:hidden;min-height:370px}.instructor-photo{overflow:hidden;position:relative}.instructor-photo img{height:100%;width:600%;max-width:none;object-fit:cover}.crop-mayu img{transform:translateX(0)}.crop-shun img{transform:translateX(-16.67%)}.instructor-card>div:last-child{padding:35px 28px}.instructor-card span{font:700 .7rem var(--font-en);letter-spacing:.16em;color:var(--blue)}.instructor-card h3{font:800 2rem var(--font-en);margin:3px 0;color:var(--navy)}.instructor-card b{font-size:.78rem;color:var(--blue)}.instructor-card p{font-size:.86rem;color:var(--muted);margin-top:18px}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;align-items:start}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.faq-list summary{list-style:none;cursor:pointer;min-height:68px;display:flex;align-items:center;padding:13px 54px 13px 18px;font-weight:600;font-size:.9rem;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--blue);font:800 1rem var(--font-en);margin-right:10px}.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;right:20px;top:33px;width:14px;height:2px;background:var(--blue)}.faq-list summary i:after{transform:rotate(90deg);transition:.2s}.faq-list details[open] summary i:after{transform:rotate(0)}.faq-list details p{margin:0;padding:0 22px 20px 46px;font-size:.86rem;color:var(--muted)}.final-cta{display:grid;grid-template-columns:45% 55%;min-height:520px;background:var(--navy);color:#fff}.cta-image img{height:100%;object-fit:cover;object-position:center}.cta-copy{padding:70px max(6vw,calc((100vw - 1200px)/2)) 70px 6vw;align-self:center}.cta-copy .section-en,.cta-copy h2{color:#fff}.cta-copy p{max-width:650px}.cta-badges{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.cta-badges span{border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:7px 13px;font-size:.78rem;font-weight:600}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-intro{position:sticky;top:120px;align-self:start}.contact-intro dl{margin-top:35px}.contact-intro dl div{padding:17px 0;border-top:1px solid var(--line)}.contact-intro dt{font:700 .7rem var(--font-en);letter-spacing:.15em;color:var(--blue)}.contact-intro dd{margin:3px 0 0;font-size:.9rem}.contact-form{background:#f5faff;border-radius:22px;padding:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-weight:600;font-size:.86rem;margin-bottom:18px}.contact-form label span{color:var(--blue);font-size:.7rem;margin-left:8px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #bfd6e8;border-radius:8px;background:#fff;padding:12px 13px;color:var(--text);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,116,216,.1)}.form-submit{width:100%}.form-status{text-align:center;color:var(--blue);font-weight:700;margin:14px 0 0}.site-footer{background:#062d55;color:#dceaf5}.footer-main{padding:55px 0 35px;display:grid;grid-template-columns:1fr 1fr 1.6fr auto;gap:35px;align-items:start}.brand-white{color:#fff}.footer-main p{font-size:.78rem;margin:0}.footer-main nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;font:600 .7rem var(--font-en)}.footer-main nav a:hover,.social a:hover{color:#72c7ff}.social{display:grid;gap:8px;font:600 .75rem var(--font-en)}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:18px;font-size:.65rem}.back-to-top{position:fixed;z-index:90;right:24px;bottom:24px;width:50px;height:50px;border:0;border-radius:50%;background:var(--blue);color:#fff;font-size:1.25rem;box-shadow:0 8px 22px rgba(9,78,135,.25);opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s;cursor:pointer}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.stagger-group .reveal:nth-child(2){transition-delay:.08s}.stagger-group .reveal:nth-child(3){transition-delay:.16s}.stagger-group .reveal:nth-child(4){transition-delay:.24s}.stagger-group .reveal:nth-child(5){transition-delay:.32s}.stagger-group .reveal:nth-child(6){transition-delay:.4s}
@media(max-width:1120px){.global-nav{display:none}.menu-toggle{display:block}.header-cta{margin-left:auto}.global-nav.open{display:flex;position:absolute;top:76px;left:0;width:100%;padding:20px 28px 28px;background:#fff;box-shadow:0 15px 30px rgba(10,53,91,.1);flex-direction:column;align-items:flex-start;gap:0}.global-nav.open a{width:100%;padding:11px 0;border-bottom:1px solid #edf3f7}.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-copy{padding-left:32px;padding-right:32px}.class-grid{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(5,220px);overflow-x:auto;padding-bottom:12px}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:767px){html{scroll-padding-top:68px}.site-header{height:68px}.header-inner{padding:0 16px}.brand strong{font-size:1.02rem}.brand small{font-size:.5rem}.brand-mark{width:29px;height:29px}.header-cta{display:none}.global-nav.open{top:68px}.container{width:min(100% - 32px,1200px)}.section{padding:64px 0}.hero{padding-top:68px}.hero-grid{display:flex;flex-direction:column;min-height:auto}.hero-image{order:1;width:100%;height:62vw;min-height:260px;max-height:430px;border-radius:0 0 28px 28px}.hero-image img{object-position:center 42%}.image-tag{width:78px;height:78px;right:16px;bottom:16px;font-size:.57rem}.hero-copy{order:2;padding:38px 16px 48px}.eyebrow{font-size:.7rem}.hero h1{font-size:2.15rem;line-height:1.45}.hero-lead{font-size:.98rem}.hero-sub{font-size:.88rem}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:7px}.hero-points span{font-size:.73rem;padding:8px}.hero-points span:last-child{grid-column:1/-1}.hero-action{display:grid;grid-template-columns:1fr}.trial-price{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.button-lg{width:100%}.hero-bottom{gap:9px;height:48px;font-size:.52rem}.about-grid,.price-layout,.intro-layout,.contact-grid{grid-template-columns:1fr;gap:42px}.about-image figcaption{left:12px;bottom:12px}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:18px}.section-en{font-size:.73rem}.class-grid,.reason-grid,.instructor-grid,.faq-list{grid-template-columns:1fr}.class-card>img{height:240px}.reason-grid{gap:12px}.reason-card{min-height:auto}.price-table-wrap{border:0;background:transparent;overflow:visible}.price-table-wrap table,.price-table-wrap tbody{display:block}.price-table-wrap thead{display:none}.price-table-wrap tr{display:grid;grid-template-columns:1fr 1fr;background:#fff!important;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.price-table-wrap td{padding:10px 13px;border:0;font-size:.8rem}.price-table-wrap td:first-child{grid-column:1/-1;background:#eaf6ff;font-weight:700}.price-table-wrap td:nth-child(3){text-align:right}.schedule-table{display:none}.schedule-mobile{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-mobile article{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff;display:flex;flex-direction:column}.schedule-mobile b{color:var(--blue);margin-bottom:8px}.schedule-mobile span{font-size:.75rem;color:var(--muted)}.schedule-mobile strong{font-size:.86rem;margin-bottom:5px}.flow-grid{display:grid;grid-template-columns:1fr;overflow:visible}.flow-grid article{min-height:auto;padding:22px}.flow-grid article:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-18px}.intro-layout{margin-bottom:36px}.instructor-card{grid-template-columns:1fr;min-height:0}.instructor-photo{height:330px}.instructor-card>div:last-child{padding:28px 24px}.final-cta{grid-template-columns:1fr}.cta-image{height:65vw;max-height:420px}.cta-copy{padding:52px 24px 62px}.contact-intro{position:static}.contact-form{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr;gap:24px}.footer-main nav{grid-template-columns:repeat(2,1fr)}.back-to-top{right:14px;bottom:14px;width:45px;height:45px}h2{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition-duration:.01ms!important}}

/* First-view balance: keep the supplied two-line headline intact on desktop. */
@media(min-width:768px){.hero-grid{grid-template-columns:minmax(0,50%) minmax(0,50%)}.hero-copy{padding-right:4vw}.hero h1{font-size:clamp(2.4rem,3.5vw,4.1rem);letter-spacing:.02em}}

/* 2026 visual refresh: a larger, unified Japanese adult dance photo story. */
@media(min-width:768px){
  .hero-grid{display:grid;grid-template-columns:1fr;min-height:82vh;position:relative;isolation:isolate}
  .hero-image{grid-area:1/1;height:82vh;min-height:700px;border-radius:0;z-index:0}
  .hero-image img{height:100%;object-fit:cover;object-position:center}
  .hero-image:after{background:linear-gradient(90deg,rgba(241,249,255,.94) 0%,rgba(241,249,255,.76) 25%,rgba(255,255,255,.08) 54%,transparent 70%)}
  .hero-copy{grid-area:1/1;position:relative;z-index:2;align-self:center;width:min(590px,44vw);margin-left:max(8px,calc((100vw - 1300px)/2));padding:42px 44px;background:rgba(255,255,255,.88);border:1px solid rgba(207,227,243,.9);border-radius:24px;box-shadow:0 22px 65px rgba(7,55,103,.15);backdrop-filter:blur(10px)}
  .hero h1{font-size:clamp(1.9rem,2.45vw,2.9rem)}
}
.about-image img{object-position:center 40%}
.class-card>img{object-fit:cover;object-position:center 32%}
.instructor-photo img{width:100%;max-width:100%;height:100%;object-fit:cover;transform:none}
.crop-mayu img{transform:none;object-position:center 22%}
.crop-shun img{transform:none;object-position:center 18%}
.cta-image img{object-position:65% center}

@media(max-width:767px){
  .hero-grid{min-height:auto}
  .hero-image{height:64vw;min-height:270px;max-height:430px}
  .hero-image img{object-position:68% center}
  .hero-image:after{background:linear-gradient(0deg,rgba(5,60,110,.18),transparent 45%)}
  .hero-copy{width:100%;margin:0;padding:38px 16px 48px;background:#fff;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
  .instructor-photo img{width:100%;height:100%;object-fit:cover}
}
