@charset "UTF-8";
:root{--ink:#163f36;--ink-dark:#102f29;--body:#314c45;--muted:#667970;--paper:#fcfdf9;--mist:#f0f4ed;--sky:#e2eff6;--line:#d7e0d5;--accent:#e2ed9d;--serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans-serif;--header-height:94px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 22px)}body{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);font-size:1rem;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1.25em}h1,h2,h3{color:var(--ink);font-weight:500}h1,h2{font-family:var(--serif)}h2{font-size:clamp(2rem,3.05vw,3rem);line-height:1.65;letter-spacing:.06em}h3{font-size:1.35rem;line-height:1.65}strong{font-weight:650}button,a,input,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #46856f;outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(1232px,calc(100% - 112px));margin-inline:auto}.section-block{padding-block:72px}.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.14em;line-height:1.8;color:var(--muted)}.eyebrow+h2{margin-top:22px}.fine-line{height:1px;width:30px;background:currentColor}.small-note{display:block;font-size:.8rem;color:var(--muted);line-height:1.8}.quiet-note{padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:2}.prose p{line-height:2.1}.lead-serif{font-family:var(--serif);font-size:1.35rem;line-height:2!important;color:var(--ink)}.button-row{display:flex;gap:32px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:58px;padding:14px 25px;font-size:.95rem;font-weight:600;line-height:1.65;border:1px solid transparent;border-radius:3px;transition:background .2s ease,transform .2s ease}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#235e4d}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent)}.button-accent{background:var(--accent);color:var(--ink-dark)}.button-accent:hover{background:#ecf4be}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:.9rem;font-weight:600;line-height:1.7;border-bottom:1px solid var(--ink);padding-block:7px;transition:opacity .2s}.text-link:hover{opacity:.66}.text-link span,.button span{font-size:1.1rem}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:var(--ink);color:#fff;padding:10px 20px;z-index:200}.skip-link:focus{transform:none}.site-header{height:var(--header-height);position:sticky;z-index:30;top:0;background:rgba(252,253,249,.96);border-bottom:1px solid rgba(215,224,213,.7)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:15px;align-items:center;flex-shrink:0;color:var(--ink)}.brand-mark{font-family:var(--serif);font-size:2.3rem;line-height:1;letter-spacing:.08em;padding-right:14px;border-right:1px solid #bbcbbf}.brand-text{font-family:var(--serif);font-size:1.1rem;line-height:1.5;letter-spacing:.13em}.brand-text small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.19em;margin-top:5px}.main-navigation{display:flex;align-items:center;gap:25px}.main-navigation>a{font-size:.8rem;font-weight:600;white-space:nowrap;transition:opacity .2s}.main-navigation>a:hover{opacity:.65}.main-navigation>.nav-join{padding:11px 17px;border:1px solid var(--ink);border-radius:2px;font-size:.8rem}.nav-join span{margin-left:14px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr .93fr;gap:56px;align-items:center;padding-top:58px;padding-bottom:80px;min-height:730px}.hero h1{font-size:clamp(3.5rem,5.15vw,5.1rem);line-height:1.48;letter-spacing:.07em;margin-top:27px;margin-bottom:25px;font-feature-settings:"palt"}.hero-lead{font-family:var(--serif);font-size:1.37rem;color:var(--ink);line-height:1.9;letter-spacing:.045em}.hero-description{font-size:.92rem;line-height:2;margin-top:20px}.hero .button-row{margin-top:30px}.hero-footnote{display:flex;flex-direction:column;gap:2px;font-size:.75rem;color:var(--muted);margin-top:32px}.photo-slot{position:relative;overflow:hidden;background:#e0e9de}.photo-slot>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.photo-slot.has-photo .photo-placeholder{display:none}.photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.photo-placeholder-caption{position:absolute;bottom:24px;left:28px;right:28px;display:flex;gap:12px;align-items:center;font-size:.8rem;color:#365c50;letter-spacing:.08em}.photo-placeholder-caption small{margin-left:auto;font-size:.75rem;letter-spacing:.03em;color:#506d63}.photo-word{font-family:var(--serif);font-size:6rem;color:rgba(40,79,57,.16);font-weight:400}.hero-visual{align-self:stretch;min-height:565px;border-radius:170px 3px 3px 3px;background:linear-gradient(153deg,#dbeef8 0%,#e5f0ed 51%,#c0d6bc 100%);margin-bottom:22px;overflow:visible}.hero-visual>img{border-radius:inherit}.hero-placeholder{border-radius:inherit;border:1px solid rgba(40,85,60,.09);overflow:hidden}.hero-placeholder:after{content:"";position:absolute;inset:26px;border:1px solid rgba(255,255,255,.62);border-radius:150px 2px 2px 2px;pointer-events:none}.hero-panel-label{position:absolute;right:28px;top:35px;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.2em;color:#5b7c79}.hero-panel-words{font-family:var(--serif);font-size:clamp(2.8rem,4.1vw,4.1rem);line-height:1.9;letter-spacing:.16em;color:#456854;margin-left:5px}.hero-placeholder .photo-placeholder-caption{bottom:48px;left:48px;right:40px}.frame-symbol{font-size:1.2rem;line-height:1}.hero-caption{position:absolute;top:calc(100% + 12px);right:0;font-size:.75rem;color:var(--muted);letter-spacing:.06em}
.introduction{border-top:1px solid var(--line)}.section-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.introduction-body{padding-top:5px}.os-diagram{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:stretch;margin:36px 0;gap:8px}.os-diagram>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fafcf7;border:1px solid var(--line);padding:20px 8px;min-height:120px}.os-diagram small{font-size:.75rem;letter-spacing:.13em;color:var(--muted)}.os-diagram strong{font-size:.9rem;line-height:1.6;margin-top:6px}.os-diagram>.os-core{background:var(--ink);border-color:var(--ink);color:#fff;position:relative}.os-core small{color:#d3e1c6}.os-core span{color:#e3eca4;font-size:.73rem;margin-top:5px}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:44px}.section-side-note{font-size:.92rem;color:var(--muted);line-height:2;padding-bottom:6px}.method-accordions{border-top:1px solid var(--ink)}.method-item{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.method-item>summary{display:flex;align-items:center;gap:32px;padding:32px 12px}.method-number{font-family:var(--serif);font-size:1.25rem;color:#759075}.method-summary{flex:1}.method-title{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--ink);display:block;line-height:1.7}.method-title small{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin-left:15px}.method-caption{font-size:.92rem;display:block;margin-top:6px;color:var(--body)}.accordion-symbol{width:28px;height:28px;position:relative;flex-shrink:0}.accordion-symbol:before,.accordion-symbol:after{position:absolute;content:"";background:var(--ink);height:1px;width:17px;top:13px;left:5px}.accordion-symbol:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .accordion-symbol:after{transform:rotate(0)}.method-content{padding:4px 60px 34px 70px;max-width:1000px}.disclosure-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.close-details{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 4px;font-size:.9rem;min-height:44px}.close-details span{margin-left:22px}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.practice-photo{aspect-ratio:1.6}.pair-photo{background:#dce9ed}.pair-photo .photo-word{color:rgba(38,81,105,.15)}.practice-copy{padding:28px 4px 0;max-width:550px}.practice-copy h3{font-family:var(--serif);font-size:1.75rem;margin:8px 0 15px}.practice-copy p:not(.eyebrow){font-size:.96rem;line-height:2}.practice-timetable{display:flex;align-items:center;gap:30px;margin-top:52px;padding:28px 0 4px;border-top:1px solid #b9cbb7}.timetable-label{font-size:.85rem;padding-right:22px;border-right:1px solid #b9cbb7;white-space:nowrap}.practice-timetable>div{display:flex;gap:18px;align-items:center}.practice-timetable time{font-family:var(--serif);font-size:1.25rem;color:var(--ink);white-space:nowrap}.practice-timetable strong{font-size:.9rem;white-space:nowrap}.timetable-rule{width:22px;height:1px;background:#a2b39e;flex-shrink:0}.practice-timetable p{font-size:.78rem;line-height:1.8;margin:0 0 0 auto;color:var(--muted)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.feature-number{font:inherit;color:#8aa584}.features-grid h3{display:flex;align-items:baseline;gap:.5em;font-family:var(--serif);font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700;white-space:nowrap;margin:0 0 20px}.features-grid p{font-size:.95rem;line-height:2}.instructor-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:start}.portrait-photo{min-height:520px;aspect-ratio:4/5;background:#c6d6c3}.portrait-photo .photo-placeholder{border:20px solid rgba(255,255,255,.22)}.portrait-sign{font-family:var(--serif);writing-mode:vertical-rl;font-size:2.7rem;color:#738b70;letter-spacing:.25em}.portrait-photo .photo-placeholder-caption{left:18px;right:18px;bottom:15px}.instructor-copy h2{font-size:2.9rem;line-height:1.5;display:flex;align-items:center;gap:25px;margin-top:20px}.instructor-copy h2 small{font-family:var(--sans);font-size:.8rem;font-weight:400;letter-spacing:.08em;color:var(--muted)}.instructor-role{color:var(--ink);font-size:.9rem;margin:15px 0 24px;line-height:2}.instructor-copy>p:not(.eyebrow):not(.instructor-role){font-size:.96rem;line-height:2}.instructor-history{margin:30px 0 22px}.instructor-history>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #cbd7c6;padding:14px 0;gap:15px;font-size:.88rem}.instructor-history dt{color:#5e795c}.instructor-history dd{margin:0}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.journal-card{display:flex;flex-direction:column;height:100%;transition:opacity .2s}.journal-card:hover{opacity:.8}.journal-meta{display:flex;gap:16px;font-size:.76rem;color:var(--muted);margin-top:20px}.journal-card h3{font-family:var(--serif);font-size:1.25rem;margin:10px 0 12px;line-height:1.8;letter-spacing:.02em}.journal-card p{font-size:.86rem;line-height:1.95}.journal-more{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8cbb3;font-size:.8rem;margin-top:auto;padding:20px 0 9px;color:var(--ink)}.next-session{display:flex;justify-content:space-between;align-items:center;padding:38px 44px;background:var(--ink);color:#fff;gap:32px}.next-session .eyebrow{color:#d0e0c2}.next-session h3{font-family:var(--serif);color:#fff;font-size:1.75rem;line-height:1.65;margin-top:9px}.next-session>div>p:not(.eyebrow){font-size:.85rem;margin-top:10px;color:#e0e8dc}.next-session-side{text-align:right}.next-session-side>p{font-family:var(--serif);font-size:2.2rem!important;line-height:1.5;margin:0 0 14px!important;color:#fff!important;white-space:nowrap}.next-session-side small{font-size:.9rem;margin-left:8px}.next-session .button{min-height:51px;font-size:.9rem;gap:26px}.schedule-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;margin-top:45px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:16px}.calendar-heading h3{font-size:1.1rem}.calendar-heading .text-link{font-size:.8rem;gap:8px}.calendar-embed{display:block;width:100%;height:440px;border:1px solid var(--line);background:#fff;border-radius:3px}.calendar-panel>.small-note{margin-top:10px}.visit-info dl{margin:0}.visit-info dl>div{padding:20px 0;border-bottom:1px solid var(--line)}.visit-info dl>div:first-child{padding-top:0}.visit-info dt{font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:8px}.visit-info dd{margin:0;font-size:.95rem;line-height:1.9}.visit-info dd small{display:block;margin-top:5px;color:var(--muted);font-size:.75rem;line-height:1.7}.visit-info dd a{display:block;max-width:max-content}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:38px}.venue-card{display:flex;justify-content:space-between;align-items:center;background:var(--venue-card-bg,var(--mist));padding:27px 32px;transition:background .2s}.venue-card:hover{background:#e5edde}.venue-card>span{font-size:1.4rem}.venue-card div>span{font-size:.7rem;letter-spacing:.15em;color:var(--muted)}.venue-card h3{font-family:var(--serif);font-size:1.3rem;margin-top:5px}.venue-card p{font-size:.8rem;margin-top:7px;color:var(--muted)}.faq-list{border-top:1px solid #b3c7af}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 0;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.8}.faq-list details>p{padding:0 40px 25px 0;font-size:.92rem;line-height:2}.join-section{padding-block:64px;background:var(--ink);color:#fff}.join-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.join-section .eyebrow{color:#c0d5b1}.join-section h2{color:#fff;font-size:2.5rem;margin-top:18px;line-height:1.65}.join-section h2+p{font-size:.95rem;line-height:2;margin-top:18px;color:#e1e9dc}.join-action>.button{width:100%;max-width:390px;min-height:66px;font-size:1rem}.join-action>p{font-size:.85rem;color:#e1e9dc;margin-top:20px;line-height:1.9}.join-email{font-size:.9rem;display:block;max-width:max-content;overflow-wrap:anywhere;margin-top:20px;border-bottom:1px solid #6e897c;color:#fff}.join-action .small-note{color:#c7d6bf;margin-top:9px;font-size:.73rem}.site-footer{padding-block:36px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.site-footer .brand-mark{font-size:1.9rem}.site-footer .brand-text{font-size:.9rem}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.footer-inner>small{font-size:.7rem;color:var(--muted)}.journal-page{padding-top:60px;padding-bottom:110px;min-height:60vh}.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:50px}.breadcrumb a{border-bottom:1px solid var(--line)}.journal-page .section-top{margin-bottom:50px}.journal-page h1{font-size:3rem;line-height:1.7;letter-spacing:.06em}.journal-page .eyebrow{margin-bottom:12px}.journal-page .journal-grid{row-gap:55px}.article-wrap{width:min(780px,100%);margin:auto}.article-header{border-bottom:1px solid var(--line);padding-bottom:33px;margin-bottom:35px}.article-header h1{font-size:2.4rem;margin-top:16px;line-height:1.75}.article-meta{display:flex;gap:22px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.article-body{font-size:1rem;line-height:2.2}.article-body p+p{margin-top:1.7em}.article-source{padding-top:28px;margin-top:35px;border-top:1px solid var(--line)}.article-nav{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;margin-top:45px}.article-photo{aspect-ratio:16/10;margin-bottom:35px}.empty-state{padding:40px;border:1px solid var(--line);line-height:2}.noscript-copy{max-width:800px;margin:auto}
/* トップページは冒頭から白・薄緑を交互にする。参加案内は濃緑を維持。 */
.home-sections > section:not(.join-section) { background: var(--paper); }
.home-sections > section:nth-of-type(even):not(.join-section) { background: var(--mist); --venue-card-bg: var(--paper); }
@media(min-width:1500px){.hero{gap:85px;min-height:800px}.hero-visual{min-height:610px}.hero h1{font-size:5.15rem}}
@media(max-width:1180px){:root{--header-height:82px}.wrap{width:calc(100% - 72px)}.main-navigation{gap:17px}.main-navigation>a{font-size:.75rem}.brand-mark{font-size:2rem}.brand-text{font-size:1rem}.main-navigation>.nav-join{padding:10px 12px}.hero{gap:36px;min-height:670px;padding-top:44px}.hero h1{font-size:4.1rem}.hero-visual{min-height:520px}.hero .button-row{gap:22px}.section-split{gap:60px;grid-template-columns:.8fr 1.2fr}.practice-timetable{gap:20px;flex-wrap:wrap}.practice-timetable p{flex-basis:100%;margin-left:0}.practice-timetable p br{display:none}.instructor-grid{gap:60px}.schedule-grid{gap:35px}.footer-inner{flex-wrap:wrap}.section-side-note{font-size:.85rem}}
@media(max-width:1000px){.menu-toggle{display:flex;align-items:center;gap:10px;background:none;border:0;min-height:44px;padding:5px 0 5px 8px;z-index:1}.menu-lines{width:22px;height:14px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}.menu-lines:before{content:"";position:absolute;top:6px;left:0;width:22px;height:1px;background:var(--ink)}.menu-label{font-size:.75rem}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 36px 26px;border-bottom:1px solid var(--line);box-shadow:0 12px 18px rgba(10,50,30,.04)}.main-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-navigation>a{font-size:.92rem;padding:13px 0}.main-navigation>.nav-join{margin-top:12px;text-align:center;padding:12px}.hero h1{font-size:3.5rem}.hero{gap:30px}.hero-visual{min-height:520px}.hero-lead{font-size:1.2rem}.hero-description{font-size:.87rem}.hero .button-row{gap:20px}.hero .button{padding:13px 17px;gap:25px;font-size:.85rem}.hero .text-link{font-size:.82rem;gap:10px}.section-block{padding-block:56px}.section-split{gap:45px;grid-template-columns:.75fr 1.25fr}.section-heading h2{font-size:2rem}.os-diagram{gap:5px}.os-diagram strong{font-size:.8rem}.os-core span{font-size:.68rem}.features-grid{gap:28px}.instructor-grid{gap:40px}.portrait-photo{min-height:470px}.instructor-copy h2{font-size:2.4rem}.journal-grid{gap:22px}.journal-card h3{font-size:1.15rem}.schedule-grid{grid-template-columns:1.05fr .95fr;gap:28px}.join-inner{gap:42px}.join-section h2{font-size:2.1rem}.join-action>.button{font-size:.9rem;gap:20px}.instructor-history>div{grid-template-columns:80px 1fr}.next-session{padding:32px}}
@media(max-width:760px){:root{--header-height:76px}.wrap{width:calc(100% - 44px)}.header-inner{gap:15px}.brand-mark{font-size:1.85rem;padding-right:11px}.brand{gap:11px}.brand-text{font-size:.92rem}.brand-text small{font-size:.58rem;margin-top:3px}.main-navigation{padding-inline:22px}.section-block{padding-block:44px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:51px;gap:32px;min-height:0}.hero h1{font-size:clamp(2.8rem,10vw,4.4rem);line-height:1.5;letter-spacing:.06em;margin-top:19px;margin-bottom:20px}.hero-lead{font-size:1.22rem}.hero-description{font-size:.93rem;margin-top:18px}.hero-description .desktop-only{display:none}.hero .button-row{gap:25px;margin-top:26px}.hero .button{padding:14px 22px;font-size:.9rem;gap:35px;min-height:55px}.hero .text-link{font-size:.9rem;gap:14px}.hero-footnote{font-size:.75rem;margin-top:22px;gap:2px}.hero-visual{min-height:340px;aspect-ratio:1.12;max-height:460px;border-top-left-radius:110px;margin:0 0 20px 18px}.hero-placeholder:after{inset:20px;border-top-left-radius:93px}.hero-panel-words{font-size:2.65rem;line-height:1.8;letter-spacing:.17em}.hero-panel-label{top:27px;right:23px;font-size:.65rem}.hero-placeholder .photo-placeholder-caption{left:34px;right:32px;bottom:34px;font-size:.75rem}.hero-caption{font-size:.72rem;top:calc(100% + 10px)}.eyebrow{font-size:.75rem}.section-split{grid-template-columns:1fr;gap:30px}.section-heading h2,h2{font-size:2rem;line-height:1.65;letter-spacing:.045em}.eyebrow+h2{margin-top:16px}.introduction-body{padding-top:0}.lead-serif{font-size:1.19rem}.prose p{font-size:.95rem;line-height:2.05}.os-diagram{margin:28px 0;grid-template-columns:1fr 1.25fr 1fr}.os-diagram>div{padding:16px 6px;min-height:115px}.os-diagram strong{font-size:.78rem}.os-diagram small{font-size:.7rem}.os-core span{font-size:.65rem}.quiet-note{font-size:.85rem!important;padding-top:20px}.section-top{display:block;margin-bottom:30px}.section-top>.text-link{margin-top:23px}.section-side-note{font-size:.86rem;margin-top:20px;padding-bottom:0}.method-item>summary{padding:23px 0;gap:16px;align-items:flex-start}.method-number{font-size:1rem;line-height:2.3}.method-title{font-size:1.35rem}.method-title small{font-size:.7rem;margin-left:9px}.method-caption{font-size:.86rem;line-height:1.9;margin-top:8px}.method-item .accordion-symbol{margin-top:6px}.method-content{padding:0 6px 26px 30px}.disclosure-actions{gap:20px}.disclosure-actions .text-link{font-size:.8rem;gap:9px}.practice-grid{grid-template-columns:1fr;gap:37px}.practice-copy{padding:22px 0 0;max-width:none}.practice-copy h3{font-size:1.6rem;margin:5px 0 12px}.practice-copy p:not(.eyebrow){font-size:.95rem}.practice-photo{aspect-ratio:1.48}.photo-placeholder-caption{font-size:.75rem;left:23px;right:23px;bottom:20px}.photo-placeholder-caption small{font-size:.7rem}.photo-word{font-size:5rem}.practice-timetable{margin-top:34px;gap:13px;display:grid;grid-template-columns:1fr;padding-top:23px}.timetable-label{border:0;padding:0;margin-bottom:3px}.practice-timetable>div{gap:27px}.practice-timetable time{font-size:1.35rem;min-width:145px}.timetable-rule{display:none}.practice-timetable p{font-size:.8rem;margin-top:3px}.features-grid{grid-template-columns:1fr;gap:28px}.features-grid h3{font-size:clamp(1rem,4.5vw,1.35rem);margin:0 0 12px}.features-grid p{font-size:.93rem}.instructor-grid{grid-template-columns:1fr;gap:30px}.portrait-photo{aspect-ratio:1.03;min-height:0;max-height:440px;width:100%}.portrait-sign{font-size:2.4rem}.instructor-copy h2{font-size:2.4rem;margin-top:15px;gap:20px}.instructor-role{margin:15px 0 22px;font-size:.85rem}.instructor-copy>p:not(.eyebrow):not(.instructor-role){font-size:.94rem}.instructor-history>div{grid-template-columns:80px 1fr;font-size:.85rem}.journal-grid{grid-template-columns:1fr;gap:30px}.journal-card{display:grid;grid-template-columns:114px 1fr;gap:0 18px;border-bottom:1px solid #c7d5c3;padding-bottom:22px}.journal-meta{margin-top:0;gap:11px;font-size:.7rem;flex-wrap:wrap}.journal-card h3{font-size:1.05rem;line-height:1.75;margin:7px 0 10px}.journal-card p{font-size:.8rem;line-height:1.85}.journal-more{padding:13px 0 0;border:0;font-size:.75rem}.next-session{padding:26px;display:block}.next-session h3{font-size:1.5rem;line-height:1.7}.next-session>div>p:not(.eyebrow){font-size:.8rem}.next-session-side{display:flex;align-items:center;gap:20px;justify-content:space-between;text-align:left;margin-top:23px;padding-top:22px;border-top:1px solid #4a7061}.next-session-side>p{font-size:1.65rem!important;margin:0!important}.next-session-side small{font-size:.75rem;display:block;margin-left:0}.next-session .button{font-size:.8rem;gap:16px;min-height:48px;padding:12px 16px}.schedule-grid{grid-template-columns:1fr;gap:33px;margin-top:30px}.calendar-embed{height:380px}.calendar-heading h3{font-size:1rem}.calendar-heading .text-link{font-size:.75rem}.visit-info dl>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:20px 0}.visit-info dl>div:first-child{padding-top:20px;border-top:1px solid var(--line)}.visit-info dt{font-size:.78rem;margin:0;padding-top:3px}.visit-info dd{font-size:.9rem}.venue-grid{grid-template-columns:1fr;margin-top:28px;gap:13px}.venue-card{padding:22px 25px}.venue-card h3{font-size:1.25rem}.faq-list summary{padding:21px 0;font-size:.9rem;gap:16px}.faq-list details>p{padding:0 30px 23px 0;font-size:.9rem}.join-section{padding-block:44px}.join-inner{grid-template-columns:1fr;gap:30px}.join-section h2{font-size:2rem}.join-section h2+p{font-size:.9rem}.join-action>.button{max-width:none;min-height:60px;font-size:.91rem;padding-inline:21px}.join-action>p{font-size:.82rem}.join-email{font-size:.86rem}.site-footer{padding-block:30px}.footer-inner{display:grid;grid-template-columns:1fr;gap:23px}.footer-links{gap:12px 23px;font-size:.73rem}.footer-inner>small{font-size:.7rem}.journal-page{padding-top:32px;padding-bottom:65px}.breadcrumb{margin-bottom:35px;font-size:.75rem}.journal-page h1{font-size:2rem}.article-header h1{font-size:1.8rem;line-height:1.8}.article-meta{font-size:.76rem;gap:15px}.article-body{font-size:.95rem;line-height:2.1}.article-source{font-size:.75rem}.article-nav .text-link{font-size:.8rem}.article-header{margin-bottom:26px;padding-bottom:25px}.article-photo{margin-bottom:25px}}
@media(max-width:380px){.wrap{width:calc(100% - 34px)}.hero h1{font-size:2.7rem}.hero .button-row{gap:18px}.hero .button{gap:23px;padding-inline:17px}.hero .text-link{font-size:.83rem;gap:8px}.next-session{padding:23px 20px}.next-session-side{gap:12px}.next-session .button{gap:12px;padding-inline:12px}.os-diagram strong{font-size:.73rem}.os-core span{font-size:.6rem}.journal-card{grid-template-columns:92px 1fr;gap:0 15px}.visit-info dl>div{grid-template-columns:80px 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,.93fr)}
.hero-copy,.introduction-body,.practice-card,.instructor-copy,.visit-info,.calendar-panel,.join-action{min-width:0}
.main-navigation>a,.main-navigation>.nav-join,.menu-label{font-size:.875rem}
.hero-description,.prose p,.practice-copy p:not(.eyebrow),.features-grid p,.instructor-copy>p:not(.eyebrow):not(.instructor-role),.journal-card p,.visit-info dd,.faq-list summary,.faq-list details>p{font-size:1rem}
@media(min-width:761px) and (max-width:1000px){.hero h1{font-size:clamp(2.8rem,5.8vw,3.5rem)}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:clamp(2.25rem,9.4vw,4.4rem)}.journal-card p{font-size:.94rem}.journal-card{grid-template-columns:104px minmax(0,1fr)}.visit-info dl>div{grid-template-columns:85px minmax(0,1fr)}}
@media(max-width:380px){.journal-card{grid-template-columns:88px minmax(0,1fr)}}
@media print{.site-header,.site-footer,.menu-toggle,.button-row,.calendar-embed,.join-action{display:none}.wrap{width:100%}.section-block{padding-block:25px}.hero{min-height:0;padding:20px 0}.hero-visual{min-height:300px}.section-split,.instructor-grid,.schedule-grid{gap:30px}.join-section,.next-session{background:#fff!important;color:var(--ink)!important}.join-section h2,.next-session h3{color:var(--ink)!important}a{color:inherit}}

/* 申込リンクの下に、公式フォームが別タブで開く案内を添える。 */
.contact-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 160px;
  max-width: 100%;
  flex-shrink: 0;
}
.contact-action-note {
  display: block;
  font-size: .6875rem;
  line-height: 1.5;
  color: var(--muted);
}
.main-navigation .contact-action { align-items: stretch; text-align: center; }
.main-navigation .contact-action > .nav-join {
  padding: 6px 12px;
  border: 1px solid var(--ink);
  border-radius: 2px;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
  transition: opacity .2s;
}
.main-navigation .contact-action > .nav-join:hover { opacity: .65; }
@media (max-width: 1000px) {
  .main-navigation .contact-action { width: 100%; margin-top: 12px; }
  .main-navigation .contact-action > .nav-join { padding: 12px; }
}

/* 創設年はヘッダーの団体名の右に控えめに添える。 */
.site-header .brand-since {
  font-family: var(--sans);
  font-size: .6875rem;
  line-height: 1.5;
  letter-spacing: .04em;
  color: var(--muted);
  white-space: nowrap;
}
@media (min-width: 1001px) and (max-width: 1180px) {
  .site-header .header-inner { gap: 16px; }
  .site-header .brand { gap: 11px; }
  .main-navigation { gap: 10px; }
  .main-navigation > a { font-size: .8125rem; }
  .main-navigation .contact-action { width: 148px; }
}
.header-quick-links { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
@media (max-width: 760px) {
  .header-quick-links { flex-direction: column; align-items: flex-end; gap: 0; }
  .header-quick-links > .text-link { min-height: 32px; padding-block: 3px; gap: 6px; font-size: .8125rem; line-height: 1.6; }
  .header-quick-links > .text-link span { font-size: 1em; }
}
@media (max-width: 480px) {
  .site-header .header-inner { gap: 10px; }
  .site-header .brand { gap: 8px; }
  .site-header .brand-mark { font-size: 1.6rem; padding-right: 8px; }
  .site-header .brand-since {
    max-width: 3em;
    font-size: .625rem;
    white-space: normal;
  }
  .site-header .menu-toggle { flex-shrink: 0; }
  .site-header .menu-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .site-header .header-inner > .text-link {
    max-width: 6em;
    font-size: .6875rem;
    gap: 4px;
    line-height: 1.6;
  }
  .header-quick-links > .text-link { gap: 4px; font-size: .6875rem; }
}
@media (max-width: 380px) {
  .site-header-compact .brand-since { display: none; }
}

/* 写真と説明を同じ開閉領域に置く。 */
.method-item > summary { align-items: flex-start; }
.method-item[open] > summary { width: calc(100% - 292px); }
.method-expanded {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  column-gap: 32px;
  align-items: start;
}
.method-item:not([open]) > .method-expanded { display: none; }
.method-expanded .method-content { min-width: 0; padding-right: 0; }
.method-visual {
  width: 200px;
  max-width: 100%;
  margin: var(--method-image-offset, 0px) 0 34px;
}
.method-visual > img { width: 100%; height: auto; object-fit: contain; border-radius: 3px; }
.method-visual > figcaption { margin-top: 12px; font-size: .875rem; line-height: 1.8; }
.method-visual > figcaption > strong { display: block; }
.method-biography { display: block; margin-top: 8px; font-size: .75rem; line-height: 1.85; }
.portrait-photo { width: 80%; min-height: 416px; justify-self: center; }

/* はじめての方への見出しと、日常の動きにつなげる文章。 */
.home-sections h2.section-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .06em;
}
.introduction .section-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 5vw, 64px); align-items: stretch; }
.introduction .section-heading,
.introduction-body { display: flex; flex-direction: column; }
.introduction-body { padding-top: 0; justify-content: space-between; }
.introduction-body > .os-diagram:last-child { margin-bottom: 0; }
.introduction-message-title,
.introduction-subheading {
  margin: 0 0 20px;
  font-family: var(--sans);
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: normal;
  white-space: nowrap;
  flex-shrink: 0;
}
.introduction-message { display: flex; flex-direction: column; justify-content: space-between; flex: 1; margin-top: 0; }
.introduction .introduction-message > p,
.introduction .introduction-body > p { font-size: 1rem; }
.introduction .introduction-message > .introduction-discovery { font-size: clamp(1.15rem, 1.6vw, 1.3rem); text-align: center; }
.introduction-methods { margin-bottom: 40px; }
.introduction-methods > .section-top { margin-bottom: 28px; }
.introduction-methods > .section-top h2 { margin-top: 12px; }
.practice-intro { margin-top: 20px; }
.practice-section .features-grid { margin-top: 24px; }
.practice-section .features-grid h3 { margin-bottom: 10px; }
.practice-details,
.practice-faq { margin-top: 40px; }
.practice-details > .section-top { margin-bottom: 28px; }
.practice-subheading { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.65; }
.faq-heading { margin-bottom: 20px; font-weight: 700; }
.practice-lead { border-top: 1px solid var(--line); padding-top: 24px; margin-bottom: 12px; font-weight: 700; }
.practice-lead + p { margin-top: 1.25em; }
.practice-copy > .eyebrow,
.practice-copy > h3 { font-weight: 700; }
@media (max-width: 1000px) {
  .portrait-photo { min-height: 376px; }
  .introduction .section-split { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 760px) {
  .portrait-photo { min-height: 0; max-height: 352px; }
  .method-item[open] > summary { width: auto; }
  .method-expanded { grid-template-columns: minmax(0, 1fr); }
  .method-expanded .method-content { padding-right: 6px; }
  .method-visual { width: min(200px, 100%); margin: 0 auto 26px; }
  .method-visual > img {
    width: 140px;
    height: auto;
    max-width: 100%;
    margin-inline: auto;
  }
  .home-sections h2.section-title { font-size: 1.85rem; letter-spacing: .045em; }
  .introduction-message-title,
  .introduction-subheading { font-size: clamp(.8125rem, 3.5vw, 1.3rem); }
  .introduction-methods { margin-bottom: 28px; }
  .practice-section .features-grid { margin-top: 20px; }
  .practice-section .features-grid h3 { margin-bottom: 8px; }
  .practice-details,
  .practice-faq { margin-top: 28px; }
  .practice-lead { padding-top: 22px; margin-bottom: 10px; }
}

/* 番号付きの項目名は文字を大きくし、番号は小さく添える。 */
.section-label { align-items: baseline; }
.section-label-number { flex-shrink: 0; white-space: nowrap; }
.section-label-text {
  min-width: 0;
  font-size: clamp(1.2rem, 2.4vw, 1.75rem);
  line-height: 1.65;
  letter-spacing: .05em;
  color: var(--ink);
}
