@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--red:#e32d23;--red-dark:#ba261e;--ink:#11110f;--muted:#6f6e6b;--cream:#f1eee7;--line:#d8d4cd;--white:#fff;--display:"Barlow Condensed",Impact,"Arial Narrow",sans-serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:var(--red);color:#fff}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.announcement{height:35px;background:#111;color:#c8c7c3;display:flex;align-items:center;justify-content:center;gap:16px;font-size:9px;letter-spacing:1.7px;font-weight:700}.announcement a{color:#fff;border-bottom:1px solid #6f6b68;padding-bottom:2px;margin-left:12px}.announcement a span,.announcement-separator{color:var(--red)}.pulse{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--red);box-shadow:0 0 0 3px #e32d2335}.site-header{height:88px;background:#f7f5f0;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,5.2vw);gap:22px;position:relative;z-index:25;border-bottom:1px solid #dcd8d0}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.brand-mark{display:flex;align-items:center;font-weight:900;line-height:1;color:#171717;font-size:30px;letter-spacing:-5px}.brand-mark-red{color:var(--red)}.brand-type{font:900 30px/.8 var(--display);letter-spacing:.5px;display:flex;flex-direction:column}.brand-type span{font:700 9px/1.5 var(--sans);letter-spacing:2px;margin-top:8px;color:#888}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,2.3vw,32px)}.desktop-nav a{font-weight:800;font-size:10px;letter-spacing:1.3px;white-space:nowrap}.desktop-nav a:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff;padding:18px 22px;font-weight:800;font-size:10px;letter-spacing:1.5px;white-space:nowrap}.nav-cta span{margin-left:20px}.nav-cta:hover,.btn-red:hover{background:#b92219}.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:#111;margin:5px 0}.mobile-nav{position:absolute;z-index:30;top:123px;left:0;right:0;background:#f7f5f0;box-shadow:0 15px 20px #0002;padding:20px 8%}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:800}.hero{position:relative;min-height:690px;height:min(790px,80vw);max-height:920px;background:#111;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 43%,#4a3835,#211b1b 37%,#0c0e0d 78%),linear-gradient(125deg,#161817,#302421)}.hero-image:before{content:"柔";position:absolute;right:3%;top:-22%;font:bold min(61vw,900px)/1 sans-serif;color:#f8f0e6;opacity:.075;transform:rotate(-11deg)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505e6,#05050542 65%,#05050566),repeating-linear-gradient(100deg,transparent 0 155px,#ffffff08 156px 157px)}.hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.hero-container{position:relative;z-index:1;max-width:1640px;height:100%;margin:auto;padding:8% max(32px,7.5vw) 9%;display:flex;flex-direction:column;justify-content:center}.hero-tag{display:flex;align-items:center;gap:15px;color:#e4ded5;font-size:10px;font-weight:700;letter-spacing:2px}.red-bar{width:25px;height:4px;background:var(--red)}.tag-line{height:1px;background:#aaa4;width:30px;opacity:.55}.hero h1{font:900 clamp(105px,13.5vw,225px)/.77 var(--display);letter-spacing:-2px;margin:45px 0 40px;max-width:1100px}.hero h1 em{font-style:normal;color:#89837e}.hero h1 span{color:var(--red)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;width:100%}.hero-bottom p{font:600 13px/1.7 var(--sans);letter-spacing:2.6px;color:#e4e1de;margin:0 0 28px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:20px 24px;min-width:193px;font-size:11px;letter-spacing:1.3px;font-weight:800;transition:background .2s}.btn-red{background:var(--red);color:#fff}.btn-outline{border:1px solid #777;color:#fff}.btn-outline:hover{background:#ffffff23}.vertical-japanese{writing-mode:vertical-rl;color:#d8d3c8;font-size:22px;letter-spacing:12px}.hero-footer{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:15px max(32px,5.2vw);display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff32;font-size:9px;font-weight:700;letter-spacing:1.6px;color:#ccc}.ticker{overflow:hidden;height:62px;display:flex;align-items:center;background:var(--red);color:#fff}.ticker-track{display:flex;flex:0 0 auto;white-space:nowrap;animation:marquee 45s linear infinite}.ticker-track span{font:800 22px var(--display);letter-spacing:3px}.ticker-track b{margin:0 30px;color:#5c1613;font-size:20px}@keyframes marquee{to{transform:translate(-50%)}}.section-wrap{max-width:1500px;margin:auto;padding:100px max(32px,6vw)}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-bottom:65px;font-size:10px;font-weight:800;letter-spacing:2px;color:#706c66}.intro-layout{display:grid;grid-template-columns:1.1fr .75fr;gap:10%;align-items:end}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.2px;color:var(--red);margin:0 0 22px}.red-dash{display:inline-block;background:var(--red);width:24px;height:2px;vertical-align:middle;margin-left:10px}.intro h2,.section-title-row h2,.sensei-content h2,.cta-content h2,.contact h2{font:900 clamp(58px,7.3vw,115px)/.89 var(--display);letter-spacing:-1px;margin:0;text-transform:uppercase}.intro h2 i,.section-title-row h2 i,.sensei-content h2 i,.cta-content h2 i,.contact h2 i{color:var(--red);font-style:normal}.intro-copy{padding-bottom:10px;color:#5f5b56;font-size:14px;line-height:1.9}.intro-copy .lead{font-size:23px;font-weight:700;line-height:1.5;color:#171715;margin-top:0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:2px solid #151515;padding:13px 0 12px;margin-top:20px;font-size:11px;letter-spacing:1.5px;font-weight:800}.text-link span{color:var(--red)}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:90px}.principle{padding:36px 28px 38px;border-right:1px solid var(--line)}.principle:first-child{padding-left:0}.principle:last-child{border-right:0}.principle .kanji{font-size:52px;display:block;color:var(--red);margin-bottom:18px;font-family:serif}.principle h3{font:800 29px var(--display);letter-spacing:1px;margin:0 0 10px}.principle p{color:#77716a;font-size:13px;line-height:1.8;max-width:260px}.programs{padding-top:45px}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:45px}.section-title-row>p{max-width:300px;font-size:14px;line-height:1.9;color:#6f6b66}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.program-card{min-height:450px;padding:25px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background:#23201e;transition:transform .25s}.program-card:hover{transform:translateY(-5px)}.program-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#944138,transparent 56%),linear-gradient(145deg,#302724,#0c0d0e);opacity:.8}.program-card.kids:after,.program-card.adults:after,.program-card.competition:after{content:"柔";position:absolute;font:700 370px serif;right:-40px;top:14px;line-height:1;color:#fff;opacity:.065;transform:rotate(-12deg)}.program-card.adults:before{background:radial-gradient(circle at 65% 25%,#55514a,transparent 57%),linear-gradient(150deg,#33312c,#121212)}.program-card.competition:before{background:radial-gradient(circle at 65% 25%,#661f20,transparent 57%),linear-gradient(150deg,#3b2020,#151112)}.program-top,.program-main{position:relative;z-index:1}.program-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:2px}.program-top>span:last-child{font-size:20px}.program-main h3{font:800 clamp(45px,4.6vw,70px)/.95 var(--display);text-transform:uppercase;margin:0 0 15px}.program-main p{font-size:13px;line-height:1.7;color:#ddd6d1;max-width:330px}.program-meta{font-size:9px;letter-spacing:1.5px;color:#ddd;display:block;margin-top:28px;padding-top:19px;border-top:1px solid #ffffff42}.program-note,.gallery-note{color:#77716a;font-size:12px;line-height:1.7;margin-top:20px}.sensei-section{display:grid;grid-template-columns:1fr 1fr;min-height:660px;background:#121212;color:#fff}.sensei-art{position:relative;overflow:hidden;background:radial-gradient(circle at 65% 50%,#6e2724,transparent 46%),linear-gradient(130deg,#292322,#0b0c0c);display:flex;align-items:center;justify-content:center}.sensei-art:before{content:"";position:absolute;inset:8%;border:1px solid #ffffff22}.sensei-gi{font:bold clamp(120px,19vw,340px) serif;color:#f4e9df;opacity:.18;transform:rotate(-12deg)}.sensei-vertical{position:absolute;bottom:45px;left:45px;letter-spacing:2px;color:#d3c7c0;font-size:9px}.sensei-content{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:95px clamp(36px,7vw,120px)}.sensei-content h2{font-size:clamp(65px,6.1vw,104px)}.sensei-name{color:#fff!important;font-size:14px!important;letter-spacing:2px;font-weight:800;margin-top:35px!important}.sensei-content>p:not(.eyebrow){color:#bcb8b2;line-height:1.9;font-size:14px}.sensei-content .btn{margin-top:20px}.sensei-caption{font-size:9px;letter-spacing:1.5px;color:#777;margin-top:40px}.gallery{padding-bottom:110px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:245px;gap:14px}.gallery-item{position:relative;overflow:hidden;background:radial-gradient(circle at 60% 48%,#7a3a2f,#26211e 58%,#141313);color:#fff}.gallery-item:nth-child(2){background:radial-gradient(circle at 60% 30%,#5a5d54,#1e2020 62%)}.gallery-item:nth-child(3){background:radial-gradient(circle at 60% 30%,#6d4e3d,#1d1717 62%)}.gallery-item:nth-child(4){background:radial-gradient(circle at 60% 30%,#a34130,#1e1818 62%)}.gallery-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;filter:grayscale(.4);transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-art{position:absolute;inset:0;display:grid;place-items:center}.gallery-art span{font:bold clamp(85px,10vw,220px) serif;transform:rotate(-15deg);opacity:.2}.gallery-large{grid-row:span 2}.gallery-large .gallery-art span{font-size:300px}.gallery-overlay{z-index:3;position:absolute;bottom:0;left:0;right:0;padding:22px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,#0009);font-size:10px;letter-spacing:1.5px;font-weight:800}.gallery-overlay span:last-child{font-size:22px}.cta-band{min-height:510px;background:var(--red);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;padding:80px max(32px,9vw)}.cta-symbol{position:absolute;right:5%;top:-25%;font:700 580px serif;color:#fff;opacity:.1;transform:rotate(-8deg)}.cta-content{position:relative;z-index:1;max-width:800px}.cta-content .eyebrow{color:#fbd7d2}.cta-content h2{font-size:clamp(95px,12vw,185px)}.cta-content h2 i{color:#2b1211}.cta-content p:not(.eyebrow){letter-spacing:1px;font-size:14px;max-width:480px;line-height:1.7}.btn-light{background:#fff;color:#161616;margin-top:12px}.btn-light:hover{background:#e7e0d7}.contact{padding-top:110px;padding-bottom:125px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact-grid>div:first-child>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#77716a;max-width:440px;margin-top:30px}.contact-phone{display:inline-block;font:800 clamp(26px,3vw,43px) var(--display);border-bottom:2px solid #111;margin-top:30px;padding-bottom:10px}.social-links{display:flex;gap:25px;margin-top:45px;font-size:10px;font-weight:800;letter-spacing:1.2px}.social-links a:hover{color:var(--red)}.location-card{border:1px solid var(--line);background:#e8e4dc}.location-top{display:flex;justify-content:space-between;padding:22px;font-size:10px;font-weight:800;letter-spacing:1.5px}.location-art{height:240px;position:relative;overflow:hidden;background-color:#dbd6cc;background-image:linear-gradient(90deg,transparent 96%,#c3bcb0 97%),linear-gradient(transparent 96%,#c3bcb0 97%);background-size:68px 68px}.street{position:absolute;background:#f2eee8;box-shadow:0 0 0 3px #cdc6bb}.street-one{height:28px;left:-10%;right:-10%;top:40%;transform:rotate(-22deg)}.street-two{width:24px;top:-15%;bottom:-15%;left:65%;transform:rotate(15deg)}.street-three{height:18px;left:-10%;right:-10%;top:79%;transform:rotate(17deg)}.location-pin{position:absolute;top:43%;left:46%;background:var(--red);color:#fff;width:52px;height:52px;border-radius:100%;display:grid;place-items:center;font:900 24px var(--display);box-shadow:0 0 0 9px #e32d2333}.location-pin span{position:absolute;bottom:-16px;color:var(--red);font-size:22px}.location-bottom{display:flex;justify-content:space-between;padding:28px;align-items:center}.location-bottom strong{font:800 26px var(--display)}.location-bottom p{font-size:13px;line-height:1.7;color:#666}.location-bottom a{width:48px;height:48px;display:grid;place-items:center;background:#111;color:#fff;font-size:24px}.site-footer{background:#141414;color:#fff;padding:55px max(32px,6vw) 20px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding-bottom:65px}.footer-logo{font:900 clamp(48px,6vw,100px)/.85 var(--display)}.footer-logo span{color:var(--red);display:block}.footer-top p{font:700 13px/1.9 var(--sans);letter-spacing:1.5px;color:#999}.back-top{font-size:10px;letter-spacing:1.5px;font-weight:800}.footer-bottom{border-top:1px solid #363636;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#888;font-size:9px;font-weight:700;letter-spacing:1.5px}@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.hero h1{font-size:clamp(105px,15vw,180px)}.program-grid{gap:10px}.program-card{padding:20px;min-height:420px}.program-main h3{font-size:52px}.sensei-content{padding:70px 40px}}@media(max-width:760px){.announcement{font-size:8px;padding:0 12px;text-align:center;gap:8px}.announcement-separator,.announcement a{display:none}.site-header{height:78px;padding:0 22px}.mobile-nav{top:113px}.brand-type{font-size:26px}.brand-mark{font-size:25px}.nav-cta{display:none}.hero{height:auto;min-height:690px}.hero-container{padding:100px 25px 105px}.hero h1{font-size:clamp(86px,18vw,148px);margin:52px 0 40px}.hero-tag{font-size:9px;letter-spacing:1.3px}.vertical-japanese{display:none}.hero-footer{font-size:8px;padding:17px 23px}.hero-footer span:last-child{display:none}.hero-bottom p{font-size:11px}.hero-actions{flex-direction:column;align-items:start}.btn{width:100%}.section-wrap{padding:75px 24px}.section-label{margin-bottom:48px;font-size:9px}.section-label span:last-child{display:none}.intro-layout,.contact-grid{grid-template-columns:1fr;gap:35px}.intro h2,.section-title-row h2,.contact h2{font-size:clamp(60px,13vw,95px)}.intro-copy .lead{font-size:21px}.principles{grid-template-columns:1fr;margin-top:50px}.principle,.principle:first-child{border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.principle:last-child{border-bottom:0}.principle .kanji{font-size:42px;margin-bottom:6px}.section-title-row{display:block}.section-title-row>p{margin-top:30px}.program-grid{grid-template-columns:1fr}.program-card{min-height:360px}.program-main h3{font-size:65px}.sensei-section{grid-template-columns:1fr}.sensei-art{min-height:330px}.sensei-art:before{inset:24px}.sensei-gi{font-size:180px}.sensei-content{padding:75px 26px}.sensei-content h2{font-size:70px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-large{grid-column:span 2;grid-row:span 1}.gallery-large .gallery-art span{font-size:170px}.cta-band{min-height:450px;padding:70px 25px}.cta-content h2{font-size:clamp(92px,18vw,150px)}.cta-symbol{font-size:400px}.contact-grid{gap:50px}.footer-top{flex-direction:column;gap:15px}.footer-bottom{flex-direction:column;gap:12px}.footer-logo{font-size:65px}}@media(max-width:390px){.hero h1{font-size:77px}.hero-tag{font-size:8px}.hero-footer span:nth-child(2){display:none}.gallery-grid{grid-auto-rows:150px}.program-main h3{font-size:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.program-card,.gallery-item img{transition:none}}.hero-image{background:linear-gradient(90deg,#060606d9,#0808087a 55%,#0808086e),url(/images/hero-dojo.webp) center 43% / cover no-repeat}.hero-image:before{display:none}.hero-image:after{background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%),repeating-linear-gradient(100deg,transparent 0 155px,#ffffff08 156px 157px)}.gallery-item img{filter:none}@media(max-width:760px){.hero-image{background-position:55% center}}.brand-logo{display:block;width:clamp(145px,16vw,215px);height:auto;object-fit:contain}.brand{min-width:0}.footer-brand-logo{display:block;width:clamp(185px,26vw,330px);height:auto;object-fit:contain}@media(max-width:760px){.brand-logo{width:150px}.footer-brand-logo{width:240px}}@media(max-width:390px){.brand-logo{width:132px}}
