@charset "UTF-8";
/* ==========================================================================
   アレルギー情報ページ（allergy.html）
   土台は style.css / page.css / company.css
   ========================================================================== */

/* ---- 冒頭の注意書き。見落とされないよう、はっきりした箱にする ---- */
.al-warn{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--enji);
  padding:clamp(20px,2.4vw,28px) clamp(20px,2.6vw,30px);
  margin:0 0 clamp(30px,3.6vw,44px);
}
.al-warn__ttl{
  margin:0 0 14px;font-family:var(--serif);font-weight:700;
  font-size:15.5px;letter-spacing:.08em;color:var(--enji);
}
.al-warn ul{margin:0;padding-left:1.2em;}
.al-warn li{
  font-size:13.5px;line-height:2;letter-spacing:.02em;color:#4a443b;margin-bottom:6px;
}
.al-warn li:last-child{margin-bottom:0;}

/* ---- 探すところ ---- */
.al-tools{
  background:var(--washi-deep);padding:clamp(20px,2.6vw,30px);
  margin:0 0 clamp(24px,3vw,34px);
}
.al-tools__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.al-tools__lb{
  flex:0 0 auto;font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--ink);
}
.al-tools__q{
  flex:1 1 240px;padding:11px 14px;border:1px solid var(--line);background:#fff;
  font-size:15px;font-family:inherit;
}
.al-tools__q:focus{outline:2px solid var(--gold);outline-offset:1px;}
.al-tools__mode{display:flex;gap:18px;flex-wrap:wrap;}
.al-tools__mode label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13.5px;letter-spacing:.02em;cursor:pointer;
}
.al-tools__mode b{color:var(--enji);}
.al-tools__gl{
  margin:14px 0 8px;font-size:11.5px;font-weight:700;
  letter-spacing:.12em;color:var(--ink-soft);
}
.al-chips{display:flex;flex-wrap:wrap;gap:7px;}
.al-chip{
  padding:7px 13px;border:1px solid var(--line);background:#fff;
  font-size:12.5px;font-family:inherit;letter-spacing:.02em;color:#4a443b;
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.al-chip:hover{border-color:var(--gold);}
.al-chip.is-on{background:var(--enji);border-color:var(--enji);color:#fff;font-weight:700;}
.al-tools__act{margin:16px 0 0;}
.al-clear{
  padding:8px 16px;border:1px solid var(--ink-soft);background:transparent;
  font-size:12.5px;font-family:inherit;color:var(--ink-soft);cursor:pointer;
}
.al-clear:hover{background:var(--ink-soft);color:#fff;}

/* ---- 件数と一覧 ---- */
.al-count{
  margin:0 0 16px;font-family:var(--serif);font-weight:600;
  font-size:15px;letter-spacing:.06em;color:var(--enji);
}
.al-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.al-item{
  background:#fff;border:1px solid var(--line);padding:18px 20px;
}
.al-item__name{
  margin:0 0 4px;font-family:var(--serif);font-weight:600;
  font-size:16px;line-height:1.6;letter-spacing:.04em;color:var(--ink);
}
.al-item__cat{
  margin:0 0 12px;font-size:11.5px;letter-spacing:.1em;color:var(--gold);
}
.al-item__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;}
.al-tag{
  padding:4px 10px;background:var(--washi-deep);
  font-size:12px;letter-spacing:.02em;color:#4a443b;
}
.al-tag--must{background:var(--enji);color:#fff;font-weight:700;}
.al-item__non{margin:0;font-size:13px;color:var(--ink-soft);}
.al-item__note{
  margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line);
  font-size:12px;line-height:1.8;color:var(--ink-soft);
}
.al-none{
  padding:40px 20px;text-align:center;
  font-size:14px;color:var(--ink-soft);background:#fff;border:1px dashed var(--line);
}
.al-updated{
  margin:clamp(30px,3.6vw,44px) 0 0;text-align:right;
  font-size:12px;letter-spacing:.04em;color:var(--ink-soft);
}

@media (max-width:768px){
  .al-list{grid-template-columns:1fr;}
  .al-tools__row{gap:8px;}
  .al-tools__lb{flex:1 1 100%;}
}
