﻿@charset "utf-8";

/* 
飲食店一覧共通で使用するパーツ 
========================================================================== */

@media only screen and (min-width: 768px) {
    body.scrolled {
        padding-top: 75px;
    }
}


/* 見出し
========================================================================== */
.ttl03 {
    margin-bottom: 10px;
}

.ttl_search_category_area {
    color: #fff;
    min-height: 121px;
    margin: 10px 0 20px 0;
    width: 644px;
}

.ttl_search_category_inner {
    display: table-cell;
    height: 121px;
    padding-left: 20px;
    vertical-align: middle;
    width: 400px;
}

    .ttl_search_category_inner p {
        font-size: 1.3em;
    }

.ttl_search_category {
    font-size: 1.7em;
    line-height: 1.25;
    text-shadow: 0 0 3px rgb(146, 114, 46);
}

    .ttl_search_category .ttl_search_category_sub {
        display: block;
        font-size: .78em;
        font-weight: normal;
    }

    .ttl_search_category .sitename {
        display: inline-block;
        font-size: .78em;
    }

.family_restaurant {
    background: url(../image_cmn/ttl_family_restaurant.png) no-repeat;
}

.cafe {
    background: url(../image_cmn/ttl_cafe.png) no-repeat;
}

.chinese_food {
    background: url(../image_cmn/ttl_chinese_food.png) no-repeat;
}

.european_dish {
    background: url(../image_cmn/ttl_european_dish.png) no-repeat;
}

.fast_food {
    background: url(../image_cmn/ttl_fast_food.png) no-repeat;
}

.izakaya {
    background: url(../image_cmn/ttl_izakaya.png) no-repeat;
}

.japanese_food {
    background: url(../image_cmn/ttl_japanese_food.png) no-repeat;
}
.udon_soba {
    background: url(../image_cmn/ttl_udon-soba.png) no-repeat;
    background-size: contain;
}

.noodles {
    background: url(../image_cmn/ttl_noodles.png) no-repeat;
}

.okonomiyaki {
    background: url(../image_cmn/ttl_okonomiyaki.png) no-repeat;
}

.steakhouse {
    background: url(../image_cmn/ttl_steakhouse.png) no-repeat;
}

.sushi {
    background: url(../image_cmn/ttl_sushi.png) no-repeat;
}

.yakiniku {
    background: url(../image_cmn/ttl_yakiniku.png) no-repeat;
}

/* 市町村一覧
========================================================================== */
.city_accordion {
    background: #fff;
    border: solid 4px #e6b422;
    margin: 0 125px 0 82px;
}

.city_accordion_title {
    background: #fffcf0;
    border-bottom: solid 1px #d9ccb3;
    color: #000;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    list-style: none;
    margin: 1px;
    padding: 3px 10px 1px 20px;
    position: relative;
    text-align: left;
}
details summary {
    list-style: none;
}
summary::-webkit-details-marker {
    display: none;
}

    .city_accordion_title::after {
        background: url(/static/list/image_cmn/ico-filtering-arwdwn.png) no-repeat right center;
        bottom: 0;
        content: "";
        display: inline-block;
        height: 19px;
        margin: auto;
        position: absolute;
        right: 18px;
        top: 0;
        transform: rotate(180deg);
        width: 18px;
    }

.city_accordion[open] .city_accordion_title::after {
    transform: rotate(360deg);
}

.city_accordion .pref_info.li_town {
    padding-top: 10px;
}

    .city_accordion .pref_info.li_town li:not(:first-child) {
        margin-left: 0;
        width: 25%;
    }

.city_accordion .city_accordion_close {
    background: linear-gradient(to bottom, #c2ac7e 0%, #c2ac7e 51%, #ae9359 100%);
    border-radius: 4px;
    border: 1px solid #745f38;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2), inset 0px -3px 0px 0px rgba(0, 0, 0, 0.1);
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    margin: 4px auto 14px;
    padding: 6px 16px;
    position: relative;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .25);
    transition: none;
    text-align: center;
    width: 128px;
}

    .city_accordion .city_accordion_close:hover {
        opacity: .7;
    }

    .city_accordion .city_accordion_close::before {
        background-image: url(/static/list/image_cmn/lst-arw-01.png);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        height: 10px;
        line-height: 0;
        margin-top: -4px;
        position: absolute;
        right: 10px;
        top: 50%;
        width: 8px;
    }

/* 条件を変更する
========================================================================== */
.search_change_area {
    background: #fff;
    border: solid 4px #ae9359;
    /*box-shadow: 0px 0px 0px 1px #9e844e;*/
    margin: 0 82px;
}

    /*タイトル*/
    .search_change_area h2 {
        background: #ede6d6;
        border-bottom: solid 1px #d9ccb3;
        color: #000;
        cursor: pointer;
        font-size: 18px;
        font-weight: 600;
        margin: 1px;
        padding: 2px 10px 2px 42px;
        position: relative;
        text-align: left;
    }

        .search_change_area h2:after {
            background: url(/static/list/image_cmn/ico-filtering-arwdwn.png) no-repeat right center;
            bottom: 0;
            content: "";
            display: inline-block;
            height: 19px;
            margin: auto;
            position: absolute;
            right: 18px;
            top: 0;
            transform: rotate(180deg);
            width: 18px;
        }

        .search_change_area h2.open:after {
            transform: rotate(0deg);
        }

#fields_container {
    display: none;
}

.search_change_wrapper {
    padding: 10px 20px 6px;
}

    .search_change_wrapper.restaurant_name_wrapper {
        background-color: #eaf5ff;
        box-shadow: 0 3px 2px rgb(222, 239, 255) inset;
        padding-bottom: 3px;
        padding-top: 3px;
    }

.search_change_inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-direction: row;
    padding: 5px 0;
}

    .search_change_inner:last-child {
        border-bottom: none;
    }

    .search_change_inner:nth-child(2) dt img {
        top: 7px;
    }

    .search_change_inner dt {
        font-weight: 600;
        padding-left: 38px;
        position: relative;
        text-align: left;
        width: 25.5%;
    }

    .search_change_inner:nth-child(2) dt {
        line-height: 1.2;
        padding-top: .2em;
        padding-bottom: .2em;
    }

    .search_change_inner dt.ttl_short {
        letter-spacing: 8px;
    }

    .search_change_inner dt img {
        position: absolute;
        left: 0;
        top: -3px;
    }

.ico_cancel_after::after {
    content: url(../image_cmn/ico_cancel.png);
    cursor: pointer;
    margin-top: -9px;
    position: absolute;
    right: 2px;
    top: 50%;
}

.ico_cancel_after:hover {
    opacity: 0.5;
}

.ico_cancel_before {
    margin: 8px 8px 7px 20px;
    text-align: center;
}

    .ico_cancel_before::before {
        content: url(../image_cmn/ico_cancel.png);
        position: relative;
        bottom: -0.2em;
        margin-right: 0.4em;
    }

.btn_close {
    margin: 4px auto 14px;
    text-align: center;
    width: 128px;
}

    .btn_close a {
        background: linear-gradient(to bottom, #c2ac7e 0%,#c2ac7e 51%,#ae9359 100%);
        border-radius: 4px;
        border: 1px solid #745f38;
        box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2),inset 0px -3px 0px 0px rgba(0, 0, 0, 0.1);
        color: #fff;
        cursor: pointer;
        display: block;
        font-size: 14px;
        font-weight: 600;
        line-height: 20px;
        padding: 6px 16px;
        position: relative;
        text-shadow: 1px 1px 0 rgba(0, 0, 0, .25);
        transition: none;
    }

        .btn_close a:hover,
        .btn_close a:focus {
            background: linear-gradient(to bottom, rgb(163,137,82) 0%, rgb(133,111,65) 100%);
            color: #fff;
            text-shadow: 1px 1px 0 rgba(0, 0, 0, .25);
        }

        .btn_close a:before {
            background-image: url(/static/list/image_cmn/lst-arw-01.png);
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            height: 10px;
            line-height: 0;
            margin-top: -4px;
            position: absolute;
            right: 10px;
            top: 50%;
            width: 8px;
        }
/*検索条件内容*/
.search_change_content {
    width: 212px;
}

.search_change_content_frame {
    border-bottom: 1px solid #c1ad83;
    font-size: 17px;
    padding: 4px 30px 4px 4px;
    position: relative;
}

.cancel_txt {
    display: block;
    font-size: 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/*店名フォーム*/
.search_change_inner .input_txt input[type="text"],
#restaurant_name_searched .search_change_content_frame {
    background-color: #fff;
    border: solid 1px #80afd6;
    border-radius: 2px;
    box-shadow: 0 4px 4px rgba(0,0,0,0.1) inset;
    box-sizing: border-box;
    padding: 5px 4px;
    height: 30px;
    width: 100%;
    -webkit-appearance: none;
    font-size: .96em;
}

#restaurant_name_searched .search_change_content_frame {
    box-shadow: none;
    height: auto;
    padding: 4px 30px 4px 12px;
}

/*変更するボタン*/
.search_change_btn {
    margin-left: auto;
    text-align: center;
    width: 97px;
}

.search_change_inner .link_btn01 a {
    padding: 4px 9px;
}

    .search_change_inner .link_btn01 a:not(#name_search) {
        background: linear-gradient(to bottom, rgba(244,249,252,1) 0%,rgba(226,239,248,1) 100%);
    }

        .search_change_inner .link_btn01 a:not(#name_search):hover {
            background: rgb(245,242,235);
        }

    .search_change_inner .link_btn01 a:before,
    .search_change_inner .link_btn01 a:hover:before {
        content: none;
    }

/* 検索結果一覧
========================================================================== */
#list_aside01 {
    margin-bottom: -1px;
}

.mb10 + #list_aside01 {
    border-top: 1px solid #ddd6c8;
    padding-top: 16px;
    justify-content: center;
}

.ico_risa {
    font-size: 0.93em;
    margin-top: 2px;
    padding-right: 10px;
}

    .ico_risa img {
        position: relative;
        bottom: -0.2em;
        margin-right: 0.5em;
    }

.lst_ttl .ttl02 {
    overflow: hidden;
    vertical-align: middle;
}

.lst_ttl .ttl02 span {
    display: -webkit-inline-flex; /* Safari */
    display: inline-flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: space-between; /* Safari */
    justify-content: space-between;
    line-height: 28px;
}

    .lst_ttl .ttl02 > span {
        padding-left: 12px;
    }

    .lst_ttl .ttl02_02 span {
        display: block;
        line-height: 1.4;
    }

.lst_ttl .area_name {
    font-size: 1.4em;
}

.lst_ttl .lst_count {
    float: right;
}

/* お店ランキングエリア
========================================================================== */

/* 施設数 */
.totalcount {
    box-sizing: border-box;
    background: #dcf9e4;
    margin: 30px auto 24px;
    padding: .8em 1.5em;
    text-align: center;
    max-width: 568px;
    width: fit-content;
}

    .totalcount dl {
        font-size: 17px;
        font-weight: 600;
        line-height: 1.2;
    }

    .totalcount dt {
        display: inline-block;
        text-align: center;
    }

    .totalcount dd {
        border-top: 2px solid #61b578;
        display: inline-block;
        margin-top: 2px;
        padding-top: 5px;
        white-space: nowrap;
        width: 94%;
    }

    .totalcount .tcnum {
        color: #ff0000;
    }

    .totalcount + .route_box_title {
        margin-top: 30px;
    }

.rank_list._access {
    margin: 30px auto 0;
}



/*タブ*/
#ranking_area #ranking_tab {
    border-bottom: 5px solid #f75586;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    flex-direction: row;
}

    #ranking_area #ranking_tab li {
        background: rgb(233,225,209);
        background: -moz-linear-gradient(top, rgb(233,225,209) 0%, rgb(228,218,198) 100%);
        background: -webkit-linear-gradient(top, rgb(233,225,209) 0%, rgb(228,218,198) 100%);
        background: linear-gradient(to bottom, rgb(233,225,209) 0%, rgb(228,218,198) 100%);
        border: 1px solid #d7cbc4;
        border-bottom: none;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        box-shadow: 0 2px rgba(255,255,255,0.2) inset;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-size: 1.06em;
        margin-right: 8px;
    }

        #ranking_area #ranking_tab li:hover {
            background: #ede7da;
        }

        #ranking_area #ranking_tab li.selected,
        #ranking_area #ranking_tab li.selected:last-child {
            background: #f75586;
            background: -moz-linear-gradient(top, #f75586 0%, #f75586 100%);
            background: -webkit-linear-gradient(top, #f75586 0%, #f75586 100%);
            background: linear-gradient(to bottom, #f75586 0%, #f75586 100%);
            border-color: #f75586;
            color: #fff;
            cursor: default;
            padding: 10px 16px 4px;
        }

            #ranking_area #ranking_tab li.selected:last-child {
                border: 1px solid #d7cbc4;
                border-bottom: none;
                border-top-left-radius: 4px;
                border-top-right-radius: 4px;
            }

        #ranking_area #ranking_tab li a {
            color: #333;
            display: block;
            padding: 7px 16px;
        }

        #ranking_area #ranking_tab li:first-child {
            font-weight: 600;
        }

        #ranking_area #ranking_tab li:last-child {
            background: none;
            border: none;
            border-bottom: none;
            border-radius: 0;
            box-shadow: none;
            margin-right: 0;
        }

            #ranking_area #ranking_tab li:last-child a {
                padding: 0;
            }
/*内容エリア全体*/
#ranking_area .ranking_frame {
    background: #fff;
    border: 2px solid #bab0a7;
    border-top: none;
    padding: 0 14px 30px 14px;
}

/*内容エリア */
*:not(#ranking_tab) + #ranking_area .ranking_frame {
    border: 2px solid #bab0a7;
}

/*1店舗内容エリア*/
#ranking_area .ranking_item {
    border-bottom: solid 2px #bab0a7;
    padding-bottom: 20px;
    padding-top: 20px;
    margin: 0 -14px;
}

    #ranking_area .ranking_item:last-of-type {
        border-bottom: none;
        padding-bottom: 20px;
        margin-bottom: 0;
    }

#ranking_area .ranking_item.ex_facility {
    background: #fffce9;
}


/*情報エリア、ギャラリーの囲み枠*/
#ranking_area .ranking_frame_inner {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row-reverse; /* Safari */
    flex-direction: row-reverse; /* Safari */
    justify-content: space-between;
    -webkit-justify-content: space-between; /* Safari */
    margin: 0 14px;
}

/*情報エリア*/
#ranking_area .restaurant_info_erea {
    position: relative;
    width: 400px;
}

/* タイトル名称 */


/*レストラン名*/
#ranking_area .restaurant_name {
    position: relative;
    border-left: solid 4px #0168b7;
    font-size: 1.2em;
    padding: 4px 0 4px 10px;
    margin-bottom: 12px;
}

    #ranking_area .restaurant_name:has(.mrk_risachan) {
        padding-right: 84px;
    }

#ranking_area .ranking_item.ex_facility .restaurant_name {
    position: relative;
    border-left: none;
    font-size: 1.3em;
    padding-left: 55px;
    letter-spacing: 0.03rem;
    margin-bottom: 20px;
}
    #ranking_area .ranking_item.ex_facility .restaurant_name:before {
        content: "";
        position: absolute;
        display: block;
        background-image: url(../image_cmn/thumb-recommend.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 48px;
        height: 57px;
        top: -8px;
        left: 0px;
    }

/* 距離 */
.fa_distance {
    font-size: 0.778em;
    font-weight: normal;
}

/* ターミナル駅 */
.mrk_terminal {
    float: right;
    margin-top: 7px;
}

/*種別エリア*/
#ranking_area .classify_area {
    position: relative;
    min-height: 20px;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    justify-content: space-between;
    -webkit-justify-content: space-between; /* Safari */
    font-size: 0.93em;
    margin-bottom: 10px;
}

#ranking_area .lnk_group {
    position: absolute;
    right: 0;
}

/*住所*/
#ranking_area .address {
    margin-bottom: 3px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

    #ranking_area .address span,
    .access_litxt span {
        width: 81.5%;
    }

        #ranking_area .address span:first-child,
        .fa_address_access_title,
        .budget dt {
            display: inline-block;
            background: #eae3d4;
            width: 17%;
            padding: .2em .1em;
            text-align: center;
            margin-right: 0.5%;
            font-weight: 600;
            font-size: .9em;
            white-space: nowrap;
        }

#ranking_area .ranking_item.ex_facility .address span:first-child,
#ranking_area .ranking_item.ex_facility .fa_address_access_title {
    background: #EBC774;
}


/*交通アクセス*/
.fa_address {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 3px;
}

.fa_address_access_info {
    position: relative;
    margin-bottom: 5px;
}

.fa_address_access_info_train p {
    margin-bottom: .25em;
}

.fa_address_access_info:last-child {
    margin-bottom: 2px;
}

.fa_address_access_body {
    width: 81.5%;
}

.fa_address_access_info:not(:only-child) {
    padding-left: 0.75em;
}

.fa_address_access_info p {
    position: relative;
}

.fa_address_access_inner strong {
    font-size: 14px;
}

.fa_address_access_info p::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    background-color: #0c4594;
    position: absolute;
    top: 0.5em;
    left: -0.75em;
}

.fa_address_access_info:only-child p::before {
    content: none;
}

.fa_address_access_info_ic:first-child .fa_address_access_inner {
    width: 100%;
}

.fa_address_access_info .btn_search_map {
    border-width: 1px;
    width: auto;
    white-space: nowrap;
    padding: 2px 24px 2px 31px;
    height: auto;
    box-shadow: 0 1px 0 #0F3486;
    margin-left: 20px;
}

    .fa_address_access_info .btn_search_map a {
        background-color: transparent;
        border-radius: initial;
        border: 0 solid transparent;
        color: #0f3486;
        display: inline-block;
        font-size: 100%;
        font-weight: initial;
        line-height: initial;
        padding: 0;
        position: static;
        text-align: left;
    }

        .fa_address_access_info .btn_search_map a::before {
            content: "";
            display: inline-block;
            position: absolute;
            top: 50%;
            left: -17px;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-bottom: 6px solid transparent;
            border-left: 7px solid #0F3486;
            border-top: 6px solid transparent;
            border-radius: 0;
            background: none;
        }

        .fa_address_access_info .btn_search_map a:hover {
            color: #e24b58 !important;
            opacity: 1;
        }

/*平均予算*/
.budget {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: .5em;
}

    .budget dd {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        width: 81.5%;
    }

/*基本情報を見る　エリア*/
#ranking_area .basic_info_area {
    height: 24px;
    line-height: 26px;
    position: relative;
    display: flex;
    margin: 14px 0 12px 0;
}

.ico_basic_info {
}

    .ico_basic_info a {
        display: block;
        background: url(../image_cmn/ico_basic_info.png) no-repeat 0 0;
        position: relative;
        vertical-align: middle;
        padding-left: 26px;
    }

#ranking_area .mrk_risachan {
    position: absolute;
    top: 0;
    right: 5px;
}

#ranking_area .ranking_item.ex_facility .mrk_risachan {
    top: 15px;
    right: 0px;
}

/*件数*/
.count_area {
    background: #FFF;
    border-bottom: solid 1px #d5c7aa;
    border-top: solid 1px #d5c7aa;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    font-size: 14px;
    justify-content: center;
}

#ranking_area .ranking_item.ex_facility .count_area {
    border-color: #EBC774;
}

    .count_area dl {
        border-right: dashed 1px #d5c7aa;
        width: 100%;
    }

        .count_area dl:first-child {
            border-left: solid 1px #d5c7aa;
        }
        
        .count_area dl:last-child {
            border-right: solid 1px #d5c7aa;
        }

        #ranking_area .ranking_item.ex_facility .count_area dl {
            border-color: #EBC774;
        }

        .count_area dl dt,
        .count_area dl dd {
            margin: 8px 5px 8px 6px;
        }

        .count_area dl dt {
            padding-left: 24px;
            text-align: center;
            text-indent: -24px;
            white-space: nowrap;
            font-size: 13.5px;
        }

            .count_area dl dt a {
                font-weight: 600;
                white-space: nowrap;
            }

        .count_area dl dd {
            font-size: 13px;
        }
        
        .count_area dl:nth-child(1):nth-last-child(2) dd,
        .count_area dl:nth-child(2):nth-last-child(1) dd,
        .count_area dl:nth-child(1):nth-last-child(1) dd {
            text-align: center;
        }

        .count_area dl .all_count .all_count_num {
            font-weight: 600;
        }

.letter_s {
    letter-spacing: -1px;
}

.ico_buzz02::before {
    content: url(../image_cmn/ico_buzz02.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.2em;
}

.ico_photo02::before {
    content: url(../image_cmn/ico_photo02.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.3em;
}

.ico_movie02::before {
    content: url(../image_cmn/ico_movie02.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.3em;
}

/*ポイント2倍*/
.point_double {
    border-radius: 4px;
    color: #fff;
    text-align: center;
    padding: 1px;
    background: #999;
}

.count_area .review {
    background: #dc5d73;
}

.count_area .photo {
    background: #f9a002;
}

.count_area .movie {
    background: #399ea4;
}

/*全店舗　件数*/
.all_count {
    text-align: right;
    margin: 10px;
}

.all_count_slash {
    margin: 0 2px;
}


/*投稿写真*/
#ranking_area .gallery_area {
    position: relative;
    width: 162px;
    min-height: 162px;
}

.photo_area {
    position: relative;
    height: 168px;
}

#ranking_area .gallery_area .mainphoto {
    position: absolute;
    box-shadow: 0px 0px 0px 1px #c7b9a2;
    height: 162px;
    width: 162px;
    padding: 2px;
    margin-bottom: 6px;
    overflow: hidden;
}

#ranking_area .gallery_area .thumb {
    position: relative;
    margin-top: 168px;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    justify-content: space-between;
    -webkit-justify-content: space-between; /* Safari */
}

#ranking_area .gallery_area > .thumb li {
    border: solid 1px #c7b9a2;
    height: 48px;
    width: 48px;
    overflow: hidden;
}

    #ranking_area .gallery_area > .thumb li:hover img {
    }

    #ranking_area .gallery_area > .thumb li.no_image:hover {
        cursor: default;
        opacity: 1;
    }

    #ranking_area .gallery_area > .thumb li.active {
        border-color: #7c5009;
        border-width: 2px;
        opacity: 0.7;
    }

    #ranking_area .gallery_area > .thumb li img {
        border: 1px solid #fff;
    }

/**投稿写真なし*/
.ranking_no_image {
    border: solid 1px #c7b9a2;
    box-sizing: border-box;
    width: 162px;
    padding: 2px;
}

/*口コミエリア*/
#ranking_area .review_area {
    background: #f3f0eb;
    font-size: 0.93em;
    padding: 10px;
    margin: 10px 14px 0;
}

#ranking_area .ranking_item.ex_facility .review_area {
    background: #EDE6D6;
}

.review_area .ico_buzz02 {
    font-weight: 600;
}

#ranking_area .review_txt {
    margin: 5px 0 0 10px;
}

/*投稿なし*/
.post_none {
    color: #999;
}

/*グレーアイコン*/
.ico_basic_info_g.post_none {
    background: url(../image_cmn/ico_basic_info_g.png) no-repeat 0 0;
    position: relative;
    vertical-align: middle;
    padding-left: 26px;
}

.ico_buzz02_g::before {
    content: url(../image_cmn/ico_buzz02_g.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.2em;
}

.ico_photo02_g::before {
    content: url(../image_cmn/ico_photo02_g.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.5em;
}

.ico_movie02_g::before {
    content: url(../image_cmn/ico_movie02_g.png);
    position: relative;
    bottom: -0.2em;
    margin-right: 0.5em;
}

/* 人気ランキング
========================================================================== */
/* 人気ポイント*/
.ranking_rating {
    border: solid 2px #fbcc84;
    border-radius: 5px;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    padding: 10px 20px;
    margin: 15px 0 5px;
}

    .ranking_rating .rating_ttl {
        color: #cc6600;
        font-weight: 600;
        font-size: 1.06em;
        width: 170px;
    }

    .ranking_rating .rating_txt {
        text-align: right;
        width: 80px;
    }

/*評価基準に達していない場合*/
.ranking_rating_none .rating_ttl {
    width: 120px;
}

.ranking_non_txt {
    font-size: 15px;
}

/* 店名検索
========================================================================== */
.search_word {
    background: #ffa8b7;
    color: #333;
}

/* 検索結果0件 */
.notlist_frame {
    background: #fff;
    border: 2px solid #bab0a7;
    padding: 30px 20px;
    margin-bottom: 30px;
    text-align: center;
}

/* モーダル
========================================================================== */
/*モーダル基本スタイル*/
/*背景*/
#modal_area01 {
    background: #fff;
    position: relative;
}

/*閉じるボタン*/
.btn_modal_close {
    position: absolute;
    right: 12px;
    top: 12px;
}

/*モーダル　タイトル*/
.modal_ttl01 {
    background: rgb(245,242,235);
    background: -moz-linear-gradient(top, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    background: -webkit-linear-gradient(top, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    background: linear-gradient(to bottom, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    border: solid 1px #fff;
    border-bottom: solid 1px #d9ccb3;
    font-size: 1.25em;
    font-weight: normal;
    padding: 10px 20px;
}

.modal_ttl02 {
    border-left: solid 5px #0168b7;
    font-size: 1.2em;
    padding: 0 0 0 8px;
    margin-bottom: 15px;
}

.modal_ttl03 {
    background: rgb(245,242,235);
    background: -moz-linear-gradient(top, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    background: -webkit-linear-gradient(top, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    background: linear-gradient(to bottom, rgb(245,242,235) 0%, rgb(235,228,214) 100%);
    border: solid 1px #fff;
    border-bottom: solid 2px #dbccb5;
    color: #000;
    font-size: 1.4em;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 10px 20px 10px 30px;
}

/*モーダル　インナー枠*/
.modal_inner {
    padding: 0 20px 20px 20px;
}

/*---------------------------------------- 
一覧検索モーダル共通
---------------------------------------- */
.fancybox-inner {
    overflow: hidden;
    height: auto !important;
}

.modal_w700 {
    width: 700px;
}

.modal_w820 {
    width: 820px;
}

/*タイトル　パンくず*/
.ttl_breadcrumb a {
    margin-right: 40px;
}

    .ttl_breadcrumb a::after {
        content: url(/static/image_cmn/img_arw04_icon01.png);
        position: relative;
        right: -20px;
    }

/*リスト*/
.modal_list01,
.modal_list02 {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.06em;
}

    .modal_list01 li,
    .modal_list02 li {
        margin: 0 20px 20px 25px;
        white-space: nowrap;
        width: 170px;
    }

.modal_list_cus li {
    width: 200px;
}

    .modal_list_cus li a,
    .modal_list_cus01 li a,
    .modal_list_cus02 li a {
        display: block;
        float: left;
        max-width: 155px;
        overflow: hidden;
        padding-left: 10px;
        position: relative;
        text-overflow: ellipsis;
    }

.modal_list_cus01 li a {
    max-width: 130px;
}

.modal_list02 li {
    width: 280px;
}

.modal_list_cus02 li a {
    margin-left: -10px;
    max-width: 210px;
}

.modal_list_cus01 li.modal_list01_first a,
.modal_list_cus02 li.modal_list01_first a {
    max-width: calc(100% - 85px);
}

.modal_list01 li a,
.modal_list02 li a {
    position: relative;
}

    .modal_list01 li a:before,
    .modal_list02 li a:before {
        content: url(/static/image_cmn/img_arw01_icon01.png);
        left: 0;
        position: absolute;
        top: -3px;
    }

.modal_list01 li.short,
.modal_list02 li.short {
    width: 200px;
}

.modal_list01 li.middle,
.modal_list02 li.middle {
    width: 300px;
}

.modal_list01 li.long,
.modal_list02 li.long {
    width: 400px;
}

li.modal_list01_first {
    border-bottom: dashed 1px #d5c7aa;
    margin: 0 0 20px;
    padding: 0 10px 10px 25px;
    white-space: inherit;
    width: 100%;
}

    li.modal_list01_first:last-child {
        border: none;
    }

.modal_list01 .hit_count,
.modal_list02 .hit_count {
    font-size: 0.75em;
    color: #333;
}

    .modal_list01 .hit_count.not_hit,
    .modal_list02 .hit_count.not_hit {
        color: #999;
    }

.fancybox-close-small {
    display: none;
}

/* ---------------------------------------
地域から探す
---------------------------------------- */
/*全国
---------------------------------------- */
.prefectures_area {
    border-bottom: dashed 1px #d5c7aa;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    font-size: 1.06em;
    padding: 10px 0 0 0;
    width: 100%;
}

.prefectures_ttl {
    width: 17%;
    font-weight: 600;
}

.prefectures_inner {
    width: 83%;
}

.prefectures {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

    .prefectures li {
        border-right: solid 1px #adadad;
        padding: 0px 20px;
        margin-bottom: 10px;
    }

        .prefectures li:last-child {
            border-right: none;
        }

.fancybox-caption-wrap {
    display: none;
}

.fancybox-slide > * {
    padding: 0;
}

/*県
---------------------------------------- */
/*タブ*/
#city_tab_area #city_tab {
    border-bottom: 5px solid #0168b7;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    flex-direction: row;
    margin-bottom: 20px;
}

    #city_tab_area #city_tab li {
        background: #f4f0e8;
        border: 1px solid #d9ccb3;
        border-bottom: none;
        color: #1863e0;
        font-size: 1.06em;
        padding: 7px 12px 7px;
        margin-right: 8px;
        text-align: center;
        display: -webkit-flex; /* Safari */
        display: flex;
        -webkit-flex-wrap: wrap; /* Safari */
        flex-wrap: wrap;
        -webkit-align-items: center; /* Safari */
        align-items: center;
        -webkit-justify-content: center; /* Safari */
        justify-content: center;
    }

        #city_tab_area #city_tab li span {
            color: #333;
            white-space: nowrap;
        }

            #city_tab_area #city_tab li span.area_name_count {
                color: #333;
                font-size: 0.75em;
            }

        #city_tab_area #city_tab li:hover {
            background: #ede7da;
        }

        #city_tab_area #city_tab li.selected {
            background: #0168b7;
            border: 1px solid #0168b7;
            border-bottom: none;
            color: #fff;
            cursor: default;
        }

            #city_tab_area #city_tab li.selected span {
                color: #fff;
            }

                #city_tab_area #city_tab li.selected span.area_name_count {
                    font-size: 0.75em;
                }

/*区詳細
---------------------------------------- */
/*タブ*/
.ku_detail_tab_area .ku_detail_tab {
    border-bottom: 5px solid #093888;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    flex-direction: row;
    margin-bottom: 20px;
}

    .ku_detail_tab_area .ku_detail_tab li {
        background: #093888;
        border: 1px solid #05255a;
        border-bottom: none;
        color: #fff;
        font-size: 1.06em;
        padding: 7px 16px;
        margin-right: 8px;
    }

        .ku_detail_tab_area .ku_detail_tab li span {
            color: #fff;
            font-size: 0.75em;
        }

/* ---------------------------------------
お店のカテゴリから探す
---------------------------------------- */
/*すべて
---------------------------------------- */
.category_list {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: space-between; /* Safari */
    justify-content: space-between;
    margin-bottom: -12px;
    padding: 0 18px;
    position: relative;
}

    .category_list li {
        font-weight: 600;
        height: 158px;
        margin-bottom: 10px;
        position: relative;
        white-space: nowrap;
        width: 196px;
    }

        .category_list li[class^="ico_"] {
            background-repeat: no-repeat;
            background-size: 100%;
        }

.ico_family_restaurant {
    background: url(/static/image/thumb_cate_photo01.jpg);
}

.ico_fast_food {
    background: url(/static/image/thumb_cate_photo02.jpg);
}

.ico_steakhouse {
    background: url(/static/image/thumb_cate_photo03.jpg);
}

.ico_european_dish {
    background: url(/static/image/thumb_cate_photo04.jpg);
}

.ico_japanese_food {
    background: url(/static/image/thumb_cate_photo05.jpg);
}

.ico_udon_soba {
    background: url(/static/image/thumb_cate_photo13.jpg);
}

.ico_izakaya {
    background: url(/static/image/thumb_cate_photo06.jpg);
}

.ico_sushi {
    background: url(/static/image/thumb_cate_photo07.jpg);
}

.ico_yakiniku {
    background: url(/static/image/thumb_cate_photo09.jpg);
}

.ico_okonomiyaki {
    background: url(/static/image/thumb_cate_photo08.jpg);
}

.ico_chinese_food {
    background: url(/static/image/thumb_cate_photo10.jpg);
}

.ico_noodles {
    background: url(/static/image/thumb_cate_photo11.jpg);
}

.ico_cafe {
    background: url(/static/image/thumb_cate_photo12.jpg);
}

.category_list li[class^="ico_"] a,
.category_list li[class^="ico_"] > span {
    border: 2px solid #f75586;
    color: #fff;
    display: block;
    font-size: 1em;
    height: 100%;
    position: relative;
    text-align: center;
    width: 100%;
}

.category_list li[class^="ico_"] > span {
    border-color: #ddd;
}

.category_list li[class^="ico_"] a span,
.category_list li[class^="ico_"] > span span {
    background-color: #f75586;
    bottom: 0;
    left: 0;
    padding: 5px 10px 3px 22px;
    position: absolute;
    width: 100%;
}

.category_list li[class^="ico_"] > span span {
    background-color: #ddd;
    color: #888;
}

.category_list li[class^="ico_"] a span::before {
    background: url(/static/image_cmn/img_arw03_icon02.png) no-repeat left 0 bottom 5px/100% auto;
    bottom: 0;
    content: "";
    height: 100%;
    left: 7px;
    position: absolute;
    width: 9px;
}

.category_list li[class^="ico_"]:hover {
    opacity: .8;
}

.category_list li[class^="ico_"] a:hover {
    border-color: #f75586;
        
}

.category_list li[class^="ico_"] a:hover span {
    background-color: #f75586;
}

#classification_Box .category_list {
    margin-bottom: 0;
    padding: 0;
}

    #classification_Box .category_list li[class^="ico_"] {
        height: 144px;
        width: 178px;
    }

        #classification_Box .category_list li[class^="ico_"] a {
            font-size: .93em;
        }

            #classification_Box .category_list li[class^="ico_"] a span::before {
                width: 8px;
            }

.category_list:after {
    background: url(/static/image/card_category.png) no-repeat center center / contain;
    bottom: 3%;
    content: '';
    display: block;
    height: 150px;
    position: absolute;
    right: 4%;
    width: 178px;
}

/* ---------------------------------------
50音リストから探す
---------------------------------------- */
.gojuon_list_area {
    width: 550px;
    margin: 0 auto;
}

#gojuon_list {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-direction: row; /* Safari */
    flex-direction: row;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 30px;
}

    #gojuon_list ul {
        font-size: 1.2em;
        font-weight: 600;
        letter-spacing: 3px;
        text-align: center;
        width: 198px;
    }

    #gojuon_list li {
        margin-bottom: 5px;
    }

        #gojuon_list li a {
            padding: 11px 20px;
        }

            #gojuon_list li a::before {
                margin-top: -4px;
            }

    #gojuon_list.gojuon2 {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -3px;
        margin-right: -3px;
    }

        #gojuon_list.gojuon2 ul {
            display: -webkit-flex; /* Safari */
            display: flex;
            -webkit-flex-direction: row; /* Safari */
            flex-direction: row;
            -webkit-justify-content: space-between;
            justify-content: space-between;
            width: 258px;
        }

            #gojuon_list.gojuon2 ul li {
                margin-bottom: 32px;
            }

        #gojuon_list.gojuon2 li a {
            font-size: 1em;
            font-weight: 100;
            padding: 5px 0 4px 3px;
            width: 40px;
        }

            #gojuon_list.gojuon2 li a:not(:hover) {
                background: #f8e7c2;
                border: solid 1px #ae9359;
                box-shadow: 0 2px 2px rgb(0 0 0 / 20%), 0 -2px 0 rgb(0 0 0 / 10%) inset, 0 2px 0 rgb(255 255 255) inset;
            }

            #gojuon_list.gojuon2 li a:before {
                content: none;
            }

        #gojuon_list.gojuon2 li span {
            background: #eee;
            border: 1px solid #ddd;
            border-radius: 4px;
            color: #aaa;
            display: block;
            font-size: 1.2em;
            padding: 3px 0 2px 3px;
            width: 40px;
        }

/* ---------------------------------------
周辺の施設情報
---------------------------------------- */
/* なかった場合 */
.other_syuhen {
    border-top: solid 2px #dcd0b8;
    margin: 30px auto 0;
    padding-top: 20px;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
}

    .other_syuhen .link_btn01 {
        width: 270px;
        margin: 7px;
    }

/*----------------------------
 近隣エリア
----------------------------*/

.near_area_cate .area_list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px 0 22px;
}

    .near_area_cate .area_list li {
        background-color: #e1658d;
        border-radius: 5px;
        border-bottom: solid 3px #d64d74;
        box-sizing: border-box;
        font-size: 14px;
        height: 32px;
        line-height: 32px;
        text-align: center;
        margin: 0 5px 10px;
    }

        .near_area_cate .area_list li:hover {
            background-color: #f17ca2;
        }

.near_area_cate .area_list li a {
  color: #fff;
  display: inline-block;
  letter-spacing: 0.1em;
  padding: 0 15px;
}

.area_list_pref {
  row-gap: 5px;
  display: flex;
  flex-wrap: wrap;
  padding: 0 20px 0 27px;
}
.area_list_pref li::after {
  color: #000;
  content: '｜';
  padding: 0;
  margin: 0;
}
.area_list_pref li a {
  display: inline-block;
  letter-spacing: .05em;
  padding: 0;
}

.area_list_pref li.no_link {
  color: #a0a0a0;
}

/*----------------------------
県の一覧に市区町村一覧
----------------------------*/
.pref_info {
    margin: 0 11px 0 18px;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    padding-top: 10px;
}

    .pref_info li {
        width: 33%;
        text-align: left;
        position: relative;
        padding-left: 20px;
        margin: 0 0 .25em 0;
        box-sizing: border-box;
        letter-spacing: normal;
    }

        .pref_info li:before {
            content: '';
            position: absolute;
            top: 6px;
            left: 5px;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 4px 0 4px 6px;
            border-color: transparent transparent transparent #f2618c;
        }

        .pref_info li a {
            font-weight: 600;
        }

    .pref_info + .pref_info {
        border-top: solid 1px #bab0a7;
        margin-top: .5em;
        padding-top: .75em;
    }

    .pref_info.li_town + .pref_info {
        border-color: #d2d2d2;
    }

    .pref_info.li_town li:first-child {
        width: 100%;
        letter-spacing: .1em;
    }

    .pref_info.li_town li:not(:first-child) {
        width: calc( 25% - 4em);
        margin-left: 1em;
    }

.read01 + .note {
    margin-top: -27px;
    padding-bottom: 30px;
}

/* ---------------------------------------
飲食店のカテゴリを絞り込む
---------------------------------------- */
.tit_category_change {
    border-left: solid 6px #ad925a;
    font-size: 1.2em;
    padding: 0 0 0 10px;
    margin-bottom: 12px;
}

.category_list2,
.category_list3 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: left;
    justify-content: left;
    flex: 0 1 100%;
    margin-bottom: 30px;
}

.category_list2 {
    margin-bottom: 10px;
}

.category_list3 {
    margin-bottom: 10px;
}

    .category_list2 li,
    .category_list3 li {
        width: calc(25% - 15px / 4);
        height: 30px;
        margin-right: 5px;
        text-align: center;
    }

        .category_list2 li:nth-child(4n) {
            margin: 0 0 7px 0;
        }

        .category_list3 li:nth-child(4n) {
            margin-right: 0;
            margin-bottom: 5px;
        }

        .category_list2 li span {
            display: inline-block;
        }

        .category_list2 li a,
        .category_list3 li a {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;
            padding: 3px 0px 4px 10px;
            height: 100%;
            line-height: 1;
            font-size: 0.78em;
            border-radius: 4px;
            background: #ede6d6;
            border: solid 1px #ae9359;
            box-shadow: 0 2px 2px rgb(0 0 0 / 20%), 0 -2px 0 rgb(0 0 0 / 10%) inset,inset 0 2px 0 rgb(255,255,255);
            color: #000;
            cursor: pointer;
            transition: none;
        }

        .category_list3 li a {
            padding-left: 7px;
            font-weight: normal;
            background-color: #d4f7f2;
            border: 1px solid #2fa08c;
            box-shadow: inset 0 -2px 0 #2fa08c;
        }

        .category_list3 li:not(.nolink) a:hover {
            background-color: #fff;
        }

        .category_list3 li.nolink a {
            font-weight: 600;
            box-shadow: none;
            background-color: #60dcc8;
            pointer-events: none;
        }

    .category_list3.link_btn01 li:not(.nolink) a:hover {
        border: 1px solid #3fc2ac;
        color: #000;
        background-color: #fff;
    }

.category_list2.link_btn01 a:hover:before {
    content: "";
    left: 8px;
    margin-top: -4px;
    border-style: solid;
    border-width: 3px 0 3px 3.5px;
    border-color: transparent transparent transparent #e24b58;
}

.category_list2 a:not(:hover):before {
    left: 8px;
    content: '';
    width: 0;
    height: 0;
    margin-top: -4px;
    border-style: solid;
    border-width: 3px 0 3px 3.5px;
    border-color: transparent transparent transparent #ae9359;
}

.category_list3 a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 8px;
    width: 0;
    height: 0;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 3px 0 3px 3.5px;
    border-color: transparent transparent transparent #2fa08c;
}

.category_list2 li.nolink a::before,
.category_list3 li.nolink a::before {
    content: none;
}
/* リスト全体の横並び */
.lst_srch_buttons {
    display: flex;
    padding: 0 12px;
}

.lst_srch_btn {
    flex: 0 0 calc(20% - 5px);
    height: 30px;
    margin-right: 5px;
    text-align: center;
}

.lst_srch_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 3px 0px 4px 10px;
    height: 100%;
    line-height: 1;
    font-size: 0.78em;
    font-weight: 600;
    border-radius: 4px;
    color: #fff;
}

    .lst_srch_link.lst_srch_category_link:hover::after {
        border-color: transparent transparent transparent #e24b58;
    }

        .lst_srch_link.lst_srch_city_link:not(.nolink):hover::after {
            border-color: transparent transparent transparent #075c4e;
        }

.lst_srch_category_link {
    border: 1px solid #6c5421;
    background-color: #ae9359;
    box-shadow: inset 0 -2px 0 #6c5421;
}

.lst_srch_city_link {
    border: 1px solid #075c4e;
    background-color: #0f8572;
    box-shadow: inset 0 -2px 0 #075c4e;
}

    .lst_srch_category_link.nolink,
    .lst_srch_city_link.nolink {
        box-shadow: none;
        padding-left: 0;
        pointer-events: none;
    }

        .lst_srch_city_link.nolink:hover {
            color: #000;
        }

.lst_srch_link span {
    display: inline-block;
}

/* カテゴリ毎カラー */


/* グレーボタン */
.btn_gray {
    display: inline-block;
    font-size: 0.9em;
    background: rgb(234, 234, 234);
    background: -webkit-linear-gradient(top, rgb(234, 234, 234) 0%, rgb(221, 221, 221) 100%);
    background: linear-gradient(to bottom, rgb(234, 234, 234) 0%, rgb(221, 221, 221) 100%);
    border: 1px solid #9e9e9e;
    border-radius: 4px;
    color: #999;
    padding: 5px 2px 6px 8px;
    width: 100%;
    display: block;
    position: relative;
}

span.btn_gray:before {
    content: url(/static/detail/image_cmn/img_arw01_icon01_g.png);
    left: 10px;
    line-height: 0;
    margin-top: -3px;
    position: absolute;
    top: 50%;
}

/* 定番スタイル-調整など
========================================================================== */
/* ---------------------------------------
マージン
---------------------------------------- */
.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

.mt10 {
    margin-top: 10px;
}

/* ---------------------------------------
パディング
---------------------------------------- */
.pl10 {
    padding-left: 10px;
}

.pl20 {
    padding-left: 20px;
}

.pl30 {
    padding-left: 30px;
}

.pl40 {
    padding-left: 40px;
}

.pl50 {
    padding-left: 50px;
}

.pl60 {
    padding-left: 60px;
}

.pl70 {
    padding-left: 70px;
}

.pl80 {
    padding-left: 80px;
}

.pr10 {
    padding-right: 10px;
}

.pr20 {
    padding-right: 20px;
}

.pr30 {
    padding-right: 30px;
}

.pr40 {
    padding-right: 40px;
}

.pr50 {
    padding-right: 50px;
}

.pr60 {
    padding-right: 60px;
}

.pr70 {
    padding-right: 70px;
}

.pr80 {
    padding-right: 80px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb60 {
    padding-bottom: 60px;
}

.pb70 {
    padding-bottom: 70px;
}

/* ---------------------------------------
フォントWeight
---------------------------------------- */
.txt_normal {
    font-weight: normal;
}

.ku_detail_cus .modal_list01 {
    padding-bottom: 5px;
    position: relative;
}

    .ku_detail_cus .modal_list01:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: calc(100% - 30px);
        border: 1px solid #0e3a86;
        margin: 0 auto;
    }

    .ku_detail_cus .modal_list01 li {
        margin-left: 15px;
        margin-right: 30px;
    }

        .ku_detail_cus .modal_list01 li a {
            font-weight: 600;
            color: #1f67dc;
        }

            .ku_detail_cus .modal_list01 li a:hover, a:focus {
                color: #e24b58;
            }

.ku_ttl {
    padding-left: 5px;
    border-left: 5px solid #ae9359;
    font-weight: 600;
    color: #000;
    margin-bottom: 18px;
    margin-left: 15px;
    line-height: 1.7;
    padding-top: 3px;
}

.ku_detail_cus dd ~ .ku_ttl {
    margin-top: 30px;
}

.ku_detail_cus dd:last-child .modal_list_cus01:after {
    display: none;
}

.ku_detail_cus .modal_list01 .hit_count {
    color: #000;
}

.modal_cus {
    padding-bottom: 5px;
}

/* ---------------------------------------
button search map
---------------------------------------- */
.text_address {
    margin-bottom: 14px;
    display: flex;
}

    .text_address .address {
        margin-bottom: 0px;
        width: 100%;
    }

.btn_search_map {
    align-items: baseline;
    background: #fff;
    border: 2px solid #0F3486;
    box-shadow: 0 3px 0 #0F3486;
    border-radius: 19px;
    box-sizing: border-box;
    display: inline-block;
    font-size: 13px;
    line-height: 1.5;
    padding: 4px 0 3px 31px;
    width: 125px;
    height: 30px;
    color: #0f3486;
    position: relative;
}

.fa_address .btn_search_map {
    border-radius: 3px;
}

.btn_search_map:before {
    content: "";
    height: 14px;
    left: 9px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    background: url(../image_cmn/ico-search-route.png) no-repeat center/100%;
}

.btn_search_map:after {
    border-bottom: 4px solid transparent;
    border-left: 6px solid #0F3486;
    border-top: 4px solid transparent;
    content: "";
    position: absolute;
    right: 8px;
    top: calc(50% - 4px);
}

.sup_search_map {
    align-items: center;
    margin: 0 32px 20px 32px;
}

.text_search_map {
    text-align: left;
    line-height: 1.8;
}

    .text_search_map img {
        margin-right: 8px;
    }

.restaurant_highway {
    display: flex;
}

    .restaurant_highway .restaurant_name {
        width: calc(100% - 125px);
    }

/* readmore */
.js_cm_readmore {
    display: inline;
    margin-top: 5px;
}

.js_cm_readmore_btn {
    display: inline;
    float: right;
    margin-top: 0;
    padding-right: 5px;
    text-align: right;
}

.js_cm_readmore_hid {
    display: none;
}

.js_cm_readmore_close,
.js_cm_readmore_open {
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    padding-right: 10px;
    position: relative;
    text-align: center;
    transition: none;
    width: auto;
}

.js_cm_readmore_close {
    display: none;
}

    .js_cm_readmore_close:hover,
    .js_cm_readmore_close:focus,
    .js_cm_readmore_open:hover,
    .js_cm_readmore_open:focus {
        opacity: .8;
    }

    .js_cm_readmore_open:after,
    .js_cm_readmore_close:after {
        content: url(/static/image_cmn/img_arw01_icon01.png);
        line-height: 0;
        position: absolute;
        right: 0;
        top: 8px;
        transform: rotate(90deg);
    }

.js_cm_readmore_open:after {
    transform: rotate(90deg);
}

.js_cm_readmore_close:after {
    transform: rotate(-90deg);
}

.js_cm_readmore_dots {
    margin-left: 5px;
}

.readmore_wrapper {
    margin-left: 5px;
    margin-top: 5px;
}

.readmore_wrapper:after {
  clear: both;
  content: "";
  display: block;
}

/*直線距離表示*/
.distance_indication {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 5px;
}

#ranking_area .ranking_item.ex_facility .distance_indication {
    margin-bottom: 12px;
}

.distance_text {
    margin-right: 5px;
    width: calc(100% - 130px);
}

.distance_text span:not(.bold) {
    color: #f00;
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 600;
}
.distance_text span.bold {
    font-weight: 600;
}

.lst_srch_syuhen_buttons .link_btn01 a:before {
    margin-top: auto;
}

/* 地域選択ページ ボタン */
.joken_btn_box {
  display: flex;
  margin: 20px 8px 0;
}
.joken_btn_box .joken_btn_detail {
  align-items: center;
  background-image: linear-gradient(to bottom, #0076d0  0%, #0069b8  100%);
  border-radius: 5px;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Hiragino Sans", ヒラギノ角ゴシック, Meiryo, "メイリオ", YuGothic, "游ゴシック", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.001em;
  position: relative;
  padding: 8px 26px 8px 10px;
  min-height: 46px;
  text-align: center;
  width: 393px;
}
.joken_btn_box .joken_btn_detail:after {
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 9px solid #fff;
  border-right: 0;
  content: "";
  height: 0;
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
}

.joken_btn_box .joken_btn_detail span span {
 display: inline-block;
}

.joken_btn_box .joken_btn_detail + .joken_btn_detail {
  margin-left: 30px;
}
.joken_btn_box .joken_btn_detail.btn_gray {
  background-image: none;
  background-color: #D3D8D1;
  color: #647260;
  pointer-events: none;
  width: 208px;
}
.joken_btn_box .joken_btn_detail.btn_gray:after {
  border-left: 9px solid #647260;
}
.joken_btn_box .joken_btn_detail:hover {
  opacity: 0.7;
  color: #fff;
}

/*----------------------------------
 検索条件
 ----------------------------------*/
/*  キーワード検索見出し  */
.nav_srch_ttl {
    text-align: center;
}

.nav_srch_inner {
    border-bottom: 2px solid #e6b422;
    display: inline;
    font-size: 20px;
    font-weight: 600;
    padding: 3px 3px;
}

/* カテゴリ横断検索  #nav_srch_category */

.nav_srch_category_box {
    background: #fffcf0;
    border: 3px solid #e6b422;
    margin: 14px auto 22px;
    width: 620px;
}

.box_srch_category {
    width: 556px;
    margin: 20px auto 1em;
}

.att_about_post_s + #nav_srch_category .box_srch_category {
    margin: 20px auto 0;
}

.box_srch_category dt {
    box-sizing: border-box;
    border-bottom: 2px solid #e6b422;
    margin: 0 auto;
    position: relative;
    padding: 0 0 6px;
    font-size: 15px;
    color: #ec4666;
    text-align: center;
    font-weight: 600;
    width: 100%;
    letter-spacing: normal;
}

.box_srch_category dt span:nth-child(2) {
    display: inline-block;
}

.box_srch_category.box_srch_chain dt {
    color: #aa8800;
}

.box_srch_category.box_srch_city dt {
    color: #228170;
}

.box_srch_category.box_srch_area dt {
    color: #196c9e;
}

.box_srch_category dt:has(>.ico_navttl_cat) {
    color: #ec4666;
}

.box_srch_category dt:has(>.ico_navttl_region) {
    color: #228170;
}

.box_srch_category.box_srch_area dt:has(>.ico_navttl_region) {
    color: #196c9e;
}

.box_srch_category dt:has(>.ico_navttl_station) {
    color: #aa8800;
}

.box_srch_category.box_srch_chain dt,
.box_srch_category.bg_color_type06 dt {
    border-color: #dcb61c;
}

.box_srch_category dt .tcnum {
    color: #000;
}

.box_srch_category.box_srch_city dt {
    border-color: #d9c063;
}

.box_srch_category.box_srch_area dt {
    border-color: #4391c9;
}

.box_srch_category.religious_building_box dt {
    width: auto;
}

/* 絞り込みボタンにアイコン表示 */
.ico_navttl,
.ico_navttl_cat {
    background-color: #ea4f7a;
    border-radius: 20px;
    color: #fff;
    display: inline-block;
    font-weight: 600;
    font-size: 12px !important;
    padding: .25em .75em;
    margin-right: .75em;
    transform: translateY(-1px);
}

.ico_navttl_region {
    background-color: #50b1a0;
    letter-spacing: .25em;
    text-indent: .25em;
}

.box_srch_area .ico_navttl_region {
    background-color: #4391c9;
}

.ico_navttl_station,
.ico_navttl_brand {
    background-color: #dcb61c;
}

.ico_navttl_space {
    background-color: #dcb61c;
    letter-spacing: .25em;
    text-indent: .25em;
}
/*  /絞り込みボタンにアイコン表示 */

.box_srch_category dd {
    box-sizing: border-box;
    height: auto;
    padding: 12px 0 0;
}

.box_srch_category.wide dd {
    margin: 0 -35px;
    width: calc(100% + 70px);
}


.nav_srch_category_box .cap {
    font-size: 14px;
    margin: 20px auto;
    text-align: left;
    width: 555px;
}

.lst_srch_buttons {
    display: flex;
}

.lst_srch_btn {
    display: block;
    margin: 0 3px 0 0;
    min-width: 106px;
    text-align: center;
}

.box_srch_category:not(.l_2) .lst_srch_btn {
    width: calc(25% - 6px);
}

.lst_srch_btn a {
    color: #fff;
    font-weight: 600;
}

.lst_srch_link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0px 2px 2px 12px;
    border-width: 1px;
    border-style: solid;
    border-radius: 5px;
    min-height: 30px;
    line-height: 1;
    font-size: 12px;
    box-sizing: border-box;
}

.lst_srch_category_link {
    border-color: #6C5421;
    background-color: #AE9359;
    box-shadow: inset 0 -2px 0 #6C5421;
}

.lst_srch_category_link.nolink {
    border: 1px solid #6c5421;
    background-color: #cab484;
    box-shadow: none;
    color: #000;
    font-weight: 600;
    padding-bottom: 2px;
    padding-left: 2px;
    padding-right: 2px;
    text-align: center;
}

.lst_srch_area_link {
    border-color: #196c9e;
    background-color: #218ed7;
    box-shadow: inset 0 -2px 0 #196c9e;
}

.lst_srch_area_link.nolink {
    background-color: #7bcddc;
    border-color: #4391c9;
    box-shadow: none;
    color: #000;
    font-weight: 600;
    padding-bottom: 3px;
    padding-left: 2px;
    padding-right: 2px;
    text-align: center;
}

.lst_srch_city_link {
    border-color: #0e6e51;
    background-color: #30a26b;
    box-shadow: inset 0 -2px 0 #095b4d;
}

.lst_srch_city_link span {
    font-weight: normal;
}

.lst_srch_city_link.nolink {
    background-color: #3fc2ac;
    border-color: #0e6e51;
    box-shadow: none;
    color: #000;
    font-weight: 600;
    padding-bottom: 3px;
    padding-left: 1px;
    padding-right: 1px;
    text-align: center;
}

.lst_srch_category_link.bg_color_type13 {
    border: 1px solid #226fa5;
    background-color: #3facf5;
    box-shadow: inset 0 -2px 0 #226fa5;
}

.lst_srch_category_link.bg_color_type13.nolink {
    background-color: #baf5ff;
    border-color: #226fa5;
    box-shadow: none;
    padding-bottom: 3px;
}

.box_srch_chain .lst_srch_category_link {
    background-color: #dcb61c;
    border-color: #dcb61c;
    box-shadow: inset 0 -2px 0 #d09c4a;
    padding-top: 4px;
}

.box_srch_chain .lst_srch_category_link:not(.nolink)::before {
    border-left-color: #FFF;
}

.box_srch_chain .lst_srch_category_link.nolink {
    background-color: #dcb61c;
    border-color: #dcb61c;
    box-shadow: none;
    font-weight: 600;
}

.lst_srch_link:not(.nolink):hover {
    color: #000;
    background-color: #fffcd9;
}

.lst_srch_category_link:not(.nolink):hover {
    background-color: #edd49c;
    border-color: #6C5421;
    box-shadow: none;
}

.lst_srch_city_link:not(.nolink):hover {
    background-color: #92ecc1;
    border-color: #0e6e51;
    box-shadow: none;
}

.lst_srch_area_link:not(.nolink):hover {
    background-color: #9fdeed;
    border-color: #0e606e;
    box-shadow: none;
}

.lst_srch_category_link.bg_color_type13:not(.nolink):hover {
    background-color: #baf5ff;
    border-color: #226fa5;
    box-shadow: none;
}

.box_srch_chain .lst_srch_category_link:not(.nolink):hover {
    background-color: #fffcd9;
    border-color: #dcb61c;
    box-shadow: none;
}

.lst_srch_link::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-left: 4px solid #fff;
    border-bottom: 4px solid transparent;
}

.lst_srch_category_link.nolink::before,
.lst_srch_area_link.nolink::before,
.lst_srch_city_link.nolink::before,
.lst_srch_category_link:not(.nolink):hover::before,
.lst_srch_area_link:not(.nolink):hover::before,
.lst_srch_city_link:not(.nolink):hover::before {
    border-left-color: transparent;
}

.lst_srch_category {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-right: -8px;
}

.box_srch_category.l_2 .lst_srch_category_buttons,
.box_srch_category.l_2 .lst_srch_city_buttons,
.box_srch_category.l_2 .lst_srch_station_buttons {
    width: 430px;
    padding-left: 8px;
}

.lst_srch_category.religious_building {
    flex-wrap: nowrap;
}

.lst_srch_category li {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0 3px 7px 3px;
    padding: 0;
    width: calc(25% - 8px);
    min-width: 106px;
    min-height: 30px;
    background-color: #fff8fb;
    border: 1px solid #9b0723;
    border-radius: 5px;
    box-shadow: inset 0 -2px 0 #9b0723;
    font-size: 12px;
}

.box_srch_category .lst_srch_category li:hover {
    background-color: #ffe9f1;
}

.lst_srch_category.religious_building .church_category {
    margin-left: 15px;
}

.lst_srch_category li.txt_long {
    width: calc( 50% - 6px);
}

.l_3 .lst_srch_category li.txt_long {
    width: 145px;
}

.lst_srch_category li.attention,
.box_srch_chain .lst_srch_category li.attention {
    background-color: transparent;
    border: none;
    border-radius: initial;
    box-shadow: none;
    display: block;
    min-height: auto;
    margin: 2px 5px 0 auto;
    padding: 0;
    width: fit-content;
}

.lst_srch_category li.selection_category a {
    text-shadow: 1px 1px rgba(255,255,255,.5);
}

.lst_srch_category a > span,
.lst_srch_category .nolink > span span {
    display: inline-block;
}

.lst_srch_category li .txt_s {
    font-size: .75em;
    font-feature-settings: "palt";
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .lst_srch_category li:hover a{
    border-radius: 0;
    background: none;
    color: #000;
  }
}

.lst_srch_category a {
  position: relative;
  display: flex;
  align-items: center;
  border-color: inherit;
  box-sizing: border-box;
  color: #000;
  flex-wrap: wrap;
  font-feature-settings: "palt";
  margin: 0;
  padding: 0px 2px 2px 8px;
  font-weight: 600;
  height: 100%;
  justify-content: center;
  letter-spacing: normal;
  line-height: 1.15;
  text-align: center;
  width: 100%;
}

.lst_srch_category a::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 47%;
  left: 6px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-width: 4px 0 4px 4px;
  border-style: solid;
  border-color: transparent;
  border-left-color: inherit;
}

.lst_srch_category .nolink a::before {
    display: none;
}

.lst_srch_category a span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lst_srch_category li.selected {
  background: #f2dfe4;
  border-color: #666;
  color: #666;
  box-shadow: none;
}

.lst_srch_category li.nolink,
.lst_srch_category li.nolink:hover,
.lst_srch_category li.nolink:hover{
  background: #f9bbd3;
  box-shadow: none;
  font-weight: 600;
  line-height: 1.2;
  padding-left: 4px;
  padding-right: 8px;
}
#content .lst_srch_category li.nolink,
#content .lst_srch_category li.nolink:hover,
#content .lst_srch_category li.nolink:hover{
  box-shadow: none;
}

.lst_srch_category li.nolink.bg_color_type02 {
  background-color: #FF9DB9;
  border: 1px solid #EC5C85;
  box-shadow: none;
}

#nav_srch_category .lst_srch_category li.nolink.bg_color_type03 {
  background-color: #f2f57d;
  border: 1px solid #C2C557;
  box-shadow: none;
}

#nav_srch_category .lst_srch_category li.nolink.bg_color_type04 {
  background-color: #e5bcfc;
}

#nav_srch_category .lst_srch_category li.nolink.bg_color_type05 {
  background-color: #60dcc8;
  border: 1px solid #2fa08c;
  box-shadow: none;
}

#nav_srch_category .box_srch_chain .lst_srch_category li.nolink {
  background-color: #fbef56;
  padding-left: 0;
  padding-right: 0;
}
#nav_srch_category .box_srch_chain .lst_srch_category li.nolink span {
  color: #000;
}

.lst_srch_category li.nolink > span{
  display: flex;
  flex-flow: wrap;
  align-items: center;
  justify-content: center;
  letter-spacing: normal;
  padding: 2px 5px 3px 10px;
}

.lst_srch_category li.bg_color_type01 {
  background: #E1FAEA;
  border: 1px solid #59A175;
  box-shadow: inset 0 -2px 0 #59A175;
}
.lst_srch_category li.bg_color_type01:hover {
  background-color: #fff;
}

.lst_srch_category li.bg_color_type02 {
  background-color: #FFE0E9;
  border: 1px solid #EC5C85;
  box-shadow: inset 0 -2px 0 #EC5C85;
}
.lst_srch_category li.bg_color_type02:hover {
  background: #fff;
}

.lst_srch_category li.bg_color_type03 {
  background-color: #FDFEDC;
  border: 1px solid #C2C557;
  box-shadow: inset 0 -2px 0 #C2C557;
}
.lst_srch_category li.bg_color_type03:hover {
  background-color: #fff;
}

.lst_srch_category li.bg_color_type04 {
  background-color: #fcf9ff;
  border: 1px solid #b168da;
  box-shadow: inset 0 -2px 0 #b168da;
}
.lst_srch_category li.bg_color_type04:hover {
  background-color: #f1e4f9;
}

.lst_srch_category li.bg_color_type05 {
  background-color: #fafefd;
  border: 1px solid #2fa08c;
  box-shadow: inset 0 -2px 0 #2fa08c;
}
.lst_srch_category li.bg_color_type05:hover {
  background: #d4f7f2;
}

.box_srch_chain .lst_srch_category li {
  border: 1px solid #d3ab06;
  background-color: #fffef7;
  box-shadow: inset 0 -2px 0 #d3ab06;
}
.box_srch_chain .lst_srch_category li:hover {
  background-color: #fffcd9;
}


.box_srch_chain .lst_srch_category li.nolink span {
  color: #fff;
}


.lst_srch_category li.nolink {
  pointer-events: none;
  background-color: #82e9d8;
  box-shadow: none;
}

.box_srch_area .lst_srch_category li.nolink {
  pointer-events: none;
  background-color: #7bcddc;
  border: 1px solid #4391c9;
}

.box_srch_city .lst_srch_category li.nolink {
    border: 1px solid #2fa08c;
}

.lst_srch_category li.selection_category.nolink:first-child {
    background-color: #f98fb7;
}
.lst_srch_category li.nolink.bg_color_type02:first-child {
  background-color: #3fc2ac;
}

