:root{--blue:#0000ff;--ink:#111;--paper:#fff;--muted:#666;--page-width:500px;--pad:30px;--progress:0;--rule:1px solid var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--ink);font-synthesis:none}
@font-face{font-family:Oswald;src:url('./assets/oswald-numerals.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.hero a:focus-visible,.visit a:focus-visible,.side a:focus-visible{outline-color:#fff}img{display:block;max-width:100%}canvas{display:block;width:100%;height:100%}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);background:#fff;padding:12px;z-index:20}.skip-link:focus{transform:none}.page-shell{width:min(100%,var(--page-width));margin:auto;position:relative;background:var(--paper);z-index:2;min-height:100vh}.masthead{display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);border-bottom:var(--rule);gap:20px}.brand{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:900;letter-spacing:-.04em;line-height:1.04;display:flex;flex-direction:column}.brand>span:last-child{font-size:21px}.brand em{font-size:14px;font-style:normal;font-weight:500;margin-left:5px;letter-spacing:0}.motion-toggle{display:flex;align-items:center;gap:9px;border:0;padding:8px 0;background:transparent;font-family:Arial,sans-serif;font-size:12px;cursor:pointer;letter-spacing:.02em}.motion-symbol{font-size:23px;font-weight:900;line-height:1}.hero{background:var(--blue);color:#fff;padding:22px var(--pad) 24px;position:relative;overflow:hidden}.hero-meta,.section-label,.hero-scroll{font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.04em}.hero-meta{margin-bottom:22px}.hero-art{height:205px;margin:0 calc(-1 * var(--pad));position:relative;overflow:hidden;background:var(--blue)}.hero-art canvas{position:absolute;inset:0}.ai-mark{position:absolute;left:var(--pad);top:6px;line-height:1;font-family:Arial,Helvetica,sans-serif;font-size:180px;font-weight:900;letter-spacing:-.085em;color:#fff;pointer-events:none;text-shadow:none}.ai-mark>span{display:inline-block;font-size:72px;margin-left:18px;vertical-align:23px;color:var(--ink);text-shadow:none}.hero h1{font-size:clamp(2.15rem,10.25vw,3.22rem);font-weight:900;letter-spacing:-.055em;line-height:1.22;margin:28px 0 25px}.hero h1>span{display:block}.hero-speakers{line-height:1.4;display:flex;align-items:center;gap:14px;font-size:clamp(.875rem,3.5vw,1.0625rem);font-weight:700;letter-spacing:-.02em}.hero-speakers small{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:400;margin-top:4px;letter-spacing:0}.hero-speakers>b{font-size:25px;font-weight:400}.hero-scroll{justify-content:flex-end;gap:12px;margin-top:30px;font-size:12px}.scroll-line{width:1px;height:25px;background:#fff;position:relative;overflow:hidden}.scroll-line:after{position:absolute;content:"";width:1px;height:12px;background:var(--blue);inset:-12px 0 auto;animation:scrollMark 2s ease-in-out infinite}.date-strip{padding:22px var(--pad) 20px;border-bottom:var(--rule)}.date-strip time{display:flex;align-items:center;gap:20px}.date-big{font:700 clamp(4rem,20vw,5.375rem)/1 Oswald,Arial,sans-serif;letter-spacing:-.025em}.date-small{font:14px/1.5 Arial,sans-serif}.date-small b{font-size:12px;letter-spacing:.02em}.date-time{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;font-size:12px}.date-time>span:first-child{font-family:Arial,sans-serif;font-size:15px;font-weight:700}.content-section{padding:36px var(--pad) 52px;scroll-margin-top:0}.section-label{border-bottom:var(--rule);padding-bottom:14px;font-size:12px;margin-bottom:35px;gap:10px}.section-label>span:first-child{white-space:nowrap;font-weight:700}.section-label>span:last-child{font-size:12px;letter-spacing:0}.content-section h2{font-size:clamp(1.75rem,7.8vw,2.1875rem);line-height:1.45;letter-spacing:-.055em;font-weight:800;margin:0 0 30px}.content-section p{font-size:16px;line-height:1.95;margin:0 0 24px;letter-spacing:.01em}.content-section .lead{font-size:19px;line-height:1.9;margin-bottom:28px;font-weight:700;letter-spacing:-.02em}.live-note{border-top:var(--rule);border-bottom:var(--rule);padding:22px 0;display:flex;align-items:center;gap:22px;margin-top:33px}.live-type{font:900 30px/.92 Arial,sans-serif;letter-spacing:-.05em;color:var(--blue)}.live-note p{font-size:14px;line-height:1.75;margin:0}.type-band{background:var(--blue);color:#fff;overflow:hidden;border-top:var(--rule);border-bottom:var(--rule);padding:13px 0;white-space:nowrap;font:900 58px/.9 Arial,sans-serif;letter-spacing:-.06em}.type-band>div{width:max-content;animation:ticker 28s linear infinite}.speakers{padding-bottom:48px}.speaker-photo{position:relative;overflow:hidden;aspect-ratio:1.22;background:#eee}.speaker-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(1);transition:filter .4s,transform .7s}.speaker-photo:hover img{filter:grayscale(0);transform:scale(1.03)}.speaker-photo>span{position:absolute;bottom:0;left:0;background:var(--blue);color:#fff;font:12px Arial,sans-serif;padding:10px 13px;letter-spacing:.05em}.speaker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0 19px}.speaker-role{font-size:13px;line-height:1.6}.speaker h3{font-size:clamp(1.5rem,7vw,2rem);line-height:1.4;letter-spacing:-.06em;margin:7px 0}.speaker .roman-name{font:12px Arial,sans-serif;letter-spacing:.06em;margin:0}.speaker p{margin-bottom:22px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:var(--rule);padding:14px 0;font-size:14px;font-weight:700}.text-link>span{font:12px Arial,sans-serif;color:var(--blue)}.text-link:hover{color:var(--blue)}.speaker-cross{text-align:center;font:normal 80px/1 Arial,sans-serif;color:var(--blue);margin:35px 0}.tools{background:#f1f1f1;border-top:var(--rule)}.tools h2{margin-bottom:25px}.tool-example{padding:26px 0;border-top:var(--rule);position:relative;display:grid;grid-template-columns:30px 1fr;gap:9px;min-height:176px}.tool-no{font:13px Arial,sans-serif;color:var(--blue);padding-top:2px}.tool-en{font:12px Arial,sans-serif;letter-spacing:.04em;color:#595959}.tool-example h3{font-size:19px;letter-spacing:-.04em;line-height:1.5;margin:9px 0 10px;position:relative;z-index:1}.tool-example p{font-size:14px;line-height:1.8;margin:0;position:relative;z-index:1;padding-right:50px}.calendar-mark,.kanji-mark{position:absolute;right:0;bottom:29px;width:60px;height:60px;color:var(--blue);opacity:.8}.calendar-mark{border:2px solid var(--blue);padding:5px}.calendar-mark>span{font:900 14px/1 Arial,sans-serif;display:block;border-bottom:1px solid var(--blue);padding-bottom:4px;margin-bottom:5px}.calendar-mark>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.calendar-mark i{height:4px;border:1px solid var(--blue)}.calendar-mark i:nth-child(5){background:var(--blue)}.kanji-mark{font-size:52px;line-height:1;font-weight:800}.more-tools{border-top:var(--rule);padding-top:26px;margin-top:8px}.more-tools>p{font-size:14px;margin-bottom:16px}.work-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--ink);padding:20px 17px;background:#fff;margin-bottom:10px;transition:background .2s,color .2s}.work-link b{font:800 24px/1 Arial,sans-serif;letter-spacing:-.05em;display:block}.work-link small{font-size:12px;line-height:1.6;display:block;margin-top:7px}.link-tag{font:12px Arial,sans-serif;writing-mode:vertical-rl;letter-spacing:.08em}.work-link:hover{background:var(--blue);color:#fff}.visit{background:var(--blue);color:#fff;padding-bottom:42px}.visit .section-label,.event-details>div{border-color:rgba(255,255,255,.6)}.visit h2{font-size:clamp(2rem,9vw,2.8rem)}.event-details{margin:0}.event-details>div{display:grid;grid-template-columns:67px 1fr;border-top:1px solid rgba(255,255,255,.6);padding:20px 0;gap:12px}.event-details dt{font-size:13px;line-height:1.9}.event-details dd{font-size:16px;line-height:1.85;margin:0;font-weight:600}.event-details dd>span{font-size:14px;font-weight:400}.event-details .price{font:700 45px/1.2 Arial,sans-serif;letter-spacing:-.04em}.event-details .price>span{font-size:16px;margin-left:7px}.map-link{display:flex;justify-content:space-between;font-size:14px;padding:14px 0 20px;border-bottom:1px solid rgba(255,255,255,.6)}.map-link>span{font:12px Arial,sans-serif}.reserve-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:#fff;color:var(--ink);font-size:16px;font-weight:700;padding:25px 10px;margin-top:30px;text-align:center;transition:background .2s,color .2s}.reserve-main>span{font:12px Arial,sans-serif;letter-spacing:.07em}.reserve-main:hover{background:var(--ink);color:#fff}.visit .reservation-note{font-size:12px;line-height:1.8;margin:17px 0 12px;text-align:center}.event-source{display:block;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-align:center}.footer{background:var(--ink);color:#fff;padding-bottom:102px}.footer-grid{height:260px;position:relative;overflow:hidden}.footer-grid canvas{position:absolute;inset:0;opacity:.4}.footer-grid>b{position:absolute;inset:44px var(--pad) auto;font:900 clamp(3.5rem,15vw,5rem)/.93 Arial,sans-serif;letter-spacing:-.06em}.footer-weekend{display:grid;grid-template-columns:1fr auto;gap:14px;padding:25px var(--pad) 28px;border-top:1px solid #555;border-bottom:1px solid #555}.footer-weekend>span:first-child{grid-column:1/-1;font:12px Arial,sans-serif;letter-spacing:.05em;color:#bdbdbd}.footer-weekend strong{font:900 25px/.98 Arial,sans-serif;letter-spacing:-.04em}.footer-weekend>span:last-child{font-size:12px;align-self:end}.footer-bottom{display:flex;justify-content:space-between;gap:12px;padding:23px var(--pad);font:12px Arial,sans-serif;letter-spacing:.04em;color:#bdbdbd}.reservation-bar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,var(--page-width));z-index:10;background:#fff;display:flex;justify-content:space-between;align-items:center;border-top:var(--rule);padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:16px}.reservation-bar>div>span{display:block;font:900 19px/1.05 Arial,sans-serif;letter-spacing:-.035em}.reservation-bar small{font-size:12px;display:block;margin-top:5px}.reservation-bar>a{font-size:14px;background:var(--blue);color:#fff;min-height:44px;min-width:130px;display:flex;align-items:center;justify-content:center;transition:background .2s}.reservation-bar>a:hover{background:var(--ink)}.reading-line{position:fixed;left:0;top:0;height:3px;width:calc(var(--progress) * 100%);background:var(--blue);z-index:12;pointer-events:none}.side{display:none}.is-paused *{animation-play-state:paused!important}.is-paused .speaker-photo img{transition:none}[data-reveal]{transition:opacity .4s ease,transform .4s cubic-bezier(.2,.65,.3,1)}.js [data-reveal]:not(.revealed){opacity:0;transform:translateY(18px)}.revealed{opacity:1;transform:none}
@keyframes ticker{to{transform:translateX(-33.3333%)}}@keyframes scrollMark{to{transform:translateY(40px)}}
@media(min-width:960px){:root{--pad:35px}.side{display:flex;position:fixed;top:0;bottom:0;width:calc((100% - var(--page-width))/2);overflow:hidden;z-index:1;padding:26px clamp(20px,2.7vw,48px);flex-direction:column}.side-meta,.side-bottom{display:flex;justify-content:space-between;gap:12px;font:12px/1.5 Arial,sans-serif;letter-spacing:.06em;white-space:nowrap}.side-left{left:0;color:#fff;background:var(--ink)}.side-right{right:0;background:var(--blue);color:#fff}.side-words{font:900 clamp(44px,5.9vw,110px)/.94 Arial,sans-serif;letter-spacing:-.065em;margin:48px 0 30px;position:relative;z-index:2}.side-words>span{display:block}.outline{color:transparent;-webkit-text-stroke:1px #fff}.side-art{flex:1;min-height:50px;max-height:330px;margin:0 calc(-1 * clamp(20px,2.7vw,48px));opacity:.85}.side-bottom{margin-top:auto;padding-top:25px}.right-art{height:clamp(200px,32vh,360px);margin:40px calc(-1 * clamp(20px,2.7vw,48px)) 25px}.desktop-nav{display:flex;flex-direction:column;margin-top:20px;border-top:1px solid rgba(255,255,255,.45)}.desktop-nav>a{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.45);font:800 clamp(14px,1.6vw,23px) Arial,sans-serif;letter-spacing:-.04em;display:flex;gap:16px;transition:padding .3s,background .3s}.desktop-nav>a>span{font:12px Arial,sans-serif;opacity:.7;align-self:center}.desktop-nav>a:hover,.desktop-nav>a.active{padding-left:10px;background:rgba(0,0,0,.15)}.hero h1{font-size:3.22rem}.side-right .side-bottom{font-size:12px}.reading-line{left:calc((100% - var(--page-width))/2);width:calc(var(--progress) * var(--page-width))}}
@media(min-width:960px) and (max-height:760px){.side-words{margin-top:28px;font-size:clamp(40px,5.5vw,83px)}.right-art{height:210px;margin-top:26px;margin-bottom:10px}.desktop-nav{margin-top:10px}.desktop-nav>a{padding-top:13px;padding-bottom:13px}}
@media(max-width:359px){:root{--pad:22px}.hero-art{height:177px}.ai-mark{font-size:155px}.hero h1{font-size:2.03rem}.hero-speakers{gap:10px}.date-strip time{gap:16px}.section-label>span:last-child{font-size:12px}.speaker h3{font-size:1.5rem}.reservation-bar{padding-left:16px;padding-right:16px}.reservation-bar>a{min-width:112px}.tool-example{grid-template-columns:24px 1fr}.tool-example h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal],.js [data-reveal]:not(.revealed){opacity:1;transform:none}}

.is-paused{scroll-behavior:auto}.is-paused [data-reveal],.is-paused.js [data-reveal]:not(.revealed){opacity:1;transform:none;transition:none}

/* The opening is optional; the normal page remains usable without JavaScript. */
.intro-overlay{display:none;position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none}
.intro-pending .intro-overlay{display:block}
.intro-base,.intro-guides,.intro-cells{position:absolute;inset:0}
.intro-base{background:var(--blue)}
.intro-guides svg{display:block;width:100%;height:100%;overflow:hidden}.intro-wire{fill:none;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:var(--wire-length);stroke-dashoffset:var(--wire-length);animation:introWire 360ms cubic-bezier(.22,.6,.3,1) forwards}.intro-cells{visibility:hidden}.intro-panel{position:absolute;display:block;background:var(--blue);transform-origin:top;will-change:transform,opacity}.intro-assemble .intro-base{visibility:hidden}.intro-assemble .intro-cells{visibility:visible}.intro-assemble .intro-guides{opacity:0;transition:opacity 400ms ease 350ms}
.intro-skip{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:calc(25px + env(safe-area-inset-bottom));pointer-events:auto;cursor:pointer;padding:12px 15px;min-height:44px;border:1px solid #fff;color:#fff;background:var(--blue);font:12px Arial,sans-serif;letter-spacing:.05em;display:flex;gap:12px;align-items:center}
.intro-skip>span{font:12px "Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:0}
.intro-skip:focus-visible{outline:2px solid #fff;outline-offset:5px}
.intro-pending :is(.masthead,.hero-meta,.hero-art,.ai-mark,#eventTitle>span,.hero-speakers,.hero-scroll,.date-strip,.side-words,.right-art,.desktop-nav,.reservation-bar){opacity:0}
.intro-playing :is(.masthead,.hero-meta,.hero-art,.ai-mark,#eventTitle>span,.hero-speakers,.hero-scroll,.date-strip,.side-words,.right-art,.desktop-nav,.reservation-bar){animation:introContent 470ms cubic-bezier(.2,.65,.25,1) var(--intro-delay,1s) both}
.intro-exiting .intro-wire{animation-play-state:paused}
.intro-exiting :is(.masthead,.hero-meta,.hero-art,.ai-mark,#eventTitle>span,.hero-speakers,.hero-scroll,.date-strip,.side-words,.right-art,.desktop-nav,.reservation-bar){animation:none;opacity:1;translate:none}
.masthead{--intro-delay:.7s}.hero-meta{--intro-delay:.78s}.hero-art{--intro-delay:.86s}.ai-mark{--intro-delay:.93s}
#eventTitle>span:nth-child(1){--intro-delay:1.02s}#eventTitle>span:nth-child(2){--intro-delay:1.13s}#eventTitle>span:nth-child(3){--intro-delay:1.24s}
.hero-speakers{--intro-delay:1.38s}.hero-scroll{--intro-delay:1.47s}.date-strip{--intro-delay:1.55s}
.side-words{--intro-delay:1.28s}.right-art{--intro-delay:1.02s}.desktop-nav{--intro-delay:1.62s}.reservation-bar{--intro-delay:1.72s}
@keyframes introWire{to{stroke-dashoffset:0}}
@keyframes introContent{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.intro-overlay{display:none!important}.intro-pending :is(.masthead,.hero-meta,.hero-art,.ai-mark,#eventTitle>span,.hero-speakers,.hero-scroll,.date-strip,.side-words,.right-art,.desktop-nav,.reservation-bar){opacity:1;translate:none}}

.speaker-logo{background:#fff}.speaker-logo img,.speaker-logo:hover img{object-fit:contain;object-position:center;padding:clamp(25px,7vw,45px);filter:none;transform:none;transition:none}

.side-art,.right-art{position:relative;overflow:hidden;isolation:isolate}.side-art canvas,.right-art canvas{position:absolute;inset:0;width:100%;height:100%}

.ai-mark canvas{position:absolute;inset:auto;pointer-events:none}.ai-mark.has-contrast,.ai-mark.has-contrast>span{color:transparent}
