/* ==========================================================
   検索結果 / 404 / 規約系
   ========================================================== */
/* 検索 */
.searchbox{display:flex;gap:10px;margin-top:26px;max-width:620px}
.searchbox input{flex:1;font-family:var(--sans);font-size:15px;color:var(--ink-strong);
  padding:16px 18px;border-radius:7px;border:1px solid var(--line);background:#fff;
  transition:border-color .3s,box-shadow .3s}
.searchbox input::placeholder{color:#B6AB99}
.searchbox input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,170,110,.18)}
.searchbox button{flex:none;padding:0 24px;border-radius:7px;color:#fff;font-size:13.5px;letter-spacing:.08em;
  background:linear-gradient(135deg,#B18F51,#8C6C34);box-shadow:0 4px 14px rgba(138,107,51,.24);
  transition:transform .35s var(--ease),box-shadow .35s}
.searchbox button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(138,107,51,.3)}
.res-meta{margin:24px 0 0;font-size:12.5px;color:var(--ink-mute);letter-spacing:.04em}
.res-meta b{font-family:var(--sans);font-weight:600;font-size:17px;color:var(--gold-deep);
  font-variant-numeric:tabular-nums;margin:0 3px}
.res-meta em{font-style:normal;color:var(--ink-strong);font-weight:500}
mark{background:linear-gradient(transparent 60%,rgba(212,186,128,.5) 60%);color:inherit;padding:0 1px}

.empty{text-align:center;padding:58px 20px 46px;border-top:1px solid var(--line);margin-top:30px}
.empty .mk{width:76px;height:76px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;
  border:1px solid rgba(196,166,108,.5);color:var(--gold)}
.empty h3{font-family:var(--mincho);font-weight:600;font-size:19px;color:var(--ink-strong);margin:0 0 12px;letter-spacing:.05em}
.empty p{margin:0 auto 26px;font-size:12.5px;line-height:2;color:var(--ink-mute);max-width:32em}

/* 404 */
.nf{padding:130px 0 0;text-align:center;position:relative}
.nf .code{font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:clamp(64px,9vw,120px);line-height:1;letter-spacing:.04em;margin:0 0 8px;
  background:linear-gradient(104deg,#7A5C29,#C4A570 46%,#8A6B33);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nf h1{font-family:var(--mincho);font-weight:600;font-size:clamp(22px,2.7vw,32px);letter-spacing:.05em;
  color:var(--ink-strong);margin:0 0 18px;line-height:1.55}
.nf p{font-family:var(--serif-jp);font-size:13.5px;line-height:2.1;color:#5A4B39;margin:0 auto 32px;max-width:32em}
.nf-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* 規約・法定表記 */
.doc{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;padding:36px 0 0;align-items:start}
.doc-body{min-width:0;font-size:13.5px;line-height:2.15;color:#463A2C;letter-spacing:.03em}
.doc-body h2{font-family:var(--mincho);font-weight:600;font-size:19px;line-height:1.6;letter-spacing:.04em;
  color:var(--ink-strong);margin:44px 0 16px;padding-bottom:11px;border-bottom:1px solid var(--line);position:relative}
.doc-body h2:first-child{margin-top:0}
.doc-body h2::after{content:"";position:absolute;left:0;bottom:-1px;width:54px;height:1px;background:var(--gold)}
.doc-body h3{font-family:var(--serif-jp);font-weight:600;font-size:14.5px;margin:28px 0 10px;color:var(--ink-strong)}
.doc-body p{margin:0 0 20px}
.doc-body ul,.doc-body ol{padding-left:1.4em;margin:0 0 20px}
.doc-body li{margin-bottom:8px}
.doc-body li::marker{color:var(--gold-soft)}
.doc-body a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
.doc-date{font-size:11.5px;color:var(--ink-mute);margin-top:38px;padding-top:18px;border-top:1px solid var(--line-soft);
  font-variant-numeric:tabular-nums}
.doc-toc{position:sticky;top:86px}
.doc-toc p{font-family:var(--serif-jp);font-weight:600;font-size:12.5px;letter-spacing:.06em;
  color:var(--ink-strong);margin:0 0 12px}
.doc-toc ol{list-style:none;margin:0;padding:0;counter-reset:dt;border-left:1px solid var(--line)}
.doc-toc li{counter-increment:dt}
.doc-toc a{display:flex;gap:9px;font-size:11.5px;line-height:1.7;color:#6E6152;padding:8px 0 8px 14px;
  margin-left:-1px;border-left:1px solid transparent;transition:color .3s,border-color .3s}
.doc-toc a::before{content:counter(dt,decimal-leading-zero);font-family:var(--sans);font-size:10.5px;
  font-variant-numeric:tabular-nums;color:var(--gold-soft);flex:none}
.doc-toc a:hover,.doc-toc a.on{color:var(--gold-deep);border-left-color:var(--gold)}

/* 法定表記テーブル（.corp を流用しつつ幅だけ調整） */

@media(max-width:1080px){
  .doc{grid-template-columns:1fr;gap:0}
  .doc-toc{position:static;margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
  .doc-toc ol{display:flex;flex-wrap:wrap;gap:4px 18px;border-left:0}
  .doc-toc a{padding:4px 0;border-left:0}
}
@media(max-width:720px){
  .searchbox{flex-direction:column}
  .searchbox button{padding:15px}
  .nf{padding:104px 0 0}
  .doc-body h2{font-size:17px}
}

