@charset "utf-8";
/*
Theme Name:京都府歯科医師会テーマ-府民の皆さま
Theme URI:
Description:「京都府歯科医師会テーマ」の子テーマです。
Template:kda
*/

.header-container {
    background-color: var(--global--color-dark-pink);
}

.sns-links>a {
    color: var(--global--color-dark-pink);
}


.key-visual .container {
    background: linear-gradient(140deg, rgba(232, 121, 177, 0.1254901961) 40%, rgba(109, 172, 234, 0.1254901961) 90% 100%);
}

.key-visual .container .kv_back_icons {
    background-image: url(/images/citizens/kv_back_icons_pc.svg);
}

@media (991px >=width) {
    .key-visual .container .kv_back_icons {
        background-image: url(/images/citizens/kv_back_icons_tablet.svg);
    }
}

@media (480px >=width) {
    .key-visual .container .kv_back_icons {
        background-image: url(/images/citizens/kv_back_icons_sp.svg);
    }
}

footer .copyright {
    background: linear-gradient(140deg, rgba(232, 121, 177, 0.1254901961) 40%, rgba(109, 172, 234, 0.1254901961) 90% 100%);
}


/* 歯科診療所検索 */
.search-container form {
    margin: 0;
}

.search-container .buttons .oval-button {
    margin: 0;
}

.search-container .buttons .oval-button .fa-stack .fa-arrow-right {
    rotate: 90deg;
}

.search-container .oval-button.active {
    background-color: var(--global--color-dark-pink);
    box-shadow: 4px 4px var(--global--color-pink);
    color: white;
}

.search-container .flex-box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
}

.search-container .flex-inner {
    width: calc((100% - 62px) / 3);
    text-align: center;
}

.search-container .flex-inner>strong {
    font-size: 20px;
    font-weight: bold;
    display: block;
    padding-block: 16px;
    height: 69px;
    border-radius: 15px 15px 0 0;
    border: 4px solid var(--global--color-dark-pink);
    background-color: var(--global--color-dark-pink);
    color: var(--global--color-white);
    box-sizing: border-box
}

.search-container .flex-inner .list-wrap {
    height: calc(100% - 69px);
    border-radius: 0 0 15px 15px;
    margin: 0;
    padding: 30px;
    border: 4px solid var(--global--color-dark-pink);
    border-top: none;
    background-color: var(--global--color-white);
    box-sizing: border-box
}

.search-container .flex-inner .list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.search-container .flex-inner .list input[type="radio"] {
    position: absolute;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
}

.search-container .flex-inner .list .area-label {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #FCD0E5;
    font-size: 15px;
    font-weight: bold;
    color: var(--global--color-dark-gray);
    padding: 0.7em 1em;
    cursor: pointer;
    border-radius: 50px;
}

.search-container .flex-inner .list-wrap input[type="radio"]:checked+.area-label {
    background-color: var(--global--color-dark-pink);
    cursor: default;
}

@media screen and (max-width: 1279px) {
    .search-container .flex-inner {
        width: calc((100% - 31px) / 2);
    }
}

@media screen and (max-width: 992px) {
    .search-container .flex-inner .list-wrap {
        padding: 20px;
    }

    .search-container .flex-inner .list .area-label {
        padding: 0.5em 0.7em;
    }
}

@media screen and (max-width: 767px) {
    .search-container .flex-inner {
        width: 100%;
    }
}


.search-container .zips-wrap-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.search-container .zips-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    font-weight: bold;
    font-size: 20px;
}

.search-container .zip {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.search-container .zips-wrap select,
.search-container .zips-wrap input {
    width: 150px;
    border: 4px solid var(--global--color-dark-pink);
    border-radius: 10px;
    font-weight: bold;
    height: 48px;
}

.search-container .zips-wrap .select-wrap {
    position: relative;
}

.search-container .zips-wrap .select-wrap::after {
    content: url(select-arrow.svg);
    display: block;
    font-size: 8px;
    position: absolute;
    right: 15px;
    bottom: 15px;
}

@media screen and (max-width: 480px) {
    .search-container .zips-wrap input {
        width: 100%;
    }

    .search-container .zips-wrap-wrap .zips-wrap,
    .search-container .zips-wrap .select-wrap {
        width: 100%;
    }

    .search-container .zips-wrap select {
        display: block;
        width: 100%;
        margin-top: 10px;
    }
}

.search-container .zips-wrap-wrap .submit-button {
    margin: 0;
}
.search-container .zips-wrap-wrap .submit-button input {
    width: 200px;
}

.search-container .checkbox-wrap {
    margin: 0;
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-weight: bold;
    font-size: 20px;
    padding: 0;
}
.search-container .checkbox-wrap li {
    cursor: pointer;
}


.search-container .checkbox-wrap input[type="checkbox"] {
    appearance: none;
    margin-right: 1em;
    width: 21px;
    height: 21px;
    vertical-align: 0px;
    border: 4px solid var(--global--color-dark-pink);
    border-radius: 2px;
    box-sizing: border-box;
    cursor: pointer;
}

.search-container .checkbox-wrap input[type="checkbox"]::before {
    position: relative;
    right: 2px;
    bottom: 1px;
    display: block;
    content: url(check.svg);
    scale: 0.6;
    opacity: 0;
    transform: translateY(-1px);
    transition: all 0.1s ease-in;
    cursor: pointer;
}

.search-container .checkbox-wrap input[type="checkbox"]:checked::before {
    opacity: 1;
}

.search-container .submit-button {
    width: fit-content;
}

.search-result-container .category {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 15px;
    font-weight: bold
}
@media screen and (max-width: 480px) {
    .search-result-container .category {
        justify-content: left;
        gap: 10px;
    }
}

.search-result-container .category span {
    background-color: var(--global--color-pink);
    padding: 0.7em 1em;
    border-radius: 50px;
}

.search-result-container .num {
    font-size: 20px;
}

.search-result-container .large {
    font-size: 26px;
}

.search-result-container .map {
    width: 100%;
    max-width: 1000px;
    aspect-ratio: 100 / 75;
}

/* 歯医者さんを探す　詳細 */
.search-single-container > .flex-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap-reverse;
    gap: 40px;
}

@media screen and (max-width: 992px) {
    .search-single-container > .flex-wrap {
        flex-direction: column-reverse;
    }
}
.search-single-container > .flex-wrap .btn-wrap {
    flex-grow: 1;
}
.search-single-container > .flex-wrap .btn-wrap a {
    margin-right: 0;
    margin-left: auto;
}
.search-single-container > .flex-wrap::before {
    content: "";
    display: block;
    width: 309px;
    flex-grow: 1;
}
.search-single-container .category {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.search-single-container .category span {
    font-weight: bold;
    padding: 0.2em 0.8em;
    border-radius: 5px;
    color: var(--global--color-white);
    background-color: var(--global--color-dark-gray);
}
.search-single-container .text-wrap {
    display: flex;
}
@media screen and (max-width: 992px) {
    .search-single-container .text-wrap {
        flex-direction: column;
    }
}
.search-single-container .text-wrap .lead {
    font-size: 20px;
    font-weight: bold;
    width: 100px;
}
.search-single-container .text-wrap .texts {
    width: calc(100% - 100px);
    padding-top: 6px;
}
.search-single-container .text-wrap .texts p.mt-40 {
    margin-inline: 0;
}
@media screen and (max-width: 992px) {
    .search-single-container .text-wrap .texts {
        width: 100%;
    }
}
.search-single-container .text-wrap .category {
    justify-content: flex-start;
    margin-bottom: 1.5em;
}