<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>이재명 정부 부동산 정책 심층 분석 대시보드</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"> <style> @import url('https://cdn.jsdelivr.net/gh/sunn-us/SUITE/fonts/static/woff2/SUITE.css'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'SUITE', sans-serif; background: linear-gradient(135deg, #fcfbf7 0%, #ece4d0 100%); color: #2d2d2d; line-height: 1.6; overflow-x: hidden; } .container { max-width: 1400px; margin: 0 auto; padding: 20px; } .header { background: linear-gradient(135deg, #961e1e 0%, #871316 100%); color: white; padding: 30px 0; margin-bottom: 30px; border-radius: 12px; box-shadow: 0 8px 32px rgba(150, 30, 30, 0.3); } .header-content { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; padding: 0 30px; } .header-title { font-size: 2.2rem; font-weight: 700; display: flex; align-items: center; gap: 15px; } .header-meta { text-align: right; font-size: 1rem; opacity: 0.9; } .summary-section { background: white; border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); border-left: 5px solid #961e1e; } .summary-title { font-size: 1.8rem; color: #961e1e; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .summary-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 20px 0; } .stat-card { background: linear-gradient(135deg, #ddcb97 0%, #baa17f 100%); padding: 20px; border-radius: 12px; text-align: center; color: white; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease; } .stat-card:hover { transform: translateY(-5px); } .stat-number { font-size: 2.5rem; font-weight: 700; display: block; } .stat-label { font-size: 0.9rem; opacity: 0.9; margin-top: 5px; } .content-grid { display: grid; grid-template-columns: 60% 40%; gap: 30px; margin-bottom: 30px; } .card { background: white; border-radius: 12px; padding: 25px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,0,0,0.15); } .card-title { font-size: 1.5rem; color: #961e1e; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; border-bottom: 2px solid #ece4d0; padding-bottom: 10px; } .policy-points { list-style: none; } .policy-points li { padding: 12px 0; border-bottom: 1px solid #ece4d0; display: flex; align-items: flex-start; gap: 10px; } .policy-points li:last-child { border-bottom: none; } .policy-icon { color: #961e1e; margin-top: 2px; font-size: 0.9rem; } .chart-container { position: relative; height: 300px; margin: 20px 0; } .highlight-box { background: linear-gradient(135deg, #781b1b 0%, #961e1e 100%); color: white; padding: 20px; border-radius: 12px; margin: 20px 0; text-align: center; box-shadow: 0 4px 20px rgba(120, 27, 27, 0.3); } .highlight-text { font-size: 1.2rem; font-weight: 600; } .timeline { position: relative; padding: 20px 0; } .timeline-item { background: white; padding: 20px; margin: 20px 0; border-radius: 12px; border-left: 4px solid #961e1e; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .timeline-date { color: #961e1e; font-weight: 600; font-size: 0.9rem; } .timeline-title { font-size: 1.1rem; font-weight: 600; margin: 5px 0; } .comparison-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .comparison-table th, .comparison-table td { padding: 12px; text-align: left; border-bottom: 1px solid #ece4d0; } .comparison-table th { background: #961e1e; color: white; font-weight: 600; } .comparison-table tr:hover { background: #fcfbf7; } .risk-indicator { display: inline-block; padding: 4px 8px; border-radius: 12px; font-size: 0.8rem; font-weight: 600; } .risk-low { background: #d4edda; color: #155724; } .risk-medium { background: #fff3cd; color: #856404; } .risk-high { background: #f8d7da; color: #721c24; } .footer { background: #2d2d2d; color: white; text-align: center; padding: 30px; border-radius: 12px; margin-top: 30px; } .footer-content { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; } .footer-logo { font-size: 1.5rem; font-weight: 700; color: #ddcb97; } .footer-contact { font-size: 1.1rem; } .interactive-tooltip { position: absolute; background: rgba(0,0,0,0.8); color: white; padding: 8px 12px; border-radius: 6px; font-size: 0.9rem; pointer-events: none; z-index: 1000; opacity: 0; transition: opacity 0.3s ease; } .tab-container { margin-bottom: 20px; } .tab-buttons { display: flex; gap: 5px; margin-bottom: 20px; } .tab-button { padding: 10px 20px; background: #ece4d0; border: none; border-radius: 6px; cursor: pointer; font-family: 'SUITE', sans-serif; font-weight: 500; transition: all 0.3s ease; } .tab-button.active { background: #961e1e; color: white; } .tab-content { display: none; animation: fadeIn 0.3s ease; } .tab-content.active { display: block; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .progress-bar { background: #ece4d0; height: 8px; border-radius: 4px; overflow: hidden; margin: 10px 0; } .progress-fill { height: 100%; background: linear-gradient(90deg, #961e1e, #ddcb97); transition: width 2s ease; } @media (max-width: 768px) { .content-grid { grid-template-columns: 1fr; } .header-content { flex-direction: column; gap: 15px; text-align: center; } .header-title { font-size: 1.8rem; } .summary-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } } </style> </head> <body> <div class="container"> <!-- Header --> <div class="header"> <div class="header-content"> <div class="header-title"> <i class="fas fa-chart-line"></i> 이재명 정부 부동산 정책 심층 분석 </div> <div class="header-meta"> <div>작성일: 2025년 6월 4일</div> <div>성성 프리미엄 부동산</div> </div> </div> </div> <!-- Summary Section --> <div class="summary-section" data-aos="fade-up"> <div class="summary-title"> <i class="fas fa-bullseye"></i> 핵심 요약 </div> <p style="font-size: 1.1rem; margin-bottom: 20px;"> 이재명 정부는 "세금으로 집값을 잡지 않겠다"는 패러다임 전환을 선언하며, 공급 확대와 시장 안정을 통한 주거 문제 해결에 집중하는 새로운 정책 기조를 제시했습니다. </p> <div class="summary-stats"> <div class="stat-card" data-aos="zoom-in" data-aos-delay="100"> <span class="stat-number">311만 호</span> <div class="stat-label">신규 주택 공급 목표</div> </div> <div class="stat-card" data-aos="zoom-in" data-aos-delay="200"> <span class="stat-number">94.1%</span> <div class="stat-label">성남시장 공약 이행률</div> </div> <div class="stat-card" data-aos="zoom-in" data-aos-delay="300"> <span class="stat-number">5,503억</span> <div class="stat-label">대장동 공공환수 주장액</div> </div> <div class="stat-card" data-aos="zoom-in" data-aos-delay="400"> <span class="stat-number">LTV 90%</span> <div class="stat-label">생애최초 구매자 지원</div> </div> </div> </div> <!-- Main Content Grid --> <div class="content-grid"> <!-- Left Column --> <div> <!-- Policy Framework --> <div class="card" data-aos="fade-right"> <div class="card-title"> <i class="fas fa-home"></i> 새로운 부동산 정책 프레임워크 </div> <div class="tab-container"> <div class="tab-buttons"> <button class="tab-button active" onclick="switchTab('supply')">공급 정책</button> <button class="tab-button" onclick="switchTab('demand')">수요 정책</button> <button class="tab-button" onclick="switchTab('rental')">임대차</button> </div> <div id="supply" class="tab-content active"> <ul class="policy-points"> <li> <i class="fas fa-arrow-up policy-icon"></i> <div> <strong>재개발·재건축 규제 완화</strong><br> 용적률·건폐율 상향, 분담금 완화 추진 </div> </li> <li> <i class="fas fa-building policy-icon"></i> <div> <strong>새로운 주택 모델 도입</strong><br> 적금주택, 토지임대부 분양주택 등 </div> </li> <li> <i class="fas fa-map-marked-alt policy-icon"></i> <div> <strong>다양한 토지 활용</strong><br> 공공기관 유휴부지, GTX 환승역 등 활용 </div> </li> </ul> </div> <div id="demand" class="tab-content"> <ul class="policy-points"> <li> <i class="fas fa-percent policy-icon"></i> <div> <strong>세금 부담 완화</strong><br> 종합부동산세, 양도소득세 부담 완화 </div> </li> <li> <i class="fas fa-credit-card policy-icon"></i> <div> <strong>주택 구매자 지원</strong><br> 생애최초 LTV 90%, DSR 규제 완화 </div> </li> <li> <i class="fas fa-home policy-icon"></i> <div> <strong>취득세 혜택</strong><br> 3억원 이하 면제, 6억원 이하 50% 감면 </div> </li> </ul> </div> <div id="rental" class="tab-content"> <ul class="policy-points"> <li> <i class="fas fa-shield-alt policy-icon"></i> <div> <strong>임차인 권리 강화</strong><br> 계속 거주권 보장, 임대료 인상률 제한 </div> </li> <li> <i class="fas fa-building policy-icon"></i> <div> <strong>공공임대주택 확대</strong><br> 240만 호 확보 목표, 품질 개선 </div> </li> <li> <i class="fas fa-file-contract policy-icon"></i> <div> <strong>6년 단기등록임대</strong><br> 비아파트 대상 세제 혜택 제공 </div> </li> </ul> </div> </div> </div> <!-- Historical Analysis --> <div class="card" data-aos="fade-right" data-aos-delay="200"> <div class="card-title"> <i class="fas fa-history"></i> 성남시장 시절 주요 성과 </div> <div class="chart-container"> <canvas id="performanceChart"></canvas> </div> <div class="timeline"> <div class="timeline-item"> <div class="timeline-date">2010-2018</div> <div class="timeline-title">성남시장 재임 8년간</div> <div>287개 공약 중 270개 이행 (94.1%)</div> </div> <div class="timeline-item"> <div class="timeline-date">주요 사업</div> <div class="timeline-title">도시개발 및 주택사업</div> <div>수진1동 재개발, 공영주차장 확충, 재래시장 현대화</div> </div> </div> </div> </div> <!-- Right Column --> <div> <!-- Daejang-dong Analysis --> <div class="card" data-aos="fade-left"> <div class="card-title"> <i class="fas fa-chart-pie"></i> 대장동 개발 이익 분석 </div> <div class="chart-container"> <canvas id="profitChart"></canvas> </div> <table class="comparison-table"> <thead> <tr> <th>항목</th> <th>주장액</th> <th>반박액</th> </tr> </thead> <tbody> <tr> <td>임대아파트 부지</td> <td>1,822억원</td> <td>1,822억원</td> </tr> <tr> <td>공원 조성비</td> <td>2,561억원</td> <td>논란</td> </tr> <tr> <td>기반시설 조성</td> <td>1,120억원</td> <td>논란</td> </tr> <tr style="font-weight: bold; background: #fcfbf7;"> <td>총계</td> <td>5,503억원</td> <td>1,822억원</td> </tr> </tbody> </table> </div> <!-- Market Outlook --> <div class="card" data-aos="fade-left" data-aos-delay="200"> <div class="card-title"> <i class="fas fa-chart-line"></i> 시장 전망 및 위험 요소 </div> <div style="margin: 20px 0;"> <h4>기회 요인</h4> <div class="progress-bar"> <div class="progress-fill" style="width: 75%"></div> </div> <span class="risk-indicator risk-low">75% 긍정적</span> </div> <div style="margin: 20px 0;"> <h4>위험 요인</h4> <div class="progress-bar"> <div class="progress-fill" style="width: 45%"></div> </div> <span class="risk-indicator risk-medium">45% 주의</span> </div> <div class="highlight-box"> <div class="highlight-text"> <i class="fas fa-exclamation-triangle"></i> 정책의 구체화 속도가 시장 안정의 핵심 변수 </div> </div> <ul class="policy-points"> <li> <i class="fas fa-plus-circle policy-icon" style="color: green;"></i> <div>세금 완화로 거래 활성화 기대</div> </li> <li> <i class="fas fa-exclamation-circle policy-icon" style="color: orange;"></i> <div>재원 확보 방안의 불확실성</div> </li> <li> <i class="fas fa-minus-circle policy-icon" style="color: red;"></i> <div>단기 정책 변동성 위험</div> </li> </ul> </div> <!-- Supply Target Chart --> <div class="card" data-aos="fade-left" data-aos-delay="400"> <div class="card-title"> <i class="fas fa-target"></i> 주택 공급 목표 </div> <div class="chart-container"> <canvas id="supplyChart"></canvas> </div> </div> </div> </div> <!-- Footer --> <div class="footer"> <div class="footer-content"> <div class="footer-logo"> <i class="fas fa-building"></i> 성성 프리미엄 부동산 </div> <div class="footer-contact"> <i class="fas fa-phone"></i> 010-8282-8684 </div> </div> </div> </div> <!-- Interactive Tooltip --> <div id="tooltip" class="interactive-tooltip"></div> <script> // Initialize AOS AOS.init({ duration: 800, easing: 'ease-in-out', once: true }); // Tab switching function function switchTab(tabName) { // Hide all tab contents document.querySelectorAll('.tab-content').forEach(content => { content.classList.remove('active'); }); // Remove active class from all buttons document.querySelectorAll('.tab-button').forEach(button => { button.classList.remove('active'); }); // Show selected tab content document.getElementById(tabName).classList.add('active'); // Add active class to clicked button event.target.classList.add('active'); } // Chart configurations Chart.defaults.font.family = 'SUITE'; Chart.defaults.color = '#2d2d2d'; // Performance Chart const performanceCtx = document.getElementById('performanceChart').getContext('2d'); new Chart(performanceCtx, { type: 'doughnut', data: { labels: ['이행완료', '미이행'], datasets: [{ data: [270, 17], backgroundColor: ['#961e1e', '#ece4d0'], borderWidth: 0 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom' }, tooltip: { callbacks: { label: function(context) { const percentage = ((context.parsed / 287) * 100).toFixed(1); return context.label + ': ' + context.parsed + '개 (' + percentage + '%)'; } } } } } }); // Profit Analysis Chart const profitCtx = document.getElementById('profitChart').getContext('2d'); new Chart(profitCtx, { type: 'bar', data: { labels: ['임대아파트', '공원조성', '기반시설'], datasets: [ { label: '성남시 주장', data: [1822, 2561, 1120], backgroundColor: '#961e1e' }, { label: '검찰/경실련', data: [1822, 0, 0], backgroundColor: '#ddcb97' } ] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, title: { display: true, text: '억원' } } }, plugins: { legend: { position: 'top' }, tooltip: { callbacks: { label: function(context) { return context.dataset.label + ': ' + context.parsed.y.toLocaleString() + '억원'; } } } } } }); // Supply Target Chart const supplyCtx = document.getElementById('supplyChart').getContext('2d'); new Chart(supplyCtx, { type: 'polarArea', data: { labels: ['서울', '경기·인천', '지방', '기타'], datasets: [{ data: [48, 28, 150, 85], backgroundColor: [ '#961e1e', '#871316', '#ddcb97', '#baa17f' ] }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom' }, tooltip: { callbacks: { label: function(context) { return context.label + ': ' + context.parsed.toLocaleString() + '만호'; } } } } } }); // Tooltip functionality const tooltip = document.getElementById('tooltip'); document.querySelectorAll('.stat-card, .policy-points li, .timeline-item').forEach(element => { element.addEventListener('mouseenter', function(e) { let tooltipText = ''; if (element.classList.contains('stat-card')) { const number = element.querySelector('.stat-number').textContent; const label = element.querySelector('.stat-label').textContent; tooltipText = `${label}: ${number}`; } else if (element.closest('.policy-points')) { tooltipText = element.textContent.trim(); } else if (element.classList.contains('timeline-item')) { tooltipText = element.textContent.trim(); } tooltip.textContent = tooltipText; tooltip.style.opacity = '1'; }); element.addEventListener('mousemove', function(e) { tooltip.style.left = e.pageX + 10 + 'px'; tooltip.style.top = e.pageY - 10 + 'px'; }); element.addEventListener('mouseleave', function() { tooltip.style.opacity = '0'; }); }); // Animate progress bars on scroll const observerOptions = { threshold: 0.5 }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { const progressFills = entry.target.querySelectorAll('.progress-fill'); progressFills.forEach(fill => { fill.style.width = fill.style.width; }); } }); }, observerOptions); document.querySelectorAll('.card').forEach(card => { observer.observe(card); }); // Smooth scrolling for internal links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); </script> </body> </html>