.map-wrap {
    margin-bottom: 45px;
}

.prefecture__wrap {
    display: flex;
    flex-direction: column;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

.prefecture__wrap label {
    margin-bottom: 24px;
    text-align: center;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}

.prefecture__wrap select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../images/home/shop_list/area_select.svg");
    background-repeat: no-repeat;
    background-size: 10px 5.74px;
    background-position: right 20px center;
    width: 250px;
    height: 50px;
    border: solid 1px #cccccc;
    padding-left: 20px;
    display: flex;
    justify-content: start;
    align-items: center;
    font-size: var(--font-size-base);
    background-color: var(--color-white);
    margin: auto;
    cursor: pointer;
}

.map-host {
    display: none;
}

#map-host svg [id^="prefPath-"].is-active {
    fill: var(--color-primary);
}

#map-host svg text.is-active {
    fill: #fff
}

.brand-checkboxes__wrap {
    margin-bottom: 41px;
}

.brand-checkboxes__title {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: 38px;
}

.brand-checkboxes__title span {
    background-color: #BB1B21;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white);
    width: 32px;
    height: 18px;
    border-radius: 3px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-normal);
    margin-top: 2px;
}

.brand-checkboxes {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.brand-checkboxes__top,
.brand-checkboxes__bottom {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.brand-checkbox__item {
    width: fit-content;
    display: flex;
    justify-content: start;
    align-items: center;
    column-gap: 15px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.brand-checkbox__item input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkbox-custom {
    display: block;
    width: 25px;
    height: 25px;
    border: 1px solid #C2C3C2;
    border-radius: 4px;
    background: #fff;
    position: relative;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.brand-checkbox__item input[type="radio"]:checked+.checkbox-custom {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.brand-checkbox__item input[type="radio"]:checked+.checkbox-custom::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 17.25px;
    height: 13.39px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.25' height='13.395' viewBox='0 0 17.25 13.395'%3E%3Cpath id='check' d='M6.605,13.543a.88.88,0,0,1-1.245,0L.387,8.569a1.321,1.321,0,0,1,0-1.868l.623-.623a1.321,1.321,0,0,1,1.868,0l3.1,3.1,8.39-8.39a1.321,1.321,0,0,1,1.868,0l.623.623a1.321,1.321,0,0,1,0,1.868Zm0,0' transform='translate(0 -0.406)' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.brand-checkbox__image {
    width: 140px;
    height: 20px;
}

.brand-checkbox__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-result {
    margin-top: 80px;
    margin-bottom: 20px;
}

.shop-result._corner {
    margin-top: 40px;
}

.shop-result__list {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.shop-card {
    border-radius: 10px;
    background-color: var(--color-white);
    padding: 27px 15px 31px;
}

.shop-card__brand {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: 26px;
}

.shop-card__head {
    display: flex;
    align-items: center;
    justify-content: start;
    column-gap: 23px;
    margin-bottom: 10px;
}

.shop-card__title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
}

.shop-card__body--title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    margin-bottom: 15px;
}

.shop-card__map {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    width: 60px;
    height: 20px;
    background-color: var(--color-primary);
    font-size: var(--font-size-sm);
    color: var(--color-white);
    column-gap: 5.8px;
    font-family: "Zen Maru Gothic";
    font-weight: var(--font-weight-medium);
    transition: all 0.5s;
}

.shop-card__map:hover {
    transform: scale(1.05);
}

.shop-card__map img {
    width: 7.24px;
    height: 10px;
}

.shop-card__body {
    font-size: var(--font-size-base);
    line-height: 30px;
}

.shop-card__text {
    font-weight: bold;
}

.shop-card__label {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.shop-card__label span {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1px;
    padding: 10px 20px;
}


.shop-result__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 15.9px;
    margin-bottom: 44px;
}

.shop-result__title--image {
    width: 250px;
    height: 48.08px;
}

.shop-result__title--image img {
    width: 100%;
    height: auto;
}

.shop-result__title--pref {
    font-size: var(--font-size-xl);
    text-align: center;
}

.section__title--sub {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-light);
    text-align: center;
    color: var(--color-text);
    margin-bottom: 30px;
    margin-top: 30px;
}


@media (min-width: 768px) {
    .brand-checkboxes {
        margin-right: auto;
        margin-left: auto;
        width: 408px;
        row-gap: 40px;
    }

    .brand-checkboxes__top,
    .brand-checkboxes__bottom {
        flex-direction: row;
        flex-wrap: wrap;
        row-gap: 20px;
        column-gap: 52.7px;
    }

    .brand-checkbox__item {
        width: 177px;
    }

    .shop-result__list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }

    .shop-card {
        width: calc((100% - 10px)/2);
        padding: 27px 40px 31px;
    }

    .brand-checkboxes__title {
        font-size: var(--font-size-2xl);
        margin-bottom: 64px;
        column-gap: 17px;
    }

    .brand-checkboxes__title span {
        margin-top: 5px;
    }
}

@media (min-width: 1200px) {
    .shop-filter__inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .map-wrap {
        width: 702.05px;
        height: 635.64px;
        position: relative;
    }

    .map-host {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
    }

    .prefecture__wrap {
        position: absolute;
        top: 125px;
        left: 92px;
        z-index: 10;
    }

    .prefecture__wrap label {
        margin-bottom: 64px;
        font-size: var(--font-size-2xl);
    }

    .shop-result {
        margin-top: 106px;
    }

    .shop-result__title {
        row-gap: 20px;
    }

    .shop-result__title--image {
        width: 312px;
        height: 60px;
    }

    .shop-result__title--pref {
        font-size: var(--font-size-2xl);
    }

}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    margin-top: 30px;
}

.clear__button {
    width: 200px;
    height: 45px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size-base);
    font-family: "Zen Maru Gothic";
    background-color: var(--color-primary);
    font-weight: var(--font-weight-medium);
    color: var(--color-white);
    margin: auto;
    transition: all 0.5s;
    cursor: pointer;
    margin-top: 30px;
}

.clear__button:hover {
    scale: 1.1;
}