:root{--accent:#910b39;--ink:#302c2d;--line:#ddd8d8;--soft:#faf5f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font:14px/2 'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}.event-salone{--accent:#8d1640;--soft:#f6f5f1}a{color:inherit;text-decoration:none}button,input{font:inherit}img{display:block;width:100%}header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.event-logo{font:22px 'Yu Mincho',serif;letter-spacing:.15em}.event-logo small{display:block;font:8px/2 Arial;letter-spacing:.16em}nav{display:flex;gap:30px;font-size:11px}.event-hero{display:grid;grid-template-columns:1fr 47%;gap:7%;padding:55px 8% 60px;align-items:center;max-width:1500px;margin:auto}.eyebrow{font:10px Arial;letter-spacing:.18em;color:var(--accent)}.event-name{color:var(--accent);font:23px 'Yu Mincho',serif;letter-spacing:.18em;margin:35px 0 20px}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400}h1{font-size:clamp(35px,4.4vw,65px);line-height:1.7;letter-spacing:.07em;margin:0 0 25px}.hero-lead{font-size:13px;line-height:2.3;letter-spacing:.06em}.event-hero figure{margin:0}.event-hero img{height:auto;max-height:660px;object-fit:contain}.primary{display:flex;justify-content:space-between;align-items:center;gap:40px;width:fit-content;min-width:240px;border:1px solid var(--accent);color:var(--accent);font-size:12px;padding:14px 22px;margin-top:35px}.primary:hover{background:var(--accent);color:#fff}.event-date{display:flex;justify-content:center;align-items:center;gap:50px;padding:28px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--accent)}.event-date strong{font:32px Georgia}.event-date strong small{font:13px 'Yu Mincho';margin-left:10px}.event-date>span{font-size:13px}.event-intro,.participants,.information,.ticket{padding:95px 8%;max-width:1500px;margin:auto}h2{font-size:36px;line-height:1.8;letter-spacing:.1em;margin:24px 0}.event-intro>p{max-width:650px;font-size:13px;line-height:2.5;letter-spacing:.04em}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px}.experience-grid article{border-top:1px solid var(--line);padding-top:20px}.experience-grid article>span{font:12px Georgia;color:var(--accent)}h3{font-size:20px;line-height:1.8}.experience-grid p{font-size:12px;line-height:2.2}.participants{background:var(--soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading p{font-size:11px;margin-bottom:30px}#participant-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.participant{background:#fff;padding-bottom:25px;min-width:0}.participant-image{height:230px;object-fit:cover}.participant-monogram{height:230px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:#fff;color:#bba6ac;font:54px 'Yu Mincho',serif;letter-spacing:.1em}.participant-body{padding:22px 24px 0}.participant-kind{font-size:9px;color:var(--accent);letter-spacing:.12em}.participant h3{font-size:20px;overflow-wrap:anywhere;margin:10px 0 14px}.participant p{font-size:11px;line-height:2.2;margin:0}.participant a{display:inline-block;font-size:10px;border-bottom:1px solid var(--line);margin-top:20px}.participant-editor{display:block;font-size:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.participant-editor input{display:block;width:100%;font-size:10px;margin-top:8px}.participant-editor button{display:block;font-size:10px;border:0;background:none;text-decoration:underline;margin-top:8px;cursor:pointer}.image-edit{font-size:11px;max-width:460px;margin:35px 0 0 auto}.image-edit summary{cursor:pointer;text-align:right}.image-edit p{font-size:10px}.image-edit input{accent-color:var(--accent)}#image-status{font-size:11px}.ticket{text-align:center;background:var(--accent);color:#fff;max-width:none}.ticket .eyebrow{color:#f4cfda}.ticket-value{max-width:600px;margin:35px auto 25px;border:1px solid #ffffff80;padding:22px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.ticket-value>span{font-family:'Yu Mincho',serif}.ticket-value strong{font:52px Georgia}.ticket-value small{font:15px 'Yu Mincho'}.ticket-value b{font-size:13px;font-weight:400}.ticket p{font-size:12px}.information{max-width:1000px}.information dl{margin:40px 0}.information dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.information dt{font-size:11px;color:#777}.information dd{margin:0;font-size:14px}.information dd small{font-size:11px;color:#777}.faq{margin-top:60px}.faq details{border-top:1px solid var(--line);padding:18px 0;font-size:12px}.faq summary{cursor:pointer}.faq p{font-size:12px}.sibling{display:block;background:var(--soft);padding:45px 8%}.sibling>span{display:block;font-size:11px}.sibling strong{font:30px/2 'Yu Mincho',serif;color:var(--accent)}.sibling b{font-weight:400;margin-left:45px}footer{padding:40px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px;border-top:1px solid var(--line)}footer small{font:8px Arial;letter-spacing:.1em}[hidden]{display:none!important}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:900px){.event-hero{padding:40px 6%;gap:5%}.event-name{font-size:19px}h1{font-size:38px}h2{font-size:29px}.event-date{gap:25px}.event-date strong{font-size:26px}#participant-list{grid-template-columns:repeat(2,minmax(0,1fr))}.event-intro,.participants,.information{padding:70px 6%}.section-heading{display:block}.experience-grid{gap:20px}.experience-grid h3{font-size:17px}}@media(max-width:600px){header{padding:20px 6%}nav{gap:16px;font-size:10px}.event-logo{font-size:18px}.event-hero{grid-template-columns:1fr;padding:38px 7% 35px;gap:35px}.event-name{margin-top:25px}h1{font-size:40px}.hero-lead{font-size:12px}.event-hero figure{width:90%;margin:auto}.event-date{flex-wrap:wrap;gap:8px 25px;padding:22px 6%}.event-date strong{font-size:28px}.event-date>span:last-child{width:100%;text-align:center;font-size:11px}.event-intro,.participants,.information,.ticket{padding:60px 7%}h2{font-size:27px}.experience-grid{grid-template-columns:1fr;margin-top:35px;gap:20px}.experience-grid h3{font-size:21px;margin:10px 0}.section-heading p{margin-bottom:20px}#participant-list{grid-template-columns:1fr;gap:25px}.participant-image,.participant-monogram{height:280px}.participant h3{font-size:23px}.participant p{font-size:12px}.information dl>div{grid-template-columns:75px 1fr;gap:15px}.information dd{font-size:12px}.ticket-value{gap:12px 22px}.ticket-value strong{font-size:45px}.ticket-value b{width:100%}.sibling{padding:30px 7%}.sibling strong{font-size:27px}footer{flex-wrap:wrap;padding:30px 7%}footer small{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.event-shops-section{max-width:1500px;margin:auto;padding:70px 8%;border-bottom:1px solid var(--line)}.event-shops-lead,.event-shops-pending{font-size:12px;color:#777}.event-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:30px}.event-shops-pending{grid-column:1/-1;padding:20px 0}.event-shop-card{border-top:1px solid var(--line);padding:18px 0}.event-shop-card h3{margin:0 0 12px}.event-shop-card p{font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.event-shop-location{display:inline-block;font-size:10px;border:1px solid var(--line);padding:3px 12px;overflow-wrap:anywhere}.event-shop-settings{margin:25px 8% 55px;font-size:11px}.event-shop-settings summary{cursor:pointer}.event-shop-settings>p{color:#777}#event-shop-form{max-width:600px;margin-top:20px}#event-shop-form label{display:block;margin-bottom:15px}#event-shop-form input,#event-shop-form select,#event-shop-form textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:10px;color:var(--ink);font:inherit}#event-shop-form button,.event-shop-edit-row button{border:1px solid var(--line);background:white;color:var(--accent);padding:7px 14px;cursor:pointer;margin-right:8px}.event-shop-edit-row{display:flex;gap:10px;align-items:center;max-width:600px;padding:12px 0;border-bottom:1px solid var(--line)}.event-shop-edit-row>span{flex:1;overflow-wrap:anywhere}@media(max-width:600px){.event-shops-section{padding:50px 7%}.event-shop-grid{grid-template-columns:1fr;gap:15px}.event-shop-settings{margin:25px 7% 45px}}
.event-scenes{display:grid;grid-template-columns:43% 1fr;gap:10%;align-items:center;padding:30px 8% 90px;max-width:1500px;margin:auto}.event-scene-slides{height:540px;position:relative;overflow:hidden;background:#eee}.event-scene-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out}.event-scene-slides img.is-active{opacity:1}.event-scene-slides button{position:absolute;z-index:2;right:12px;bottom:12px;background:#29232399;color:#fff;border:1px solid #ffffff80;padding:7px 12px;font-size:10px;cursor:pointer}.event-scene-copy h2{font-size:33px}.event-scene-copy p{font-size:12px;line-height:2.5}.event-scene-copy small,.event-scene-gallery>small{font-size:10px;color:#888}.event-scene-gallery{padding:75px 8% 15px;max-width:1500px;margin:auto}.scene-gallery-heading{margin-bottom:25px}.scene-gallery-heading p{font-family:'Yu Mincho',serif;font-size:20px;letter-spacing:.05em}.scene-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.scene-gallery-grid figure{margin:0}.scene-gallery-grid img{width:100%;height:330px;object-fit:cover}.scene-gallery-grid figcaption{font-size:10px;color:#777;padding:12px 0}.scene-gallery-grid figure:nth-child(2){padding-top:35px}.scene-gallery-grid figure:nth-child(3){padding-top:70px}@media(max-width:900px){.event-scenes{padding:20px 6% 70px;gap:7%}.event-scene-slides{height:440px}.event-scene-copy h2{font-size:27px}.scene-gallery-grid img{height:270px}}@media(max-width:600px){.event-scenes{grid-template-columns:1fr;gap:30px;padding:0 7% 55px}.event-scene-slides{width:85%;height:420px}.event-scene-copy{padding-left:8%}.event-scene-copy h2{font-size:27px}.event-scene-gallery{padding:50px 7% 0}.scene-gallery-grid{gap:10px}.scene-gallery-grid img{height:190px}.scene-gallery-grid figure:nth-child(2){padding-top:20px}.scene-gallery-grid figure:nth-child(3){padding-top:40px}.scene-gallery-grid figcaption{font-size:9px;line-height:1.8}.scene-gallery-heading p{font-size:16px}}@media(prefers-reduced-motion:reduce){.event-scene-slides img{transition:none}}
.event-shop-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}.event-shop-links a{font-size:10px;border-bottom:1px solid var(--line)}.event-shop-hours{color:var(--accent);font-size:11px!important;}
.event-shop-card{padding:0 0 25px;background:#fff;border-top:0}.event-shop-card>h3,.event-shop-card>.event-shop-location,.event-shop-card>p,.event-shop-card>.event-shop-links{margin-left:22px;margin-right:22px}.event-shop-card>h3{margin-top:20px}.event-shop-photo{width:100%;height:230px;object-fit:cover}.shop-photo-placeholder{font-size:18px;text-align:center;padding:25px;height:230px;overflow-wrap:anywhere}.shop-photo-editor{padding:15px 22px;font-size:10px}.shop-photo-editor label{display:block}.shop-photo-editor input{display:block;width:100%;font-size:10px;margin-top:8px}.shop-photo-editor button{border:0;background:none;text-decoration:underline;font-size:10px;cursor:pointer;margin-top:10px;color:var(--accent)}.shop-image-settings{margin:25px 8% 50px;max-width:none}.shop-image-settings summary{text-align:left}@media(max-width:600px){.event-shop-photo,.shop-photo-placeholder{height:280px}.shop-image-settings{margin:25px 7% 45px}}
.salone-music-section{padding:80px 8%;max-width:1500px;margin:auto}.music-temple{border-bottom:1px solid var(--line);background:#f6f5f1}.music-town{background:#fff}.music-intro{font-size:12px;line-height:2.4}.music-venue{display:inline-block;border:1px solid var(--line);padding:7px 15px;font-size:11px;margin-top:15px}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}.music-pending{grid-column:1/-1;color:#777;font-size:12px;border-top:1px solid var(--line);padding-top:25px}.music-card{padding:25px;background:white;border-top:1px solid var(--line)}.music-town .music-card{background:var(--soft)}.music-card h3{font-size:24px;margin:10px 0}.music-card p{font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.music-card .music-time{font-size:11px;color:var(--accent)}.music-where{color:#777}.music-settings{margin:25px 8% 55px;font-size:11px}.music-settings summary{cursor:pointer}.music-settings>p{color:#777}#music-form{max-width:600px;margin:20px 0}#music-form label{display:block;margin-bottom:15px}#music-form input,#music-form select,#music-form textarea{display:block;width:100%;padding:10px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit}#music-form button{border:1px solid var(--line);background:white;color:var(--accent);padding:7px 14px;cursor:pointer;margin-right:8px}@media(max-width:600px){.salone-music-section{padding:55px 7%}.music-grid{grid-template-columns:1fr;gap:15px}.music-settings{margin:25px 7% 45px}.event-salone nav{gap:10px;font-size:9px}}
.participant-monogram{height:135px;font-size:42px}.participant-body{padding:17px 20px 0}.participant{padding-bottom:20px}.participant h3{margin:7px 0 10px}.participant a{margin-top:14px}#participant-list{gap:24px}.shop-photo-placeholder{height:135px;font-size:18px}@media(max-width:600px){.participant-monogram{height:145px;font-size:42px}.shop-photo-placeholder{height:145px;font-size:18px}.participant-body{padding:17px 20px 0}.participant h3{font-size:22px}}
.participant-image,.event-shop-photo{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.participant-monogram,.shop-photo-placeholder{width:100%;height:auto;aspect-ratio:3 / 2}@media(max-width:600px){.participant-image,.event-shop-photo,.participant-monogram,.shop-photo-placeholder{height:auto;aspect-ratio:3 / 2}}
.event-sake{--accent:#343c40;--soft:#f3f4f3}.event-beer{--accent:#bd5000;--soft:#fff8ec}.festival-hero-photo img{height:580px!important;width:100%;object-fit:cover!important}.festival-hero-photo figcaption{font-size:10px;color:#777;padding-top:10px}.festival-next strong{font-family:'Yu Mincho',serif;font-size:22px}.festival-pending{font-size:12px}.past-lineup{margin-top:30px;font-size:12px}.past-lineup summary{cursor:pointer}.past-lineup>p{font-size:11px;color:#777}.festival-past-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:25px}.festival-location-labels{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#777}.festival-location-labels span{border:1px solid var(--line);padding:5px 14px}.festival-ticket small{font-size:10px;line-height:2}.festival-history{margin-top:40px;font-size:12px;border-top:1px solid var(--line);padding-top:20px}.festival-history summary{cursor:pointer}.festival-history small{color:#777;font-size:10px}.event-series-links{display:flex;flex-wrap:wrap;gap:20px 35px;padding:35px 8%;border-top:1px solid var(--line);font-size:12px}.event-series-links a{border-bottom:1px solid #b4b4ab;padding:5px 0}@media(max-width:900px){.festival-hero-photo img{height:470px!important}.festival-past-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.festival-hero-photo img{height:400px!important}.festival-next strong{font-size:20px}.festival-past-grid{grid-template-columns:1fr}.event-series-links{padding:25px 7%;gap:15px 25px;font-size:11px}}
.participant-media{position:relative}
.participant-image.is-gallery{cursor:pointer}
.participant-count{position:absolute;right:10px;bottom:10px;padding:3px 8px;background:rgba(255,255,255,.85);color:#3a3a3a;font-size:10px;letter-spacing:.08em;pointer-events:none}
/* 出展者カードの写真は縦長3:2（共通） */
.participant-image,.participant-monogram{height:auto;aspect-ratio:2/3;width:100%}
.participant-image{object-fit:cover;object-position:center}
/* 当日の店舗カードの写真も縦長3:2の枠に固定し、写真の比率にかかわらず枠いっぱいにトリミング */
.event-shop-photo{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center}
.shop-photo-placeholder{width:100%;height:auto;aspect-ratio:2/3}
.event-shop-photo.is-gallery{cursor:pointer}
/* ポスターも縦長4:5の枠に固定し、枠いっぱいにトリミング（比率の違う画像でも枠の形は変わらない） */
.event-hero img{display:block;width:100%;max-width:528px;margin:0 auto;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:center}
