@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}html{scroll-behavior:smooth}header{display:flex;flex-direction:column;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}.language-switch{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.lang-btn{padding:.5rem 1rem;border:1px solid #000;background-color:#fff;color:#000;cursor:pointer;font-family:inherit;font-size:.875rem;transition:background-color .3s ease,color .3s ease}.lang-btn.active,.lang-btn:hover{background-color:#000;color:#fff}.kyoto-logo{width:100px;height:auto}.hero{padding:0 2rem 2rem;text-align:center;position:relative}.cultural-emoji{width:150px;height:auto}.flipped{transform:scaleX(-1)}.hero h1{font-size:2.5rem;margin-bottom:1rem;font-weight:800}.jp .hero h1{font-size:3rem}.jp .hero p{font-size:1.5rem;margin:.5rem 0}ruby rt{font-size:.6em;color:#666}#flyer-thumb{width:200px;height:auto;cursor:pointer;margin-top:1rem;border:1px solid #999}.flyer-container{position:relative;display:flex;flex-direction:column;align-items:center}.images{display:flex;align-items:center;gap:2rem}.click-hint{display:block;font-size:.75rem;color:#666;text-align:center;margin-top:.5rem;cursor:pointer}.click-hint:hover{color:#000;text-decoration:underline}.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:400px}.event-info{display:flex;flex-direction:column;gap:.5rem;text-align:center;justify-content:flex-start;height:100%}.event-number{font-weight:800;font-size:1.1rem}.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}.event-cta{margin-top:auto}.event-cta a{display:inline-block;padding:.5rem 1rem;border:1px solid #000;background-color:#000;color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color .3s ease,color .3s ease}.event-cta a:hover{background-color:#fff;color:#000}.booking-note{text-align:center;padding:1rem 2rem;font-size:.875rem}.booking-note a{color:#000;text-decoration:underline}.whatsapp-community{text-align:center;margin-top:1rem}.whatsapp-community a{color:#000;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .3s ease,text-decoration .3s ease}.whatsapp-community a:hover{text-decoration:underline}.live-dot{display:inline-block;width:6px;height:6px;background-color:red;border-radius:50%;margin-right:.25rem;position:relative;top:-2px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.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(auto-fit,minmax(200px,1fr));gap:1rem;max-width:1200px;margin:0 auto}.gallery img{width:100%;height:auto;border:1px solid #000}.faq{padding:2rem;text-align:center}.faq h2{margin-bottom:2rem}.faq dl{max-width:800px;margin:0 auto;text-align:left}.faq dt{font-weight:800;margin-top:1.5rem}.faq dd{margin-bottom:1.5rem}.cta{padding:4rem 2rem;text-align:center}.cta-button{display:inline-block;padding:1rem 3rem;border:2px solid #000;background-color:#000;color:#fff;text-decoration:none;font-size:1.25rem;margin-bottom:2rem;margin-top:2rem;transition:background-color .3s ease,color .3s ease}.cta-button:hover{background-color:#fff;color:#000}.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}footer a,.contact a{color:#000;text-decoration:none}@media(max-width:768px){.hero h1{font-size:clamp(1.5rem,5vw,2rem);white-space:nowrap}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}.cultural-emoji{width:80px}.images{gap:1rem}#flyer-thumb{width:150px}}
