:root{color-scheme:light;--paper:#f7f5f1;--ink:#25241f;--muted:#6c6b65;--rule:#dedcd5;--one:#b73155;--one-light:#f9e8ec;--two:#3938a4;--two-light:#eeedff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ecac34;outline-offset:4px}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:12px;background:#fff;padding:10px;z-index:99}.skip-link:focus{top:10px}.site-header{max-width:1200px;margin:auto;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}.brand-mark{font-size:37px;font-weight:950;letter-spacing:-3px;line-height:1}.brand-mark span{font-size:10px;vertical-align:top;letter-spacing:0}.brand-caption{font-size:9px;line-height:1.5;font-weight:800;letter-spacing:1.4px}.header-date{font-size:13px;letter-spacing:1px}.header-date b{font-size:10px;margin-left:9px}main{max-width:1200px;margin:auto;padding:0 48px}.intro{padding:58px 0 44px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:800;margin:0 0 17px}h1{font-size:clamp(40px,6vw,64px);line-height:1.3;letter-spacing:-2px;margin:0 0 24px;font-weight:850}.first-word{color:var(--one)}.second-word{color:var(--two)}.lead{color:#54534d;font-size:16px;line-height:1.9;margin:0 0 22px}.lead strong{color:var(--ink)}.venue{font-size:13px;margin:0 0 30px;font-weight:700}.venue span{display:inline-block;color:var(--muted);font-weight:400;margin-left:17px}.sessions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.session{padding:20px 24px;border-top:3px solid;display:flex;gap:25px;align-items:center;background:#fff}.session-one{border-color:var(--one)}.session-two{border-color:var(--two)}.session-label{min-width:68px;font-weight:800;font-size:16px;color:var(--one);white-space:nowrap}.session-two .session-label{color:var(--two)}.session-label strong{font-size:34px;line-height:1}.session-start{font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.3;font-variant-numeric:tabular-nums}.session-start span{font-size:12px;letter-spacing:0;margin-left:9px;font-weight:500}.session p{font-size:11px;color:var(--muted);margin:5px 0 0;white-space:nowrap}.session p span{margin:0 6px;color:#aaa}.finder{padding:35px 0 56px;border-top:1px solid var(--rule)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.section-heading .eyebrow{margin-bottom:7px}h2{margin:0;font-size:25px;letter-spacing:-.5px;line-height:1.5}.text-button{border:0;background:none;color:var(--ink);padding:5px 0;border-bottom:1px solid var(--ink);font-size:12px}.table-note{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 25px}.table-note strong{color:var(--ink)}.controls{display:flex;flex-direction:column;gap:18px;background:#efede7;padding:23px 24px;margin-bottom:20px}.search-wrap label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.search-field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ccc9c0;padding:0 15px;max-width:620px}.search-field svg{flex:0 0 auto;color:var(--muted)}.search-field input{border:0;background:transparent;min-width:0;width:100%;font-size:16px;padding:13px 0;color:var(--ink)}.search-field input:focus{outline:none}.search-field:focus-within{outline:2px solid #8985c2;outline-offset:2px}.day-filter{border:0;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0}.day-button{background:transparent;border:1px solid #c7c4bc;color:#4a4943;min-width:43px;min-height:42px;font-size:13px;font-weight:700;padding:7px 12px;border-radius:3px}.day-button:hover{background:#fff}.day-button.active{background:var(--ink);border-color:var(--ink);color:white}.list-meta{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:22px}#result-count{font-weight:700;color:var(--ink)}.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;align-items:start}.day-heading{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border-bottom:2px solid var(--ink)}.day-heading h3{font-size:29px;margin:0;line-height:1.2}.day-heading h3 span{font-size:12px;font-weight:500;margin-left:7px}.day-count{font-size:11px;color:var(--muted)}table{width:100%;border-collapse:collapse;table-layout:fixed}th{text-align:left;font-size:10px;font-weight:500;color:var(--muted);height:32px}th.choose-col{width:32px}th.time-col{width:90px}th.part-col{width:64px;text-align:center}td{border-top:1px solid var(--rule);padding:15px 0;vertical-align:middle}td:last-child{text-align:center}tr:has(input:checked){background:#eceae3}input[type=checkbox]{width:19px;height:19px;accent-color:var(--ink);margin:0;vertical-align:middle;cursor:pointer}label{cursor:pointer}.time label{display:block}.time strong{display:block;font-size:18px;line-height:1.35;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.time span{display:block;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.unit{padding-right:10px}.unit label{display:block}.unit .class-name{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:3px}.unit strong{display:block;font-size:17px;line-height:1.4;word-break:normal;overflow-wrap:anywhere}.reading{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:3px}.part-badge{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;padding:7px 9px;min-width:58px;font-size:28px;line-height:1.2;font-weight:850;border-radius:4px}.part-badge span{font-size:10px;font-weight:700}.p1{color:var(--one);background:var(--one-light)}.p2{color:var(--two);background:var(--two-light)}#empty{text-align:center;padding:45px 10px;background:#fff;border:1px solid var(--rule)}#empty strong{font-size:17px}#empty p{font-size:13px;color:var(--muted)}.guidance{padding:38px 0 46px;border-top:1px solid var(--rule)}.guidance h2{font-size:20px}.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:25px}.guide-number{font-size:11px;color:var(--muted);font-weight:700;border-bottom:1px solid var(--rule);display:block;padding-bottom:10px}.guidance h3{font-size:14px;margin:13px 0 7px}.guidance p{font-size:12px;color:#63615a;margin:0;line-height:1.9}.guidance .booking-note{margin-top:28px;font-size:13px;font-weight:700;color:var(--ink)}footer{border-top:1px solid var(--rule);padding:32px 48px 40px;max-width:1200px;margin:auto;display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}.footer-brand{font-size:12px;font-weight:800;letter-spacing:1px}footer p{font-size:11px;color:var(--muted);margin:0}footer .footer-small{width:100%;font-size:10px}.selection-summary{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 24px;background:#26251f;color:white;border:1px solid #56544e;box-shadow:0 6px 32px #0002;border-radius:6px;z-index:10}.selection-summary p{margin:0;color:#d2cfc7;font-size:11px}.selection-summary strong{display:block;font-size:21px;line-height:1.6}.selection-summary .selection-detail{font-size:11px}.selection-summary button{flex:0 0 auto;border:1px solid #8e8b81;color:white;background:transparent;border-radius:3px;padding:8px 10px;font-size:11px}.has-selection{padding-bottom:130px}.noscript{margin:20px;font-size:13px}.controls,.selection-hint,.print-button{display:none}.js .controls{display:flex}.js .selection-hint,.js .print-button{display:inline-block}
@media(min-width:1000px){.intro{position:relative;padding-right:53%;min-height:348px}.intro .sessions{position:absolute;right:0;top:70px;width:43%;grid-template-columns:1fr;gap:18px}.intro .session{padding:23px 27px}.intro .venue span{display:block;margin:4px 0 0}.intro h1{font-size:57px}.intro .lead{font-size:15px}.intro{padding-bottom:35px}}
@media(max-width:760px){.site-header{padding:23px 22px}.brand-caption{font-size:8px}.brand{gap:11px}.brand-mark{font-size:31px}.header-date{font-size:11px}.header-date b{display:none}main{padding:0 22px}.intro{padding:38px 0 31px}h1{font-size:43px;letter-spacing:-1.5px}.lead{font-size:14px}.venue{font-size:12px}.venue span{display:block;margin:3px 0 0}.sessions{gap:10px}.session{display:block;padding:15px 15px}.session-label{font-size:13px;margin-bottom:11px}.session-label strong{font-size:23px}.session-start{font-size:29px}.session-start span{font-size:10px;margin-left:5px}.session p{font-size:10px;white-space:normal}.session p span{margin:0 3px}.class-grid{grid-template-columns:1fr;gap:29px}.section-heading{align-items:center}.section-heading h2{font-size:21px}.section-heading .eyebrow{font-size:9px}.print-button{font-size:10px;white-space:nowrap}.table-note{font-size:12px}.controls{padding:17px 14px;margin-inline:-2px}.search-field{padding-inline:10px}.search-field input{font-size:14px}.day-filter{gap:6px}.day-button{min-width:35px;min-height:40px;padding:6px 9px}.selection-hint{font-size:10px}.list-meta{gap:8px;margin-bottom:23px}.guidance-grid{grid-template-columns:1fr;gap:23px}.guidance-grid article{position:relative;padding-left:38px}.guide-number{position:absolute;left:0;top:0;border:0}.guidance h3{margin:0 0 5px}.guidance h2{font-size:19px}.guidance p{font-size:12px}.guidance .booking-note{font-size:12px}.selection-summary{padding:14px 16px;bottom:12px;gap:10px}.selection-summary strong{font-size:18px}.selection-summary .selection-detail{font-size:10px}.selection-summary button{font-size:10px;padding:8px}.has-selection{padding-bottom:150px}footer{padding:26px 22px 35px}.desktop-only{display:none}}
@media(max-width:360px){main{padding-inline:16px}.site-header{padding-inline:16px}.day-button{min-width:32px;padding:6px 7px}.unit strong{font-size:15px}.time strong{font-size:17px}th.time-col{width:80px}th.part-col{width:57px}.part-badge{min-width:51px;font-size:25px}.session-start{font-size:26px}.brand-caption{display:none}}
@media print{body{background:white;font-size:10px;padding:0!important}.site-header{padding:12px 0}main{padding:0}.intro{padding:15px 0;min-height:0}.intro h1{font-size:27px}.intro .sessions{position:static;width:100%;grid-template-columns:1fr 1fr}.intro .session{padding:10px}.intro .lead,.eyebrow,.controls,.list-meta,.selection-summary,.print-button{display:none!important}.class-grid{display:block;column-count:2;column-gap:25px}.day-group{display:block!important;break-inside:avoid;margin-bottom:20px}.day-group tr{display:table-row!important}.day-heading h3{font-size:20px}.unit strong{font-size:12px}.time strong{font-size:13px}td{padding:8px 0}.part-badge{font-size:20px;border:1px solid currentColor;background:white}.part-badge span{font-size:9px}.choose-col,td:first-child{display:none}th.time-col{width:64px}th.part-col{width:48px}.guidance{break-inside:avoid;padding-top:15px}.guidance-grid{grid-template-columns:repeat(3,1fr)}footer{padding:15px 0}.day-count{display:none}#empty{display:none!important}input[type=checkbox]{display:none}.table-note{font-size:10px}.finder{padding-bottom:15px}tr:has(input:checked){background:transparent}}
