@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-Thin.otf) format("opentype");font-weight:100;font-style:normal}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-ThinItalic.otf) format("opentype");font-weight:100;font-style:italic}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-Light.otf) format("opentype");font-weight:300;font-style:normal}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-LightItalic.otf) format("opentype");font-weight:300;font-style:italic}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-Medium.otf) format("opentype");font-weight:500;font-style:normal}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-MediumItalic.otf) format("opentype");font-weight:500;font-style:italic}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-Extrabold.otf) format("opentype");font-weight:800;font-style:normal}@font-face{font-family:PPKyoto;src:url(/otf/PPKyoto-ExtraboldItalic.otf) format("opentype");font-weight:800;font-style:italic}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PPKyoto,serif;color:#000;background-color:#fff;line-height:1.6;font-size:1rem}header{display:flex;justify-content:center;align-items:center;padding:2rem}.logo{display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:1.5rem;font-weight:800}.logo-img{height:60px;width:auto}.kyoto-logo{width:100px;height:auto}.hero{padding:2rem;text-align:center}.hero h1{font-size:2.5rem;margin-bottom:1rem;font-weight:800}#flyer-thumb{width:200px;height:auto;cursor:pointer;margin-top:1rem}.flyer-container{position:relative;display:inline-block}.hand-point{position:absolute;bottom:10px;right:10px;width:30px;height:auto;transform:rotate(-20deg);filter:invert(1);pointer-events:none}.modal{position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;background-color:#000000b3;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility .3s ease}.modal.show{visibility:visible;opacity:1}.modal-content{margin:auto;display:block;max-width:90%;max-height:90%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content img{max-width:90vw;max-height:90vh;width:auto;height:auto}.close{position:absolute;top:10px;right:25px;color:#fff;font-size:35px;font-weight:700;cursor:pointer}.events{padding:2rem 2rem 4rem;text-align:center}h2{font-size:2rem;margin-bottom:2rem;font-weight:800}.events h2{margin-bottom:1rem}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto;align-items:start}.event-card{display:flex;flex-direction:column;align-items:center;padding:2rem;border:1px solid #000;font-size:1.25rem;height:260px}.event-info{display:flex;flex-direction:column;gap:.5rem;text-align:center;justify-content:space-between;height:100%}.event-date{font-weight:800}.event-place{font-weight:500}.event-place a{color:#000;text-decoration:underline}.event-place-extra{font-weight:500;font-style:italic}.event-time{color:#666;font-size:1rem}.event-info{margin-bottom:1rem}.event-note{font-size:.875rem;color:#000}.free-entry{border:2px solid #000;color:#000;padding:.5rem 1rem;border-radius:1rem;font-size:1rem;font-weight:800;margin-top:1rem;margin-bottom:2rem;display:inline-block}.expect{padding:4rem 2rem;text-align:center}.expect ul{list-style:disc;padding-left:2rem;font-size:1.25rem;max-width:800px;margin:0 auto;text-align:left}.expect li{margin-bottom:1rem}.expect .logo-img,.expect .kyoto-logo{display:block;margin:0 auto}.gallery{padding:2rem;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;max-width:1200px;margin:0 auto}.gallery img{width:100%;height:auto}.cta{padding:4rem 2rem;text-align:center}.cta-button{display:inline-block;padding:1.5rem 3rem;border:2px solid #000;color:#000;text-decoration:none;font-size:1.25rem;margin-bottom:2rem;margin-top:2rem}.contact{font-size:.875rem}.kyoto-footer{width:150px;height:auto;display:block;margin:0 auto 1rem}footer{padding:2rem;text-align:center;font-size:.875rem}@media(max-width:768px){.hero h1{font-size:2rem}h2{font-size:1.5rem}.events-grid{grid-template-columns:1fr;gap:1rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.event-card{gap:1rem}.event-card,.expect li{font-size:1rem}}
