:root{
  --ink:#17233b;
  --muted:#687183;
  --line:#dfe3e8;
  --panel:#f7f8fa;
  --soft-blue:#64829a;
  --link:#174b91;
  --warning:#8a6330;
  --shadow:0 2px 12px rgba(27,39,63,.11);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;
  color:var(--ink);
  background:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:#fff;color:var(--ink)}
a{color:inherit}
button,input{font:inherit}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid transparent;font-size:.82rem}
.topbar .company{text-decoration:none;font-weight:650;letter-spacing:.06em}
.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a{text-decoration:none;color:var(--muted)}
.topbar nav button{border:0;background:none;color:var(--muted);cursor:pointer;padding:4px 0}
main{width:min(900px,calc(100% - 32px));margin:0 auto}
.search-home{min-height:470px;padding:100px 0 64px;display:flex;flex-direction:column;align-items:center;text-align:center}
.service-logo{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:31px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:3.25rem;font-weight:600;letter-spacing:.08em;line-height:1}
.service-mark{width:64px;height:64px;color:var(--ink);flex:0 0 auto}
.search-form{width:min(690px,100%)}
.search-box{height:52px;border:1px solid #c9cfd7;border-radius:28px;display:flex;align-items:center;padding:0 16px;background:#fff;transition:.18s;box-shadow:0 1px 2px rgba(20,31,52,.04)}
.search-box:focus-within{border-color:#92a1b5;box-shadow:var(--shadow)}
.search-box>svg{width:21px;height:21px;fill:none;stroke:#727b8a;stroke-width:1.7;stroke-linecap:round;margin-right:11px}
.search-box input{border:0;outline:0;width:100%;font-size:1rem;color:var(--ink);background:transparent}
.search-box input::placeholder{color:#8d94a0}
.clear-button{width:30px;height:30px;border:0;border-radius:50%;background:#eef0f3;color:#596273;cursor:pointer;font-size:1.2rem;line-height:1}
.search-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}
.search-actions button{border:1px solid transparent;border-radius:5px;padding:9px 24px;cursor:pointer;transition:.15s}
.primary-button{background:#f0f2f4;color:var(--ink)}.primary-button:hover,.secondary-button:hover{border-color:#aab2bd;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.secondary-button{background:#f7f8fa;color:#4c5565}
.service-note{margin:22px 0 0;color:#8a909b;font-size:.76rem}
.recommended{padding:0 0 76px}.section-head{border-bottom:1px solid var(--line);padding-bottom:12px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.section-head h2{font-size:1rem;margin:0}.section-head p{font-size:.76rem;color:var(--muted);margin:0}
.recommended-list article{padding:20px 4px;border-bottom:1px solid #eceef1}
.recommended-list h3{font-size:1.04rem;font-weight:550;color:var(--link);margin:0 0 7px}
.recommended-list a{text-decoration:none}.recommended-list a:hover h3,.text-button:hover h3{text-decoration:underline}
.recommended-list p{margin:0 0 10px;font-size:.88rem;line-height:1.72;color:#465064}
.meta{display:flex;flex-wrap:wrap;gap:8px}.meta span{font-size:.7rem;color:#717988;background:#f3f4f6;padding:3px 7px;border-radius:2px}.meta .warning{color:var(--warning);background:#faf5ec}
.text-button{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}
.results{padding:16px 0 68px}.results-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:5px}.results-head p{margin:0;color:var(--muted);font-size:.82rem}.results-head button{border:0;background:none;color:var(--link);cursor:pointer;font-size:.78rem}
.result-item{padding:23px 3px;border-bottom:1px solid #eceef1}.result-source{font-size:.7rem;color:#667085;margin-bottom:5px}.result-title{font-size:1.13rem;color:var(--link);font-weight:520;margin:0 0 7px}.result-title a{text-decoration:none}.result-title a:hover{text-decoration:underline}.result-description{font-size:.88rem;line-height:1.72;color:#3e485b;margin:0 0 9px}.result-note{font-size:.76rem;color:var(--warning);margin-top:8px}.result-actions{margin-top:10px}.result-actions button{border:0;background:none;padding:0;color:var(--link);cursor:pointer;font-size:.8rem}.empty-result{padding:50px 0;text-align:center;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:26px max(24px,calc((100vw - 900px)/2));background:#fafafa;color:#6d7480;font-size:.73rem}
footer>div{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:8px}footer a{text-decoration:none}.fiction-note{color:#9298a1}
dialog{border:0;border-radius:9px;padding:0;width:min(480px,calc(100% - 32px));box-shadow:0 20px 60px rgba(20,31,52,.25)}dialog::backdrop{background:rgba(18,26,41,.4)}dialog form{padding:30px}dialog h2{font-size:1.1rem;margin:5px 0 12px}dialog p{font-size:.88rem;line-height:1.75;color:#4e5869}dialog button{display:block;margin:25px 0 0 auto;border:1px solid #b8bec8;background:#fff;border-radius:4px;padding:8px 20px;cursor:pointer}.dialog-mark{width:36px;height:36px;border:2px solid var(--soft-blue);border-radius:50%;display:grid;place-items:center;color:var(--soft-blue)}
@media(max-width:650px){.topbar{padding:0 16px}.topbar nav a{display:none}.search-home{min-height:420px;padding-top:75px}.service-logo{font-size:2.45rem;gap:11px}.service-mark{width:48px;height:48px}.search-actions{margin-top:19px}.section-head{align-items:flex-start;flex-direction:column;gap:4px}.results-head{align-items:flex-start;flex-direction:column;gap:7px}footer{padding:23px 18px}}
@media(max-width:390px){.service-logo{font-size:2.05rem;letter-spacing:.04em}.search-actions button{padding:9px 17px}}


.quick-queries{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px;color:#8a909b;font-size:.74rem}
.quick-queries button{border:0;background:#f3f5f7;color:#4f6076;border-radius:999px;padding:5px 10px;cursor:pointer}
.quick-queries button:hover{background:#e8edf2;color:var(--link)}
.new-index{margin:8px 0 0;color:#62758a;font-size:.74rem}
@media(max-width:650px){.quick-queries{max-width:340px}.new-index{max-width:340px;line-height:1.6}}


.index-sync{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
  color:#66778a;
  font-size:.74rem;
}
.index-sync button{
  border:1px solid #d8dee6;
  border-radius:999px;
  background:#fff;
  color:#4f6076;
  padding:5px 10px;
  cursor:pointer;
}
.index-sync button:hover{background:#f3f6f8;color:var(--link)}
.index-sync[data-state="ok"]{color:#416b59}
.index-sync[data-state="warning"]{color:#8b6535}
.index-sync[data-state="loading"]{color:#66778a}
