.site-body {
    padding: 0px;
}

#tbl_locations td {
    padding: 5px;
    cursor: pointer;
}

.contextMenu {
    position: absolute;
    z-index: 30;
    background-color: rgb(255, 255, 255);
    border: 2px solid rgb(255, 255, 255);
    border-radius: 3px;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 2px 6px;
    cursor: pointer;
    font-size: 1rem;
    text-align: left;
    color: #0d1f49;
    width: 20vw;
    margin: 1px;
    /* Please note that this margin is necessary otherwise browser will open its own context menu */
}

.place_name {
    font-size: large;
    font-weight: bolder;
}

#modal_tbl_form {
    width: 90%;
    margin: 10px;
}

#modal_tbl_form td {
    padding: 5px;
}

#modal_tbl_form ul {
    list-style-type: none;
}

.google-link {
    display: block;
    padding: 5px 0;
    font-size: 12px;
    color: #007bff;
    text-decoration: underline;
}

.google-link a {
    color: #007bff;
    text-decoration: underline;
}

/* gmap */

.property {
    align-items: center;
    /* background-color: #FFFFFF; */
    background-color: #ffd5d5;
    border: solid 1px #666;
    border-radius: 50%;
    color: #263238;
    font-size: 14px;
    gap: 15px;
    width: 40px;
    height: 40px;
    text-align: center;
    padding: 10px;
    position: relative;
    transition: all 0.3s ease-out;
}

.property:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    /*	border-top: 8px solid #4285F4; */
    border-top: 8px solid #666;
}

.property.prospect {
    background-color: #999999;
}

.property .features {
    display: flex;
    flex-wrap: wrap;
}

.property .feature {
    background: #DDD;
    color: #FFF;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature.on {
    background: #E46C8E;
}

.property .feature_google {
    border: solid 1px #666;
    background: #FFF;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_share {
    border: solid 1px #666;
    background: #FFF;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_coupon {
    border: solid 1px #666;
    background: #FFF;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_link {
    border: solid 1px #666;
    background: #FFF;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_favorite {
    border: solid 1px #666;
    background: #DDD;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_favorite.on {
    background: #bfff80;
}

.property .feature_compare {
    border: solid 1px #666;
    background: #DDD;
    color: #000;
    padding: 3px 5px;
    margin: 3px;
}

.property .feature_compare.on {
    background: #bfff80;
}

.property .details {
    display: none;
    flex-direction: column;
    flex: 1;
}

.property.highlight {
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    height: 180px;
    /* 高さを固定値を大きくする */
    width: 200px;
    padding: 8px 15px;
    width: auto;
}

.property.highlight.prospect {
    background-color: #999999;
    height: 120px;
}

.property.highlight .details {
    display: flex;
}

/* リストにないお店検索パーツのスタイル */
.home-search-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* 各行の間のスペース */
    margin-bottom: 20px;
    /* パーツの下の余白 */
}

.home-search-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.home-search-label {
    /* "地図を移動:" のスタイル */
    flex-shrink: 0;
    /* 縮小しない */
}

input[type=text].home-search-input {
    /* 入力フィールドのスタイル */
    padding: 5px;
    margin: 0px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    width: unset;
}

select.home-search-select {
    /* セレクトボックスのスタイル */
    padding: 5px;
    margin: 0px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    width: unset;
}


.home-search-button {
    /* ボタンのスタイル */
    padding: 5px 10px;
    border: 1px solid #007bff;
    border-radius: 4px;
    background-color: #007bff;
    color: white;
    cursor: pointer;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.home-search-button:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}

.home-search-label-checkbox {
    /* チェックボックスのラベルのスタイル */
    display: flex;
    align-items: center;
    margin: 0px 5px;
    cursor: pointer;
    font-size: 1rem;
}

.home-search-label-checkbox input[type="checkbox"] {
    /* チェックボックスのスタイル */
    margin-right: 8px;
    scale: 150%;
    /* サイズ調整 */
}

.home-search-label-checkbox .material-symbols-outlined {
    /* アイコンのスタイル */
    font-size: 24px;
    /* アイコンのサイズ */
    margin-right: 3px;
}

.home-search-label-checkbox .material-symbols-outlined:first-of-type {
    font-size: 28px;
    /* 大型犬アイコンのサイズ */
}

.home-search-label-checkbox .material-symbols-outlined:nth-of-type(2) {
    font-size: 18px;
    /* 小型犬アイコンのサイズ */
}


/* リストにないお店検索の行のスタイル */
.home-search-new-place {
    display: flex;
    align-items: center;
    gap: 10px;
    /* 要素間のスペース */
}

.home-search-new-place .home-search-input {
    /* リストにないお店検索の入力フィールドのスタイル */
    width: 240px;
    /* 幅 */
}

.home-search-new-place .home-search-button {
    /* リストにないお店検索ボタンのスタイル */
    padding: 5px 10px;
    border: 1px solid #28a745;
    border-radius: 4px;
    background-color: #28a745;
    color: white;
    cursor: pointer;
    font-size: 1rem;
}

.home-search-new-place .home-search-button:hover {
    background-color: #218838;
    border-color: #1e7e34;
}

/* スマホ表示用のスタイル */
@media (max-width: 768px) {
    .home-search-filters select[name="category"] {
        width: 100%; /* カテゴリを単独で一行に */
        margin-bottom: 10px; /* カテゴリの下に余白を追加 */
    }

    .home-search-filters .home-search-label-checkbox {
        /* 大型犬などのチェックボックスのスタイル調整 */
        margin-right: 10px; /* チェックボックス間の余白 */
    }
}

/* カスタムポップアップオーバーレイのスタイル */
.custom-popup-overlay {
    background-color: #FFFFFF;
    border: solid 1px #666;
    border-radius: 8px;
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    padding: 8px 15px;
    width: auto;
    z-index: 9999 !important;
    pointer-events: auto !important;
    content-visibility: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
}

/* ポップアップ全体でイベントを捕捉 */
.custom-popup-overlay * {
    pointer-events: auto !important;
}

/* カスタムポップアップ内のクリック可能要素のcursor統一 */
.custom-popup-overlay .feature_google,
.custom-popup-overlay .feature_share,
.custom-popup-overlay .feature_coupon,
.custom-popup-overlay .feature_link,
.custom-popup-overlay .feature_favorite,
.custom-popup-overlay .feature_compare {
    cursor: pointer;
}

.custom-popup-overlay .feature_google:hover,
.custom-popup-overlay .feature_share:hover,
.custom-popup-overlay .feature_coupon:hover,
.custom-popup-overlay .feature_link:hover,
.custom-popup-overlay .feature_favorite:hover,
.custom-popup-overlay .feature_compare:hover {
    background-color: #f0f0f0;
}

.custom-popup-overlay:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #666;
}
