
.kf-guide{max-width:1120px;margin:0 auto;padding:24px 0 40px;color:#203c32}.kf-guide *{box-sizing:border-box}.kf-guide h1{font-size:clamp(30px,3.6vw,45px);line-height:1.25;letter-spacing:-.04em;margin:14px 0 18px;word-break:keep-all}.kf-guide h2{font-size:28px;line-height:1.4;letter-spacing:-.03em;margin:0 0 18px}.kf-guide h3{font-size:20px;line-height:1.5;margin:0 0 12px;word-break:keep-all}.kf-guide p{font-size:16px;line-height:1.85;margin:0 0 16px}.kf-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin:24px 0}.kf-guide figure{margin:0;min-width:0}.kf-guide img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;border-radius:14px}.kf-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.kf-tags span{background:#e7efcf;color:#40591f;padding:8px 11px;border-radius:6px;font-size:14px;font-weight:700}.kf-date{font-size:20px!important;font-weight:750;color:#345e42}.kf-section{margin:34px 0;scroll-margin-top:95px}.kf-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kf-feature{padding:20px;border:1px solid #dce4d6;border-radius:14px;background:#fff;min-width:0}.kf-feature p{font-size:15px;line-height:1.85;margin:0}.kf-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kf-facts>div{padding:15px 18px;background:#edf2e6;border-radius:11px}.kf-facts dt{font-size:13px;color:#617550;margin-bottom:6px}.kf-facts dd{margin:0;font-weight:700;line-height:1.75;overflow-wrap:anywhere}.kf-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.kf-actions a{display:inline-flex;padding:11px 15px;border:1px solid #bed0b5;border-radius:8px;background:#fff;font-size:14px;font-weight:750}.kf-actions a:first-child{background:#194f3c;color:white}.kf-track{display:flex;align-items:flex-start;gap:16px;overflow-x:auto;padding:0 0 14px;scroll-snap-type:x proximity}.kf-track figure{flex:none;scroll-snap-align:start}.kf-track img{height:260px!important;width:auto!important;max-width:none!important;object-fit:contain!important}.kf-guide figcaption{font-size:13px;line-height:1.6;margin-top:8px;color:#5e715b}.kf-poster{display:grid;grid-template-columns:minmax(0,400px) 1fr;gap:28px;align-items:start}.kf-poster img{max-width:100%;width:auto!important}.kf-poster-copy{padding:20px;background:#eef3e7;border-radius:14px}.kf-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kf-related>a{display:block;padding:18px;border:1px solid #dce4d6;border-radius:12px;background:#fff;line-height:1.7;font-weight:700}.kf-guide details{margin:20px 0;padding:17px;border:1px solid #dce4d6;border-radius:12px;line-height:1.8}.kf-guide summary{font-weight:700;cursor:pointer}.kf-guide details p{font-size:14px;margin:12px 0 0}.kf-new-panel{margin:28px auto 36px;max-width:1168px;padding:0 16px}.kf-new-panel.wrap{padding-left:0;padding-right:0}.kf-new-panel h2{font-size:27px;margin-bottom:18px}.kf-new-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kf-new-card{border:1px solid #dce4d6;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}.kf-new-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.kf-new-card>div{padding:16px;flex:1}.kf-new-card h3{font-size:19px;line-height:1.5;margin:8px 0}.kf-new-card p{font-size:14px;line-height:1.7;margin:8px 0}.kf-new-card small{font-size:12px;color:#5b7052}.festival-card-image:has(img[src^="/assets/kfes-20261102/"]){aspect-ratio:3/2!important;height:auto!important}.festival-card-image img[src^="/assets/kfes-20261102/"]{width:100%!important;height:100%!important;aspect-ratio:3/2!important;object-fit:cover!important}.kf-collection .festival-card img{border-radius:0}
@media(max-width:700px){.kf-guide{padding-top:12px}.kf-hero,.kf-poster,.kf-facts,.kf-related{grid-template-columns:1fr;gap:16px}.kf-features{grid-template-columns:1fr}.kf-guide h1{font-size:31px}.kf-guide h2{font-size:25px}.kf-track img{height:220px!important}.kf-guide p{font-size:16px}.kf-feature{padding:18px}.kf-poster{gap:18px}.kf-poster figure{max-width:400px}.kf-new-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kf-new-card>div{padding:13px}.kf-new-card h3{font-size:18px}.kf-new-panel.wrap{padding-left:0;padding-right:0}.kf-new-panel h2{font-size:24px}}
