{"id":581,"date":"2026-04-08T01:16:23","date_gmt":"2026-04-07T16:16:23","guid":{"rendered":"https:\/\/www.girlsrecruitsearch.com\/sample\/?page_id=581"},"modified":"2026-04-08T01:19:40","modified_gmt":"2026-04-07T16:19:40","slug":"favorites","status":"publish","type":"page","link":"https:\/\/www.girlsrecruitsearch.com\/sample\/favorites\/","title":{"rendered":"\u304a\u6c17\u306b\u5165\u308a\u30ea\u30b9\u30c8"},"content":{"rendered":"    <style>\n    .fav-list-container { max-width: 1000px; margin: 0 auto; padding: 20px; font-family: sans-serif; padding-bottom: 120px; }\n    .fav-list-title { text-align: center; font-size: 20px; font-weight: 900; color: #d81b60; margin-bottom: 20px; padding-bottom: 10px; }\n    \n    .shop-list-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }\n    .shop-card { background: #fff; border: 2px solid #fce4ec; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: 0.3s; position: relative; }\n    .card-swiper { width: 100%; aspect-ratio: 4\/3; position: relative; }\n    .card-thumb { width: 100%; height: 100%; background-size: cover; background-position: center; }\n    .card-badge { position: absolute; top: 10px; left: 10px; background: #d81b60; color: #fff; font-size: 11px; font-weight: bold; padding: 4px 10px; border-radius: 20px; z-index: 10; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }\n    .card-info { padding: 15px; display: flex; flex-direction: column; flex: 1; text-decoration: none; color: inherit; }\n    .card-header-row { display: flex; justify-content: space-between; margin-bottom: 12px; }\n    .card-title { font-size: 16px; font-weight: 900; margin: 0; flex: 1; line-height: 1.3; }\n    .card-meta { font-size: 11px; color: #888; background: #f9f9f9; padding: 3px 8px; border-radius: 12px; }\n    .card-wage-box { background: #fff5f8; border: 1px dashed #f8bbd0; border-radius: 8px; padding: 10px; margin-bottom: 15px; display: flex; justify-content: center; gap: 8px; align-items: baseline; }\n    .card-wage-lbl { font-size: 11px; color: #d32f2f; font-weight: bold; }\n    .card-wage-val { font-size: 18px; font-weight: 900; color: #333; }\n    .card-icons { display: flex; flex-wrap: wrap; gap: 4px; margin-top: auto; }\n    .icon-box { border: 1px solid #fce4ec; border-radius: 4px; padding: 4px 6px; display: flex; align-items: center; background: #fffafb; gap: 4px; }\n    .icon-box i { font-size: 10px; color: #f48fb1; }\n    .icon-box span { font-size: 10px; color: #666; font-weight: bold; white-space: nowrap; }\n    \n    .fav-empty { text-align: center; padding: 50px 20px; color: #888; font-weight: bold; background: #fff5f8; border-radius: 12px; border: 2px dashed #fce4ec; line-height: 1.8; margin-top: 20px; }\n\n    @media (max-width: 768px) { \n        .fav-list-container { padding: 10px; padding-bottom: 130px; }\n        .shop-list-grid { grid-template-columns: 1fr; gap: 10px; } \n        .shop-card { flex-direction: row; padding: 8px; align-items: stretch; border-radius: 8px; }\n        .card-swiper { width: 38%; aspect-ratio: 3\/4; border-radius: 6px; overflow: hidden; flex-shrink: 0; }\n        .card-badge { top: 4px; left: 4px; font-size: 9px; padding: 3px 6px; }\n        .card-info { width: 62%; padding: 0 0 0 12px; justify-content: flex-start; }\n        .card-header-row { margin-bottom: 6px; align-items: flex-start; flex-direction: column; gap: 4px; }\n        .card-title { font-size: 15px; }\n        .card-meta { padding: 2px 6px; font-size: 10px; align-self: flex-start; }\n        .card-wage-box { padding: 6px; margin-bottom: 8px; border-radius: 6px; }\n        .card-wage-lbl { font-size: 10px; }\n        .card-wage-val { font-size: 15px; }\n        .card-icons { gap: 4px; margin-top: 0; }\n        .icon-box { padding: 3px 5px; }\n        .icon-box i { font-size: 9px; }\n        .icon-box span { font-size: 9px; }\n    }\n\n    .fav-select-check { display: none; position: absolute; left: 15px; top: 50%; transform: translateY(-50%) scale(1.5); accent-color: #d81b60; z-index: 20; pointer-events: none; }\n    .fav-list-container.select-mode .fav-select-check { display: block; }\n    .fav-list-container.select-mode .shop-card { padding-left: 45px; cursor: pointer; transition: background 0.2s; }\n    .fav-list-container.select-mode .shop-card.is-checked { background: #fff0f5; border-color: #d81b60; }\n    .fav-list-container.select-mode .card-link-prevent { pointer-events: none; } \n\n    .fav-bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; display: flex; box-sizing: border-box; z-index: 1000; padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid #eee; }\n    .fav-bottom-btn { flex: 1; padding: 15px; text-align: center; text-decoration: none; font-weight: bold; font-size: 13px; color: #d81b60; border-right: 1px solid #fce4ec; display: flex; align-items: center; justify-content: center; gap: 5px; cursor: pointer; }\n    .fav-bottom-btn:last-child { border-right: none; }\n\n    @media (max-width: 768px) {\n        .fav-bottom-btn { padding: 12px; }\n        .fixed-bottom-nav { display: none !important; }\n    }\n\n    \/* \u30e1\u30cb\u30e5\u30fc\u30dc\u30bf\u30f3\uff06\u30dc\u30c8\u30e0\u30b7\u30fc\u30c8 *\/\n    .fav-menu-trigger { position: fixed; bottom: calc(env(safe-area-inset-bottom, 0px) + 65px); left: 50%; transform: translateX(-50%); background: #fff; border: 2px solid #fce4ec; color: #d81b60; border-radius: 30px; padding: 10px 25px; font-weight: bold; font-size: 14px; box-shadow: 0 4px 15px rgba(216,27,96,0.15); z-index: 990; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: 0.2s; }\n    .fav-menu-trigger:active { transform: translate(-50%, 2px); box-shadow: 0 2px 8px rgba(216,27,96,0.1); }\n    @media (max-width: 768px) {\n        .fav-menu-trigger { bottom: calc(env(safe-area-inset-bottom, 0px) + 55px); padding: 8px 20px; font-size: 13px; }\n    }\n\n    .fav-bottom-sheet-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.6); z-index: 10000; opacity: 0; pointer-events: none; transition: opacity 0.3s; backdrop-filter: blur(3px); }\n    .fav-bottom-sheet-overlay.active { opacity: 1; pointer-events: auto; }\n    .fav-bottom-sheet { position: fixed; bottom: -100%; left: 0; width: 100%; background: #fff; z-index: 10001; border-radius: 20px 20px 0 0; padding: 25px 20px calc(20px + env(safe-area-inset-bottom, 0px)); box-sizing: border-box; transition: bottom 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 -5px 20px rgba(0,0,0,0.15); max-height: 85vh; overflow-y: auto; }\n    .fav-bottom-sheet.active { bottom: 0; }\n    .fav-bs-title { text-align: center; color: #d81b60; margin: 0 0 20px 0; font-size: 16px; font-weight: bold; position: relative; }\n    .fav-bs-close { position: absolute; right: 0; top: 50%; transform: translateY(-50%); background: #f9f9f9; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; color: #888; cursor: pointer; font-size: 16px; }\n    .fav-bs-sec { margin-bottom: 20px; }\n    .fav-bs-label { display: block; font-size: 12px; font-weight: bold; color: #888; margin-bottom: 10px; }\n    \n    .fav-filter-select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; outline: none; font-size: 15px; background: #f9f9f9; color: #333; font-weight: bold; }\n    .fav-type-tags { display: flex; flex-wrap: wrap; gap: 8px; }\n    .fav-type-tag { padding: 10px 15px; border-radius: 20px; border: 1px solid #fce4ec; background: #fff; color: #888; font-size: 13px; font-weight: bold; cursor: pointer; transition: 0.2s; user-select: none; }\n    .fav-type-tag.active { background: #d81b60; color: #fff; border-color: #d81b60; box-shadow: 0 2px 5px rgba(216,27,96,0.2); }\n    \n    .fav-bs-btn-group { display: flex; gap: 10px; border-top: 1px dashed #eee; padding-top: 20px; }\n    .fav-bs-btn { flex: 1; padding: 15px; border-radius: 12px; font-weight: bold; font-size: 14px; text-align: center; cursor: pointer; border: none; transition: 0.2s; display: flex; flex-direction: column; align-items: center; gap: 5px; }\n    .fav-bs-btn i { font-size: 18px; }\n    .btn-bs-clear { background: #f9f9f9; color: #888; border: 1px solid #ddd; }\n    .btn-bs-select { background: #fff5f8; color: #d81b60; border: 1px solid #fce4ec; }\n\n    \/* \u9078\u629e\u30e2\u30fc\u30c9\u6642\u306e\u30c4\u30fc\u30eb\u30d0\u30fc *\/\n    .fav-select-toolbar { position: fixed; bottom: calc(env(safe-area-inset-bottom, 0px) + 60px); left: 0; width: 100%; background: #fff; border-top: 2px solid #fce4ec; display: flex; padding: 10px; gap: 10px; box-sizing: border-box; z-index: 995; box-shadow: 0 -5px 15px rgba(0,0,0,0.05); transform: translateY(150%); transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); }\n    .fav-select-toolbar.active { transform: translateY(0); }\n    .fav-st-btn { flex: 1; padding: 15px; border-radius: 8px; font-weight: bold; font-size: 15px; text-align: center; cursor: pointer; border: none; }\n    .btn-st-cancel { background: #eee; color: #555; }\n    .btn-st-delete { background: #d81b60; color: #fff; box-shadow: 0 4px 10px rgba(216,27,96,0.2); }\n    @media (max-width: 768px) {\n        .fav-select-toolbar { bottom: calc(env(safe-area-inset-bottom, 0px) + 50px); padding: 8px; gap: 8px; }\n        .fav-st-btn { padding: 12px; font-size: 14px; }\n    }\n\n    \/* \u72ec\u81ea\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7 *\/\n    .fav-custom-modal-bg { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.6); z-index: 99999; display: none; align-items: center; justify-content: center; backdrop-filter: blur(3px); }\n    .fav-custom-modal-bg.active { display: flex; animation: fadeIn 0.2s; }\n    .fav-custom-modal-box { background: #fff; width: 90%; max-width: 320px; border-radius: 16px; padding: 25px 20px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }\n    .fav-modal-btn-wrap { display: flex; gap: 10px; margin-top: 20px; }\n    .fav-modal-btn { flex: 1; padding: 12px; border-radius: 25px; border: none; font-weight: bold; cursor: pointer; transition: 0.2s; font-size:14px; }\n    .fav-btn-cancel { background: #eee; color: #555; }\n    .fav-btn-danger { background: #d81b60; color: #fff; }\n    <\/style>\n\n    <div class=\"fav-list-container\" id=\"fav-list-container\">\n        <h1 class=\"fav-list-title\"><i class=\"fa-solid fa-heart\"><\/i> \u304a\u6c17\u306b\u5165\u308a\u5e97\u8217<\/h1>\n        \n        <div class=\"shop-list-grid\" id=\"lucilla-fav-list-wrap\">\n            <div style=\"grid-column:1\/-1; text-align:center; padding:50px; color:#ccc;\"><i class=\"fa-solid fa-spinner fa-spin\"><\/i> \u8aad\u307f\u8fbc\u307f\u4e2d...<\/div>\n        <\/div>\n    <\/div>\n\n    <div id=\"fav-menu-trigger\" class=\"fav-menu-trigger\">\n        <i class=\"fa-solid fa-sliders\"><\/i> \u30e1\u30cb\u30e5\u30fc\n    <\/div>\n\n    <div id=\"fav-select-toolbar\" class=\"fav-select-toolbar\">\n        <button type=\"button\" class=\"fav-st-btn btn-st-cancel\" id=\"btn-st-cancel\">\u30ad\u30e3\u30f3\u30bb\u30eb<\/button>\n        <button type=\"button\" class=\"fav-st-btn btn-st-delete\" id=\"btn-st-delete\">\u9078\u629e\u3057\u305f\u5e97\u8217\u3092\u524a\u9664<\/button>\n    <\/div>\n\n    <div class=\"fav-bottom-nav\">\n        <a href=\"https:\/\/www.girlsrecruitsearch.com\/sample\/favorites\/\" class=\"fav-bottom-btn\"><i class=\"fa-solid fa-arrow-left\"><\/i> \u623b\u308b<\/a>\n        <a href=\"https:\/\/www.girlsrecruitsearch.com\/sample\/\" class=\"fav-bottom-btn\"><i class=\"fa-solid fa-house\"><\/i> \u30c8\u30c3\u30d7<\/a>\n    <\/div>\n\n    <div id=\"fav-bottom-sheet-overlay\" class=\"fav-bottom-sheet-overlay\"><\/div>\n    <div id=\"fav-bottom-sheet\" class=\"fav-bottom-sheet\">\n        <div class=\"fav-bs-title\">\n            <span>\u30e1\u30cb\u30e5\u30fc<\/span>\n            <div class=\"fav-bs-close\" id=\"fav-bs-close\"><i class=\"fa-solid fa-xmark\"><\/i><\/div>\n        <\/div>\n        \n        <div class=\"fav-bs-sec\">\n            <span class=\"fav-bs-label\"><i class=\"fa-solid fa-arrow-down-short-wide\"><\/i> \u4e26\u3073\u66ff\u3048<\/span>\n            <select id=\"fav-sort-select\" class=\"fav-filter-select\">\n                <option value=\"new\">\u304a\u6c17\u306b\u5165\u308a\u767b\u9332\u304c\u65b0\u3057\u3044\u9806<\/option>\n                <option value=\"old\">\u304a\u6c17\u306b\u5165\u308a\u767b\u9332\u304c\u53e4\u3044\u9806<\/option>\n            <\/select>\n        <\/div>\n        \n        <div class=\"fav-bs-sec\">\n            <span class=\"fav-bs-label\"><i class=\"fa-solid fa-filter\"><\/i> \u696d\u7a2e\u3067\u7d5e\u308a\u8fbc\u3080<\/span>\n            <div class=\"fav-type-tags\" id=\"fav-type-tags\">\n                <\/div>\n        <\/div>\n        \n        <div class=\"fav-bs-btn-group\">\n            <button type=\"button\" class=\"fav-bs-btn btn-bs-clear\" id=\"btn-fav-clear\">\n                <i class=\"fa-solid fa-eraser\"><\/i>\n                \u5168\u30af\u30ea\u30a2\n            <\/button>\n            <button type=\"button\" class=\"fav-bs-btn btn-bs-select\" id=\"btn-fav-select\">\n                <i class=\"fa-regular fa-square-check\"><\/i>\n                \u9078\u629e\u3057\u3066\u524a\u9664\n            <\/button>\n        <\/div>\n    <\/div>\n\n    <div id=\"fav-custom-modal\" class=\"fav-custom-modal-bg\">\n        <div class=\"fav-custom-modal-box\">\n            <h3 style=\"color:#d81b60; margin-top:0; margin-bottom:15px; font-size:18px;\">\u78ba\u8a8d<\/h3>\n            <p id=\"fav-modal-msg\" style=\"font-size:14px; color:#555; margin-bottom:0; line-height:1.6;\"><\/p>\n            <div class=\"fav-modal-btn-wrap\">\n                <button type=\"button\" class=\"fav-modal-btn fav-btn-cancel\" id=\"fav-modal-cancel\">\u30ad\u30e3\u30f3\u30bb\u30eb<\/button>\n                <button type=\"button\" class=\"fav-modal-btn fav-btn-danger\" id=\"fav-modal-ok\">OK<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n        const wrap = document.getElementById('lucilla-fav-list-wrap');\n        const container = document.getElementById('fav-list-container');\n        \n        \/\/ \u30e1\u30cb\u30e5\u30fc\uff06\u30dc\u30c8\u30e0\u30b7\u30fc\u30c8\n        const menuTrigger = document.getElementById('fav-menu-trigger');\n        const bsOverlay = document.getElementById('fav-bottom-sheet-overlay');\n        const bottomSheet = document.getElementById('fav-bottom-sheet');\n        const bsClose = document.getElementById('fav-bs-close');\n        \n        \/\/ \u30b7\u30fc\u30c8\u5185\u30dc\u30bf\u30f3\n        const btnSelect = document.getElementById('btn-fav-select');\n        const btnClear = document.getElementById('btn-fav-clear');\n        \n        \/\/ \u9078\u629e\u30c4\u30fc\u30eb\u30d0\u30fc\n        const selectToolbar = document.getElementById('fav-select-toolbar');\n        const btnStCancel = document.getElementById('btn-st-cancel');\n        const btnStDelete = document.getElementById('btn-st-delete');\n\n        \/\/ \u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u8981\u7d20\n        const customModal = document.getElementById('fav-custom-modal');\n        const modalMsg = document.getElementById('fav-modal-msg');\n        const modalCancel = document.getElementById('fav-modal-cancel');\n        const modalOk = document.getElementById('fav-modal-ok');\n\n        let isSelectMode = false;\n        let deleteMode = ''; \n        \n        let currentSort = 'new';\n        let currentType = 'all';\n        let originalCardOrder = []; \n\n        \/\/ \u30dc\u30c8\u30e0\u30b7\u30fc\u30c8\u306e\u958b\u9589\n        function openSheet() { bsOverlay.classList.add('active'); bottomSheet.classList.add('active'); }\n        function closeSheet() { bsOverlay.classList.remove('active'); bottomSheet.classList.remove('active'); }\n        \n        if(menuTrigger) menuTrigger.addEventListener('click', openSheet);\n        if(bsClose) bsClose.addEventListener('click', closeSheet);\n        if(bsOverlay) bsOverlay.addEventListener('click', closeSheet);\n\n        function applyFilters() {\n            let cardsToDisplay = [...originalCardOrder];\n            if (currentSort === 'old') { cardsToDisplay.reverse(); }\n            \n            wrap.innerHTML = '';\n            let visibleCount = 0;\n\n            cardsToDisplay.forEach(card => {\n                const type = card.getAttribute('data-type');\n                if (currentType === 'all' || currentType === type) {\n                    card.style.display = '';\n                    wrap.appendChild(card);\n                    visibleCount++;\n                }\n            });\n\n            if (visibleCount === 0) {\n                wrap.innerHTML = '<div style=\"grid-column:1\/-1;\" class=\"fav-empty\"><i class=\"fa-regular fa-face-frown\" style=\"font-size:30px; color:#ccc; margin-bottom:10px;\"><\/i><br>\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u5e97\u8217\u304c\u3042\u308a\u307e\u305b\u3093\u3002<\/div>';\n            }\n        }\n\n        document.getElementById('fav-sort-select').addEventListener('change', function() {\n            currentSort = this.value;\n            applyFilters();\n        });\n\n        function renderFavList() {\n            let favList = JSON.parse(localStorage.getItem('lucilla_favorites')) || [];\n            if (favList.length === 0) {\n                wrap.innerHTML = '<div style=\"grid-column:1\/-1;\" class=\"fav-empty\"><i class=\"fa-regular fa-face-frown\" style=\"font-size:30px; color:#ccc; margin-bottom:10px;\"><\/i><br>\u73fe\u5728\u304a\u6c17\u306b\u5165\u308a\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u5e97\u8217\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/div>';\n                if(menuTrigger) menuTrigger.style.display = 'none';\n                return;\n            }\n            \n            if(menuTrigger && !isSelectMode) menuTrigger.style.display = 'flex';\n            \n            favList.sort((a, b) => b.time - a.time);\n            const ids = favList.map(item => item.id).join(',');\n            \n            const fd = new FormData();\n            fd.append('action', 'get_fav_cards');\n            fd.append('ids', ids);\n\n            fetch('https:\/\/www.girlsrecruitsearch.com\/sample\/wp-admin\/admin-ajax.php', { method: 'POST', body: fd })\n            .then(res => res.json())\n            .then(res => {\n                if(res.success && res.data.html) {\n                    wrap.innerHTML = res.data.html;\n                    originalCardOrder = Array.from(document.querySelectorAll('.fav-shop-card'));\n                    \n                    const types = new Set();\n                    originalCardOrder.forEach(card => {\n                        const t = card.getAttribute('data-type');\n                        if (t) types.add(t);\n                    });\n                    \n                    const tagsContainer = document.getElementById('fav-type-tags');\n                    let tagsHtml = `<span class=\"fav-type-tag active\" data-val=\"all\">\u3059\u3079\u3066<\/span>`;\n                    types.forEach(t => {\n                        let dispT = t;\n                        if (t === '\u30ac\u30fc\u30eb\u30ba\u30d0\u30fc') dispT = '\u30ac\u30eb\u30d0'; \n                        tagsHtml += `<span class=\"fav-type-tag\" data-val=\"${t}\">${dispT}<\/span>`;\n                    });\n                    tagsContainer.innerHTML = tagsHtml;\n                    \n                    document.querySelectorAll('.fav-type-tag').forEach(tag => {\n                        tag.addEventListener('click', function() {\n                            document.querySelectorAll('.fav-type-tag').forEach(t => t.classList.remove('active'));\n                            this.classList.add('active');\n                            currentType = this.getAttribute('data-val');\n                            applyFilters(); \n                        });\n                    });\n                    \n                    if (typeof Swiper !== 'undefined') {\n                        document.querySelectorAll('.card-swiper').forEach(el => {\n                            if (!el.swiper && el.querySelectorAll('.swiper-slide').length > 1) {\n                                new Swiper(el, { loop: true, pagination: { el: el.querySelector('.swiper-pagination'), clickable: true }, grabCursor: true });\n                            }\n                        });\n                    }\n                    \n                    document.querySelectorAll('.fav-shop-card').forEach(card => {\n                        card.addEventListener('click', function(e) {\n                            if (!isSelectMode) return;\n                            e.preventDefault();\n                            const cb = this.querySelector('.fav-select-check');\n                            cb.checked = !cb.checked;\n                            if (cb.checked) {\n                                this.classList.add('is-checked');\n                            } else {\n                                this.classList.remove('is-checked');\n                            }\n                            \n                            \/\/ \u9078\u629e\u4ef6\u6570\u3092\u30dc\u30bf\u30f3\u306b\u53cd\u6620\n                            const checkedCount = document.querySelectorAll('.fav-select-check:checked').length;\n                            if(checkedCount > 0) {\n                                btnStDelete.innerText = checkedCount + '\u4ef6\u306e\u5e97\u8217\u3092\u524a\u9664';\n                            } else {\n                                btnStDelete.innerText = '\u9078\u629e\u3057\u305f\u5e97\u8217\u3092\u524a\u9664';\n                            }\n                        });\n                    });\n                    \n                    applyFilters();\n                    \n                } else {\n                    wrap.innerHTML = '<div style=\"grid-column:1\/-1;\" class=\"fav-empty\">\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002<\/div>';\n                    if(menuTrigger) menuTrigger.style.display = 'none';\n                }\n            });\n        }\n        \n        \/\/ \u300c\u9078\u629e\u3057\u3066\u524a\u9664\u300d\u3092\u62bc\u3057\u305f\u6642\n        btnSelect.addEventListener('click', function() {\n            closeSheet();\n            isSelectMode = true;\n            container.classList.add('select-mode');\n            menuTrigger.style.display = 'none'; \/\/ \u30e1\u30cb\u30e5\u30fc\u30dc\u30bf\u30f3\u3092\u96a0\u3059\n            selectToolbar.classList.add('active'); \/\/ \u30ad\u30e3\u30f3\u30bb\u30eb\/\u524a\u9664\u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u51fa\u3059\n            btnStDelete.innerText = '\u9078\u629e\u3057\u305f\u5e97\u8217\u3092\u524a\u9664';\n        });\n\n        \/\/ \u9078\u629e\u30e2\u30fc\u30c9\u4e2d\u306e\u300c\u30ad\u30e3\u30f3\u30bb\u30eb\u300d\n        btnStCancel.addEventListener('click', function() {\n            isSelectMode = false;\n            container.classList.remove('select-mode');\n            selectToolbar.classList.remove('active'); \/\/ \u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u96a0\u3059\n            menuTrigger.style.display = 'flex'; \/\/ \u30e1\u30cb\u30e5\u30fc\u30dc\u30bf\u30f3\u5fa9\u6d3b\n            \n            document.querySelectorAll('.fav-select-check').forEach(cb => cb.checked = false);\n            document.querySelectorAll('.fav-shop-card').forEach(card => card.classList.remove('is-checked'));\n        });\n\n        \/\/ \u9078\u629e\u30e2\u30fc\u30c9\u4e2d\u306e\u300c\u524a\u9664\u300d\n        btnStDelete.addEventListener('click', function() {\n            const checkedBoxes = document.querySelectorAll('.fav-select-check:checked');\n            if (checkedBoxes.length === 0) {\n                deleteMode = 'error';\n                modalMsg.innerText = '\u524a\u9664\u3059\u308b\u5e97\u8217\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002';\n                modalCancel.style.display = 'none'; \n                modalOk.innerText = 'OK';\n                customModal.classList.add('active');\n                return;\n            }\n            \n            deleteMode = 'selected';\n            modalMsg.innerHTML = '<strong style=\"color:#d81b60; font-size:18px;\">' + checkedBoxes.length + '\u4ef6<\/strong> \u306e\u5e97\u8217\u3092\u304a\u6c17\u306b\u5165\u308a\u304b\u3089\u524a\u9664\u3057\u307e\u3059\u304b\uff1f';\n            modalCancel.style.display = 'block';\n            modalOk.innerText = '\u524a\u9664\u3059\u308b';\n            customModal.classList.add('active');\n        });\n\n        \/\/ \u30e1\u30cb\u30e5\u30fc\u5185\u306e\u300c\u5168\u30af\u30ea\u30a2\u300d\n        btnClear.addEventListener('click', function() {\n            closeSheet();\n            deleteMode = 'all';\n            modalMsg.innerHTML = '\u304a\u6c17\u306b\u5165\u308a\u30ea\u30b9\u30c8\u3092<br><strong style=\"color:#d81b60;\">\u5168\u3066\u30af\u30ea\u30a2\uff08\u524a\u9664\uff09<\/strong>\u3057\u307e\u3059\u304b\uff1f<br><span style=\"font-size:11px; color:#888;\">\u203b\u3053\u306e\u64cd\u4f5c\u306f\u5143\u306b\u623b\u305b\u307e\u305b\u3093\u3002<\/span>';\n            modalCancel.style.display = 'block';\n            modalOk.innerText = '\u5168\u3066\u30af\u30ea\u30a2';\n            customModal.classList.add('active');\n        });\n\n        modalCancel.addEventListener('click', function() {\n            customModal.classList.remove('active');\n        });\n\n        modalOk.addEventListener('click', function() {\n            customModal.classList.remove('active');\n            \n            if (deleteMode === 'selected') {\n                const checkedBoxes = document.querySelectorAll('.fav-select-check:checked');\n                let favList = JSON.parse(localStorage.getItem('lucilla_favorites')) || [];\n                const idsToDelete = Array.from(checkedBoxes).map(cb => cb.value);\n                \n                favList = favList.filter(item => !idsToDelete.includes(item.id));\n                localStorage.setItem('lucilla_favorites', JSON.stringify(favList));\n                \n                btnStCancel.click(); \/\/ \u9078\u629e\u30e2\u30fc\u30c9\u89e3\u9664\n                document.dispatchEvent(new Event('fav_updated'));\n                renderFavList();\n            } else if (deleteMode === 'all') {\n                localStorage.removeItem('lucilla_favorites');\n                document.dispatchEvent(new Event('fav_updated'));\n                renderFavList();\n            }\n        });\n\n        renderFavList();\n    });\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-581","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/pages\/581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/comments?post=581"}],"version-history":[{"count":3,"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/pages\/581\/revisions"}],"predecessor-version":[{"id":584,"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/pages\/581\/revisions\/584"}],"wp:attachment":[{"href":"https:\/\/www.girlsrecruitsearch.com\/sample\/wp-json\/wp\/v2\/media?parent=581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}