@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--paper:#f5f1e8;--ink:#252b24;--muted:#63685e;--red:#b24931;--line:#d7d5c9;--white:#fffdf7;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.08}.skip-link{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip-link:focus{top:10px}.header{height:104px;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:6px}.brand img{filter:brightness(0);width:130px;height:auto;object-fit:contain}.brand span{font-size:9px;letter-spacing:.2em;font-weight:600}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-actions{display:flex;align-items:center;gap:24px}.language{display:flex;gap:8px;align-items:center;font-size:12px;white-space:nowrap}.language button{border:0;background:none;cursor:pointer;color:var(--muted);padding:5px 0}.language button[aria-pressed=true]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:6px}.language span{color:#aaa}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--red);border:1px solid var(--red);color:var(--white);padding:16px 23px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#8e3825;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button.small{padding:12px 17px;font-size:12px;gap:20px;background:transparent;border-color:var(--ink);color:var(--ink)}.button.small:hover{background:var(--ink);color:var(--white)}.hero{max-width:1600px;min-height:626px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:35px 4% 44px;gap:38px;align-items:center}.hero-copy{padding:20px 0 10px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:600;display:flex;align-items:center;gap:9px;line-height:1.6}.dot{height:6px;width:6px;background:var(--red);border-radius:50%}.hero h1{font-size:clamp(48px,5.2vw,83px);margin:27px 0 24px;line-height:1.03}.hero h1 em{font-weight:400;color:var(--red)}.hero-description{font-size:15px;max-width:400px;color:var(--muted);line-height:1.85;margin-bottom:27px}.hero-note{display:flex;gap:12px;align-items:center;margin-top:35px}.hero-note p{font-size:11px;line-height:1.7;color:var(--muted)}.round-arrow{border:1px solid var(--line);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px}.hero-visual{position:relative;min-width:0;margin-top:1px}.hero-image{width:100%;height:520px;object-position:53% 50%}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 23px 20px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.03em}.image-caption>span:last-child{font-size:19px;font-weight:600}.hero-seal{position:absolute;top:26px;left:-36px;background:var(--paper);border:1px solid var(--paper);border-radius:50%;width:93px;height:93px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(245,241,232,.25);color:var(--red)}.hero-seal span{font-size:8px;letter-spacing:.2em}.hero-seal strong{font-family:var(--serif);font-weight:400;font-size:35px;line-height:1.3}.intro-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4%;font-size:11px;color:var(--muted)}.intro-mid{font-size:10px;letter-spacing:.14em;color:var(--ink)}.intro-mid i{font-style:normal;color:var(--red);margin:0 14px}.section{max-width:1600px;margin:auto;padding:85px 4%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.section h2{font-size:clamp(35px,3.4vw,54px);margin-top:13px}.section-heading>p{font-size:12px;color:var(--muted);max-width:340px;line-height:1.9}.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.workshop{display:flex;flex-direction:column;border-bottom:1px solid var(--ink);padding-bottom:23px;min-width:0}.workshop-photo{overflow:hidden;position:relative;display:block;background:#ded6c6}.workshop-photo img{width:100%;height:257px;transition:transform .45s}.workshop:hover .workshop-photo img{transform:scale(1.035)}.workshop-number{position:absolute;top:14px;left:14px;background:var(--paper);width:34px;height:34px;display:flex;align-items:center;justify-content:center;font:18px var(--serif)}.workshop-category{display:block;font-size:10px;letter-spacing:.13em;color:var(--red);font-weight:700;margin:23px 0 8px}.workshop h3{font:400 31px/1.08 var(--serif);letter-spacing:-.025em;min-height:67px}.venue-name{font-size:11px;color:var(--muted);margin:9px 0 14px}.workshop-description{color:var(--muted);font-size:13px;line-height:1.8;min-height:94px}.workshop-features{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 23px}.workshop-features li{border:1px solid var(--line);padding:4px 9px;font-size:10px}.workshop-link{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;margin-top:auto}.workshop-link span:last-child{color:var(--red);font-size:22px}.workshop-link:hover{color:var(--red)}.external-note{font-size:11px;color:var(--muted);margin-top:24px}.story{display:grid;grid-template-columns:1.03fr 1fr;gap:8%;padding-top:20px;padding-bottom:90px;align-items:center}.story-image{position:relative}.story-image img{width:100%;height:536px;object-position:42% 50%}.photo-label{position:absolute;left:18px;bottom:18px;background:var(--paper);padding:7px 12px;font-size:10px}.story-copy h2{margin-bottom:22px}.story-copy>p{font-size:14px;color:var(--muted);max-width:400px}.steps{padding:0;margin:30px 0 0;list-style:none}.steps li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.steps li>span{color:var(--red);font-size:12px;padding-top:2px}.steps h3{font-size:14px;font-weight:500;margin-bottom:4px}.steps p{font-size:12px;color:var(--muted);max-width:340px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding-top:65px;padding-bottom:75px}.faq-intro,.faq>div>p{font-size:13px;color:var(--muted);margin-top:20px}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 32px 22px 0;position:relative;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:22px;font-weight:400;top:17px}details[open] summary:after{content:'−'}.faq-list details p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 30px 24px 0}.closing{background:var(--ink);color:var(--paper);text-align:center;padding:60px 25px 65px}.closing .eyebrow{justify-content:center;color:#babbad}.closing h2{font-size:clamp(35px,4vw,59px);margin:18px 0 28px}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.light:hover{background:#e5dccb}footer{display:flex;gap:35px;align-items:center;justify-content:space-between;padding:40px 4%;max-width:1600px;margin:auto}footer p{font-size:11px;color:var(--muted)}footer>span{font-size:10px;color:var(--muted)}html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3{font-family:'Noto Sans JP',sans-serif;letter-spacing:-.035em}html[lang=ja] h1{font-size:clamp(39px,4.1vw,64px);line-height:1.3}html[lang=ja] h2{font-size:clamp(28px,3vw,43px);line-height:1.4}html[lang=ja] .workshop h3{font-size:25px;line-height:1.4}html[lang=ja] .workshop-description{min-height:116px}
@media(min-width:1600px){.intro-line{padding-left:calc((100vw - 1472px)/2);padding-right:calc((100vw - 1472px)/2)}}
@media(max-width:1100px){.header nav{gap:18px}.header .button.small{display:none}.hero{gap:30px}.hero h1{font-size:58px}.hero-image{height:490px}.hero-seal{width:75px;height:75px;left:-25px}.workshop h3{font-size:27px}.workshop-photo img{height:210px}.intro-line>span:last-child{display:none}.story{gap:5%}.story-image img{height:490px}}
@media(max-width:760px){html{scroll-padding-top:24px}.header{height:84px;padding:0 6%;gap:15px}.brand img{width:110px}.brand span{font-size:8px}.header nav{display:none}.header-actions{gap:0}.hero{grid-template-columns:1fr;padding:30px 6% 35px;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:9px;letter-spacing:.09em}.hero h1{font-size:clamp(46px,10vw,70px);margin:22px 0}.hero-description{font-size:14px;max-width:100%;margin-bottom:22px}.hero-note{margin-top:23px}.hero-image{height:390px;object-position:50% 35%}.hero-seal{left:auto;right:18px;top:18px;width:77px;height:77px}.intro-line{padding:16px 6%;justify-content:center}.intro-line>span:first-child{display:none}.intro-mid{font-size:8px;letter-spacing:.08em}.intro-mid i{margin:0 6px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}.section h2{font-size:37px}.section-heading>p{margin-top:19px;font-size:12px;max-width:100%}.workshop-grid{grid-template-columns:1fr;gap:37px}.workshop-photo img{height:auto;aspect-ratio:1.5;object-position:50% 40%}.workshop h3{font-size:35px;min-height:0}.workshop-description{min-height:0;font-size:14px}.venue-name{font-size:12px}.workshop-category{margin-top:20px}.workshop-features{margin:15px 0 22px}.workshop-link{font-size:14px}.external-note{font-size:11px;line-height:1.9}.story{grid-template-columns:1fr;gap:30px;padding-top:12px}.story-image img{height:auto;aspect-ratio:1.15}.story-copy h2{font-size:35px}.story-copy>p{max-width:none}.steps{margin-top:25px}.steps p{max-width:none}.faq{grid-template-columns:1fr;gap:28px;padding-top:40px}.faq h2{font-size:33px}summary{font-size:14px}.closing{padding:45px 6%}.closing h2{font-size:36px}footer{padding:30px 6%;flex-wrap:wrap;gap:25px}footer p{flex-basis:100%;order:3}html[lang=ja] h1{font-size:40px}html[lang=ja] .workshop-description{min-height:0}html[lang=ja] .workshop h3{font-size:28px}.hero-note br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.hero-note br{display:initial}
.recognition.dianping{margin-top:18px;background:#f0e5d5;border-left-color:#c56a2c}.dianping h2{font-size:clamp(25px,2.5vw,37px);margin-top:12px;line-height:1.3}.recognition.dianping p,html[lang=ja] .recognition.dianping p{font:14px/1.9 var(--sans);max-width:800px;margin-top:14px;color:var(--muted)}html[lang=ja] .dianping h2{font-family:var(--sans);font-size:clamp(23px,2.4vw,32px)}
.about-musoshin{display:grid;grid-template-columns:1fr 1.35fr;gap:10%;padding-top:65px;padding-bottom:35px}.about-musoshin h2{font-size:clamp(38px,4vw,62px);color:var(--red)}.about-copy>p{font-size:14px;line-height:1.9;color:var(--muted)}.about-copy .about-intro{color:var(--ink);font-size:16px;margin-bottom:17px}.location-counts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:30px 0 0;border-top:1px solid var(--line)}.location-counts li{padding:20px 15px 0 0;display:flex;align-items:center;gap:14px}.location-counts strong{font:400 48px var(--serif);color:var(--red)}.location-counts span{font-size:11px;line-height:1.6}.about-musoshin+.recognition{margin-top:0}@media(max-width:760px){.about-musoshin{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:30px}.about-copy .about-intro{font-size:15px}.location-counts li{flex-direction:column;align-items:flex-start;gap:4px;padding-top:14px}.location-counts strong{font-size:42px}.location-counts span{font-size:10px}.about-musoshin+.recognition{margin-top:0}}
.recognition{max-width:1472px;margin:32px auto 0;padding:25px 4%;border-left:3px solid var(--red);background:#eee8dc;display:flex;align-items:center;justify-content:space-between;gap:24px}.recognition .eyebrow{color:var(--red)}.recognition p{font-family:var(--serif);font-size:23px;line-height:1.5;margin-top:7px}.recognition a{font-size:12px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}html[lang=ja] .recognition p{font-family:var(--sans);font-size:19px}@media(max-width:760px){.recognition{margin:25px 6% 0;padding:20px;display:block}.recognition p{font-size:22px}.recognition a{display:inline-block;white-space:normal;margin-top:16px;font-size:11px}html[lang=ja] .recognition p{font-size:17px}}

.section-heading>p{max-width:430px}.venue-name{font-size:16px;line-height:1.5;color:var(--muted);margin:14px 0 18px}.workshop h3{font-size:29px;line-height:1.2;min-height:76px}html[lang=ja] .workshop h3{font-size:25px;line-height:1.45;min-height:76px}@media(max-width:760px){.workshop h3,html[lang=ja] .workshop h3{min-height:0}.venue-name{font-size:17px}.section-heading>p{font-size:14px}}

html[lang=ja] .hero h1{font-size:clamp(32px,3.3vw,52px);line-height:1.45}html[lang=ja] .hero h1 em{font-style:normal}@media(max-width:760px){html[lang=ja] .hero h1{font-size:32px;line-height:1.5}}

.header{position:sticky;top:0;z-index:50;background:var(--paper)}.site-menu{position:relative}.site-menu>summary{border:1px solid var(--ink);padding:10px 14px;display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px;white-space:nowrap}.site-menu>summary:after{display:none}.site-menu[open]>summary{background:var(--ink);color:var(--paper)}.header .site-menu nav{position:absolute;right:0;top:calc(100% + 12px);display:flex;flex-direction:column;gap:0;width:250px;max-width:85vw;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 25px #252b2420;padding:8px}.site-menu nav a{display:block;padding:14px 16px;min-height:48px;border-bottom:1px solid var(--line)}.site-menu nav a:last-child{border-bottom:0}.site-menu nav a:hover{background:#e8e1d3;text-decoration:none}@media(max-width:760px){.header-actions{gap:17px}.site-menu>summary{padding:8px 10px;font-size:12px}.header{padding-left:5%;padding-right:5%}html{scroll-padding-top:105px}}

.language select{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);padding:9px 24px 9px 8px;max-width:125px;min-height:44px;cursor:pointer}.language label{font-size:16px}.language select:focus-visible{outline:3px solid var(--red);outline-offset:3px}html[lang=fr] .hero h1,html[lang=es] .hero h1{font-size:clamp(38px,4.2vw,65px)}html[lang=fr] .workshop h3,html[lang=es] .workshop h3{font-size:27px}html[lang=fr] .section-heading,html[lang=es] .section-heading{align-items:start}@media(max-width:760px){.header-actions{gap:10px}.language{gap:5px}.language select{max-width:104px;padding-right:14px}.language label{display:none}html[lang=fr] .hero h1,html[lang=es] .hero h1{font-size:39px}.site-menu>summary{gap:5px}}

html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{font-family:var(--sans);line-height:1.4}html[lang=zh] .hero h1{font-size:clamp(32px,3.4vw,53px)}html[lang=zh] .hero h1 em{font-style:normal}html[lang=zh] .workshop h3{font-size:25px}

.quick-bookings{margin:23px 0}.booking-title{font-size:18px;font-weight:600}.booking-note{font-size:11px;color:var(--muted);line-height:1.7;margin:6px 0 12px}.booking-link{display:flex;align-items:center;gap:10px;background:var(--red);color:var(--white);padding:12px 13px;margin-top:7px;min-height:57px;border:1px solid var(--red)}.booking-link:hover{background:#8e3825}.booking-number{font-size:11px;opacity:.75}.booking-name{font-size:12px;line-height:1.5;flex:1}.booking-action{font-size:11px;font-weight:700;white-space:nowrap}.quick-bookings+.button{background:transparent;color:var(--red);padding:9px 15px;font-size:12px}.hero-note{margin-top:20px}@media(max-width:760px){.booking-link{padding:12px 10px}.booking-name{font-size:11px}.booking-action{font-size:10px}.booking-note{font-size:11px}.hero-copy{width:100%}}

html[lang=de] .hero h1{font-size:clamp(35px,4vw,60px)}html[lang=de] .workshop h3{font-size:26px}.booking-action{white-space:normal;text-align:right;max-width:85px}html[lang=de] .workshop-link span:first-child{max-width:88%}
