{"id":270,"date":"2025-12-21T07:02:34","date_gmt":"2025-12-20T22:02:34","guid":{"rendered":"https:\/\/ichi-pro.co.jp\/?page_id=270"},"modified":"2026-02-25T19:22:35","modified_gmt":"2026-02-25T10:22:35","slug":"%e3%82%af%e3%83%aa%e3%82%a8%e3%82%a4%e3%83%86%e3%82%a3%e3%83%96","status":"publish","type":"page","link":"https:\/\/ichi-pro.co.jp\/?page_id=270","title":{"rendered":"\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u4e8b\u696d"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading has-huge-font-size\"><span data-color=\"#00d084\" style=\"--vk-highlighter-color: rgba(0, 208, 132, 0.7);\" class=\"vk_highlighter\">\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u4e8b\u696d<\/span><\/h2>\n\n\n\n<p>\u3044\u3044\u5546\u54c1\u306a\u306e\u306b\u3001\u3046\u307e\u304f\u4f1d\u3048\u3089\u308c\u306a\u3044\u3002\u65b0\u30b5\u30fc\u30d3\u30b9\u3092\u51fa\u3059\u306e\u306b\u3001\u4f55\u304b\u3089\u767a\u4fe1\u3059\u308c\u3070\u3044\u3044\u304b\u308f\u304b\u3089\u306a\u3044\u3002<\/p>\n\n\n\n<p>\u2500\u2500 \u30a4\u30c1\u30d7\u30ed\u306e\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u306f\u3001\u305d\u3093\u306a\u300c\u3082\u3063\u305f\u3044\u306a\u3044\u300d\u3092\u89e3\u6d88\u3057\u307e\u3059\u3002\u7d4c\u55b6\u8ab2\u984c\u3092\u7406\u89e3\u3057\u305f\u30b3\u30f3\u30b5\u30eb\u30bf\u30f3\u30c8\u304c\u300c\u4f55\u3092\u4f1d\u3048\u308b\u304b\u300d\u3092\u6574\u7406\u3057\u3001\u30af\u30ea\u30a8\u30a4\u30bf\u30fc\u304c\u300c\u3069\u3046\u4f1d\u3048\u308b\u304b\u300d\u3092\u5f62\u306b\u3059\u308b\u3002\u6226\u7565\u3068\u8868\u73fe\u304c\u565b\u307f\u5408\u3046\u304b\u3089\u3001\u5c4a\u304f\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<script>\n\/**\n * \u30a4\u30c1\u30d7\u30ed\u30fb\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30fb\u30b3\u30a2\u30a8\u30f3\u30b8\u30f3\uff08\u7d71\u5408\u6700\u9069\u5316\u7248\uff09\n * \u642d\u8f09\u6a5f\u80fd\uff1aReveal, Scramble, Workflow-Line, Magnetic, Custom-Cursor\n *\/\nclass TextScramble {\n    constructor(el) {\n        this.el = el;\n        this.chars = '!<>-_\\\\\/[]{}\u2014=+*^?#________';\n        this.update = this.update.bind(this);\n    }\n    setText(newText) {\n        const oldText = this.el.innerText;\n        const length = Math.max(oldText.length, newText.length);\n        const promise = new Promise((resolve) => this.resolve = resolve);\n        this.queue = [];\n        for (let i = 0; i < length; i++) {\n            const from = oldText[i] || '';\n            const to = newText[i] || '';\n            const start = Math.floor(Math.random() * 40);\n            const end = start + Math.floor(Math.random() * 40);\n            this.queue.push({ from, to, start, end });\n        }\n        cancelAnimationFrame(this.frameRequest);\n        this.frame = 0;\n        this.update();\n        return promise;\n    }\n    update() {\n        let output = '';\n        let complete = 0;\n        for (let i = 0, n = this.queue.length; i < n; i++) {\n            let { from, to, start, end, char } = this.queue[i];\n            if (this.frame >= end) {\n                complete++;\n                output += to;\n            } else if (this.frame >= start) {\n                if (!char || Math.random() < 0.28) {\n                    char = this.chars[Math.floor(Math.random() * this.chars.length)];\n                    this.queue[i].char = char;\n                }\n                output += `<span style=\"opacity:0.5; color:var(--tech-cyan);\">${char}<\/span>`;\n            } else { output += from; }\n        }\n        this.el.innerHTML = output;\n        if (complete === this.queue.length) { this.resolve(); } \n        else { this.frameRequest = requestAnimationFrame(this.update); this.frame++; }\n    }\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    \/\/ \u8981\u7d20\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\n    const cursor = document.getElementById('custom-cursor');\n    const line = document.getElementById('draw-line');\n    const workflow = document.getElementById('workflow-section');\n    const magnets = document.querySelectorAll('.magnetic-button');\n    const interactives = document.querySelectorAll('a, button, .service-card, .magnetic-button');\n\n    \/\/ --- A. Reveal & Scramble (\u30b9\u30af\u30ed\u30fc\u30eb\u76e3\u8996) ---\n    const revealObserver = new IntersectionObserver((entries) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                entry.target.classList.add('is-visible');\n                if (entry.target.classList.contains('scramble-text')) {\n                    const fx = new TextScramble(entry.target);\n                    fx.setText(entry.target.innerText);\n                }\n                revealObserver.unobserve(entry.target);\n            }\n        });\n    }, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' });\n\n    document.querySelectorAll('.reveal, .reveal-item, .scramble-text').forEach(el => revealObserver.observe(el));\n\n    \/\/ --- B. \u7d71\u5408\u66f4\u65b0\u30a8\u30f3\u30b8\u30f3\uff08MouseMove & Scroll\uff09 ---\n    let mouseX = 0, mouseY = 0;\n    let isTicking = false;\n\n    const updateAll = () => {\n        \/\/ 1. \u30ab\u30b9\u30bf\u30e0\u30ab\u30fc\u30bd\u30eb\uff08\u5ea7\u6a19\u30ba\u30ec\u4fee\u6b63\uff09\n        if (cursor) {\n            cursor.style.transform = `translate3d(${mouseX - 10}px, ${mouseY - 10}px, 0)`;\n        }\n\n        \/\/ 2. \u78c1\u529b\u30dc\u30bf\u30f3\n        magnets.forEach(btn => {\n            const rect = btn.getBoundingClientRect();\n            const centerX = rect.left + rect.width \/ 2;\n            const centerY = rect.top + rect.height \/ 2;\n            const dist = Math.hypot(mouseX - centerX, mouseY - centerY);\n            \n            if (dist < 100) {\n                const x = (mouseX - centerX) * 0.4;\n                const y = (mouseY - centerY) * 0.4;\n                btn.style.transform = `translate3d(${x}px, ${y}px, 0)`;\n                btn.style.transition = 'transform 0.1s ease-out';\n            } else {\n                btn.style.transform = 'translate3d(0, 0, 0)';\n                btn.style.transition = 'transform 0.6s cubic-bezier(0.23, 1, 0.32, 1)';\n            }\n        });\n\n        \/\/ 3. \u304a\u4ed5\u4e8b\u306e\u6d41\u308c\uff1a\u7e26\u7dda\n        if (workflow && line) {\n            const rect = workflow.getBoundingClientRect();\n            const winH = window.innerHeight;\n            const totalH = workflow.offsetHeight;\n            let progress = (winH * 0.85 - rect.top) \/ totalH;\n            progress = Math.max(0, Math.min(1, progress));\n            line.style.strokeDasharray = totalH;\n            line.style.strokeDashoffset = totalH - (totalH * progress);\n        }\n\n        isTicking = false;\n    };\n\n    \/\/ \u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u30fc\n    window.addEventListener('mousemove', (e) => {\n        mouseX = e.clientX;\n        mouseY = e.clientY;\n        if (!isTicking) {\n            requestAnimationFrame(updateAll);\n            isTicking = true;\n        }\n    }, { passive: true });\n\n    window.addEventListener('scroll', () => {\n        if (!isTicking) {\n            requestAnimationFrame(updateAll);\n            isTicking = true;\n        }\n    }, { passive: true });\n\n    \/\/ \u30ab\u30fc\u30bd\u30eb\u30db\u30d0\u30fc\n    interactives.forEach(el => {\n        el.addEventListener('mouseenter', () => cursor?.classList.add('grow'));\n        el.addEventListener('mouseleave', () => cursor?.classList.remove('grow'));\n    });\n});\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\n    \/\/ =========================================\n    \/\/ 1. \u30b9\u30af\u30ed\u30fc\u30eb\u9023\u52d5\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\n    \/\/ =========================================\n    {\n        const targets = document.querySelectorAll('.animate-on-scroll');\n        if (targets.length > 0) {\n            const options = { root: null, rootMargin: '0px', threshold: 0.2 };\n            const observer = new IntersectionObserver((entries, obs) => {\n                entries.forEach(entry => {\n                    if (entry.isIntersecting) {\n                        entry.target.classList.add('is-visible');\n                        obs.unobserve(entry.target);\n                    }\n                });\n            }, options);\n            targets.forEach(t => observer.observe(t));\n        }\n    }\n\n    \/\/ =========================================\n    \/\/ 2. \u30d5\u30a9\u30fc\u30e0\u5165\u529b\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n    \/\/ =========================================\n    {\n        const inputs = document.querySelectorAll('.wpcf7-form-control.wpcf7-text, .wpcf7-textarea');\n        inputs.forEach(input => {\n            input.addEventListener('input', () => {\n                if (!input.checkValidity()) {\n                    input.classList.add('is-invalid');\n                    input.classList.remove('is-valid');\n                } else {\n                    input.classList.remove('is-invalid');\n                    input.classList.add('is-valid');\n                }\n            });\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 3. \u78c1\u77f3\u30dc\u30bf\u30f3\uff08Magnetic Button\uff09\n    \/\/ =========================================\n    {\n        const buttons = document.querySelectorAll('.magnetic-btn');\n        buttons.forEach(btn => {\n            btn.addEventListener('mousemove', (e) => {\n                const rect = btn.getBoundingClientRect();\n                const x = e.clientX - rect.left - rect.width \/ 2;\n                const y = e.clientY - rect.top - rect.height \/ 2;\n                btn.style.transform = `translate(${x * 0.3}px, ${y * 0.3}px)`;\n            });\n            btn.addEventListener('mouseleave', () => {\n                btn.style.transform = 'translate(0px, 0px)';\n                btn.style.transition = 'transform 0.3s ease-out';\n            });\n            btn.addEventListener('mouseenter', () => {\n                 btn.style.transition = 'transform 0.1s ease-out';\n            });\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 4. \u30c6\u30ad\u30b9\u30c8\u51fa\u73fe\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\n    \/\/ =========================================\n    {\n        const targets = document.querySelectorAll('.text-reveal');\n        targets.forEach(target => {\n            const text = target.textContent;\n            target.textContent = '';\n            text.split('').forEach((char, index) => {\n                const span = document.createElement('span');\n                span.textContent = char;\n                span.style.animationDelay = `${index * 0.05}s`;\n                target.appendChild(span);\n            });\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 5. \u30aa\u30ea\u30b8\u30ca\u30eb\u30ab\u30fc\u30bd\u30eb\uff08PC\u306e\u307f\uff09\n    \/\/ =========================================\n    {\n        if (!window.matchMedia('(max-width: 768px)').matches) {\n            const cursor = document.createElement('div');\n            cursor.id = 'custom-cursor';\n            document.body.appendChild(cursor);\n\n            document.addEventListener('mousemove', (e) => {\n                requestAnimationFrame(() => {\n                    cursor.style.left = e.clientX + 'px';\n                    cursor.style.top = e.clientY + 'px';\n                });\n            });\n\n            const links = document.querySelectorAll('a, button, input[type=\"submit\"]');\n            links.forEach(link => {\n                link.addEventListener('mouseenter', () => cursor.classList.add('is-hovering'));\n                link.addEventListener('mouseleave', () => cursor.classList.remove('is-hovering'));\n            });\n        }\n    }\n\n    \/\/ =========================================\n    \/\/ 6. \u8aad\u4e86\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\n    \/\/ =========================================\n    {\n        const bar = document.createElement('div');\n        bar.id = 'scroll-progress';\n        document.body.appendChild(bar);\n\n        window.addEventListener('scroll', () => {\n            const scrollTotal = document.documentElement.scrollHeight - document.documentElement.clientHeight;\n            if (scrollTotal > 0) {\n                const scrollCurrent = document.documentElement.scrollTop || document.body.scrollTop;\n                bar.style.width = ((scrollCurrent \/ scrollTotal) * 100) + '%';\n            }\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 7. 3D\u30c1\u30eb\u30c8\uff08\u50be\u304d\uff09\u30a8\u30d5\u30a7\u30af\u30c8\n    \/\/ =========================================\n    {\n        const cards = document.querySelectorAll('.tilt-card');\n        cards.forEach(card => {\n            card.addEventListener('mousemove', (e) => {\n                const rect = card.getBoundingClientRect();\n                const x = e.clientX - rect.left - rect.width \/ 2;\n                const y = e.clientY - rect.top - rect.height \/ 2;\n                const rotateY = x \/ 20; \n                const rotateX = -y \/ 20;\n                card.style.transform = `rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(1.02)`;\n            });\n            card.addEventListener('mouseleave', () => {\n                card.style.transform = 'rotateX(0) rotateY(0) scale(1)';\n                card.style.transition = 'transform 0.5s ease-out';\n            });\n            card.addEventListener('mouseenter', () => {\n                card.style.transition = 'transform 0.1s ease-out';\n            });\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 8. \u30b3\u30d4\u30fc\uff06\u30c8\u30fc\u30b9\u30c8\u901a\u77e5\n    \/\/ =========================================\n    {\n        const toast = document.createElement('div');\n        toast.id = 'copy-toast';\n        toast.innerText = '\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f';\n        document.body.appendChild(toast);\n\n        document.querySelectorAll('.copy-target').forEach(el => {\n            el.style.cursor = 'pointer';\n            el.title = '\u30af\u30ea\u30c3\u30af\u3057\u3066\u30b3\u30d4\u30fc';\n            el.addEventListener('click', async () => {\n                try {\n                    await navigator.clipboard.writeText(el.innerText);\n                    toast.classList.add('is-visible');\n                    setTimeout(() => toast.classList.remove('is-visible'), 2000);\n                } catch (err) {\n                    console.error('Copy failed', err);\n                }\n            });\n        });\n    }\n\n    \/\/ =========================================\n    \/\/ 9. \u80cc\u666f\u30d1\u30fc\u30c6\u30a3\u30af\u30eb\n    \/\/ =========================================\n    {\n        const section = document.querySelector('.particle-section');\n        if (section) {\n            const canvas = document.createElement('canvas');\n            canvas.id = 'particle-canvas';\n            section.prepend(canvas);\n            const ctx = canvas.getContext('2d');\n            let width, height, particles = [];\n\n            function resize() {\n                width = canvas.width = section.offsetWidth;\n                height = canvas.height = section.offsetHeight;\n            }\n            window.addEventListener('resize', resize);\n            resize();\n\n            class Particle {\n                constructor() {\n                    this.x = Math.random() * width;\n                    this.y = Math.random() * height;\n                    this.vx = (Math.random() - 0.5) * 0.5;\n                    this.vy = (Math.random() - 0.5) * 0.5;\n                    this.size = Math.random() * 2 + 1;\n                }\n                update() {\n                    this.x += this.vx; this.y += this.vy;\n                    if (this.x < 0) this.x = width;\n                    if (this.x > width) this.x = 0;\n                    if (this.y < 0) this.y = height;\n                    if (this.y > height) this.y = 0;\n                }\n                draw() {\n                    ctx.fillStyle = 'rgba(100, 100, 100, 0.5)';\n                    ctx.beginPath();\n                    ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);\n                    ctx.fill();\n                }\n            }\n            for (let i = 0; i < 50; i++) particles.push(new Particle());\n\n            function animate() {\n                ctx.clearRect(0, 0, width, height);\n                particles.forEach((p, idx) => {\n                    p.update(); p.draw();\n                    for (let j = idx + 1; j < particles.length; j++) {\n                        const p2 = particles[j];\n                        const dx = p.x - p2.x;\n                        const dy = p.y - p2.y;\n                        const dist = Math.sqrt(dx*dx + dy*dy);\n                        if (dist < 100) {\n                            ctx.strokeStyle = `rgba(100, 100, 100, ${1 - dist\/100})`;\n                            ctx.lineWidth = 0.5;\n                            ctx.beginPath();\n                            ctx.moveTo(p.x, p.y);\n                            ctx.lineTo(p2.x, p2.y);\n                            ctx.stroke();\n                        }\n                    }\n                });\n                requestAnimationFrame(animate);\n            }\n            animate();\n        }\n    }\n\n    \/\/ =========================================\n    \/\/ 18. \u30da\u30fc\u30b8\u9077\u79fb\u30d5\u30a7\u30fc\u30c9\u30a8\u30d5\u30a7\u30af\u30c8\n    \/\/ =========================================\n    {\n        const curtain = document.createElement('div');\n        curtain.id = 'page-transition-curtain';\n        document.body.appendChild(curtain);\n        document.body.classList.add('is-transitioning');\n        \n        setTimeout(() => { document.body.classList.remove('is-transitioning'); }, 100);\n\n        const links = document.querySelectorAll('a');\n        links.forEach(link => {\n            link.addEventListener('click', function(e) {\n                const href = this.getAttribute('href');\n                const target = this.getAttribute('target');\n                if (!href || target === '_blank' || href.indexOf('#') === 0 || href.indexOf('mailto:') === 0 || href.indexOf('tel:') === 0 || href.indexOf('wp-admin') !== -1 || href.match(\/\\.(jpg|jpeg|png|gif|pdf|zip)$\/i)) {\n                    return;\n                }\n                const currentDomain = window.location.hostname;\n                if (href.indexOf('http') === -1 || href.indexOf(currentDomain) !== -1) {\n                    e.preventDefault();\n                    document.body.classList.add('is-transitioning');\n                    setTimeout(() => { window.location.href = href; }, 400); \n                }\n            });\n        });\n        window.addEventListener('pageshow', function(event) {\n            if (event.persisted) { document.body.classList.remove('is-transitioning'); }\n        });\n    }\n\n});\n\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group reveal-item service-card has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"background-color:#b8ebb1\">\n<h4 class=\"wp-block-heading has-text-align-center is-style-vk-heading-plain vk_block-margin-xxs--margin-top vk_block-margin-xs--margin-bottom\"><strong><span data-color=\"#00d084\" style=\"--vk-highlighter-color: rgba(0, 208, 132, 0.7);\" class=\"vk_highlighter\">\u65b0\u5546\u54c1\u30fb\u65b0\u30b5\u30fc\u30d3\u30b9\u306e\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3<\/span><\/strong><\/h4>\n\n\n\n<p class=\"has-background\" style=\"background-color:#e0f0de;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\u65b0\u5546\u54c1\u3001\u65b0\u30b5\u30fc\u30d3\u30b9\u306e\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u4f01\u753b\u30fb\u5236\u4f5c\u3092\u884c\u3044\u307e\u3059\u3002&nbsp;              <br><br>\u652f\u63f4\u5185\u5bb9<br>\u30fb\u4f1d\u3048\u308b\u8981\u70b9\u306e\u6574\u7406\uff08\u8ab0\u306b\u3001\u4f55\u3092\u3069\u3046\u4f1d\u3048\u308b\u304b\uff09<br>\u30fb\u4f01\u753b\u306e\u4f5c\u6210\uff08\u52d5\u753b\u3001Web\u3001\u7d20\u6750\uff09<br>\u30fb\u7d0d\u54c1\u7269\u306e\u5236\u4f5c<\/p>\n<\/div>\n\n\n\n<p> <br><br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-group reveal-item service-card has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"background-color:#b8ebb1\">\n<h4 class=\"wp-block-heading has-text-align-center is-style-vk-heading-plain vk_block-margin-xxs--margin-top vk_block-margin-xs--margin-bottom\"><strong><span data-color=\"#00d084\" style=\"--vk-highlighter-color: rgba(0, 208, 132, 0.7);\" class=\"vk_highlighter\">\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u30e0\u30fc\u30d3\u30fc\u5236\u4f5c<\/span><\/strong><\/h4>\n\n\n\n<p class=\"has-background\" style=\"background-color:#e0f0de;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\u300c\u4f1a\u793e\u3084\u5546\u54c1\u306e\u9b45\u529b\u3092\u6620\u50cf\u3067\u4f1d\u3048\u305f\u3044\u3051\u3069\u3001\u4f55\u3092\u64ae\u308c\u3070\u3044\u3044\u304b\u308f\u304b\u3089\u306a\u3044\u300d\u2500\u2500 \u305d\u3093\u306a\u6bb5\u968e\u304b\u3089\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002\u30a4\u30c1\u30d7\u30ed\u3067\u306f\u3001\u6620\u50cf\u306e\u69cb\u6210\u3092\u8003\u3048\u308b\u524d\u306b\u307e\u305a\u4e8b\u696d\u306e\u5f37\u307f\u3084\u5c4a\u3051\u305f\u3044\u76f8\u624b\u3092\u6574\u7406\u3057\u307e\u3059\u3002\u7d4c\u55b6\u3084\u4e8b\u696d\u306e\u6587\u8108\u3092\u7406\u89e3\u3057\u305f\u4e0a\u3067\u3064\u304f\u308b\u304b\u3089\u3001\u300c\u304d\u308c\u3044\u3060\u3051\u3069\u4f55\u304c\u8a00\u3044\u305f\u3044\u304b\u308f\u304b\u3089\u306a\u3044\u6620\u50cf\u300d\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u4f01\u753b\u30fb\u64ae\u5f71\u30fb\u7de8\u96c6\u30fb\u914d\u4fe1\u30b5\u30dd\u30fc\u30c8\u307e\u3067\u4e00\u8cab\u3057\u3066\u304a\u4efb\u305b\u3044\u305f\u3060\u3051\u307e\u3059\u3002<br><br>\u652f\u63f4\u5185\u5bb9<br>\u30fb\u30e0\u30fc\u30d3\u30fc\u306e\u69cb\u6210\u6848\u3065\u304f\u308a<br>\u30fb\u64ae\u5f71\u30fb\u7de8\u96c6<br>\u30fb\u516c\u958b\u30fb\u914d\u4fe1\u306b\u5411\u3051\u305f\u7d20\u6750\u6574\u5099<\/p>\n<\/div>\n\n\n\n<p>\u3000\u3000<br>\u3010\u5b9f\u7e3e\u3011<br>\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a(24\/11\/30\u301c12\/1)\u3000<a href=\"https:\/\/ichi-pro.co.jp\/?p=108\">\u52d5\u753b\u8ca9\u58f2\u7279\u8a2d\u30b5\u30a4\u30c8<\/a> <br>\uff08ZNA 60th Anniversary International Koi Show\uff09\u3000<a href=\"http:\/\/ichi-pro.co.jp\/?p=108\">Special Website for Video Sales<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><a href=\"https:\/\/ichi-pro.co.jp\/?p=108\"><img loading=\"lazy\" decoding=\"async\" width=\"724\" height=\"1024\" src=\"https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7-724x1024.jpg\" alt=\"\" class=\"wp-image-203\" style=\"aspect-ratio:0.706700379266751;width:442px;height:auto\" srcset=\"https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7-724x1024.jpg 724w, https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7-212x300.jpg 212w, https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7-768x1086.jpg 768w, https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7-1086x1536.jpg 1086w, https:\/\/ichi-pro.co.jp\/wp-content\/uploads\/2024\/11\/\u3010\u30a4\u30c1\u30d7\u30edJPEG\u3011\u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\u30a4\u30d9\u30f3\u30c8\u8a18\u9332\u30e0\u30fc\u30d3\u30fc\u8ca9\u58f2\u30c1\u30e9\u30b7.jpg 1414w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/a><\/figure>\n\n\n\n<p><br><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"241130 \u7b2c60\u56de\u8a18\u5ff5\u56fd\u969b\u9326\u9bc9\u54c1\u8a55\u4f1a\uff08\u30bf\u3099\u30a4\u30b7\u3099\u30a7\u30b9\u30c8\u7248\uff09ZNA 60th Anniversary International Koi Show\" width=\"1140\" height=\"641\" src=\"https:\/\/www.youtube.com\/embed\/at83aRRApsg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\u3000\u3000\u3000<\/p>\n\n\n\n<p>\u3000\u3000<br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-group reveal-item service-card has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"background-color:#b8ebb1\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-text-align-center is-style-vk-heading-plain vk_block-margin-xxs--margin-top vk_block-margin-xs--margin-bottom\"><strong><span data-color=\"#00d084\" style=\"--vk-highlighter-color: rgba(0, 208, 132, 0.7);\" class=\"vk_highlighter\">\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u5236\u4f5c<\/span><\/strong><\/h4>\n\n\n\n<p class=\"has-background has-regular-font-size\" style=\"background-color:#e0f0de;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u306f\u300c\u4f5c\u308b\u3053\u3068\u300d\u304c\u30b4\u30fc\u30eb\u3067\u306f\u306a\u304f\u3001\u300c\u5c4a\u3051\u308b\u3053\u3068\u300d\u304c\u30b9\u30bf\u30fc\u30c8\u3067\u3059\u3002\u30a4\u30c1\u30d7\u30ed\u3067\u306f\u3001\u4e8b\u696d\u6226\u7565\u306b\u57fa\u3065\u3044\u305f\u30da\u30fc\u30b8\u69cb\u6210\u306e\u8a2d\u8a08\u304b\u3089\u3001\u4f1d\u308f\u308b\u30b3\u30d4\u30fc\u30e9\u30a4\u30c6\u30a3\u30f3\u30b0\u3001\u516c\u958b\u5f8c\u3082\u81ea\u5206\u305f\u3061\u3067\u66f4\u65b0\u3057\u3084\u3059\u3044\u8a2d\u8a08\u307e\u3067\u3001Web\u30b5\u30a4\u30c8\u3092\u300c\u80b2\u3066\u3089\u308c\u308b\u72b6\u614b\u300d\u3067\u304a\u6e21\u3057\u3057\u307e\u3059\u3002\u88dc\u52a9\u91d1\u7533\u8acb\u6642\u306b\u6c42\u3081\u3089\u308c\u308b\u4e8b\u696d\u5185\u5bb9\u306e\u8aac\u660e\u30da\u30fc\u30b8\u3068\u3057\u3066\u3082\u6d3b\u7528\u3067\u304d\u308b\u8a2d\u8a08\u3092\u3054\u63d0\u6848\u3057\u307e\u3059\u3002<br><br>\u652f\u63f4\u5185\u5bb9<br>\u30fb\u30da\u30fc\u30b8\u69cb\u6210\u306e\u6574\u7406<br>\u30fb\u539f\u7a3f\u6574\u7406<br>\u30fb\u5236\u4f5c\u30fb\u516c\u958b\u5f8c\u306b\u66f4\u65b0\u3057\u3084\u3059\u3044\u5f62\u306b\u8a2d\u8a08<\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><br><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u4e8b\u696d \u3044\u3044\u5546\u54c1\u306a\u306e\u306b\u3001\u3046\u307e\u304f\u4f1d\u3048\u3089\u308c\u306a\u3044\u3002\u65b0\u30b5\u30fc\u30d3\u30b9\u3092\u51fa\u3059\u306e\u306b\u3001\u4f55\u304b\u3089\u767a\u4fe1\u3059\u308c\u3070\u3044\u3044\u304b\u308f\u304b\u3089\u306a\u3044\u3002 \u2500\u2500 \u30a4\u30c1\u30d7\u30ed\u306e\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u306f\u3001\u305d\u3093\u306a\u300c\u3082\u3063\u305f\u3044\u306a\u3044\u300d\u3092\u89e3\u6d88\u3057\u307e\u3059\u3002\u7d4c\u55b6\u8ab2\u984c\u3092\u7406\u89e3\u3057\u305f\u30b3\u30f3\u30b5\u30eb\u30bf\u30f3\u30c8\u304c\u300c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"vkexunit_cta_each_option":"","footnotes":""},"class_list":["post-270","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=270"}],"version-history":[{"count":26,"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/270\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/270\/revisions\/663"}],"wp:attachment":[{"href":"https:\/\/ichi-pro.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}