
/* ===== サイト内検索 ===== */
.searchbtn{display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0;
  border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--brand-d);
  cursor:pointer;transition:background .15s,border-color .15s}
.searchbtn:hover{background:var(--brand-l);border-color:var(--brand)}
.searchbtn svg{width:18px;height:18px}
.searchbox{position:fixed;inset:0;z-index:200;background:rgba(20,14,8,.55);
  backdrop-filter:blur(3px);padding:clamp(12px,6vh,72px) 16px;overflow-y:auto}
.searchbox[hidden]{display:none!important}
.searchbox__panel{max-width:660px;margin:0 auto;background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);overflow:hidden}
.searchbox__bar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.searchbox__bar svg{width:20px;height:20px;color:var(--ink-3);flex-shrink:0}
.searchbox__bar input{flex:1 1 auto;min-width:0;border:0;outline:none;font:inherit;font-size:16px;
  color:var(--ink);background:transparent;padding:6px 0}
.searchbox__bar input::-webkit-search-cancel-button{cursor:pointer}
.searchbox__close{flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:6px 14px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}
.searchbox__close:hover{background:var(--bg-soft)}
.searchbox__hint{margin:0;padding:10px 18px;font-size:12.5px;color:var(--ink-3);background:var(--bg-soft)}
.searchbox__list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}
.searchbox__list li{border-bottom:1px solid var(--line)}
.searchbox__list li:last-child{border-bottom:0}
.searchbox__list a{display:block;padding:14px 18px;text-decoration:none;color:var(--ink);transition:background .12s}
.searchbox__list a:hover{background:var(--brand-ll)}
.searchbox__page{display:block;font-size:11.5px;letter-spacing:.08em;color:var(--brand);margin-bottom:3px}
.searchbox__h{display:block;font-size:15px;font-weight:700;line-height:1.6;margin-bottom:4px}
.searchbox__x{display:block;font-size:13px;line-height:1.8;color:var(--ink-2);overflow-wrap:anywhere}
.searchbox mark{background:#ffe9b8;color:inherit;padding:0 1px;border-radius:2px}
@media (max-width:640px){
  .searchbox{padding:0}
  .searchbox__panel{border-radius:0;min-height:100%}
  .searchbox__list{max-height:none}
}
/* 検索結果から飛んできた見出しを一瞬光らせる */
.is-jumped{animation:jumpflash 2.4s ease-out}
@keyframes jumpflash{0%,55%{background:#ffe9b8}100%{background:transparent}}
[id]{scroll-margin-top:96px}
