form.site-search-form {
    --search-form-color-primary: #ccc;
    --search-form-color-secondary: #fafafa;
    --search-form-border: 1px solid var(--search-form-color-primary);

    display: flex;
    margin-bottom: .5em;
    width: 100%;
    max-width: 480px;
    border: var(--search-form-border);
    border-radius: 9999px;
    color: #333;
    background-color: #fff;
    font-size: 14.5px;
    font-weight: normal;
    letter-spacing: .2px;
    line-height: 1.4;
    box-sizing: border-box;
}

form.site-search-form *,
form.site-search-form *::before,
form.site-search-form *::after {
    margin: 0;
    padding: 0;
    color: inherit;
    background-color: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    box-sizing: border-box;
}

form.site-search-form input,
form.site-search-form button,
form.site-search-form label:has(input) {
    border: none;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}

form.site-search-form label {
    display: flex;
    height: auto;
}

form.site-search-form:has(input[type="search"]:focus) {
    box-shadow: 0 0 .6em -.1em var(--search-form-color-primary);
    -webkit-box-shadow: 0 0 .6em -.1em var(--search-form-color-primary);
}

form.site-search-form input[type="search"],
form.site-search-form [type="submit"] {
    padding: .4em;
    height: auto;
}

form.site-search-form input[type="search"] {
    height: auto;
    padding-left: .8em;
}

form.site-search-form input[type="search"],
form.site-search-form label:has(input[type="search"]) {
    width: 100%;
    border-top-left-radius: 9999px;
    border-bottom-left-radius: 9999px;
}

form.site-search-form [type="submit"] {
    display: flex;
    width: auto;
    border-left: var(--search-form-border);
    border-top-right-radius: 9999px;
    border-bottom-right-radius: 9999px;
    letter-spacing: .2em;
    background-color: var(--search-form-color-secondary);
    transition: opacity .3s;
    cursor: pointer;
}

form.site-search-form [type="submit"]:hover {
    opacity: .8;
}

/* スクリーンリーダー */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }