/* GOOD CYCLE FES イベントページ v1（2026-10-06）：キッチンカー 専用 */
/* キッチンカー・フェス飯ガイド：ことば・食べたいもの・こだわりで探せる一覧 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kc-ht{position:relative}
.gp .kc-mini{display:none}

/* ヒーローの絵：キッチンカーと、もぐた */
.kc-art{position:relative;justify-self:center;width:min(100%,500px);height:430px}
.kc-ground{position:absolute;left:0;right:0;bottom:44px;height:2.5px;background:var(--ink);border-radius:2px}
.truck{position:absolute;left:13%;right:11%;bottom:46px;height:262px}
.tk-body{position:absolute;left:0;right:0;top:34px;bottom:34px;background:var(--white);border:var(--bd);border-radius:24px 78px 16px 16px;box-shadow:var(--sh)}
.tk-awn{position:absolute;left:4%;width:66%;top:12px;height:44px;z-index:2;border:var(--bd);border-radius:10px 10px 4px 4px;background:repeating-linear-gradient(90deg,var(--green) 0 26px,var(--white) 26px 52px)}
.tk-awn::after{content:"";position:absolute;left:-2.5px;right:-2.5px;top:100%;height:15px;background:radial-gradient(circle at 50% 0,var(--green-deep) 0 10.5px,var(--ink) 11px 13px,transparent 13.5px) 0 0/26px 15px repeat-x}
.tk-win{position:absolute;left:7%;width:57%;top:40px;height:88px;background:var(--paper-2);border:var(--bd);border-radius:10px;display:grid;place-items:center}
.tk-open{font-family:var(--f-en);font-weight:900;font-size:20px;letter-spacing:.22em;background:var(--ink);color:var(--mint-txt);padding:4px 14px 4px 18px;border-radius:8px;rotate:-4deg}
.tk-shelf{position:absolute;left:4%;width:63%;top:124px;height:14px;background:var(--green-deep);border:2.5px solid var(--ink);border-radius:4px}
.tk-cab{position:absolute;right:6%;top:26px;width:21%;height:72px;background:var(--mint);border:var(--bd);border-radius:10px 44px 10px 10px}
.tk-name{position:absolute;left:33%;bottom:38px;font-family:var(--f-en);font-weight:900;font-size:13px;letter-spacing:.18em;color:var(--green-deep);line-height:1.2;white-space:nowrap}
.tk-wh{position:absolute;bottom:0;width:68px;height:68px;border-radius:50%;border:var(--bd);background:radial-gradient(circle,var(--paper) 0 8px,var(--ink) 8.5px 12px,var(--gray) 12.5px 18px,var(--ink) 18.5px)}
.tk-wh.w1{left:22%}.tk-wh.w2{right:16%}
.tk-board{position:absolute;right:0;bottom:44px;z-index:3;display:grid;justify-items:center;width:96px;padding:10px 6px 12px;background:var(--ink);color:var(--paper);border:var(--bd);border-radius:10px 10px 4px 4px;rotate:5deg;transform-origin:50% 100%;font-family:var(--f-en);line-height:1.05}
.tk-board b{font-weight:900;font-size:17px;letter-spacing:.06em}
.tk-board b + b{color:var(--mint-txt)}
.tk-board small{margin-top:6px;font-weight:800;font-size:10px;letter-spacing:.3em;border-top:1.5px dashed #6A6E66;padding-top:5px;width:70%;text-align:center}
.kc-chef{position:absolute;left:0;bottom:30px;width:168px;z-index:4}
.kc-hbub{position:absolute;left:2%;bottom:212px;z-index:5;rotate:-3deg}
.kc-st{position:absolute;display:inline-flex;align-items:center;gap:6px;background:var(--white);border:2px solid var(--ink);border-radius:999px;padding:5px 13px;font-weight:900;font-size:14px;box-shadow:3px 3px 0 var(--ink);z-index:1}
.kc-st .ic{font-size:18px;color:var(--green-deep)}
.kc-st.s1{left:2%;top:6px;rotate:-6deg}
.kc-st.s2{left:36%;top:0;rotate:4deg;background:var(--mint)}
.kc-st.s3{right:2%;top:14px;rotate:6deg}
.kc-st.s4{right:24%;top:58px;rotate:-4deg;background:var(--green-pale)}

/* 探すバー（スクロールしても上に残る） */
.kc-bar{position:sticky;top:72px;z-index:25;background:var(--paper);border-block:var(--bd)}
.kc-bar-in{display:flex;align-items:center;gap:14px;padding-block:12px}
.kc-qw{position:relative;flex:0 1 500px;min-width:0}
.kc-bw{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.kc-bwl{font-size:13px;font-weight:900;color:var(--gray);margin-right:2px}
.kc-bw .kc-w{min-height:36px;padding:0 12px;font-size:13px}
.kc-q{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 104px 0 18px;background:var(--white);border:var(--bd);border-radius:999px;box-shadow:3px 4px 0 var(--ink);cursor:text}
.kc-q:focus-within{outline:3px solid var(--green);outline-offset:3px}
.kc-q > .ic{font-size:22px;color:var(--green-deep)}
.kc-q input{flex:1;min-width:0;height:50px;padding:0;border:0;background:none;outline:none;font-family:var(--f-ja);font-weight:700;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
.kc-q input::placeholder{color:#8A8F87;font-weight:500}
.kc-q input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.kc-qw:has(.kc-clr:not([hidden])) .kc-q{padding-right:150px}
.kc-clr{position:absolute;right:100px;top:50%;translate:0 -50%;width:40px;height:40px;border-radius:50%;border:0;background:var(--paper-2);color:var(--ink);display:grid;place-items:center;font-size:18px;cursor:pointer}
.kc-n{position:absolute;right:18px;top:50%;translate:0 -50%;display:flex;align-items:baseline;gap:1px;padding-left:12px;border-left:2px solid var(--rule);font-weight:900;font-size:13px;white-space:nowrap;pointer-events:none}
.kc-n b{font-family:var(--f-en);font-weight:900;font-size:24px;color:var(--green-deep);line-height:1}
.kc-cond{display:none}
.kc-tip{display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:700;color:var(--gray);line-height:1.6}
.kc-tip .ic{flex:none;margin-top:3px;font-size:15px;color:var(--green-deep)}
.kc-side > #kc-find{display:none}

/* 一覧 */
.kc-sec{padding-top:clamp(40px,5vw,72px)}
.kc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 28px}
.kc-head .h2{margin-bottom:0}
.status{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gray);line-height:1.6}
.status .ic{font-size:22px;color:var(--green-deep)}
.status b{display:block;color:var(--ink);font-size:15px}
.kc-lay{display:grid;grid-template-columns:288px minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start;margin-top:30px}
.kc-side{position:sticky;top:166px;display:grid;gap:22px;max-height:calc(100vh - 182px);overflow:auto;overscroll-behavior:contain;padding:2px 8px 10px 2px;scroll-margin-top:160px}
.kc-lbl{display:flex;align-items:center;gap:8px;font-weight:900;font-size:15px;line-height:1.4;margin-bottom:10px}
.kc-lbl .ic{font-size:18px;color:var(--green-deep)}
.kc-wl{display:flex;flex-wrap:wrap;gap:6px}
.kc-w{min-height:40px;padding:0 13px;border:1.5px solid var(--green-deep);border-radius:999px;background:var(--white);color:var(--green-deep);font-family:var(--f-ja);font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}
.kc-w:hover{background:var(--green-pale)}
.kc-cats{display:grid;gap:7px}
.kc-cat{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:5px 14px 5px 6px;border:2px solid var(--ink);border-radius:14px;background:var(--white);color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:15px;line-height:1.35;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}
.kc-cat:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.kc-ci{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--green-pale);color:var(--green-deep);font-size:21px}
.kc-cn{font-family:var(--f-en);font-weight:800;font-size:13px;color:var(--gray)}
.kc-cat.on{background:var(--ink);color:var(--paper)}
.kc-cat.on .kc-ci{background:var(--green);color:var(--white)}
.kc-cat.on .kc-cn{color:var(--mint-txt)}
.kc-feats{display:flex;flex-wrap:wrap;gap:8px}
.kc-ft{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:14px;line-height:1.3;cursor:pointer}
.kc-ft .ic{font-size:17px;color:var(--green-deep)}
.kc-ft.on{background:var(--green-deep);color:var(--white)}
.kc-ft.on .ic{color:var(--white)}
.kc-ft[data-kc-feat="fav"].on .ic{fill:currentColor}
.kc-fn{font-family:var(--f-en);font-size:12px;font-weight:800;background:var(--green-pale);color:var(--green-deep);border-radius:999px;padding:0 8px;line-height:1.7}
.kc-fnote{margin-top:10px}

.kc-tool{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:16px}
.kc-res{font-weight:700;font-size:15px}
.kc-res b{font-family:var(--f-en);font-weight:900;font-size:24px;color:var(--green-deep);margin:0 2px}
.kc-tr{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.kc-sort{display:inline-flex;border:2px solid var(--ink);border-radius:999px;background:var(--white);overflow:hidden}
.kc-sort button{min-height:42px;padding:0 15px;border:0;background:none;color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:13px;cursor:pointer}
.kc-sort button + button{border-left:2px solid var(--ink)}
.kc-sort button.on{background:var(--ink);color:var(--paper)}
.kc-omk{min-height:46px;padding:0 18px;font-size:14px;box-shadow:3px 4px 0 var(--ink)}
.kc-sum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;padding:10px 12px 10px 16px;background:var(--green-pale);border:2px dashed var(--green-deep);border-radius:14px;font-size:14px;font-weight:700;line-height:1.6}
.kc-sum > .ic{font-size:18px;color:var(--green-deep)}
.kc-sum > span{flex:1;min-width:0}
.kc-reset{min-height:40px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:13px;cursor:pointer}

/* お店のカード */
.kc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.kc{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px 18px 18px;background:var(--white);border:var(--bd);border-radius:20px;box-shadow:var(--sh);scroll-margin-top:170px}
.kc-top{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center}
.kc-logo{width:88px;height:88px;border:2px solid var(--ink);border-radius:18px;background:var(--white);overflow:hidden;display:grid;place-items:center}
.kc-logo img{width:100%;height:100%;object-fit:contain;padding:6px}
.kc-lph{display:grid;justify-items:center;align-content:center;gap:2px;width:100%;height:100%;background:repeating-linear-gradient(-45deg,var(--green-pale) 0 8px,var(--paper) 8px 16px);color:var(--green-deep);font-size:30px}
.kc-lph small{font-size:11px;font-weight:700;line-height:1.3;background:var(--paper);padding:0 6px;border-radius:999px}
.kc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.kc-no{font-family:var(--f-en);font-weight:900;font-size:13px;letter-spacing:.04em;background:var(--ink);color:var(--paper);border-radius:7px;padding:1px 9px;line-height:1.6}
.kc-day{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--green-deep);line-height:1.4}
.kc-day .ic{font-size:14px}
.kc-genre{margin-top:6px;font-size:13px;font-weight:700;color:var(--gray);line-height:1.4}
.kc-name{margin-top:2px;font-weight:900;font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.kc-fav{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px 0 13px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);font-family:var(--f-ja);font-weight:900;font-size:14px;cursor:pointer;transition:transform .15s,background .15s}
.kc-fav .ic{font-size:19px;color:var(--shu)}
.kc-fav:active{transform:scale(.9)}
.kc-fav.on{background:var(--shu);color:var(--white)}
.kc-fav.on .ic{color:var(--white)}
.kc-fav.on .ic{fill:currentColor}
.kc-desc{font-size:14.5px;line-height:1.8;color:var(--ink-2)}
.kc-menu{background:var(--paper-2);border:2px solid var(--ink);border-radius:14px;padding:10px 14px 6px}
.kc-mh{display:flex;align-items:center;gap:10px;min-height:26px;font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--green-deep);line-height:1.5}
.kc-ml{flex:1;border-top:1.5px dashed #B9BDB5}
.kc-menu ul{list-style:none;margin:2px 0 0;padding:0}
.kc-menu li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1.5px dotted #C9C8BF;font-weight:700;font-size:15px;line-height:1.5}
.kc-menu li:last-child{border-bottom:0}
.kc-mn{min-width:0}
.kc-mn small{display:block;font-size:12.5px;font-weight:500;color:var(--gray)}
.kc-mp{flex:none;max-width:55%;text-align:right;font-weight:900;color:var(--green-deep);white-space:normal}
.kc-mp span{display:inline-block}
.kc-pay{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;font-weight:700;line-height:1.65}
.kc-pay > .ic{flex:none;margin-top:3px;font-size:18px;color:var(--green-deep)}
.kc-pay b{margin-right:8px;color:var(--green-deep)}
.kc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto}
.kc-lim{display:inline-flex;align-items:center;gap:5px;padding:1px 10px;border-radius:999px;background:var(--ink);color:var(--white);font-weight:900;font-size:12px;letter-spacing:.04em}
.kc-lim .ic{font-size:13px;color:var(--mint-txt)}
.kc-ig{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:auto;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-weight:900;font-size:14px;text-decoration:none;transition:background .15s}
.kc-ig:hover{background:var(--green-pale)}
.kc-ig .ic{font-size:18px}
.kc-pickb{display:none;position:absolute;right:10px;top:-40px;z-index:3;align-items:flex-end;gap:2px;pointer-events:none}
.kc-pickb .chara{width:54px}
.kc-pickb .bub{margin-bottom:14px;padding:5px 12px;font-size:13px}
.kc.pick{box-shadow:0 0 0 4px var(--green),var(--sh);animation:kcpick .55s cubic-bezier(.3,1.5,.5,1)}
.kc.pick .kc-pickb{display:flex}
@keyframes kcpick{0%{scale:.96}100%{scale:1}}
.kc-empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;margin-top:4px;padding:24px;border:2px dashed var(--green-deep);border-radius:20px;background:var(--white)}
.kc-empty .chara{width:118px}
.kc-empty > div{display:grid;gap:12px;justify-items:start}
.kc-et{font-weight:700;color:var(--ink-2)}

/* 会場マップ */
.mapbox{position:relative;margin-top:30px;border:var(--bd);border-radius:20px;background:var(--white);box-shadow:var(--sh);overflow:hidden;min-height:320px;display:grid;place-items:center}
.map-grid{position:absolute;inset:18px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;opacity:.35}
.map-grid span{display:grid;place-items:center;border:2px dashed var(--gray);border-radius:10px;font-family:var(--f-en);font-weight:800;font-size:13px;color:var(--gray)}
.map-msg{position:relative;z-index:1;display:grid;gap:6px;max-width:520px;margin:24px;padding:20px 24px;background:var(--paper);border:var(--bd);border-radius:16px;box-shadow:var(--sh);text-align:center}
.map-msg b{font-weight:900;font-size:20px}
.kc-map-ch{position:absolute;right:22px;bottom:0;width:112px;z-index:2}

/* ご利用にあたって */
.nt-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
.nt-ch{display:flex;align-items:flex-end;gap:4px}
.nt-ch .bub{margin-bottom:58px}
.nt-ch .chara{width:112px}
.nt{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nt li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:18px 20px;background:var(--white);border:var(--bd);border-radius:18px;box-shadow:var(--sh)}
.nt-ic{display:grid;place-items:center;width:50px;height:50px;border:2px solid var(--ink);border-radius:14px;background:var(--green-pale);color:var(--green-deep);font-size:24px}
.nt b{display:block;font-weight:900;font-size:17px;line-height:1.5}
.nt p{margin-top:4px;font-size:14.5px;color:var(--ink-2)}
.kc-faq-ch{width:108px}

@media (max-width:1100px){
  .kc-art{width:500px;zoom:.8}
  .kc-lay{grid-template-columns:250px minmax(0,1fr)}
  .kc-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:960px){
  .kc-art{display:none}
  .gp .kc-mini{display:block;position:absolute;right:0;top:20px;width:clamp(86px,16vw,130px)}
  .kc-ht .h1{padding-right:clamp(60px,14vw,120px)}
  .kc-lay{display:block}
  .kc-side{display:contents}
  .kc-blk{margin-bottom:22px}
  .kc-cond{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);font-weight:900;font-size:13px;text-decoration:none;white-space:nowrap}
  .kc-cond .ic{font-size:17px}
  .kc-cats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kc-cat{grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;gap:4px;min-height:92px;padding:8px 4px 8px;text-align:center;font-size:13px;line-height:1.3}
  .kc-cat .kc-ct{word-break:keep-all;overflow-wrap:anywhere}
  .kc-cn{font-size:12px}
  #kc-find{scroll-margin-top:150px}
  .kc-side > #kc-find{display:block}
  .kc-bw{display:none}
  .kc-qw{flex:1}
  .kc-tip{margin:-10px 0 20px}
  .kc-w{min-height:44px}
  .kc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .kc-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .nt{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .hero{padding-bottom:30px}
  .gp .kc-mini{right:-4px;top:30px;width:86px}
  .kc-ht .eyebrow{margin-right:84px}
  .kc-ht .h1{padding-right:66px}
  .kc-hcta{display:none}
  .kc-bar{top:64px}
  .kc-bar-in{gap:8px;padding-block:10px}
  .kc-q{min-height:52px;padding:0 84px 0 14px;gap:8px}
  .kc-qw:has(.kc-clr:not([hidden])) .kc-q{padding-right:124px}
  .kc-n{right:12px;padding-left:9px}
  .kc-n b{font-size:21px}
  .kc-q input{height:46px;font-size:16px}
  .kc-clr{right:78px;width:36px;height:36px}
  .kc-cond{width:48px;min-height:48px;padding:0;justify-content:center}
  .kc-cond span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .kc-cond .ic{font-size:21px}
  .kc-sec{padding-top:34px}
  .kc-head .h2{font-size:28px}
  .status b{font-size:14px}
  .kc-lay{margin-top:22px}
  .kc-wl{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * clamp(16px,4vw,44px));padding-inline:clamp(16px,4vw,44px);padding-bottom:4px;scrollbar-width:none}
  .kc-wl::-webkit-scrollbar{display:none}
  .kc-w{flex:none}
  .kc-cats{gap:6px}
  .kc-cat{min-height:86px;font-size:12.5px}
  .kc-ci{width:34px;height:34px;font-size:20px}
  .kc-ft{font-size:13px;padding:0 12px}
  .kc-tool{gap:10px}
  .kc-tr{width:100%;justify-content:space-between}
  .kc-sort button{padding:0 13px}
  .kc{padding:16px 14px 16px;gap:12px;scroll-margin-top:150px}
  .kc-top{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .kc-logo{width:72px;height:72px;border-radius:14px}
  .kc-name{font-size:18px}
  .kc-desc{font-size:14px}
  .kc-menu{padding:8px 12px 4px}
  .kc-menu li{font-size:14.5px}
  .kc-empty{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:20px 16px}
  .kc-empty > div{justify-items:center}
  .kc-empty .chara{width:96px}
  .map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .map-msg{padding:16px;margin:24px 16px 96px}
  .map-msg b{font-size:17px}
  .kc-map-ch{width:84px;right:12px}
  .nt-ch .chara{width:80px}
  .nt-ch .bub{margin-bottom:44px;font-size:13px;padding:6px 10px}
  .nt-head{grid-template-columns:minmax(0,1fr)}
  .nt-ch{justify-self:end;margin-top:-12px}
  .nt li{padding:16px;gap:12px}
  .nt-ic{width:44px;height:44px;font-size:21px}
  .kc-faq-ch{width:84px}
}
@media (max-width:420px){
  .kc-q{padding-right:70px}
  .kc-qw:has(.kc-clr:not([hidden])) .kc-q{padding-right:108px}
  .kc-n{right:10px;padding-left:7px;font-size:11px}
  .kc-n b{font-size:19px}
  .kc-clr{right:64px}
  .kc-q input::placeholder{font-size:15px}
}
@media (max-width:340px){
  .kc-q input::placeholder{font-size:13px}
  .kc-q{padding-left:12px;gap:6px}
}
@media (max-width:360px){
  .gp .kc-mini{width:68px;top:40px}
  .kc-ht .eyebrow{margin-right:60px;padding-inline:14px;font-size:12px;white-space:nowrap}
  .kc-ht .eyebrow b{letter-spacing:.08em;margin-right:6px}
}
/* 当日の売り切れ表示：そのお店の <article> に data-soldout を足すと札が出る（例 data-soldout="12/12 " で「12/12 売り切れ」） */
.kc[data-soldout]::before{content:attr(data-soldout) "売り切れ";position:absolute;top:-16px;right:18px;z-index:2;padding:2px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--shu);color:var(--white);font-weight:900;font-size:13px;line-height:1.6;rotate:4deg}
.kc[data-soldout] .kc-menu{opacity:.55}

/* 2026-10-06 追加：料理写真・支払い・数量限定・アレルギー（前ページの「詳細」の情報を戻した） */
.kc-ph{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}
.kc-ph::-webkit-scrollbar{display:none}
.kc-ph a{flex:0 0 auto;display:block;width:96px;aspect-ratio:1/1;border:2px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--paper-2);transition:transform .15s,box-shadow .15s}
.kc-ph a:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}
.kc-ph img{display:block;width:100%;height:100%;object-fit:cover}
.kc-info{display:grid;gap:0;border:2px solid var(--ink);border-radius:14px;background:var(--white);overflow:hidden}
.kc-ir{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px}
.kc-ir + .kc-ir{border-top:1.5px dashed #C9C8BF}
.kc-ik{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:900;color:var(--green-deep);line-height:1.6;white-space:nowrap}
.kc-ik .ic{flex:none;font-size:16px}
.kc-iv p{margin:0;font-size:13.5px;font-weight:700;line-height:1.65;color:var(--ink-2)}
.kc-ir-a{background:#FFFBEA}
.kc-ir-a .kc-ik{color:var(--ink)}
.kc-ir-a .kc-ik .ic{color:#B7382A}
.kc-al{display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:0;padding:0}
.kc-al li{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--yellow);font-size:13px;font-weight:900;line-height:1.3}
.kc-ag{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}
.kc-ag + .kc-ag{margin-top:6px}
.kc-agn{font-size:12.5px;font-weight:900;color:var(--ink-2)}
.kc-ag .kc-agn::after{content:"："}
.kc-iv .kc-an{margin-top:5px;font-size:12.5px;font-weight:700;color:var(--gray)}
.kc-iv .kc-an:first-child{margin-top:0}
.kc-iv .kc-an-l{margin:0 0 5px;color:var(--ink-2)}
.kc-free{display:inline-flex;align-items:center;gap:4px;padding:1px 10px;border-radius:999px;background:var(--green-pale);border:1.5px solid var(--green-deep);color:var(--green-deep);font-weight:900;font-size:13px}
.kc-free .ic{font-size:14px}
@media (max-width:420px){.kc-ir{grid-template-columns:1fr;gap:6px}.kc-ph a{width:84px}}
