/* 色・余白・文字をここからまとめて調整できます。 */
:root{--blue:#0049df;--navy:#09264c;--yellow:#ffdc37;--paper:#fffef8;--line:#d2dce8;--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:900;line-height:1.45}h2{font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.04em}h3{font-size:1.4rem}p+p{margin-top:14px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #f07800;outline-offset:5px}.skip{position:fixed;left:12px;top:-100px;padding:10px;background:white;z-index:20}.skip:focus{top:10px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font-size:.85rem;font-weight:800;letter-spacing:.13em;margin-bottom:20px}.blue{color:var(--blue)}.small{font-size:.85rem;line-height:1.8}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px;padding:18px 4%;background:rgba(255,254,248,.97);border-bottom:1px solid var(--line)}.brand{font-weight:950;letter-spacing:-.03em;font-size:1.2rem;line-height:1.25}.brand span{display:block;font-size:.65rem;letter-spacing:.1em;margin-top:7px}.header nav{display:flex;gap:25px;align-items:center;font-size:.875rem;font-weight:700}.nav-access{background:var(--blue);color:white;padding:12px 22px;border-radius:40px}.hero{display:grid;grid-template-columns:1.04fr 1fr;max-width:1440px;margin:auto;padding:66px 5% 70px;gap:44px}.hero .hero-tagline{font-size:clamp(2.5rem,4.5vw,4.5rem);letter-spacing:-.06em;line-height:1.4}.hero .hero-tagline span{color:var(--blue)}.event-name{font-size:1.15rem;font-weight:800;margin-top:24px}.hero-date{margin-top:22px}.year{display:block;font-size:.85rem;font-weight:800;letter-spacing:.2em}.hero-date strong{font-family:Arial,sans-serif;font-size:clamp(2.5rem,4vw,4rem);line-height:1.1;letter-spacing:-.045em}.hero-date small{font-size:.8rem;letter-spacing:0;padding:0 8px}.date-divider{font-size:2rem;margin-right:10px}.hero-info{font-size:.9rem;margin-top:14px;font-weight:700}.hero .small{margin-top:4px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:58px;border-radius:4px;padding:14px 25px;font-weight:800;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 0 #09264c18}.yellow{background:var(--yellow);color:var(--navy)}.hero .button{margin-top:27px}.hero-visual{position:relative;padding-top:12px;display:flex;flex-direction:column;min-width:0}.photo{position:relative;overflow:hidden;background:#d8ebfa;isolation:isolate;display:flex;align-items:center;justify-content:center}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.photo.has-image .photo-label,.photo.has-image .photo-word{visibility:hidden}.hero-photo{flex:1;min-height:480px;border-radius:120px 8px 8px 8px;background:var(--blue);color:white}.photo-label{text-align:center;padding:25px}.photo-label span{display:block;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(1.7rem,3.7vw,3.5rem);letter-spacing:-.045em}.photo-label strong{display:block;font-size:1.45rem;margin-top:12px}.photo-label small{display:block;letter-spacing:.1em;font-size:.8rem;margin-top:26px}.round-stamp{position:absolute;z-index:3;right:-20px;top:-14px;width:135px;height:135px;border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;justify-content:center;align-items:center;font:900 20px/1.15 Arial,sans-serif;transform:rotate(12deg);border:2px solid var(--navy);outline:5px solid var(--yellow)}.round-stamp span{font-size:25px}.photo-note{font-size:.85rem;text-align:right;margin-top:13px}.ticker{display:flex;gap:65px;overflow:hidden;white-space:nowrap;padding:15px 0;background:var(--yellow);font-size:1.1rem;font-weight:900;letter-spacing:.06em}.intro{text-align:center;padding-top:95px;padding-bottom:95px}.intro h2{margin-bottom:26px}.intro p:not(.eyebrow){line-height:2.2}.intro-tags{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}.intro-tags span{padding:7px 20px;border:1px solid var(--blue);color:var(--blue);border-radius:40px;font-size:.875rem;font-weight:700}.food{background:var(--blue);color:white}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:40px}.section-heading>p{font-size:.95rem}.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.feature-card{background:white;color:var(--navy);border-radius:8px;overflow:hidden}.food-photo,.beer-photo{aspect-ratio:1.5}.food-photo{background:var(--yellow)}.beer-photo{background:#94d8ed}.card-copy{padding:30px}.card-copy .eyebrow{color:var(--blue);margin-bottom:10px}.card-copy h3{margin-bottom:12px}.notice{font-size:.85rem;padding-top:14px;border-top:1px solid var(--line)}.alcohol-note{font-size:.85rem;margin-top:24px}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.play-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.play-photo{aspect-ratio:2;background:#a8e4ee}.stage-photo{background:#e1e7ff}.photo-word{font:bold clamp(1.5rem,3.5vw,3rem) Arial,sans-serif;letter-spacing:-.04em;color:var(--blue)}.play-copy{padding:28px}.pill{display:inline-block;font-size:.8rem;font-weight:800;border-radius:3px;background:#edf2ff;color:var(--blue);padding:3px 9px;margin-bottom:13px}.play-copy h3,.mini-card h3{margin-bottom:12px}.detail{font-weight:800}.text-link{display:inline-block;color:var(--blue);font-weight:800;border-bottom:1px solid;margin-top:18px}.mini-card{border-top:2px solid var(--navy);padding:28px 0 0;display:flex;gap:25px}.mini-number{font:900 2.6rem Arial,sans-serif;color:var(--blue)}.full{grid-column:1/-1}.schedule{background:#eaf1ff}.schedule-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.schedule-inner>div>p:not(.eyebrow){margin-top:24px}.schedule-board{background:white;border:1px solid var(--blue);border-radius:8px;overflow:hidden}.tabs{display:flex;background:#eaf1ff}.tabs button{width:50%;padding:18px;border:0;border-bottom:1px solid var(--blue);color:var(--blue);background:transparent;font:bold 1.7rem Arial,sans-serif;cursor:pointer;min-height:64px}.tabs button span{font-size:.8rem;margin-left:8px}.tabs button[aria-selected=true]{background:var(--blue);color:white}.day-panel{padding:10px 25px}.time-row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.time-row:last-child{border:0}.time-row time,.time-row .time{font-size:.85rem;font-weight:800;color:var(--blue)}.time-row h3{font-size:1rem}.time-row p{font-size:.8rem;margin-top:7px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.venue-photo{min-height:380px;border-radius:8px;background:#d3e7e9}.venue-photo .photo-label span{font-size:1.7rem}.access-copy h3{font-size:1.6rem}dl{margin:22px 0}dl>div{display:grid;grid-template-columns:100px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}dt{font-weight:800;font-size:.9rem}dd{margin:0;font-size:.9rem}.blue-button{background:var(--blue);color:white}.access-copy>.small{margin-top:16px}.faq{padding-top:0;max-width:860px}.faq h2{margin-bottom:32px}.faq-list{border-top:2px solid var(--navy)}details{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;list-style:none;padding:22px 40px 22px 35px;font-weight:800}summary::-webkit-details-marker{display:none}summary:before{content:'Q';position:absolute;left:0;color:var(--blue);font:bold 1.2rem Arial,sans-serif;top:27px}summary:after{content:'+';position:absolute;right:5px;font-size:1.4rem;top:17px}details[open] summary:after{content:'−'}details p{padding:0 35px 24px;font-size:.95rem}.closing{text-align:center;background:var(--blue);color:white;padding:80px 25px}.closing h2{font-size:clamp(2rem,4vw,3.5rem)}.closing>p:not(.eyebrow){margin-top:22px;font-size:.9rem}.closing .button{margin-top:27px}footer{padding:45px 5%;display:flex;justify-content:space-between;gap:30px;align-items:start}footer>p{font-size:.8rem;margin:0!important}.mobile-bottom,.mobile{display:none}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-left:70px;padding-right:70px}}@media(max-width:1000px){.header nav{gap:14px}.header nav a:not(.nav-access){display:none}.hero{gap:25px;padding:45px 4%}.hero-photo{min-height:450px}.round-stamp{width:110px;height:110px;font-size:17px;right:-8px}.round-stamp span{font-size:20px}.section-heading{display:block}.section-heading>p{margin-top:20px}.schedule-inner{gap:30px;grid-template-columns:.75fr 1.25fr}.time-row{grid-template-columns:110px 1fr;gap:10px}.access-grid{gap:25px}footer{flex-wrap:wrap}}
@media(max-width:650px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.header{min-height:72px;padding:14px 18px}.brand{font-size:1rem}.brand span{font-size:.6rem}.nav-access{font-size:.8rem;padding:9px 14px}.hero{grid-template-columns:1fr;padding:35px 18px 32px;gap:28px}.hero .hero-tagline{font-size:clamp(2.35rem,9vw,3.5rem)}.hero .eyebrow{margin-bottom:16px}.hero-date strong{font-size:3.2rem}.hero-info{font-size:.8rem}.event-name{font-size:1rem;margin-top:20px}.hero-visual{padding:0 8px 0 0}.hero-photo{min-height:310px;border-radius:75px 6px 6px 6px}.hero-photo .photo-label span{font-size:3rem}.round-stamp{right:4px;top:-10px}.photo-note{text-align:left;font-size:.75rem}.ticker{font-size:.85rem;gap:30px;padding:12px 0}.section{padding-top:64px;padding-bottom:64px}.intro{padding-top:58px;padding-bottom:58px}.intro>p:not(.eyebrow){font-size:.9rem}.intro-tags{gap:8px}.intro-tags span{padding:5px 11px;font-size:.75rem}.section-heading{margin-bottom:26px}.food-grid,.play-grid,.schedule-inner,.access-grid{grid-template-columns:1fr}.card-copy,.play-copy{padding:23px}.feature-card .photo-label span{font-size:2.3rem}.section-heading>p{font-size:.9rem}.mini-card{gap:18px}.mini-number{font-size:2rem}.schedule-inner{gap:28px}.schedule-inner h2 br{display:none}.schedule-inner>div>p:not(.eyebrow){margin-top:16px}.day-panel{padding:6px 18px}.time-row{grid-template-columns:105px 1fr;gap:10px}.time-row time,.time-row .time{font-size:.8rem}.time-row h3{font-size:.95rem}.venue-photo{min-height:300px}.faq{padding-top:0}.faq summary{font-size:.9rem}footer{padding:32px 20px 100px;display:block}footer>p{margin-top:23px!important}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:9;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -2px 20px #09264c18;background:white;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a{padding:15px 10px;text-align:center;font-size:.9rem;font-weight:800;color:var(--blue)}.mobile-bottom a:last-child{background:var(--blue);color:white}.mobile{display:block}.closing{padding:60px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* AUTUMN FESTIVAL — 秋色のポスターとチケットをモチーフにしたテーマ */
:root{--blue:#ac3425;--navy:#432319;--yellow:#ffd34e;--paper:#fff8e9;--line:#dfc8a6;--orange:#ec602d;--wine:#742c32}
body{background-color:var(--paper);background-image:radial-gradient(#85421b0d .7px,transparent .7px);background-size:7px 7px}
h2{text-wrap:balance}.header{background:#fff8e9f5;border-bottom:2px solid var(--navy)}.brand{color:var(--wine)}.nav-access{background:var(--wine);border:1px solid var(--wine);border-radius:5px;box-shadow:3px 3px 0 #d9a552}
.hero{padding-top:65px;padding-bottom:80px;gap:55px;position:relative}.hero-copy{z-index:2}.hero .festival-label{display:inline-block;background:var(--yellow);border:2px solid var(--navy);padding:5px 17px;transform:rotate(-3deg);box-shadow:4px 4px 0 var(--navy);letter-spacing:.08em;margin-bottom:30px}.hero .hero-tagline{font-size:clamp(2.5rem,4.55vw,4.4rem);line-height:1.48}.hero .hero-tagline .hero-line{display:block;color:var(--navy);transform-origin:left center}.hero .hero-tagline .accent-line{color:var(--orange);text-shadow:2px 2px 0 var(--yellow)}.event-name{border-left:5px solid var(--orange);padding-left:14px}.hero-date{display:inline-block;border-bottom:3px solid var(--navy);padding:0 12px 9px 0}.hero-date .year{color:var(--wine)}.hero-visual{padding-top:20px;transform:rotate(3deg);perspective:1000px}.hero-photo{background:var(--orange);border:3px solid var(--navy);border-radius:8px;box-shadow:12px 12px 0 var(--wine);min-height:510px;color:var(--paper);background-image:repeating-linear-gradient(90deg,transparent 0,transparent 48px,#fff2be15 48px,#fff2be15 50px)}.hero-photo .photo-label{border:2px solid #fff8e966;outline:2px solid #fff8e944;outline-offset:9px;width:84%;padding:30px 12px}.hero-photo .photo-label span{font-size:clamp(3.8rem,6.2vw,6rem);line-height:.93;letter-spacing:-.055em;text-shadow:4px 4px 0 var(--wine)}.hero-photo .photo-label strong{font-size:1.75rem;margin-top:25px;color:var(--yellow)}.hero-photo .photo-label small{font-size:.7rem;letter-spacing:.07em}.poster-ticket{position:absolute;top:-1px;left:22px;z-index:4;background:var(--paper);border:2px dashed var(--navy);padding:8px 19px;transform:rotate(-8deg);font:bold .75rem Arial,sans-serif;letter-spacing:.06em}.round-stamp{background:var(--yellow);outline:5px solid var(--yellow);width:126px;height:126px;top:-12px;right:-15px;box-shadow:5px 6px 0 var(--wine);transform:rotate(13deg)}.photo-note{margin-top:27px;text-align:center;font-weight:700}.button{border:2px solid var(--navy);box-shadow:5px 5px 0 var(--navy);border-radius:5px}.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--navy)}.button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--navy)}.ticker{background:var(--wine);color:var(--yellow);border-block:2px solid var(--navy);transform:rotate(-1.5deg);padding:19px 0;width:100%;font-size:1.15rem}.ticker-track{display:flex;gap:60px;min-width:max-content}.ticker-track span:before{content:'✦';margin-right:55px;color:var(--orange)}.intro{padding-block:110px 100px}.intro .eyebrow{color:var(--wine)}.intro h2{font-size:clamp(2rem,3.7vw,3.3rem)}.intro-tags span{background:var(--yellow);border:1px solid var(--navy);border-radius:4px;color:var(--navy);box-shadow:3px 3px 0 var(--navy)}.intro-tags span:nth-child(1){transform:rotate(-4deg)}.intro-tags span:nth-child(3){transform:rotate(4deg)}.food{background:var(--wine);color:var(--paper);position:relative;border-block:3px solid var(--navy)}.food .section-heading h2{color:var(--yellow)}.feature-card{border:2px solid var(--navy);box-shadow:7px 7px 0 #351313;border-radius:10px;transition:transform .25s}.feature-card:hover{transform:translateY(-6px) rotate(-.5deg)}.food-photo{background:#f7ba41;background-image:radial-gradient(#b0471933 2px,transparent 2px);background-size:22px 22px}.beer-photo{background:#e98536;background-image:repeating-linear-gradient(-45deg,transparent,transparent 22px,#ffd34e55 22px,#ffd34e55 24px)}.photo-label span{font-weight:950}.card-copy{background:var(--paper)}.card-copy .eyebrow{color:var(--wine)}.play-grid{gap:30px}.play-card{border:2px solid var(--navy);box-shadow:6px 6px 0 #ddba77;background:var(--paper)}.stage-photo{background:#efad82;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 35px,#fff8e933 35px,#fff8e933 70px)}.photo-word{color:var(--wine);font-size:clamp(2rem,4vw,3.4rem)}.pill{background:#f6dfb0;color:var(--wine);border:1px solid #dca15e}.mini-card{border-color:var(--wine)}.mini-number{color:var(--orange)}
/* このエリアのみ海の青と水色 */
.splash{background:#effcff;color:#073c65;border-color:#0872b1;box-shadow:6px 6px 0 #64c9e4}.splash .play-photo{flex-direction:column;background:#008ec3;color:white;background-image:radial-gradient(circle at 20% 30%,#ffffff18 0, #ffffff18 40px,transparent 41px),radial-gradient(circle at 88% 80%,#ffffff1c 0,#ffffff1c 65px,transparent 66px)}.splash .photo-word{color:white;font-size:clamp(2.8rem,5vw,4.7rem);font-style:italic;text-shadow:4px 4px 0 #075b94;transform:rotate(-6deg)}.splash-kicker{font-weight:800;font-size:.9rem;margin-bottom:12px}.splash-caption{font-size:.65rem;letter-spacing:.15em;margin-top:13px}.splash .pill{background:#d7f6ff;color:#006299;border-color:#64c9e4}.splash .has-image .splash-kicker,.splash .has-image .splash-caption{visibility:hidden}.schedule{background:#f4b844;background-image:radial-gradient(#b6752622 1px,transparent 1px);background-size:13px 13px;border-block:2px solid var(--navy)}.schedule-board{border:2px solid var(--navy);box-shadow:8px 8px 0 var(--wine);border-radius:5px;background:var(--paper)}.tabs{background:#ffedc4}.tabs button{border-bottom:2px solid var(--navy);color:var(--wine)}.tabs button[aria-selected=true]{background:var(--wine);color:var(--yellow)}.time-row time,.time-row .time{color:var(--wine)}.time-row{border-bottom-style:dashed}.venue-photo{background:#eed39d;border:2px solid var(--navy);box-shadow:7px 7px 0 #db9d48;border-radius:4px}.blue-button{background:var(--wine);color:var(--paper)}.faq-list{border-top-color:var(--wine)}summary:before{color:var(--orange)}.closing{background:var(--orange);color:var(--paper);border-block:3px solid var(--navy);position:relative}.closing h2{text-shadow:3px 3px 0 var(--wine)}.closing .eyebrow{color:var(--navy)}footer{background:var(--paper)}.mobile-bottom a{color:var(--wine)}.mobile-bottom a:last-child{background:var(--wine);color:var(--paper)}
@media(max-width:1000px){.hero{gap:30px}.hero-photo{min-height:490px}.hero-photo .photo-label span{font-size:4.3rem}.round-stamp{width:104px;height:104px}.hero-photo .photo-label strong{font-size:1.45rem}}
@media(max-width:650px){.hero{padding:36px 20px 52px;gap:45px}.hero .festival-label{font-size:.8rem;margin-bottom:25px}.hero .hero-tagline{font-size:clamp(2.15rem,8.8vw,3.5rem)}.hero-visual{margin:0 12px 0 2px;transform:rotate(2deg)}.hero-photo{min-height:360px;box-shadow:7px 7px 0 var(--wine)}.hero-photo .photo-label{padding:28px 12px}.hero-photo .photo-label span{font-size:4.4rem}.hero-photo .photo-label strong{font-size:1.3rem;margin-top:15px}.hero-photo .photo-label small{font-size:.6rem;margin-top:16px}.round-stamp{width:96px;height:96px;right:-12px;top:-14px;font-size:14px}.round-stamp span{font-size:18px}.poster-ticket{left:7px;font-size:.6rem;top:2px;padding:6px 12px}.photo-note{font-size:.75rem;margin-top:23px}.ticker{font-size:.9rem;padding:15px 0}.intro{padding-block:68px}.play-photo{min-height:190px}.splash .photo-word{font-size:3.5rem}.splash-kicker{font-size:.8rem}.section-heading h2{font-size:1.85rem}.schedule-inner h2{font-size:2rem}.nav-access{box-shadow:2px 2px 0 #d9a552}.feature-card,.play-card{box-shadow:4px 4px 0 #43231955}.splash{box-shadow:4px 4px 0 #64c9e4}.intro-tags{gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-visual{will-change:auto}}
/* 回転した帯・ポスターの装飾が横スクロールを発生させないようにします。 */
body{overflow-x:clip}
main{overflow-x:clip}

/* 出店者一覧 */
.vendor-section{margin-top:60px;border-top:2px solid #ffffff55;padding-top:45px;scroll-margin-top:100px}.vendor-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.vendor-heading h3{font-size:clamp(1.4rem,2.5vw,2rem);color:var(--yellow)}.vendor-heading>p{font-size:.9rem}.vendor-group-title{margin:32px 0 20px;font-size:1.3rem}.vendor-group-title span{display:inline-block;margin-left:12px;font:700 .75rem Arial,sans-serif;letter-spacing:.1em;color:var(--yellow)}.vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.vendor-card{border:2px solid var(--navy);border-radius:8px;overflow:hidden;background:var(--paper);color:var(--navy);box-shadow:5px 5px 0 #351313;transition:transform .25s}.vendor-card:hover{transform:translateY(-5px)}.vendor-image{aspect-ratio:4/3;position:relative;overflow:hidden;background:#f3ba4f}.vendor-card:nth-child(3n+2) .vendor-image{background:#efaa7d}.vendor-card:nth-child(3n) .vendor-image{background:#ead3aa}.vendor-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:1}.vendor-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.vendor-placeholder strong{font-size:1.65rem;line-height:1.5;text-wrap:balance}.vendor-placeholder>span:last-child{font-size:.8rem;overflow-wrap:anywhere}.vendor-no{font:800 .75rem Arial,sans-serif;letter-spacing:.13em;border-block:1px solid currentColor;padding:5px 10px}.vendor-image.has-image .vendor-placeholder{visibility:hidden}.vendor-copy{padding:22px}.vendor-copy h4{font-size:1.15rem;line-height:1.6;margin:12px 0 6px;overflow-wrap:anywhere}.vendor-copy p{font-size:.95rem}.vendor-date{display:inline-block;font-size:.8rem;font-weight:800;background:#f7deb0;color:var(--navy);padding:4px 10px;border-radius:3px}.vendor-date.single-day{background:var(--wine);color:white}.vendor-note{font-size:.8rem;margin-top:26px}
@media(max-width:900px){.vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-heading{display:block}.vendor-heading>p{margin-top:15px}}
@media(max-width:500px){.vendor-grid{grid-template-columns:1fr;gap:22px}.vendor-section{padding-top:32px;margin-top:40px}.vendor-copy{padding:18px 22px}.vendor-image{aspect-ratio:1.6}.vendor-placeholder strong{font-size:1.75rem}.vendor-group-title{font-size:1.1rem}}

/* 元の出店ポスターを変更せず、各店舗の写真部分を表示 */
.vendor-image[data-poster-crop] img{width:var(--source-w);height:var(--source-h);left:var(--source-x);top:var(--source-y);right:auto;bottom:auto;max-width:none;object-fit:fill}

.hero-tagline{font-weight:900}.vendor-image:has(img) .vendor-placeholder{visibility:hidden}

/* メニュー表・縦長の商品画像は全体を表示します。 */
.vendor-image.vendor-image-full{aspect-ratio:auto;background:var(--paper)}
.vendor-image-full img{position:relative;display:block;inset:auto;width:100%;height:auto;object-fit:contain}
.vendor-image-full:has(img) .vendor-placeholder{display:none}

/* ステージ全体を切り取らず表示。右上の空きバッジにつげさんを重ねる。 */
.stage-composite{aspect-ratio:3/2;min-height:0!important;display:block;background:#ffda73}
.stage-composite .stage-collage{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}
.stage-composite .stage-mascot{position:absolute;left:85.5%;top:2.4%;width:13.6%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;z-index:3}

/* 同一セクションの画像枠を統一。文字入り画像は全体を収める。 */
.vendor-image,.vendor-image.vendor-image-full{aspect-ratio:4/3;min-height:0;height:auto;background:var(--paper)}
.vendor-image.vendor-image-full img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.vendor-card{display:flex;flex-direction:column}
.vendor-copy{flex:1}
.play-card>.play-photo{aspect-ratio:3/2;min-height:0!important;height:auto;flex-shrink:0}
.play-card>.stage-composite{aspect-ratio:3/2}
.food-grid .feature-card>.photo{aspect-ratio:3/2;min-height:0;height:auto}

.prize-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}
.hero .free-entry{display:table;margin:0 0 18px;padding:5px 24px;background:var(--yellow);color:var(--navy);border:2px solid var(--navy);border-radius:6px;box-shadow:4px 4px 0 var(--wine);font-size:clamp(1.3rem,3vw,1.75rem);font-weight:900;letter-spacing:.12em;line-height:1.5}

.official-links{padding-block:56px;text-align:center;scroll-margin-top:110px}.official-links h2{font-size:1.6rem;margin-bottom:12px}.official-home{display:inline-block;margin:18px 0}.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.social-links a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid currentColor;border-radius:8px;font-weight:700}.social-links a:hover{background:var(--yellow)}.social-links svg{flex-shrink:0}
