@charset "utf-8";

.edge-search-guide,
.edge-search-guide * { box-sizing:border-box; letter-spacing:0; }
.edge-search-guide { width:100%; padding:120px 40px; color:#1d1d1f; background:#f6f6f6; }
.edge-search-guide__inner { width:100%; max-width:1200px; margin:0 auto; }
.edge-search-guide__kicker { margin:0 0 14px; color:#e43f46; font-size:17px; font-weight:600; line-height:1.5; text-align:center; }
.edge-search-guide h2 { max-width:880px; margin:0 auto; font-size:40px; font-weight:700; line-height:1.35; text-align:center; word-break:keep-all; }
.edge-search-guide__lead { max-width:920px; margin:30px auto 0; color:#555; font-size:19px; line-height:1.85; text-align:center; word-break:keep-all; }
.edge-search-guide__criteria { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:64px 0 0; border-top:1px solid #222; border-bottom:1px solid #cfcfcf; }
.edge-search-guide__criteria div { min-width:0; padding:30px 34px; border-right:1px solid #d6d6d6; }
.edge-search-guide__criteria div:last-child { border-right:0; }
.edge-search-guide__criteria dt { margin:0 0 12px; color:#e43f46; font-size:19px; font-weight:700; line-height:1.5; }
.edge-search-guide__criteria dd { margin:0; color:#555; font-size:16px; line-height:1.75; word-break:keep-all; }
.edge-search-guide__faq { max-width:960px; margin:80px auto 0; border-top:2px solid #222; }
.edge-search-guide__faq h3 { margin:0; padding:0 0 24px; font-size:27px; line-height:1.4; }
.edge-search-guide__faq details { border-bottom:1px solid #d4d4d4; }
.edge-search-guide__faq summary { position:relative; padding:22px 42px 22px 0; cursor:pointer; font-size:18px; font-weight:600; line-height:1.6; list-style:none; word-break:keep-all; }
.edge-search-guide__faq summary::-webkit-details-marker { display:none; }
.edge-search-guide__faq summary::after { position:absolute; top:22px; right:8px; color:#e43f46; font-size:25px; line-height:1; content:'+'; }
.edge-search-guide__faq details[open] summary::after { content:'−'; }
.edge-search-guide__faq details p { margin:0; padding:0 42px 24px 0; color:#555; font-size:16px; line-height:1.8; word-break:keep-all; }
.edge-search-guide__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:960px; margin:46px auto 0; }
.edge-search-guide__links a { display:flex; min-width:0; min-height:62px; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border:1px solid #c9c9c9; border-radius:4px; color:#222; background:#fff; font-size:16px; font-weight:600; line-height:1.5; }
.edge-search-guide__links a:hover { border-color:#e43f46; color:#e43f46; }
.edge-search-guide__links span { flex:0 0 auto; color:#e43f46; font-size:20px; }
.edge-search-guide__sources,.edge-search-guide__notice { max-width:960px; margin:22px auto 0; color:#777; font-size:14px; line-height:1.7; text-align:center; word-break:keep-all; }
.edge-search-guide__sources a { color:#555; text-decoration:underline; text-underline-offset:3px; }
.edge-search-guide__notice { margin-top:12px; }
.edge-search-guide a:focus-visible,.edge-search-guide summary:focus-visible { outline:3px solid #1e6971; outline-offset:4px; }

@media(max-width:767px) {
  .edge-search-guide { padding:72px 20px 96px; }
  .edge-search-guide h2 { font-size:28px; }
  .edge-search-guide__lead { margin-top:22px; font-size:16px; line-height:1.75; text-align:left; }
  .edge-search-guide__criteria { grid-template-columns:1fr; margin-top:42px; }
  .edge-search-guide__criteria div { padding:24px 4px; border-right:0; border-bottom:1px solid #d6d6d6; }
  .edge-search-guide__criteria div:last-child { border-bottom:0; }
  .edge-search-guide__criteria dt { font-size:17px; }
  .edge-search-guide__criteria dd { font-size:15px; }
  .edge-search-guide__faq { margin-top:58px; }
  .edge-search-guide__faq h3 { font-size:23px; }
  .edge-search-guide__faq summary { padding:20px 38px 20px 0; font-size:16px; }
  .edge-search-guide__faq details p { padding:0 10px 22px 0; font-size:15px; }
  .edge-search-guide__links { grid-template-columns:1fr; gap:10px; margin-top:34px; }
  .edge-search-guide__links a { min-height:56px; font-size:15px; }
  .edge-search-guide__sources,.edge-search-guide__notice { text-align:left; }
}
