:root{color-scheme:light;scroll-behavior:smooth}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#f9f2df;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#122c54}.site{width:100%;max-width:1113px;margin:auto;overflow:hidden;background:#fffcf2 url('assets/0-1.背景金色波模様.png') center top / 100% auto repeat-y;box-shadow:0 0 35px #8b713323}.image{display:block;width:100%;height:auto}.site-header{position:relative;z-index:5;background:#fffdf8}.site-header>img{display:block;width:100%;height:auto}.header-nav{position:absolute;right:1.2%;top:0;width:39%;height:100%;display:flex;align-items:stretch}.header-nav a{flex:1;outline-offset:-3px}.header-nav a:focus-visible,.vote-hotspot:focus-visible,.map-hotspot:focus-visible{outline:3px solid #0067ba;border-radius:8px}.hero{margin-top:0}.about{position:relative;isolation:isolate;min-height:180px;padding:2.0% 0 3.5%}.about>.content-image{position:relative;z-index:1}.sea-background{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;overflow:hidden;pointer-events:none}.sea-background img{width:50%;height:auto}.content-image{width:100%;max-width:100%;margin:0 auto}.menu{padding-top:1%}.menu-board{width:96%;margin:0 auto 3.3%;border-radius:12px}.special-board{width:96%;margin:0 auto}.vote{padding-top:3.5%}.clickable-image{position:relative}.vote-hotspot{position:absolute;display:block;left:10%;top:59%;width:80%;height:23%;border-radius:999px;cursor:pointer}.performers{padding-top:2.3%}.performers>.content-image+img{margin-top:1.4%}.info{padding-top:3.2%}.info-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}.info-grid img{width:100%}.access{padding-top:1.6%;padding-bottom:2.2%}.map-hotspot{position:absolute;top:1%;right:1%;width:48%;height:97%;border-radius:10px}.footer{background:#073463}.footer img{width:100%}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.toast{position:fixed;z-index:99;left:50%;bottom:24px;transform:translateX(-50%);width:min(90%,430px);background:#082c50;color:white;padding:16px 20px;border-radius:12px;box-shadow:0 5px 24px #0004;text-align:center;font-size:14px;line-height:1.6}.toast[hidden]{display:none}@media(max-width:600px){body{background:#fff9e9}.site{box-shadow:none}.about{padding:2% 0 3%;min-height:90px}.menu-board{width:97%;margin-bottom:3%}.special-board{width:97%}.info-grid{grid-template-columns:1fr 1fr}.header-nav{right:0;width:42%}.toast{bottom:12px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Reconstructed selected sections only: all unrelated sections retain original layout */
.site-header{height:clamp(44px,7.3vw,81px);display:flex;align-items:center;justify-content:space-between;padding:0 2.5%;border-bottom:2px solid #c9a358;white-space:nowrap;gap:10px}
.brand{text-decoration:none;display:flex;align-items:baseline;letter-spacing:-.075em;font-family:"Hiragino Mincho ProN","Yu Mincho", "Noto Serif JP",serif;font-weight:900;font-size:clamp(16px,3.95vw,43px);line-height:1;color:#0a2860;filter:drop-shadow(0 1px 0 #dec988)}
.brand-crown{color:#d5a024;font-size:.87em;padding-right:.22em;letter-spacing:0}.brand-red{color:#c70819;font-style:italic}.brand-blue{color:#102c64}
.nav-text{display:flex;align-items:center;gap:clamp(5px,1.4vw,17px);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:800;color:#0b2657;font-size:clamp(11px,2.25vw,26px)}
.nav-text a{text-decoration:none;color:inherit}.nav-text a:hover{text-decoration:underline}.nav-text>span{color:#b2bac8;font-weight:400}
.food-board{width:96%;margin:0 auto 3.3%;background:#d31220;border-radius:18px;padding:10px 8px 8px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#08285f;overflow:hidden}
.food-board-head{height:clamp(36px,6.3vw,69px);display:flex;justify-content:space-between;align-items:center;color:white;padding:0 3%;white-space:nowrap}.team-head{display:flex;align-items:center;gap:12px;font-size:clamp(18px,3.7vw,43px);font-weight:900}.team-people{font-family:serif;font-size:.75em;letter-spacing:-.35em;padding-right:8px;color:white}.team-sub{font-weight:800;font-size:clamp(8px,1.7vw,19px)}
.food-cards{display:grid;grid-template-columns:1fr 1fr;gap:7px}.food-card{background:#fffdf8;min-width:0;border-radius:clamp(8px,2vw,24px);overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0}.food-photo{height:clamp(140px,26vw,290px);position:relative;overflow:hidden;background:#fff}.food-photo>img{width:100%;height:100%;display:block;object-fit:contain}.burger-photo>img{object-fit:contain;object-position:center;transform:scale(1.02)}.tea-photo>img{object-fit:cover;object-position:center 47%}
.limited{position:absolute;right:3%;top:4%;width:25%;aspect-ratio:1;border-radius:50%;border:4px solid #d4a02e;outline:2px solid #a41d20;background:#bc0c19;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-shadow:0 1px 1px #480000;font-weight:900;line-height:1.05}.limited strong{font-size:clamp(16px,3.4vw,37px)}.limited strong small{font-size:.48em}.limited span{font-size:clamp(14px,2.7vw,29px);margin-top:5px}
.food-desc{flex:1;display:flex;align-items:center;flex-direction:column;padding:0 5% 3%;font-weight:700;position:relative}.food-desc h3{font-size:clamp(16px,2.75vw,32px);line-height:1.18;margin:1% 0;color:#081f55;text-align:center;letter-spacing:-.055em;min-height:2.35em;display:flex;align-items:center;justify-content:center}.food-price{display:flex;align-items:baseline;justify-content:center;gap:.7em;margin:0;line-height:1.1;color:#111}.food-price>small{font-size:clamp(10px,1.6vw,19px)}.food-price strong{font-size:clamp(20px,3.6vw,43px);color:#c50919;white-space:nowrap}.food-price strong small{font-size:.6em}.food-price.secondary strong{font-size:clamp(19px,3.1vw,38px)}.food-details{width:100%;margin-top:4%;}.food-details h4{margin:0 auto 2%;display:table;background:linear-gradient(#f8e5a0,#e4b646);padding:0 9%;border-radius:40px;color:#161616;font-size:clamp(13px,2.15vw,26px);letter-spacing:.04em;white-space:nowrap}.food-details p{font-size:clamp(10px,1.55vw,18px);line-height:1.55;margin:0 auto;max-width:93%;min-height:6.2em;color:#132a62;letter-spacing:-.04em}.allergy{border-top:1px solid #ead9b4;margin:auto 0 0;padding-top:2%;width:85%;text-align:center;font-size:clamp(11px,1.8vw,21px)}
.special-rebuild{width:96%;margin:0 auto;position:relative;overflow:hidden}.special-title{position:absolute;top:0;left:0;right:0;z-index:2;background:#073879;display:flex;align-items:center;justify-content:space-between;color:white;padding:0 1.7%;height:13.2%;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;white-space:nowrap}.special-title strong{font-size:clamp(17px,3.5vw,42px)}.special-title strong small{font-size:.45em}.special-title>span{font-size:clamp(8px,1.5vw,17px);font-weight:bold}.special-rebuild img{width:100%}
.access-rebuild{width:100%;max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:2%;padding:2% 3% 1.4%;min-height:0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#09265d}
.venue-panel{display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;min-width:0}.venue-panel h2{width:100%;text-align:left;margin:0;display:flex;align-items:center;gap:4%;font-size:clamp(18px,3.2vw,38px);line-height:1.12}.location-icon{width:clamp(18px,3.7vw,42px);height:clamp(18px,3.7vw,42px);background:#ff690a;color:#ff690a;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:inline-block;position:relative;margin-left:5%;flex-shrink:0}.location-icon:after{content:'';position:absolute;inset:33%;border-radius:50%;background:white}.venue-lead{font-size:clamp(11px,2vw,24px);font-weight:900;margin:.1em 0 0}.venue-logo{width:44%;height:auto;max-height:38%;object-fit:contain}.venue-address{font-weight:800;font-size:clamp(9px,1.6vw,19px);line-height:1.35;margin:0}.rain-box{width:100%;min-height:22%;background:#d9edff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:2%;white-space:nowrap}.umbrella{color:#0a72d7;font-size:clamp(25px,4.7vw,53px)}.rain-box strong{font-size:clamp(15px,2.6vw,30px)}.rain-box small{font-size:clamp(7px,1.17vw,14px);font-weight:700}
.venue-map{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:#09265d;border-radius:12px;background:#d9edff;min-width:0}.venue-map>img{display:block;width:100%;height:78%;min-height:0;object-fit:cover;object-position:center}.map-label{flex:1;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(12px,2.5vw,29px);white-space:nowrap;gap:.7em}.venue-map:focus-visible{outline:3px solid #0067ba}
@media(max-width:600px){.site-header{padding:0 1.4%;gap:5px}.brand{font-size:clamp(13px,3.85vw,23px)}.nav-text{font-size:clamp(9px,2.4vw,14px);gap:5px}.food-board{padding:5px 4px 4px;border-radius:10px}.food-board-head{padding:0 2%;height:35px}.team-head{gap:2px}.team-people{padding-right:5px}.food-cards{gap:4px}.food-photo{height:26vw}.limited{border-width:2px;outline-width:1px}.food-desc{padding:0 3% 4%}.food-details p{font-size:clamp(7px,1.5vw,11px)}.food-desc h3{font-size:clamp(11px,2.5vw,17px)}.food-price strong{font-size:clamp(16px,3.35vw,24px)}.food-details h4{font-size:clamp(10px,1.85vw,14px)}.food-price>small,.allergy{font-size:clamp(8px,1.45vw,12px)}.special-title strong{font-size:clamp(13px,3vw,20px)}.special-title>span{font-size:clamp(6px,1.35vw,11px)}.access-rebuild{gap:1%;padding:2% 2% 1%}.venue-panel h2{font-size:clamp(13px,3.15vw,20px)}.venue-lead{font-size:clamp(8px,1.9vw,13px)}.venue-address{font-size:clamp(7px,1.5vw,11px)}.rain-box strong{font-size:clamp(11px,2.5vw,18px)}.rain-box small{font-size:clamp(6px,1.12vw,9px)}.map-label{font-size:clamp(9px,2.15vw,15px)} }
/* Keep the access panel at the exact original picture ratio */
.access-rebuild{aspect-ratio:695/232}
.venue-map{height:100%}

/* 2026-11-09: Burger card only. Add original-style gold sparkles behind the provided transparent food photo. */
.burger-photo{isolation:isolate}
.burger-photo::before{content:"";position:absolute;inset:0;background:url("assets/burger-sparkles.svg") center / 100% 100% no-repeat;z-index:0;pointer-events:none}
.burger-photo>img{position:relative;z-index:1}
.burger-photo>.limited{z-index:2}


/* Tea card: original flyer framing, with both the teapot spout and the main bowl visible. */
.tea-photo { isolation:isolate; }
.tea-photo > img {
  position:absolute;
  display:block;
  width:94%;
  max-width:none;
  height:auto;
  left:-7%;
  top:-4%;
  transform:none;
  object-fit:initial;
  object-position:initial;
}
.tea-photo::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to right, #fffdf8 0%, rgba(255,253,248,0) 7%, rgba(255,253,248,0) 94%, #fffdf8 100%),
    linear-gradient(to bottom, #fffdf8 0%, rgba(255,253,248,0) 12%, rgba(255,253,248,0) 91%, #fffdf8 100%);
}
.tea-photo > .limited { z-index:3; }

/* 2026-11-09: Team icon and burger image ONLY; preserve all other sections. */
.team-people {
  display:inline-block;
  flex:0 0 auto;
  width:clamp(24px,7.5vw,78px);
  height:clamp(19px,5.4vw,57px);
  padding:0;
  margin:0;
  font-size:0;
  letter-spacing:0;
  background:url("assets/team-people.svg") center / contain no-repeat;
  vertical-align:middle;
}
.burger-photo>img {
  transform:translateY(5%) scale(1.12);
  transform-origin:center center;
  object-fit:contain;
  object-position:center;
}


/* ABOUT illustration adjustment: original flyer proportions; no changes to other sections. */
.about{padding:1.8% 0 3.2%}
.sea-background{align-items:center}
.sea-background img{width:31.5%;max-width:352px;min-width:180px;height:auto}
.sea-background img:first-child{transform:translateX(-8%) translateY(10%)}
.sea-background img:last-child{transform:translateX(8%) translateY(10%)}
@media(max-width:600px){.sea-background img{width:32.5%;min-width:110px}.sea-background img:first-child{transform:translateX(-10%) translateY(8%)}.sea-background img:last-child{transform:translateX(10%) translateY(8%)}}

/* ABOUT image: never upscale beyond its native 695px width. */
.about > .content-image {
  width: min(100%, 695px);
  max-width: 695px;
  height: auto;
  display: block;
  margin-inline: auto;
}


/* Access section refinement: widen the white panel like the original and keep a sliver of the gold background visible at the edges. */
.access-rebuild{
  width:96%;
  margin:0 auto;
  padding:2.1% 2.8% 1.5%;
  background:rgba(255,252,245,.98);
  border-top:1px solid #ecdcae;
  border-bottom:1px solid #ecdcae;
}
.venue-panel h2{
  padding-left:1.2%;
}
.venue-logo{
  width:57%;
  max-width:420px;
  max-height:none;
  height:auto;
  object-fit:contain;
  display:block;
  margin:.2em auto .35em;
}
.venue-address{
  margin:.15em 0 .35em;
}
.rain-box{
  width:98%;
}
@media(max-width:600px){
  .access-rebuild{
    width:96%;
    margin:0 auto;
    padding:2.2% 2.4% 1.2%;
  }
  .venue-logo{
    width:59%;
    max-width:none;
  }
  .rain-box{
    width:99%;
  }
}


/* Access section: original off-white panel, slight gold margin at the edges. */
.access-rebuild{width:96%;margin:0 auto;background:#fffefa;padding:2% 2.5% 1.4%;}
.venue-panel{background:#fffefa;}
.venue-logo{width:59%;max-width:410px;max-height:none;height:auto;object-fit:contain;margin:.35em auto .55em;}
@media(max-width:600px){.access-rebuild{width:96%;padding:2% 2% 1.2%;}.venue-logo{width:61%;margin:.2em auto .3em;}}


/* 2026-11-09 Official Kamegaike Onsen logo supplied by the client.
   Use the unmodified horizontal transparent PNG, scaled only by CSS. */
.venue-logo{
  width:78%;
  max-width:460px;
  height:auto;
  max-height:none;
  object-fit:contain;
  margin:.15em auto .35em;
}
@media(max-width:600px){
  .venue-logo{width:80%;max-width:none;margin:.1em auto .25em;}
}


/* Back-to-top: floating control, no change to the page layout. */
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:100;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(218,167,60,.85);border-radius:50%;background:rgba(8,45,96,.94);color:#fff;font-size:24px;line-height:1;box-shadow:0 3px 12px rgba(0,0,0,.2);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:#0d4287}.back-to-top:focus-visible{outline:3px solid #efb745;outline-offset:3px}
@media(max-width:600px){.back-to-top{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:44px;height:44px;font-size:22px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
