:root{--ink:#08294e;--gold:#b88417;--line:#d7e2eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:16px/1.9 'Yu Gothic',Meiryo,sans-serif;background:#fff}h1,h2,h3,p{margin:0}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:900;line-height:1.45}h2{font-size:clamp(27px,3.2vw,42px)}h3{font-size:21px}a{color:inherit}.wrap{width:min(1140px,calc(100% - 56px));margin:auto}.section{padding:68px 0}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:bold;color:#8b681e;margin-bottom:14px}.note{font-size:12px;line-height:1.8;color:#536777;margin-top:18px}.gold{color:var(--gold);font-size:1.3em}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:15px 28px;font-weight:bold;font-size:17px;background:linear-gradient(160deg,#dfb851,#ac7912);color:#fff;box-shadow:0 4px 0 #835911,0 8px 18px #a47a1520}.button:hover{filter:brightness(1.08)}a:focus-visible,summary:focus-visible{outline:3px solid #187ba3;outline-offset:4px}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line)}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{text-decoration:none;font-weight:900;font-size:24px;line-height:1.35;letter-spacing:.09em;font-family:serif}.brand small{display:block;font-size:15px}nav{display:flex;gap:28px;align-items:center;font-weight:bold;font-size:14px}nav a{text-decoration:none}nav .button{font-size:14px;padding:10px 20px}.hero{position:relative;isolation:isolate;overflow:hidden;padding:45px 0 28px;background:#f7fafc}.hero-image{position:absolute;inset:0 0 0 36%;background:url('/assets/dojo-hero.png') 75% center/cover no-repeat;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fffffffa 33%,#ffffffc9 48%,#ffffff00 80%),linear-gradient(0deg,#fff 0%,transparent 30%);z-index:-1}.hero .eyebrow{font-family:serif;font-size:18px;color:var(--ink)}h1{font-size:56px;letter-spacing:.04em}h1 span{display:block;font-size:37px;letter-spacing:0}.lead{font-family:serif;font-weight:bold;font-size:19px;margin-top:12px}.medals{display:flex;gap:25px;margin:25px 0 36px;padding:0 5px}.medal{position:relative;width:144px;height:144px;isolation:isolate;flex-shrink:0}.medal:before,.medal:after{content:'';position:absolute;top:95px;width:40px;height:65px;background:linear-gradient(90deg,#971d28,#da3f44,#981923);z-index:-1;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}.medal:before{left:21px;transform:rotate(24deg)}.medal:after{right:21px;transform:rotate(-24deg)}.medal>div{width:100%;height:100%;border-radius:50%;border:7px ridge #dcac42;background:radial-gradient(circle at 35% 22%,#fff2ac,#e4b64d 59%,#b17712);box-shadow:inset 0 0 0 3px #8b5e16,inset 0 0 0 5px #ffe9a0,0 2px 5px #9e6e2955;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;color:#192b34;font-weight:bold}.medal i{font:900 28px Arial;margin-bottom:3px}.medal span{font-size:16px}.medal b{font-size:21px}.medal strong{font-family:serif;font-size:29px}.medal sup{font:10px sans-serif;vertical-align:super}.hero-price{display:flex;align-items:center;gap:20px;flex-wrap:wrap;color:#a91528;font-weight:bold;line-height:1.3}.hero-price>b{font:900 45px Arial;letter-spacing:-.04em}.hero-price small{font:700 18px sans-serif;letter-spacing:0}.hero-price>span{font-size:20px}.hero-price sup{font-size:10px}.checks{list-style:none;padding:0;margin:18px 0 24px;font-weight:bold;font-size:15px}.checks li{position:relative;padding-left:29px;margin:8px 0}.checks li:before{content:'✓';position:absolute;left:0;top:3px;background:var(--ink);color:white;border-radius:50%;width:20px;height:20px;line-height:20px;text-align:center;font-size:13px}.hero-note{max-width:620px;background:#ffffffc4;padding:9px 12px;margin-left:-12px}.concerns{background:#edf5fa;text-align:center}.concerns h2+p{margin-top:14px}.concern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.speech{position:relative;border:1px solid #bacddc;border-radius:28px;background:white;padding:22px 12px;font-size:16px;box-shadow:0 6px 0 #dde9f1}.speech:after{content:'';position:absolute;bottom:-12px;left:48%;width:20px;height:20px;background:white;border-bottom:1px solid #bacddc;border-right:1px solid #bacddc;transform:rotate(45deg)}.teacher{height:225px;background-image:url('/assets/dojo-teachers.png');background-repeat:no-repeat;background-size:300% 100%;margin-top:20px}.teacher-0{background-position:left}.teacher-1{background-position:center}.teacher-2{background-position:right}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.categories{display:grid;grid-template-columns:repeat(5,1fr);background:#edf5fa;border-radius:14px;padding:12px;margin-top:28px}.categories>div{padding:22px 8px;text-align:center;font-weight:bold;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}.categories>div:nth-child(5n){border-right:0}.categories>div:nth-child(n+6){border-bottom:0}.categories i{display:block;font:24px Georgia,serif;color:#a17d31;margin-bottom:6px}.pale{background:#f4f8fb}.sns-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.sns-grid p:not(.eyebrow){margin-top:20px}.sample{border:7px solid #172e40;border-radius:12px;background:white;box-shadow:12px 14px 0 #dae5ec;overflow:hidden;transform:rotate(-2deg)}.sample>p{padding:14px;font-weight:bold;font-size:14px;margin:0!important}.sample>div{height:230px;background:linear-gradient(90deg,#0a254977,transparent),url('/assets/dojo-hero.png') 75% center/cover;display:flex;align-items:center;padding:25px;color:white;font:700 26px/1.6 serif}.sample>p:last-of-type{font-size:11px;text-align:center}.sample small{display:block;text-align:center;font-size:10px;padding-bottom:10px}.price-card{border:2px solid #bd9038;border-radius:16px;display:grid;grid-template-columns:1fr 1.15fr;gap:40px;padding:36px;margin-top:30px;align-items:center}.price-card>div:first-child{text-align:center;border-right:1px solid var(--line);padding-right:35px}.big-price{font:900 62px/1.3 Arial;color:#a91528;letter-spacing:-.04em;margin:10px 0}.big-price small{font:700 17px sans-serif;letter-spacing:0}.price-card .checks{margin-top:0}.compare-title{margin-top:45px}.table-wrap{overflow:auto;margin-top:16px;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}td,th{padding:19px 15px;border-bottom:1px solid var(--line);text-align:left}thead th{background:#edf0f3}thead th:last-child{background:var(--ink);color:white}td:last-child{background:#f4f8fb;font-weight:bold}tbody tr:last-child>*{border-bottom:0}.cost-example{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px;background:#faf7ef;padding:27px;border-radius:10px;margin-top:28px}.cost-example strong{font:bold 30px Arial;color:var(--ink)}.cost-example .note{grid-column:1/-1;margin:0}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.flow article{background:#fff;border-radius:12px;padding:25px}.flow i{font:32px Georgia;color:#b38424}.flow h3{margin:10px 0}.flow p{font-size:14px}.narrow{max-width:900px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:17px;font-weight:bold;padding:24px 35px 24px 0;position:relative}summary:after{content:'＋';position:absolute;right:5px;color:var(--gold)}details[open] summary:after{content:'−'}details p{padding:0 10px 25px 0;font-size:15px;color:#435b71}summary::-webkit-details-marker{display:none}.closing{padding:60px 0;text-align:center;background:linear-gradient(130deg,#eef5f9,#fff,#eef5f9);border-top:1px solid var(--line)}.closing h2{margin:12px 0 25px}.closing .note{margin-top:22px}footer{text-align:center;padding:38px 0 25px}footer>div>p{font-size:11px;margin:10px}footer strong{font-size:18px;letter-spacing:-.05em}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;font-size:12px;margin:24px 0}
@media(max-width:900px){nav{gap:14px}h1{font-size:48px}h1 span{font-size:32px}.hero:after{background:linear-gradient(90deg,#fff,#fffffff2 35%,#ffffff77 75%),linear-gradient(0deg,#fff,transparent 35%)}.sns-grid{gap:35px}.big-price{font-size:49px}.price-card{gap:20px;padding:25px}.price-card>div:first-child{padding-right:20px}.concern-grid{gap:18px}.teacher{height:185px}.speech{font-size:14px}}
@media(max-width:650px){body{font-size:14px}.wrap{width:calc(100% - 36px)}.section{padding:44px 0}.head{min-height:68px;gap:8px}.brand{font-size:18px}.brand small{font-size:10px}nav>a:not(.button){display:none}nav .button{font-size:11px;padding:9px 10px}.hero{padding-top:30px}.hero-image{inset:0 0 auto 0;height:280px;background-position:75% center;opacity:.32}.hero:after{background:linear-gradient(0deg,#fff 65%,#ffffff15)}.hero .eyebrow{font-size:12px;letter-spacing:.05em}h1{font-size:37px}h1 span{font-size:24px}.lead{font-size:14px;max-width:285px}.medals{gap:15px;justify-content:center;padding:0;margin:25px 0 35px}.medal{width:98px;height:98px}.medal>div{border-width:5px;box-shadow:inset 0 0 0 2px #986719,inset 0 0 0 3px #ffe9a0}.medal:before,.medal:after{top:64px;width:28px;height:45px}.medal:before{left:12px}.medal:after{right:12px}.medal i{font-size:21px;margin-bottom:0}.medal span{font-size:11px}.medal b{font-size:15px}.medal strong{font-size:21px}.medal sup{font-size:8px}.hero-price{display:block;text-align:center}.hero-price>b{display:block;font-size:44px}.hero-price small{font-size:16px}.hero-price>span{font-size:17px}.hero .checks{font-size:12px;margin-top:21px}.hero .button{width:100%;font-size:15px;padding:14px}.hero-note{margin-left:0;padding:0;font-size:11px}.concerns h2{font-size:25px}.concern-grid{grid-template-columns:1fr;gap:22px}.concern-grid article{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:5px}.speech{grid-column:2;grid-row:1;padding:20px 10px;font-size:13px;border-radius:20px}.speech:after{bottom:auto;left:-10px;top:45%;transform:rotate(135deg);width:15px;height:15px}.teacher{grid-column:1;grid-row:1;height:175px;margin:0}.section-heading{display:block}.section-heading p{margin-top:18px}.categories{grid-template-columns:repeat(2,1fr);padding:5px;margin-top:20px}.categories>div{font-size:13px;padding:13px 5px}.categories>div:nth-child(5n){border-right:1px solid var(--line)}.categories>div:nth-child(n+6){border-bottom:1px solid var(--line)}.categories>div:nth-child(2n){border-right:0}.categories>div:nth-last-child(-n+2){border-bottom:0}.categories i{font-size:20px}.sns-grid{grid-template-columns:1fr;gap:36px}.sample{margin:0 9px 0 0}.sample>div{height:210px}.price-card{grid-template-columns:1fr;gap:20px;padding:25px 19px}.price-card>div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.big-price{font-size:53px}.price-card .checks{font-size:13px}.cost-example{grid-template-columns:1fr 1fr;padding:20px;gap:20px 12px;font-size:12px}.cost-example>div{grid-column:1/-1}.cost-example strong{font-size:25px}.flow{grid-template-columns:1fr;gap:15px}.flow article{padding:20px}.flow i{float:left;margin-right:18px}.flow h3{margin-top:0;font-size:19px}.flow p{clear:both}.button{font-size:14px;padding:15px 22px}.closing h2{font-size:25px}summary{font-size:15px}details p{font-size:14px}.footer-links{gap:12px}}
@media(max-width:359px){.medals{gap:8px}.medal{width:87px;height:87px}.medal:before,.medal:after{top:58px}h1 span{font-size:21px}h1{font-size:34px}.hero-price>b{font-size:39px}.teacher{height:150px}.speech{font-size:11px}.cost-example strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:901px){.teacher{height:300px}}@media(max-width:650px){.lead{max-width:none;font-size:13px}}

/* Friendly pop direction, with legible text independent of the photos. */
body{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}h1,h2,.brand,.lead,.hero .eyebrow{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-weight:900}h1{letter-spacing:-.04em}h1 span{color:#ee623c}h2{letter-spacing:-.025em}.eyebrow{color:#05818b}.button{background:#ee623c;border-radius:100px;box-shadow:0 5px 0 #c84725,0 9px 18px #ed633c22}.hero{background:#f0faff}.hero:after{background:linear-gradient(90deg,#f0faff 0%,#f0fafff5 32%,#f0faffcc 47%,transparent 83%),linear-gradient(0deg,#f0faff,transparent 32%)}.hero h1 span{display:table;background:linear-gradient(transparent 75%,#ffe274 75%)}.hero-image-second{background-image:url('/assets/dojo-class.png');background-position:75% center;opacity:0;animation:heroFade 12s infinite}.hero.paused .hero-image-second{animation-play-state:paused}@keyframes heroFade{0%,36%,100%{opacity:0}47%,86%{opacity:1}}.hero-motion{position:absolute;bottom:22px;right:24px;border:1px solid #fff;background:#ffffffeb;color:#183f50;border-radius:30px;font:12px sans-serif;padding:9px 15px;z-index:1;cursor:pointer}.hero-note{background:#ffffffb5;border-radius:12px}.checks li:before{background:#038995}.concerns{background:#fff8df}.speech{border:2px solid #183f50;box-shadow:5px 6px 0 #ffe48b;transform:rotate(-1deg)}.concern-grid article:nth-child(2) .speech{transform:rotate(1deg);box-shadow:5px 6px 0 #bceee5}.concern-grid article:nth-child(3) .speech{box-shadow:5px 6px 0 #f7d0de}.speech:after{border-width:2px;border-color:#183f50}.teacher{background-image:url('/assets/dojo-teachers-worry.png');height:auto!important;aspect-ratio:1.22;background-size:300% 100%}.categories{background:transparent;padding:0;gap:13px}.categories>div{border:0!important;background:#e9f7fd;border-radius:20px;padding:23px 10px;box-shadow:0 4px 0 #d3eaf5;font-size:15px}.categories>div:nth-child(3n+2){background:#fff4d6;box-shadow:0 4px 0 #f0e1b9}.categories>div:nth-child(3n){background:#e8f8ee;box-shadow:0 4px 0 #d0eada}.category-icon{width:54px;height:54px;display:grid!important;place-items:center;margin:0 auto 12px!important;border-radius:16px;background:white;color:#087e87!important}.category-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.actual-sample{margin:0;border-radius:18px;border:6px solid #183f50;transform:rotate(-2deg)}.actual-sample img{display:block;width:100%;height:auto}.actual-sample figcaption{padding:13px;font-size:12px;text-align:center;background:white}.price-card{border-color:#ffd966;border-radius:25px;background:#fffdf5}.gold{color:#ed623b}.table-wrap{border-radius:18px}thead th:last-child{background:#048692}td:last-child{background:#eefbf7}.cost-row>*{background:#fff8df}.cost-row td:last-child{background:#ddf5eb}.cost-row strong{font-size:29px;line-height:1.7;white-space:nowrap}.cost-row small{font-size:11px;font-weight:normal}.saving-label{display:table;background:#ffe178;border-radius:20px;padding:3px 9px;font-size:12px;margin-top:5px}.flow article{border:2px solid #d7e9ed;box-shadow:0 5px 0 #d7e9ed;border-radius:22px}.flow i{color:#ef623c;font-weight:bold}.closing{background:#e8f8fa}.closing h2{color:#087e87}.medal{transform:rotate(-4deg)}.medal:nth-child(2){transform:rotate(3deg)}
@media(max-width:650px){.hero:after{background:linear-gradient(0deg,#f0faff 62%,#f0faff65)}.hero-image-second{opacity:0}.hero-motion{position:relative;display:block;bottom:auto;right:auto;margin:20px auto 0;order:2}.hero{display:flex;flex-direction:column}.hero>.wrap{order:1}.hero .eyebrow{font-size:11px}h1{font-size:36px}h1 span{font-size:23px;letter-spacing:-.05em}.lead{font-size:12px}.categories{gap:10px}.categories>div{font-size:13px;padding:16px 6px}.category-icon{width:45px;height:45px}.category-icon svg{width:27px;height:27px}.cost-row strong{font-size:23px}.speech{font-size:12px}.teacher{min-height:0}.hero-image{height:300px}.hero-image-second{animation-name:heroFadeMobile}@keyframes heroFadeMobile{0%,36%,100%{opacity:0}47%,86%{opacity:.32}}}
@media(prefers-reduced-motion:reduce){.hero-image-second{animation:none;opacity:0}.hero-motion{display:none}}

.teacher{aspect-ratio:1960/2430;max-width:285px;width:100%;margin-left:auto;margin-right:auto}.powered-credit{display:flex;align-items:center;justify-content:center;gap:8px}.powered-credit i{display:inline-grid;place-items:center;width:22px;height:22px;background:#087e87;color:#fff;border-radius:6px;font:bold 18px sans-serif}


/* Natural photo proportions: no padded gray frames or cropped edges. */
#site .instructor-photo{aspect-ratio:auto!important;height:auto!important;background:transparent!important;border-radius:20px!important;box-shadow:none!important;align-self:center}
#site .instructor-photo img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:20px!important}
#site .gallery-media{height:auto!important;aspect-ratio:auto!important;background:transparent!important;border-radius:20px!important}
#site .gallery-media img{display:block;width:100%!important;height:auto!important;max-height:none!important;border-radius:20px!important}
#site .site-section img{border-radius:20px;max-width:100%;height:auto}
.news-card{padding:22px 0;border-bottom:1px solid var(--site-line,#ddd);overflow-wrap:anywhere}.news-card h3{font-size:22px;margin:10px 0}.news-card time{font-size:13px;color:var(--site-muted,#666)}.news-card img{display:block;margin:16px 0;width:100%;height:auto}.news-card a{display:inline-block;margin-top:14px}.news-more summary{cursor:pointer;padding:14px 24px;border:1px solid currentColor;border-radius:30px;width:fit-content;margin:22px auto}.contact-detail{overflow-wrap:anywhere}.contact-detail a{color:inherit}.clubace-logo{display:block!important;width:76px!important;height:54px!important;object-fit:cover!important;object-position:center!important;border-radius:8px!important;background:#fff}


/* News: heading above, readable text beside a compact uncropped photograph. */
#site .news-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,32%);gap:24px;align-items:start}#site .news-content:not(:has(img)){grid-template-columns:1fr}#site .news-content img{width:100%;max-width:220px;height:auto;max-height:240px;object-fit:contain;margin:0;justify-self:end;border-radius:16px}#site .news-card h3{margin:8px 0 18px}#site .contact-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.9;background:none;border:0;padding:0;color:inherit;box-shadow:none}
.clubace-logo{background:transparent!important;object-fit:contain!important;border-radius:0!important;width:90px!important;height:64px!important}

.cost-row td:last-child{background:#fff3bc!important;border:3px solid #e3b12f}.cost-row td:last-child strong{display:block;font-size:clamp(32px,4vw,58px);font-weight:900;color:#bd1738;line-height:1.25;margin:12px 0}.cost-row .saving-label{display:block}
